From cc9da520e7c4995417e496a8151c871c66590441 Mon Sep 17 00:00:00 2001 From: Thiago Weber Martins Date: Fri, 20 May 2022 13:42:36 +0200 Subject: [PATCH] setting up project migration on basis of java-serializer --- .github/workflows/docfx-build-publish.yml | 29 + .../maven-deploy-to-maven-central.yml | 34 + .github/workflows/maven-publish-snapshots.yml | 83 + .github/workflows/maven-run-tests.yml | 24 + .gitignore | 38 + LICENSE | 215 + README.md | 72 + dataformat-aasx/.gitignore | 31 + dataformat-aasx/LICENSE | 215 + dataformat-aasx/license-header.txt | 13 + dataformat-aasx/pom.xml | 44 + .../v3/dataformat/aasx/AASXDeserializer.java | 199 + .../v3/dataformat/aasx/AASXSerializer.java | 302 + .../aas/v3/dataformat/aasx/AASXValidator.java | 52 + .../aas/v3/dataformat/aasx/InMemoryFile.java | 80 + .../deserialization/AASXDeserializerTest.java | 65 + .../aasx/deserialization/ValidationTest.java | 66 + .../serialization/AASXSerializerTest.java | 101 + .../src/test/resources/jsonExample.json | 520 + dataformat-aml/.gitignore | 30 + dataformat-aml/LICENSE | 215 + dataformat-aml/license-header.txt | 13 + dataformat-aml/pom.xml | 112 + .../aml/AmlDeserializationConfig.java | 50 + .../v3/dataformat/aml/AmlDeserializer.java | 61 + .../v3/dataformat/aml/AmlDocumentInfo.java | 138 + .../aml/AmlSerializationConfig.java | 185 + .../aas/v3/dataformat/aml/AmlSerializer.java | 98 + .../aml/common/AbstractMappingContext.java | 74 + .../naming/AbstractClassNamingStrategy.java | 101 + .../common/naming/IdClassNamingStrategy.java | 34 + .../aml/common/naming/NamingStrategy.java | 25 + .../naming/NumberingClassNamingStrategy.java | 46 + .../common/naming/PropertyNamingStrategy.java | 139 + .../aml/deserialization/AasTypeFactory.java | 92 + .../aml/deserialization/Aml2AasMapper.java | 95 + .../aml/deserialization/AmlParser.java | 210 + .../aml/deserialization/DefaultMapper.java | 576 + .../aml/deserialization/Mapper.java | 26 + .../aml/deserialization/MappingContext.java | 183 + ...tAdministrationShellEnvironmentMapper.java | 116 + .../AssetAdministrationShellMapper.java | 60 + .../mappers/ConceptDescriptionMapper.java | 67 + .../mappers/ConstraintCollectionMapper.java | 57 + .../DataSpecificationIEC61360Mapper.java | 114 + ...ddedDataSpecificationCollectionMapper.java | 63 + .../mappers/EnumDataTypeIEC61360Mapper.java | 58 + .../deserialization/mappers/EnumMapper.java | 44 + .../deserialization/mappers/FileMapper.java | 76 + .../mappers/IdentifiableMapper.java | 59 + ...dentifierKeyValuePairCollectionMapper.java | 82 + .../mappers/LangStringCollectionMapper.java | 49 + .../mappers/OperationCollectionMapper.java | 78 + .../mappers/PropertyMapper.java | 56 + .../mappers/QualifierMapper.java | 65 + .../deserialization/mappers/RangeMapper.java | 71 + .../mappers/ReferableMapper.java | 55 + .../mappers/ReferenceElementMapper.java | 36 + .../mappers/ReferenceMapper.java | 58 + .../mappers/RelationshipElementMapper.java | 38 + .../deserialization/mappers/ViewMapper.java | 55 + .../aml/header/AutomationMLVersion.java | 45 + .../v3/dataformat/aml/header/WriterInfo.java | 148 + .../aml/serialization/AasToAmlMapper.java | 125 + .../aml/serialization/AmlGenerator.java | 447 + .../DefaultCollectionMapper.java | 66 + .../aml/serialization/DefaultMapper.java | 158 + .../aml/serialization/IdentityProvider.java | 52 + .../dataformat/aml/serialization/Mapper.java | 22 + .../aml/serialization/MappingContext.java | 104 + .../aml/serialization/id/IdGenerator.java | 21 + .../serialization/id/IntegerIdGenerator.java | 27 + .../aml/serialization/id/UuidGenerator.java | 27 + .../AbstractElementMapperWithValueType.java | 133 + ...tAdministrationShellEnvironmentMapper.java | 115 + .../AssetAdministrationShellMapper.java | 69 + .../mappers/ConceptDescriptionMapper.java | 60 + .../mappers/ConstraintCollectionMapper.java | 36 + .../DataSpecificationContentMapper.java | 39 + .../DataSpecificationIEC61360Mapper.java | 47 + .../mappers/DataSpecificationMapper.java | 48 + ...ddedDataSpecificationCollectionMapper.java | 96 + .../aml/serialization/mappers/FileMapper.java | 62 + ...dentifierKeyValuePairCollectionMapper.java | 69 + .../mappers/LangStringCollectionMapper.java | 62 + .../OperationVariableCollectionMapper.java | 48 + .../mappers/OperationVariableMapper.java | 35 + .../serialization/mappers/PropertyMapper.java | 22 + .../mappers/QualifierMapper.java | 54 + .../serialization/mappers/RangeMapper.java | 28 + .../mappers/ReferenceCollectionMapper.java | 36 + .../mappers/ReferenceElementMapper.java | 63 + .../mappers/ReferenceMapper.java | 48 + .../mappers/RelationshipElementMapper.java | 66 + .../serialization/mappers/SubmodelMapper.java | 40 + .../aml/serialization/mappers/ViewMapper.java | 55 + .../aml/util/ReferencedByViewCollector.java | 59 + .../util/ReferencedReferableCollector.java | 66 + .../resources/AssetAdministrationShellLib.aml | 1422 ++ .../main/resources/CAEX_ClassModel_V2.15.xsd | 592 + .../src/main/resources/application.properties | 1 + .../aml/deserialize/AmlDeserializerTest.java | 152 + .../dataformat/aml/fixtures/FullExample.java | 22 + .../aml/fixtures/SimpleExample.java | 22 + .../aml/serialize/AmlSerializerTest.java | 87 + .../test/resources/test_demo_full_example.aml | 3823 +++ .../resources/test_demo_simple_example.aml | 1964 ++ dataformat-core/.gitignore | 30 + dataformat-core/LICENSE | 215 + dataformat-core/license-header.txt | 13 + dataformat-core/pom.xml | 62 + .../dataformat/DeserializationException.java | 28 + .../aas/v3/dataformat/Deserializer.java | 128 + .../aas/v3/dataformat/SchemaValidator.java | 37 + .../v3/dataformat/SerializationException.java | 28 + .../aas/v3/dataformat/Serializer.java | 118 + .../core/DataSpecificationInfo.java | 47 + .../core/DataSpecificationManager.java | 108 + .../v3/dataformat/core/ReflectionHelper.java | 409 + ...EmbeddedDataSpecificationDeserializer.java | 71 + .../deserialization/EnumDeserializer.java | 45 + .../EmbeddedDataSpecificationSerializer.java | 99 + .../core/serialization/EnumSerializer.java | 44 + .../aas/v3/dataformat/core/util/AasUtils.java | 645 + .../core/util/IdentifiableCollector.java | 74 + .../util/MostSpecificClassComparator.java | 35 + .../util/MostSpecificTypeTokenComparator.java | 36 + ...ssetAdministrationShellElementVisitor.java | 424 + ...ministrationShellElementWalkerVisitor.java | 464 + .../aas/v3/dataformat/mapping/Mapper.java | 26 + .../v3/dataformat/mapping/MappingContext.java | 39 + .../dataformat/mapping/MappingException.java | 31 + .../dataformat/mapping/MappingProvider.java | 133 + .../dataformat/mapping/SourceBasedMapper.java | 37 + .../dataformat/mapping/TargetBasedMapper.java | 37 + .../aas/v3/dataformat/core/AASFull.java | 1844 ++ .../aas/v3/dataformat/core/AASSimple.java | 475 + .../aas/v3/dataformat/core/AasUtilsTest.java | 37 + .../v3/dataformat/core/CustomProperty.java | 198 + .../v3/dataformat/core/CustomSubProperty.java | 20 + .../v3/dataformat/core/CustomSubmodel.java | 22 + .../v3/dataformat/core/CustomSubmodel2.java | 22 + .../io/adminshell/aas/v3/model/ClassA.java | 20 + .../io/adminshell/aas/v3/model/ClassB.java | 20 + .../aas/v3/model/DummyInterface.java | 20 + .../aas/v3/model/TypedProperty.java | 20 + .../aas/v3/model/TypedSubProperty.java | 20 + dataformat-json/.gitignore | 30 + dataformat-json/.mvn/extensions.xml | 7 + dataformat-json/.mvn/settings.xml | 14 + dataformat-json/LICENSE | 215 + dataformat-json/license-header.txt | 13 + dataformat-json/pom.xml | 60 + .../v3/dataformat/json/JsonDeserializer.java | 124 + .../dataformat/json/JsonSchemaValidator.java | 93 + .../v3/dataformat/json/JsonSerializer.java | 104 + .../json/ReferableDeserializer.java | 54 + .../dataformat/json/ReferableSerializer.java | 45 + .../ReflectionAnnotationIntrospector.java | 112 + .../json/mixins/AccessControlMixin.java | 29 + .../AccessControlPolicyPointsMixin.java | 33 + .../mixins/AccessPermissionRuleMixin.java | 34 + .../AnnotatedRelationshipElementMixin.java | 29 + ...etAdministrationShellEnvironmentMixin.java | 37 + .../mixins/AssetAdministrationShellMixin.java | 26 + .../json/mixins/AssetInformationMixin.java | 43 + .../json/mixins/BasicEventMixin.java | 25 + .../json/mixins/BlobCertificateMixin.java | 29 + .../v3/dataformat/json/mixins/BlobMixin.java | 24 + .../json/mixins/ConceptDescriptionMixin.java | 38 + .../DataSpecificationIEC61360Mixin.java | 50 + .../DataSpecificationPhysicalUnitMixin.java | 99 + .../dataformat/json/mixins/EntityMixin.java | 33 + .../json/mixins/ExtensionMixin.java | 24 + .../v3/dataformat/json/mixins/FileMixin.java | 24 + .../dataformat/json/mixins/FormulaMixin.java | 29 + .../json/mixins/HasExtensionsMixin.java | 31 + .../json/mixins/IdentifiableMixin.java | 25 + .../mixins/IdentifierKeyValuePairMixin.java | 37 + .../json/mixins/IdentifierMixin.java | 33 + .../v3/dataformat/json/mixins/KeyMixin.java | 32 + .../json/mixins/LangStringMixin.java | 32 + .../mixins/MultiLanguagePropertyMixin.java | 29 + .../json/mixins/ObjectAttributesMixin.java | 29 + .../json/mixins/OperationMixin.java | 41 + .../json/mixins/OperationVariableMixin.java | 25 + .../json/mixins/PermissionMixin.java | 29 + .../mixins/PermissionsPerObjectMixin.java | 29 + .../PolicyAdministrationPointMixin.java | 24 + .../json/mixins/PolicyDecisionPointMixin.java | 24 + .../mixins/PolicyEnforcementPointsMixin.java | 24 + .../mixins/PolicyInformationPointsMixin.java | 37 + .../json/mixins/QualifierMixin.java | 24 + .../v3/dataformat/json/mixins/RangeMixin.java | 24 + .../json/mixins/ReferableMixin.java | 41 + .../json/mixins/ReferenceMixin.java | 26 + .../json/mixins/RelationshipElementMixin.java | 28 + .../dataformat/json/mixins/SecurityMixin.java | 41 + .../SubmodelElementCollectionMixin.java | 36 + .../json/mixins/ValueListMixin.java | 26 + .../json/modeltype/JsonTreeProcessor.java | 54 + .../json/modeltype/ModelTypeProcessor.java | 87 + dataformat-json/src/main/resources/aas.json | 1568 ++ .../dataformat/json/JsonDeserializerTest.java | 81 + .../json/JsonReferableDeserializerTest.java | 122 + .../json/JsonReferableSerializerTest.java | 108 + .../dataformat/json/JsonSerializerTest.java | 89 + .../dataformat/json/JsonValidationTest.java | 64 + .../ReflectionAnnotationIntrospectorTest.java | 186 + .../src/test/resources/MotorAAS.json | 528 + .../src/test/resources/MotorAAS_reduced.json | 297 + .../resources/assetAdministrationShell.json | 91 + .../assetAdministrationShellList.json | 129 + .../src/test/resources/empty_aas.json | 5 + .../test/resources/invalidJsonExample.json | 530 + .../src/test/resources/jsonExample.json | 587 + .../src/test/resources/submodel.json | 139 + .../src/test/resources/submodelElement.json | 60 + .../resources/submodelElementCollection.json | 153 + .../test/resources/submodelElementList.json | 100 + .../src/test/resources/submodelList.json | 327 + .../resources/test_demo_full_example.json | 3078 +++ dataformat-rdf/license-header.txt | 13 + dataformat-rdf/pom.xml | 32 + .../v3/dataformat/rdf/FallbackSerializer.java | 42 + .../v3/dataformat/rdf/IgnoreTypeMixIn.java | 22 + .../aas/v3/dataformat/rdf/JsonLDModule.java | 52 + .../v3/dataformat/rdf/JsonLDSerializer.java | 196 + .../rdf/JsonLDSerializerModifier.java | 44 + .../dataformat/rdf/JsonLdEnumSerializer.java | 88 + .../dataformat/rdf/LangStringSerializer.java | 53 + .../aas/v3/dataformat/rdf/Parser.java | 1169 + .../aas/v3/dataformat/rdf/Serializer.java | 307 + .../aas/v3/dataformat/rdf/UriSerializer.java | 53 + .../rdf/custom/BigDecimalSerializer.java | 42 + .../rdf/custom/JsonLdEnumMixin.java | 23 + .../rdf/custom/LangStringMixin.java | 36 + .../rdf/custom/ReflectiveMixInResolver.java | 41 + .../XMLGregorianCalendarDeserializer.java | 49 + .../XMLGregorianCalendarSerializer.java | 47 + .../rdf/mixins/AccessControlMixin.java | 70 + .../AccessControlPolicyPointsMixin.java | 53 + .../rdf/mixins/AccessPermissionRuleMixin.java | 40 + .../AdministrativeInformationMixin.java | 38 + .../AnnotatedRelationshipElementMixin.java | 33 + ...etAdministrationShellEnvironmentMixin.java | 47 + .../mixins/AssetAdministrationShellMixin.java | 60 + .../rdf/mixins/AssetInformationMixin.java | 60 + .../v3/dataformat/rdf/mixins/AssetMixin.java | 27 + .../rdf/mixins/BasicEventMixin.java | 32 + .../rdf/mixins/BlobCertificateMixin.java | 46 + .../v3/dataformat/rdf/mixins/BlobMixin.java | 38 + .../rdf/mixins/CapabilityMixin.java | 27 + .../rdf/mixins/CertificateMixin.java | 37 + .../rdf/mixins/ConceptDescriptionMixin.java | 33 + .../rdf/mixins/ConstraintMixin.java | 33 + .../rdf/mixins/DataElementMixin.java | 36 + .../mixins/DataSpecificationContentMixin.java | 27 + .../DataSpecificationIEC61360Mixin.java | 105 + .../rdf/mixins/DataSpecificationMixin.java | 32 + .../DataSpecificationPhysicalUnitMixin.java | 99 + .../EmbeddedDataSpecificationMixin.java | 39 + .../v3/dataformat/rdf/mixins/EntityMixin.java | 54 + .../rdf/mixins/EventElementMixin.java | 27 + .../rdf/mixins/EventMessageMixin.java | 27 + .../v3/dataformat/rdf/mixins/EventMixin.java | 31 + .../dataformat/rdf/mixins/ExtensionMixin.java | 50 + .../v3/dataformat/rdf/mixins/FileMixin.java | 38 + .../dataformat/rdf/mixins/FormulaMixin.java | 33 + .../rdf/mixins/HasDataSpecificationMixin.java | 43 + .../rdf/mixins/HasExtensionsMixin.java | 33 + .../dataformat/rdf/mixins/HasKindMixin.java | 39 + .../rdf/mixins/HasSemanticsMixin.java | 41 + .../rdf/mixins/IdentifiableMixin.java | 45 + .../mixins/IdentifierKeyValuePairMixin.java | 44 + .../rdf/mixins/IdentifierMixin.java | 38 + .../v3/dataformat/rdf/mixins/KeyMixin.java | 45 + .../mixins/MultiLanguagePropertyMixin.java | 40 + .../rdf/mixins/ObjectAttributesMixin.java | 33 + .../dataformat/rdf/mixins/OperationMixin.java | 45 + .../rdf/mixins/OperationVariableMixin.java | 32 + .../rdf/mixins/PermissionMixin.java | 39 + .../rdf/mixins/PermissionsPerObjectMixin.java | 47 + .../PolicyAdministrationPointMixin.java | 38 + .../rdf/mixins/PolicyDecisionPointMixin.java | 32 + .../mixins/PolicyEnforcementPointsMixin.java | 32 + .../mixins/PolicyInformationPointsMixin.java | 39 + .../dataformat/rdf/mixins/PropertyMixin.java | 44 + .../rdf/mixins/QualifiableMixin.java | 42 + .../dataformat/rdf/mixins/QualifierMixin.java | 50 + .../v3/dataformat/rdf/mixins/RangeMixin.java | 44 + .../dataformat/rdf/mixins/ReferableMixin.java | 58 + .../rdf/mixins/ReferenceElementMixin.java | 32 + .../dataformat/rdf/mixins/ReferenceMixin.java | 33 + .../rdf/mixins/RelationshipElementMixin.java | 43 + .../dataformat/rdf/mixins/SecurityMixin.java | 47 + .../rdf/mixins/SubjectAttributesMixin.java | 33 + .../SubmodelElementCollectionMixin.java | 45 + .../rdf/mixins/SubmodelElementMixin.java | 40 + .../dataformat/rdf/mixins/SubmodelMixin.java | 33 + .../dataformat/rdf/mixins/ValueListMixin.java | 33 + .../rdf/mixins/ValueReferencePairMixin.java | 38 + .../v3/dataformat/rdf/mixins/ViewMixin.java | 33 + .../rdf/preprocessing/BasePreprocessor.java | 53 + .../rdf/preprocessing/JsonPreprocessor.java | 42 + .../preprocessing/TypeNamePreprocessor.java | 194 + .../aas/v3/dataformat/rdf/ParserTest.java | 67 + .../aas/v3/dataformat/rdf/SerializerTest.java | 76 + .../aas/v3/dataformat/rdf/SerializerUtil.java | 45 + .../resources/AAS_Reference_shortExample.nt | 20 + .../resources/AAS_Reference_shortExample.ttl | 54 + .../AssetAdministrationShell_Example.ttl | 91 + .../src/test/resources/Asset_Example.nt | 25 + .../src/test/resources/Asset_Example.ttl | 33 + .../src/test/resources/Complete_Example.ttl | 1393 ++ .../KapitalVerwaltungsschaleExample.ttl | 36 + .../src/test/resources/Overall-Example.nt | 83 + .../src/test/resources/ReferenceExample.ttl | 21 + .../Submodel_SubmodelElement_Example.ttl | 83 + .../Submodel_SubmodelElement_shortExample.nt | 48 + .../Submodel_SubmodelElement_shortExample.ttl | 81 + .../resources/example-from-serializer.jsonld | 77 + dataformat-uanodeset/.factorypath | 3 + dataformat-uanodeset/LICENSE | 215 + dataformat-uanodeset/README.md | 21 + dataformat-uanodeset/license-header.txt | 13 + .../nodeset/FilesGenerated.drawio | 1 + .../nodeset/FilesGenerated.png | Bin 0 -> 74889 bytes .../nodeset/MappingParser.drawio | 1 + .../nodeset/MappingParser.png | Bin 0 -> 212961 bytes .../i4aas/Opc.Ua.I4AAS_V3Draft.NodeSet2.csv | 285 + .../i4aas/Opc.Ua.I4AAS_V3Draft.NodeSet2.xml | 4286 ++++ .../nodeset/i4aas/changelog.csv | 60 + .../xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.bsd | 105 + .../xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.xsd | 204 + .../nodeset/xsd/Opc.Ua.Types.xsd | 5121 ++++ .../nodeset/xsd/UANodeSet.xsd | 493 + dataformat-uanodeset/pom.xml | 136 + .../dataformat/i4aas/I4AASDeserializer.java | 53 + .../v3/dataformat/i4aas/I4AASSerializer.java | 70 + .../dataformat/i4aas/UANodeSetMarshaller.java | 56 + .../i4aas/UANodeSetUnmarshaller.java | 65 + .../i4aas/mappers/AdministrationMapper.java | 59 + .../AssetAdministrationShellMapper.java | 76 + .../i4aas/mappers/AssetInformationMapper.java | 80 + .../dataformat/i4aas/mappers/AssetMapper.java | 42 + .../i4aas/mappers/BooleanPropertyMapper.java | 50 + .../mappers/ByteStringPropertyMapper.java | 50 + .../mappers/ConceptDescriptionMapper.java | 69 + .../DataSpecificationIEC61360Mapper.java | 109 + .../i4aas/mappers/EnvironmentMapper.java | 75 + .../mappers/HasDataSpecificationMapper.java | 59 + .../i4aas/mappers/HasKindMapper.java | 40 + .../i4aas/mappers/HasSemanticsMapper.java | 82 + .../i4aas/mappers/I4AASEnumMapper.java | 128 + .../dataformat/i4aas/mappers/I4AASMapper.java | 229 + .../i4aas/mappers/IdentifiableMapper.java | 73 + .../mappers/IdentifierKeyValuePairMapper.java | 59 + .../mappers/LangStringPropertyMapper.java | 65 + .../i4aas/mappers/MappingContext.java | 203 + .../i4aas/mappers/QualifiableMapper.java | 46 + .../i4aas/mappers/QualifierMapper.java | 72 + .../i4aas/mappers/QualifierTypeMapper.java | 49 + .../i4aas/mappers/ReferableMapper.java | 56 + .../i4aas/mappers/ReferenceMapper.java | 94 + .../i4aas/mappers/StringPropertyMapper.java | 52 + .../i4aas/mappers/SubmodelMapper.java | 57 + .../AnnotatedRelationshipElementMapper.java | 62 + .../i4aas/mappers/sme/BlobMapper.java | 54 + .../i4aas/mappers/sme/CapabilityMapper.java | 42 + .../i4aas/mappers/sme/EntityMapper.java | 76 + .../i4aas/mappers/sme/EventElementMapper.java | 33 + .../i4aas/mappers/sme/EventMapper.java | 36 + .../i4aas/mappers/sme/EventMessageMapper.java | 33 + .../i4aas/mappers/sme/FileMapper.java | 61 + .../i4aas/mappers/sme/MimeTypeMapper.java | 51 + .../sme/MultiLanguagePropertyMapper.java | 53 + .../i4aas/mappers/sme/OperationMapper.java | 79 + .../i4aas/mappers/sme/PathTypeMapper.java | 50 + .../i4aas/mappers/sme/PropertyMapper.java | 62 + .../i4aas/mappers/sme/RangeMapper.java | 61 + .../mappers/sme/ReferenceElementMapper.java | 49 + .../sme/RelationshipElementMapper.java | 53 + .../sme/SubmodelElementCollectionMapper.java | 67 + .../mappers/sme/SubmodelElementMapper.java | 43 + .../mappers/sme/SubmodelElementMappers.java | 74 + .../i4aas/mappers/sme/ValueTypeMapper.java | 83 + .../i4aas/mappers/utils/BasicIdentifier.java | 24 + .../i4aas/mappers/utils/I4AASConstants.java | 76 + .../i4aas/mappers/utils/I4AASIdentifier.java | 98 + .../i4aas/mappers/utils/I4AASUtils.java | 63 + .../i4aas/mappers/utils/UaIdentifier.java | 52 + .../AnnotatedRelationshipElementParser.java | 63 + .../AssetAdministrationShellParser.java | 63 + .../i4aas/parsers/AssetInformationParser.java | 73 + .../dataformat/i4aas/parsers/AssetParser.java | 37 + .../dataformat/i4aas/parsers/BlobParser.java | 46 + .../i4aas/parsers/CapabilityParser.java | 37 + .../parsers/ConceptDescriptionParser.java | 47 + .../DataSpecificationIEC61360Parser.java | 103 + .../parsers/DataSpecificationsParser.java | 77 + .../i4aas/parsers/EntityParser.java | 67 + .../i4aas/parsers/EnvironmentParser.java | 58 + .../dataformat/i4aas/parsers/EventParser.java | 37 + .../dataformat/i4aas/parsers/FileParser.java | 46 + .../i4aas/parsers/I4AASGenericEnumParser.java | 68 + .../dataformat/i4aas/parsers/I4AASParser.java | 42 + .../i4aas/parsers/IdentifiableParser.java | 69 + .../parsers/IdentifierKeyValuePairParser.java | 51 + .../dataformat/i4aas/parsers/KeyParser.java | 51 + .../parsers/MultiLanguagePropertyParser.java | 54 + .../i4aas/parsers/NodeIdResolver.java | 37 + .../i4aas/parsers/OperationParser.java | 37 + .../i4aas/parsers/ParserContext.java | 178 + .../dataformat/i4aas/parsers/ParserUtils.java | 216 + .../i4aas/parsers/PropertyParser.java | 56 + .../i4aas/parsers/QualifierParser.java | 58 + .../dataformat/i4aas/parsers/RangeParser.java | 52 + .../i4aas/parsers/ReferableParser.java | 123 + .../i4aas/parsers/ReferenceElementParser.java | 44 + .../i4aas/parsers/ReferenceParser.java | 76 + .../parsers/RelationshipElementParser.java | 52 + .../SubmodelElementCollectionParser.java | 54 + .../i4aas/parsers/SubmodelParser.java | 48 + .../i4aas/parsers/TypeResolver.java | 59 + .../i4aas/parsers/UANodeWrapper.java | 223 + .../i4aas/parsers/ValueTypeParser.java | 52 + .../_02/types/ActivateSessionRequest.java | 560 + .../_02/types/ActivateSessionResponse.java | 440 + .../ua/_2008/_02/types/AddNodesItem.java | 623 + .../ua/_2008/_02/types/AddNodesRequest.java | 320 + .../ua/_2008/_02/types/AddNodesResponse.java | 380 + .../ua/_2008/_02/types/AddNodesResult.java | 339 + .../ua/_2008/_02/types/AddReferencesItem.java | 563 + .../_2008/_02/types/AddReferencesRequest.java | 320 + .../_02/types/AddReferencesResponse.java | 380 + .../_02/types/AdditionalParametersType.java | 260 + .../_02/types/AggregateConfiguration.java | 502 + .../ua/_2008/_02/types/AggregateFilter.java | 454 + .../_02/types/AggregateFilterResult.java | 394 + .../ua/_2008/_02/types/AliasNameDataType.java | 320 + .../ua/_2008/_02/types/Annotation.java | 384 + .../_02/types/AnonymousIdentityToken.java | 221 + .../_02/types/ApplicationDescription.java | 623 + .../ua/_2008/_02/types/ApplicationType.java | 64 + .../ua/_2008/_02/types/Argument.java | 501 + .../ua/_2008/_02/types/AttributeOperand.java | 513 + .../ua/_2008/_02/types/AxisInformation.java | 503 + .../_2008/_02/types/AxisScaleEnumeration.java | 61 + .../BrokerConnectionTransportDataType.java | 330 + .../BrokerDataSetReaderTransportDataType.java | 513 + .../BrokerDataSetWriterTransportDataType.java | 573 + .../BrokerTransportQualityOfService.java | 67 + .../BrokerWriterGroupTransportDataType.java | 453 + .../ua/_2008/_02/types/BrowseDescription.java | 565 + .../ua/_2008/_02/types/BrowseDirection.java | 64 + .../ua/_2008/_02/types/BrowseNextRequest.java | 381 + .../_2008/_02/types/BrowseNextResponse.java | 380 + .../ua/_2008/_02/types/BrowsePath.java | 320 + .../ua/_2008/_02/types/BrowsePathResult.java | 339 + .../ua/_2008/_02/types/BrowsePathTarget.java | 323 + .../ua/_2008/_02/types/BrowseRequest.java | 443 + .../ua/_2008/_02/types/BrowseResponse.java | 380 + .../ua/_2008/_02/types/BrowseResult.java | 399 + .../ua/_2008/_02/types/BrowseResultMask.java | 82 + .../ua/_2008/_02/types/BuildInfo.java | 564 + .../ua/_2008/_02/types/CallMethodRequest.java | 380 + .../ua/_2008/_02/types/CallMethodResult.java | 459 + .../ua/_2008/_02/types/CallRequest.java | 320 + .../ua/_2008/_02/types/CallResponse.java | 380 + .../ua/_2008/_02/types/CancelRequest.java | 323 + .../ua/_2008/_02/types/CancelResponse.java | 323 + .../_2008/_02/types/CartesianCoordinates.java | 201 + .../_2008/_02/types/ChannelSecurityToken.java | 445 + .../_02/types/CloseSecureChannelRequest.java | 260 + .../_02/types/CloseSecureChannelResponse.java | 260 + .../_2008/_02/types/CloseSessionRequest.java | 321 + .../_2008/_02/types/CloseSessionResponse.java | 260 + .../ua/_2008/_02/types/ComplexNumberType.java | 319 + .../types/ConfigurationVersionDataType.java | 322 + .../types/ConnectionTransportDataType.java | 202 + .../ua/_2008/_02/types/ContentFilter.java | 260 + .../_2008/_02/types/ContentFilterElement.java | 323 + .../_02/types/ContentFilterElementResult.java | 399 + .../_2008/_02/types/ContentFilterResult.java | 320 + .../types/CreateMonitoredItemsRequest.java | 444 + .../types/CreateMonitoredItemsResponse.java | 380 + .../_2008/_02/types/CreateSessionRequest.java | 743 + .../_02/types/CreateSessionResponse.java | 803 + .../_02/types/CreateSubscriptionRequest.java | 626 + .../_02/types/CreateSubscriptionResponse.java | 505 + .../ua/_2008/_02/types/CurrencyUnitType.java | 441 + .../ua/_2008/_02/types/DataChangeFilter.java | 392 + .../_02/types/DataChangeNotification.java | 330 + .../ua/_2008/_02/types/DataChangeTrigger.java | 61 + .../_2008/_02/types/DataSetMetaDataType.java | 582 + .../_2008/_02/types/DataSetOrderingType.java | 61 + .../_02/types/DataSetReaderDataType.java | 1245 + .../types/DataSetReaderMessageDataType.java | 202 + .../types/DataSetReaderTransportDataType.java | 201 + .../_02/types/DataSetWriterDataType.java | 745 + .../types/DataSetWriterMessageDataType.java | 202 + .../types/DataSetWriterTransportDataType.java | 201 + .../_2008/_02/types/DataTypeAttributes.java | 335 + .../_2008/_02/types/DataTypeDefinition.java | 202 + .../_2008/_02/types/DataTypeDescription.java | 326 + .../ua/_2008/_02/types/DataTypeNode.java | 494 + .../_2008/_02/types/DataTypeSchemaHeader.java | 445 + .../ua/_2008/_02/types/DataValue.java | 601 + .../DatagramConnectionTransportDataType.java | 270 + .../DatagramWriterGroupTransportDataType.java | 331 + .../ua/_2008/_02/types/DeadbandType.java | 61 + .../ua/_2008/_02/types/DecimalDataType.java | 321 + .../_2008/_02/types/DeleteAtTimeDetails.java | 283 + .../_2008/_02/types/DeleteEventDetails.java | 283 + .../types/DeleteMonitoredItemsRequest.java | 383 + .../types/DeleteMonitoredItemsResponse.java | 380 + .../ua/_2008/_02/types/DeleteNodesItem.java | 321 + .../_2008/_02/types/DeleteNodesRequest.java | 320 + .../_2008/_02/types/DeleteNodesResponse.java | 380 + .../_02/types/DeleteRawModifiedDetails.java | 407 + .../_2008/_02/types/DeleteReferencesItem.java | 501 + .../_02/types/DeleteReferencesRequest.java | 320 + .../_02/types/DeleteReferencesResponse.java | 380 + .../_02/types/DeleteSubscriptionsRequest.java | 320 + .../types/DeleteSubscriptionsResponse.java | 380 + .../ua/_2008/_02/types/DiagnosticInfo.java | 657 + .../ua/_2008/_02/types/DiagnosticsLevel.java | 67 + .../_02/types/DiscoveryConfiguration.java | 201 + .../_02/types/DoubleComplexNumberType.java | 319 + .../ua/_2008/_02/types/EUInformation.java | 441 + .../ua/_2008/_02/types/ElementOperand.java | 271 + .../_02/types/EndpointConfiguration.java | 739 + .../_2008/_02/types/EndpointDescription.java | 684 + .../ua/_2008/_02/types/EndpointType.java | 443 + .../_02/types/EndpointUrlListDataType.java | 260 + .../ua/_2008/_02/types/EnumDefinition.java | 270 + .../ua/_2008/_02/types/EnumDescription.java | 359 + .../ua/_2008/_02/types/EnumField.java | 309 + .../ua/_2008/_02/types/EnumValueType.java | 385 + .../ua/_2008/_02/types/EphemeralKeyType.java | 320 + .../ua/_2008/_02/types/EventFieldList.java | 323 + .../ua/_2008/_02/types/EventFilter.java | 330 + .../ua/_2008/_02/types/EventFilterResult.java | 390 + .../_02/types/EventNotificationList.java | 270 + .../_02/types/ExampleExtensionObjectBody.java | 390 + .../_02/types/ExceptionDeviationFormat.java | 67 + .../ua/_2008/_02/types/ExpandedNodeId.java | 260 + .../ua/_2008/_02/types/ExtensionObject.java | 564 + .../_2008/_02/types/ExtensionObjectBody.java | 199 + .../ua/_2008/_02/types/FieldMetaData.java | 824 + .../_2008/_02/types/FieldTargetDataType.java | 662 + .../ua/_2008/_02/types/FilterOperand.java | 204 + .../ua/_2008/_02/types/FilterOperator.java | 106 + .../types/FindServersOnNetworkRequest.java | 444 + .../types/FindServersOnNetworkResponse.java | 384 + .../_2008/_02/types/FindServersRequest.java | 440 + .../_2008/_02/types/FindServersResponse.java | 320 + .../ua/_2008/_02/types/Frame.java | 201 + .../_02/types/GenericAttributeValue.java | 339 + .../ua/_2008/_02/types/GenericAttributes.java | 335 + .../_2008/_02/types/GetEndpointsRequest.java | 440 + .../_2008/_02/types/GetEndpointsResponse.java | 320 + .../ua/_2008/_02/types/Guid.java | 260 + .../ua/_2008/_02/types/HistoryData.java | 264 + .../ua/_2008/_02/types/HistoryEvent.java | 260 + .../_02/types/HistoryEventFieldList.java | 260 + .../_2008/_02/types/HistoryModifiedData.java | 283 + .../_2008/_02/types/HistoryReadDetails.java | 205 + .../_2008/_02/types/HistoryReadRequest.java | 503 + .../_2008/_02/types/HistoryReadResponse.java | 380 + .../ua/_2008/_02/types/HistoryReadResult.java | 399 + .../_2008/_02/types/HistoryReadValueId.java | 440 + .../_2008/_02/types/HistoryUpdateDetails.java | 269 + .../_2008/_02/types/HistoryUpdateRequest.java | 320 + .../_02/types/HistoryUpdateResponse.java | 380 + .../_2008/_02/types/HistoryUpdateResult.java | 399 + .../ua/_2008/_02/types/HistoryUpdateType.java | 64 + .../ua/_2008/_02/types/IdType.java | 64 + .../_2008/_02/types/IdentityCriteriaType.java | 70 + .../_02/types/IdentityMappingRuleType.java | 323 + .../ua/_2008/_02/types/InstanceNode.java | 358 + .../_2008/_02/types/IssuedIdentityToken.java | 343 + .../JsonDataSetReaderMessageDataType.java | 332 + .../JsonDataSetWriterMessageDataType.java | 271 + .../types/JsonWriterGroupMessageDataType.java | 271 + .../ua/_2008/_02/types/KeyValuePair.java | 339 + .../_2008/_02/types/ListOfAddNodesItem.java | 365 + .../_2008/_02/types/ListOfAddNodesResult.java | 365 + .../_02/types/ListOfAddReferencesItem.java | 365 + .../_02/types/ListOfAliasNameDataType.java | 365 + .../types/ListOfApplicationDescription.java | 367 + .../ua/_2008/_02/types/ListOfArgument.java | 365 + .../ua/_2008/_02/types/ListOfBoolean.java | 344 + ...stOfBrokerConnectionTransportDataType.java | 369 + ...fBrokerDataSetReaderTransportDataType.java | 369 + ...fBrokerDataSetWriterTransportDataType.java | 369 + ...ListOfBrokerTransportQualityOfService.java | 346 + ...tOfBrokerWriterGroupTransportDataType.java | 369 + .../_02/types/ListOfBrowseDescription.java | 365 + .../ua/_2008/_02/types/ListOfBrowsePath.java | 365 + .../_02/types/ListOfBrowsePathResult.java | 365 + .../_02/types/ListOfBrowsePathTarget.java | 365 + .../_2008/_02/types/ListOfBrowseResult.java | 365 + .../ua/_2008/_02/types/ListOfByte.java | 346 + .../ua/_2008/_02/types/ListOfByteString.java | 343 + .../_02/types/ListOfCallMethodRequest.java | 365 + .../_02/types/ListOfCallMethodResult.java | 365 + .../_02/types/ListOfCartesianCoordinates.java | 367 + .../ListOfConfigurationVersionDataType.java | 367 + .../ListOfConnectionTransportDataType.java | 367 + .../_2008/_02/types/ListOfContentFilter.java | 365 + .../_02/types/ListOfContentFilterElement.java | 367 + .../ListOfContentFilterElementResult.java | 367 + .../_02/types/ListOfCurrencyUnitType.java | 365 + .../types/ListOfDataSetFieldContentMask.java | 346 + .../_02/types/ListOfDataSetMetaDataType.java | 367 + .../_02/types/ListOfDataSetOrderingType.java | 346 + .../types/ListOfDataSetReaderDataType.java | 367 + .../ListOfDataSetReaderMessageDataType.java | 367 + .../ListOfDataSetReaderTransportDataType.java | 367 + .../types/ListOfDataSetWriterDataType.java | 367 + .../ListOfDataSetWriterMessageDataType.java | 367 + .../ListOfDataSetWriterTransportDataType.java | 367 + .../_02/types/ListOfDataTypeDefinition.java | 367 + .../_02/types/ListOfDataTypeDescription.java | 367 + .../_02/types/ListOfDataTypeSchemaHeader.java | 367 + .../ua/_2008/_02/types/ListOfDataValue.java | 365 + ...OfDatagramConnectionTransportDataType.java | 369 + ...fDatagramWriterGroupTransportDataType.java | 369 + .../ua/_2008/_02/types/ListOfDateTime.java | 347 + .../_02/types/ListOfDeleteNodesItem.java | 365 + .../_02/types/ListOfDeleteReferencesItem.java | 367 + .../_2008/_02/types/ListOfDiagnosticInfo.java | 365 + .../_02/types/ListOfDiagnosticsLevel.java | 346 + .../ua/_2008/_02/types/ListOfDouble.java | 344 + .../types/ListOfEndpointConfiguration.java | 367 + .../_02/types/ListOfEndpointDescription.java | 367 + .../_2008/_02/types/ListOfEndpointType.java | 365 + .../types/ListOfEndpointUrlListDataType.java | 367 + .../_2008/_02/types/ListOfEnumDefinition.java | 365 + .../_02/types/ListOfEnumDescription.java | 365 + .../ua/_2008/_02/types/ListOfEnumField.java | 365 + .../_2008/_02/types/ListOfEnumValueType.java | 365 + .../_2008/_02/types/ListOfEventFieldList.java | 365 + .../_2008/_02/types/ListOfExpandedNodeId.java | 365 + .../_02/types/ListOfExtensionObject.java | 365 + .../_2008/_02/types/ListOfFieldMetaData.java | 365 + .../_02/types/ListOfFieldTargetDataType.java | 367 + .../ua/_2008/_02/types/ListOfFloat.java | 344 + .../ua/_2008/_02/types/ListOfFrame.java | 365 + .../types/ListOfGenericAttributeValue.java | 367 + .../ua/_2008/_02/types/ListOfGuid.java | 365 + .../types/ListOfHistoryEventFieldList.java | 367 + .../_02/types/ListOfHistoryReadResult.java | 365 + .../_02/types/ListOfHistoryReadValueId.java | 367 + .../_02/types/ListOfHistoryUpdateResult.java | 367 + .../ua/_2008/_02/types/ListOfIdType.java | 346 + .../_02/types/ListOfIdentityCriteriaType.java | 346 + .../types/ListOfIdentityMappingRuleType.java | 367 + .../ua/_2008/_02/types/ListOfInt16.java | 344 + .../ua/_2008/_02/types/ListOfInt32.java | 344 + .../ua/_2008/_02/types/ListOfInt64.java | 344 + .../ListOfJsonDataSetMessageContentMask.java | 346 + ...istOfJsonDataSetReaderMessageDataType.java | 369 + ...istOfJsonDataSetWriterMessageDataType.java | 369 + .../ListOfJsonNetworkMessageContentMask.java | 346 + .../ListOfJsonWriterGroupMessageDataType.java | 367 + .../_2008/_02/types/ListOfKeyValuePair.java | 365 + .../_2008/_02/types/ListOfLocalizedText.java | 365 + .../ListOfModelChangeStructureDataType.java | 367 + .../_02/types/ListOfModificationInfo.java | 365 + .../ListOfMonitoredItemCreateRequest.java | 367 + .../ListOfMonitoredItemCreateResult.java | 367 + .../ListOfMonitoredItemModifyRequest.java | 367 + .../ListOfMonitoredItemModifyResult.java | 367 + .../ListOfMonitoredItemNotification.java | 367 + .../types/ListOfNetworkAddressDataType.java | 367 + .../ListOfNetworkAddressUrlDataType.java | 367 + .../_02/types/ListOfNetworkGroupDataType.java | 367 + .../ua/_2008/_02/types/ListOfNode.java | 365 + .../ua/_2008/_02/types/ListOfNodeId.java | 365 + .../_2008/_02/types/ListOfNodeReference.java | 365 + .../_02/types/ListOfNodeTypeDescription.java | 367 + .../_2008/_02/types/ListOfOpenFileMode.java | 346 + .../ua/_2008/_02/types/ListOfOptionSet.java | 365 + .../ua/_2008/_02/types/ListOfOrientation.java | 365 + .../types/ListOfOverrideValueHandling.java | 346 + .../_2008/_02/types/ListOfParsingResult.java | 365 + .../ListOfPubSubConfigurationDataType.java | 367 + .../types/ListOfPubSubConnectionDataType.java | 367 + ...ubSubDiagnosticsCounterClassification.java | 348 + .../_02/types/ListOfPubSubGroupDataType.java | 367 + .../ua/_2008/_02/types/ListOfPubSubState.java | 346 + .../ListOfPublishedDataItemsDataType.java | 367 + .../types/ListOfPublishedDataSetDataType.java | 367 + .../ListOfPublishedDataSetSourceDataType.java | 367 + .../types/ListOfPublishedEventsDataType.java | 367 + .../ListOfPublishedVariableDataType.java | 367 + .../_2008/_02/types/ListOfQualifiedName.java | 365 + .../_02/types/ListOfQueryDataDescription.java | 367 + .../_2008/_02/types/ListOfQueryDataSet.java | 365 + .../_2008/_02/types/ListOfRationalNumber.java | 365 + .../ua/_2008/_02/types/ListOfReadValueId.java | 365 + .../_02/types/ListOfReaderGroupDataType.java | 367 + .../ListOfReaderGroupMessageDataType.java | 367 + .../ListOfReaderGroupTransportDataType.java | 367 + .../types/ListOfRedundantServerDataType.java | 367 + .../_02/types/ListOfReferenceDescription.java | 367 + .../_2008/_02/types/ListOfReferenceNode.java | 365 + .../_02/types/ListOfRegisteredServer.java | 365 + .../_02/types/ListOfRelativePathElement.java | 367 + .../_02/types/ListOfRolePermissionType.java | 367 + .../ua/_2008/_02/types/ListOfSByte.java | 344 + ...OfSamplingIntervalDiagnosticsDataType.java | 369 + ...ListOfSemanticChangeStructureDataType.java | 367 + .../_02/types/ListOfServerOnNetwork.java | 365 + .../ListOfSessionDiagnosticsDataType.java | 367 + ...tOfSessionSecurityDiagnosticsDataType.java | 369 + .../ListOfSignedSoftwareCertificate.java | 367 + .../types/ListOfSimpleAttributeOperand.java | 367 + .../types/ListOfSimpleTypeDescription.java | 367 + .../ua/_2008/_02/types/ListOfStatusCode.java | 365 + .../_2008/_02/types/ListOfStatusResult.java | 365 + .../ua/_2008/_02/types/ListOfString.java | 344 + .../_02/types/ListOfStructureDefinition.java | 367 + .../_02/types/ListOfStructureDescription.java | 367 + .../_2008/_02/types/ListOfStructureField.java | 365 + .../ListOfSubscribedDataSetDataType.java | 367 + ...ListOfSubscribedDataSetMirrorDataType.java | 367 + .../ListOfSubscriptionAcknowledgement.java | 367 + ...ListOfSubscriptionDiagnosticsDataType.java | 367 + .../types/ListOfTargetVariablesDataType.java | 367 + .../ListOfThreeDCartesianCoordinates.java | 367 + .../ua/_2008/_02/types/ListOfThreeDFrame.java | 365 + .../_02/types/ListOfThreeDOrientation.java | 365 + .../_2008/_02/types/ListOfThreeDVector.java | 365 + .../_02/types/ListOfTimeZoneDataType.java | 365 + .../_2008/_02/types/ListOfTransferResult.java | 365 + .../_02/types/ListOfTrustListDataType.java | 365 + .../_02/types/ListOfUABinaryFileDataType.java | 367 + .../ua/_2008/_02/types/ListOfUInt16.java | 346 + .../ua/_2008/_02/types/ListOfUInt32.java | 346 + .../ua/_2008/_02/types/ListOfUInt64.java | 347 + .../ListOfUadpDataSetMessageContentMask.java | 346 + ...istOfUadpDataSetReaderMessageDataType.java | 369 + ...istOfUadpDataSetWriterMessageDataType.java | 369 + .../ListOfUadpNetworkMessageContentMask.java | 346 + .../ListOfUadpWriterGroupMessageDataType.java | 367 + .../ua/_2008/_02/types/ListOfUnion.java | 365 + .../_02/types/ListOfUserTokenPolicy.java | 365 + .../ua/_2008/_02/types/ListOfVariant.java | 365 + .../ua/_2008/_02/types/ListOfVector.java | 365 + .../ua/_2008/_02/types/ListOfWriteValue.java | 365 + .../_02/types/ListOfWriterGroupDataType.java | 367 + .../ListOfWriterGroupMessageDataType.java | 367 + .../ListOfWriterGroupTransportDataType.java | 367 + .../ua/_2008/_02/types/ListOfXmlElement.java | 610 + .../ua/_2008/_02/types/LiteralOperand.java | 287 + .../ua/_2008/_02/types/LocalizedText.java | 320 + .../_02/types/MdnsDiscoveryConfiguration.java | 330 + .../_2008/_02/types/MessageSecurityMode.java | 64 + .../ua/_2008/_02/types/MethodAttributes.java | 395 + .../ua/_2008/_02/types/MethodNode.java | 493 + .../types/ModelChangeStructureDataType.java | 383 + .../types/ModelChangeStructureVerbMask.java | 67 + .../ua/_2008/_02/types/ModificationInfo.java | 385 + .../types/ModifyMonitoredItemsRequest.java | 444 + .../types/ModifyMonitoredItemsResponse.java | 380 + .../_02/types/ModifySubscriptionRequest.java | 627 + .../_02/types/ModifySubscriptionResponse.java | 444 + .../_02/types/MonitoredItemCreateRequest.java | 383 + .../_02/types/MonitoredItemCreateResult.java | 522 + .../_02/types/MonitoredItemModifyRequest.java | 323 + .../_02/types/MonitoredItemModifyResult.java | 461 + .../_02/types/MonitoredItemNotification.java | 323 + .../ua/_2008/_02/types/MonitoringFilter.java | 203 + .../_02/types/MonitoringFilterResult.java | 202 + .../ua/_2008/_02/types/MonitoringMode.java | 61 + .../_2008/_02/types/MonitoringParameters.java | 504 + .../_02/types/NetworkAddressDataType.java | 264 + .../_02/types/NetworkAddressUrlDataType.java | 283 + .../_2008/_02/types/NetworkGroupDataType.java | 320 + .../ua/_2008/_02/types/Node.java | 871 + .../ua/_2008/_02/types/NodeAttributes.java | 517 + .../_2008/_02/types/NodeAttributesMask.java | 157 + .../ua/_2008/_02/types/NodeClass.java | 79 + .../ua/_2008/_02/types/NodeId.java | 260 + .../ua/_2008/_02/types/NodeReference.java | 441 + .../_2008/_02/types/NodeTypeDescription.java | 381 + .../ua/_2008/_02/types/NotificationData.java | 203 + .../_2008/_02/types/NotificationMessage.java | 385 + .../ua/_2008/_02/types/ObjectAttributes.java | 337 + .../ua/_2008/_02/types/ObjectFactory.java | 19975 ++++++++++++++++ .../ua/_2008/_02/types/ObjectNode.java | 435 + .../_2008/_02/types/ObjectTypeAttributes.java | 335 + .../ua/_2008/_02/types/ObjectTypeNode.java | 433 + .../ua/_2008/_02/types/OpenFileMode.java | 64 + .../_02/types/OpenSecureChannelRequest.java | 566 + .../_02/types/OpenSecureChannelResponse.java | 443 + .../ua/_2008/_02/types/OptionSet.java | 320 + .../ua/_2008/_02/types/Orientation.java | 201 + .../_02/types/OverrideValueHandling.java | 61 + .../ua/_2008/_02/types/ParsingResult.java | 399 + .../ua/_2008/_02/types/PerformUpdateType.java | 64 + .../_02/types/ProgramDiagnostic2DataType.java | 926 + .../_02/types/ProgramDiagnosticDataType.java | 806 + .../types/PubSubConfigurationDataType.java | 381 + .../_02/types/PubSubConnectionDataType.java | 759 + ...ubSubDiagnosticsCounterClassification.java | 58 + .../_2008/_02/types/PubSubGroupDataType.java | 629 + .../ua/_2008/_02/types/PubSubState.java | 64 + .../ua/_2008/_02/types/PublishRequest.java | 320 + .../ua/_2008/_02/types/PublishResponse.java | 623 + .../_02/types/PublishedDataItemsDataType.java | 270 + .../_02/types/PublishedDataSetDataType.java | 500 + .../types/PublishedDataSetSourceDataType.java | 202 + .../_02/types/PublishedEventsDataType.java | 390 + .../_02/types/PublishedVariableDataType.java | 703 + .../ua/_2008/_02/types/QualifiedName.java | 323 + .../_2008/_02/types/QueryDataDescription.java | 383 + .../ua/_2008/_02/types/QueryDataSet.java | 380 + .../ua/_2008/_02/types/QueryFirstRequest.java | 564 + .../_2008/_02/types/QueryFirstResponse.java | 560 + .../ua/_2008/_02/types/QueryNextRequest.java | 381 + .../ua/_2008/_02/types/QueryNextResponse.java | 380 + .../ua/_2008/_02/types/Range.java | 319 + .../ua/_2008/_02/types/RationalNumber.java | 321 + .../_02/types/ReadAnnotationDataDetails.java | 270 + .../ua/_2008/_02/types/ReadAtTimeDetails.java | 331 + .../ua/_2008/_02/types/ReadEventDetails.java | 456 + .../_2008/_02/types/ReadProcessedDetails.java | 515 + .../_02/types/ReadRawModifiedDetails.java | 514 + .../ua/_2008/_02/types/ReadRequest.java | 443 + .../ua/_2008/_02/types/ReadResponse.java | 380 + .../ua/_2008/_02/types/ReadValueId.java | 443 + .../_2008/_02/types/ReaderGroupDataType.java | 481 + .../_02/types/ReaderGroupMessageDataType.java | 197 + .../types/ReaderGroupTransportDataType.java | 197 + .../ua/_2008/_02/types/RedundancySupport.java | 70 + .../_02/types/RedundantServerDataType.java | 384 + .../_2008/_02/types/ReferenceDescription.java | 623 + .../ua/_2008/_02/types/ReferenceNode.java | 381 + .../_02/types/ReferenceTypeAttributes.java | 456 + .../ua/_2008/_02/types/ReferenceTypeNode.java | 554 + .../_2008/_02/types/RegisterNodesRequest.java | 320 + .../_02/types/RegisterNodesResponse.java | 320 + .../_02/types/RegisterServer2Request.java | 380 + .../_02/types/RegisterServer2Response.java | 380 + .../_02/types/RegisterServerRequest.java | 320 + .../_02/types/RegisterServerResponse.java | 260 + .../ua/_2008/_02/types/RegisteredServer.java | 683 + .../ua/_2008/_02/types/RelativePath.java | 260 + .../_2008/_02/types/RelativePathElement.java | 441 + .../ua/_2008/_02/types/RepublishRequest.java | 384 + .../ua/_2008/_02/types/RepublishResponse.java | 320 + .../ua/_2008/_02/types/RequestHeader.java | 627 + .../ua/_2008/_02/types/ResponseHeader.java | 584 + .../_2008/_02/types/RolePermissionType.java | 323 + .../SamplingIntervalDiagnosticsDataType.java | 443 + .../_02/types/SecurityTokenRequestType.java | 58 + .../SemanticChangeStructureDataType.java | 320 + .../ServerDiagnosticsSummaryDataType.java | 932 + .../ua/_2008/_02/types/ServerOnNetwork.java | 443 + .../ua/_2008/_02/types/ServerState.java | 76 + .../_2008/_02/types/ServerStatusDataType.java | 567 + .../_02/types/ServiceCounterDataType.java | 322 + .../ua/_2008/_02/types/ServiceFault.java | 260 + .../_02/types/SessionDiagnosticsDataType.java | 2790 +++ .../SessionSecurityDiagnosticsDataType.java | 743 + .../types/SessionlessInvokeRequestType.java | 504 + .../types/SessionlessInvokeResponseType.java | 383 + .../_02/types/SetMonitoringModeRequest.java | 444 + .../_02/types/SetMonitoringModeResponse.java | 380 + .../_02/types/SetPublishingModeRequest.java | 381 + .../_02/types/SetPublishingModeResponse.java | 380 + .../_2008/_02/types/SetTriggeringRequest.java | 504 + .../_02/types/SetTriggeringResponse.java | 500 + .../ua/_2008/_02/types/SignatureData.java | 320 + .../_02/types/SignedSoftwareCertificate.java | 320 + .../_02/types/SimpleAttributeOperand.java | 453 + .../_02/types/SimpleTypeDescription.java | 359 + .../_02/types/StatusChangeNotification.java | 349 + .../ua/_2008/_02/types/StatusCode.java | 261 + .../ua/_2008/_02/types/StatusResult.java | 339 + .../_2008/_02/types/StructureDefinition.java | 453 + .../_2008/_02/types/StructureDescription.java | 296 + .../ua/_2008/_02/types/StructureField.java | 623 + .../ua/_2008/_02/types/StructureType.java | 61 + .../_02/types/SubscribedDataSetDataType.java | 202 + .../SubscribedDataSetMirrorDataType.java | 330 + .../types/SubscriptionAcknowledgement.java | 322 + .../SubscriptionDiagnosticsDataType.java | 2090 ++ .../_02/types/TargetVariablesDataType.java | 270 + .../_02/types/ThreeDCartesianCoordinates.java | 386 + .../ua/_2008/_02/types/ThreeDFrame.java | 330 + .../ua/_2008/_02/types/ThreeDOrientation.java | 386 + .../ua/_2008/_02/types/ThreeDVector.java | 386 + .../ua/_2008/_02/types/TimeZoneDataType.java | 319 + .../_2008/_02/types/TimestampsToReturn.java | 67 + .../ua/_2008/_02/types/TransferResult.java | 339 + .../types/TransferSubscriptionsRequest.java | 381 + .../types/TransferSubscriptionsResponse.java | 380 + .../TranslateBrowsePathsToNodeIdsRequest.java | 320 + ...TranslateBrowsePathsToNodeIdsResponse.java | 380 + .../ua/_2008/_02/types/TrustListDataType.java | 503 + .../ua/_2008/_02/types/TrustListMasks.java | 70 + .../ua/_2008/_02/types/TypeNode.java | 358 + .../_2008/_02/types/UABinaryFileDataType.java | 461 + .../UadpDataSetReaderMessageDataType.java | 774 + .../UadpDataSetWriterMessageDataType.java | 454 + .../types/UadpWriterGroupMessageDataType.java | 515 + .../ua/_2008/_02/types/Union.java | 197 + .../_02/types/UnregisterNodesRequest.java | 320 + .../_02/types/UnregisterNodesResponse.java | 260 + .../ua/_2008/_02/types/UpdateDataDetails.java | 346 + .../_2008/_02/types/UpdateEventDetails.java | 406 + .../_02/types/UpdateStructureDataDetails.java | 346 + .../ua/_2008/_02/types/UserIdentityToken.java | 267 + .../_02/types/UserNameIdentityToken.java | 403 + .../ua/_2008/_02/types/UserTokenPolicy.java | 503 + .../ua/_2008/_02/types/UserTokenType.java | 64 + .../_2008/_02/types/VariableAttributes.java | 777 + .../ua/_2008/_02/types/VariableNode.java | 936 + .../_02/types/VariableTypeAttributes.java | 594 + .../ua/_2008/_02/types/VariableTypeNode.java | 692 + .../ua/_2008/_02/types/Variant.java | 504 + .../ua/_2008/_02/types/Vector.java | 201 + .../ua/_2008/_02/types/ViewAttributes.java | 397 + .../ua/_2008/_02/types/ViewDescription.java | 385 + .../ua/_2008/_02/types/ViewNode.java | 495 + .../ua/_2008/_02/types/WriteRequest.java | 320 + .../ua/_2008/_02/types/WriteResponse.java | 380 + .../ua/_2008/_02/types/WriteValue.java | 443 + .../_2008/_02/types/WriterGroupDataType.java | 845 + .../_02/types/WriterGroupMessageDataType.java | 202 + .../types/WriterGroupTransportDataType.java | 202 + .../ua/_2008/_02/types/X509IdentityToken.java | 283 + .../ua/_2008/_02/types/XVType.java | 318 + .../ua/_2008/_02/types/package-info.java | 13 + .../aas/v3/dataformat/i4aas/AASExamples.java | 77 + .../v3/dataformat/i4aas/DeserializerTest.java | 44 + .../i4aas/GeneratedExtensionObjectTest.java | 158 + .../v3/dataformat/i4aas/IntegrationTests.java | 279 + .../v3/dataformat/i4aas/SerializerTest.java | 92 + .../v3/dataformat/i4aas/TestUANodeset.java | 67 + .../i4aas/mappers/SubmodelMapperTest.java | 38 + .../i4aas/parsers/EnvironmentParserTest.java | 82 + .../i4aas/parsers/ParserContextTest.java | 51 + .../i4aas/parsers/TypeResolverTest.java | 46 + .../src/test/resources/AASSimple_V3Draft.xml | 2121 ++ dataformat-xml/.gitignore | 31 + dataformat-xml/LICENSE | 215 + dataformat-xml/license-header.txt | 13 + dataformat-xml/pom.xml | 61 + .../xml/AasXmlNamespaceContext.java | 51 + .../xml/SubmodelElementManager.java | 73 + .../XmlDataformatAnnotationIntrospector.java | 88 + .../v3/dataformat/xml/XmlDeserializer.java | 99 + .../v3/dataformat/xml/XmlSchemaValidator.java | 55 + .../aas/v3/dataformat/xml/XmlSerializer.java | 102 + .../ConstraintsDeserializer.java | 79 + .../CustomJsonNodeDeserializer.java | 25 + .../DataElementsDeserializer.java | 60 + .../DeserializationHelper.java | 52 + ...mbeddedDataSpecificationsDeserializer.java | 77 + .../xml/deserialization/KeyDeserializer.java | 50 + .../xml/deserialization/KeysDeserializer.java | 24 + .../LangStringNodeDeserializer.java | 32 + .../LangStringsDeserializer.java | 24 + .../NoEntryWrapperListDeserializer.java | 69 + .../ReferencesDeserializer.java | 63 + .../SubmodelElementDeserializer.java | 49 + .../SubmodelElementsDeserializer.java | 92 + .../xml/mixins/AccessControlMixin.java | 32 + .../xml/mixins/AccessPermissionRuleMixin.java | 31 + .../AdministrativeInformationMixin.java | 27 + .../AnnotatedRelationshipElementMixin.java | 31 + .../mixins/AssetAdministrationShellMixin.java | 35 + .../xml/mixins/AssetInformationMixin.java | 50 + .../xml/mixins/ConceptDescriptionMixin.java | 31 + .../DataSpecificationIEC61360Mixin.java | 82 + .../v3/dataformat/xml/mixins/EntityMixin.java | 38 + .../dataformat/xml/mixins/ExtensionMixin.java | 22 + .../dataformat/xml/mixins/FormulaMixin.java | 30 + .../xml/mixins/HasDataSpecificationMixin.java | 34 + .../xml/mixins/HasExtensionsMixin.java | 30 + .../xml/mixins/IdentifierMixin.java | 29 + .../v3/dataformat/xml/mixins/KeyMixin.java | 33 + .../mixins/MultiLanguagePropertyMixin.java | 34 + .../dataformat/xml/mixins/OperationMixin.java | 34 + .../xml/mixins/OperationVariableMixin.java | 26 + .../xml/mixins/QualifiableMixin.java | 34 + .../dataformat/xml/mixins/ReferableMixin.java | 49 + .../dataformat/xml/mixins/ReferenceMixin.java | 33 + .../SubmodelElementCollectionMixin.java | 34 + .../dataformat/xml/mixins/SubmodelMixin.java | 34 + .../dataformat/xml/mixins/ValueListMixin.java | 28 + .../xml/mixins/ValueReferencePairMixin.java | 29 + .../v3/dataformat/xml/mixins/ViewMixin.java | 32 + ...inistrationShellEnvironmentSerializer.java | 150 + .../serialization/ConstraintsSerializer.java | 52 + .../serialization/DataElementsSerializer.java | 50 + .../EmbeddedDataSpecificationSerializer.java | 101 + .../xml/serialization/KeySerializer.java | 52 + .../serialization/LangStringSerializer.java | 49 + .../serialization/LangStringsSerializer.java | 21 + .../NoEntryWrapperListSerializer.java | 81 + .../serialization/ReferenceSerializer.java | 42 + .../SubmodelElementSerializer.java | 39 + .../SubmodelElementsSerializer.java | 43 + dataformat-xml/src/main/resources/AAS.xsd | 576 + .../src/main/resources/AAS_ABAC.xsd | 167 + .../src/main/resources/IEC61360.xsd | 155 + .../dataformat/xml/XMLDeserializerTest.java | 42 + .../v3/dataformat/xml/XmlSerializerTest.java | 113 + .../v3/dataformat/xml/XmlValidationTest.java | 80 + ...ple_AAS_ServoDCMotor - Simplified V2.0.xml | 452 + .../resources/ServoDCMotor_invalid_V2.0.xml | 486 + .../src/test/resources/invalidXmlExample.xml | 9 + dataformat-xml/src/test/resources/minimum.xml | 6 + .../test/resources/test_demo_full_example.xml | 1654 ++ .../src/test/resources/xmlExample.xml | 326 + .../xmlExampleWithModifiedPrefix.xml | 326 + docs/.gitignore | 9 + docs/articles/building.md | 28 + docs/articles/development_workflow.md | 37 + docs/articles/intro.md | 16 + docs/articles/releasing.md | 5 + docs/articles/toc.yml | 10 + docs/articles/usage.md | 85 + docs/docfx.json | 39 + docs/images/adminshellio-48x48.jpg | Bin 0 -> 2228 bytes docs/images/favicon-16x16.png | Bin 0 -> 1504 bytes docs/images/favicon-32x32.png | Bin 0 -> 2483 bytes docs/images/favicon-96x96.png | Bin 0 -> 11434 bytes docs/images/favicon.ico | Bin 0 -> 1150 bytes docs/index.md | 6 + docs/toc.yml | 2 + license-header.txt | 13 + pom.xml | 265 + validator/license-header.txt | 13 + validator/pom.xml | 45 + .../v3/model/validator/ShaclValidator.java | 151 + .../model/validator/ValidationException.java | 28 + .../aas/v3/model/validator/Validator.java | 26 + .../aas/v3/model/validator/ValidatorUtil.java | 45 + .../src/main/resources/constraint_shapes.ttl | 1121 + validator/src/main/resources/jsonExample.json | 524 + validator/src/main/resources/ontology.ttl | 2147 ++ validator/src/main/resources/shapes.ttl | 1621 ++ .../resources/test_demo_full_example.json | 2744 +++ .../dataformat/core/ValidateModelsTest.java | 55 + .../dataformat/json/JsonFullExampleTest.java | 54 + .../model/validator/ConstraintTestHelper.java | 94 + .../aas/v3/model/validator/TestAASd_002.java | 84 + .../aas/v3/model/validator/TestAASd_003.java | 51 + .../aas/v3/model/validator/TestAASd_005.java | 55 + .../aas/v3/model/validator/TestAASd_006.java | 80 + .../aas/v3/model/validator/TestAASd_007.java | 79 + .../aas/v3/model/validator/TestAASd_008.java | 69 + .../aas/v3/model/validator/TestAASd_014.java | 157 + .../aas/v3/model/validator/TestAASd_015.java | 102 + .../aas/v3/model/validator/TestAASd_020.java | 88 + .../aas/v3/model/validator/TestAASd_021.java | 123 + .../aas/v3/model/validator/TestAASd_023.java | 87 + .../aas/v3/model/validator/TestAASd_026.java | 60 + .../aas/v3/model/validator/TestAASd_051.java | 63 + .../aas/v3/model/validator/TestAASd_052a.java | 107 + .../aas/v3/model/validator/TestAASd_053.java | 102 + .../aas/v3/model/validator/TestAASd_054.java | 109 + .../aas/v3/model/validator/TestAASd_055.java | 166 + .../aas/v3/model/validator/TestAASd_056.java | 103 + .../aas/v3/model/validator/TestAASd_057.java | 157 + .../aas/v3/model/validator/TestAASd_058.java | 101 + .../aas/v3/model/validator/TestAASd_060.java | 96 + .../aas/v3/model/validator/TestAASd_063.java | 97 + .../aas/v3/model/validator/TestAASd_064.java | 107 + .../aas/v3/model/validator/TestAASd_067.java | 136 + .../aas/v3/model/validator/TestAASd_068.java | 194 + .../aas/v3/model/validator/TestAASd_069.java | 161 + .../aas/v3/model/validator/TestAASd_072.java | 96 + .../aas/v3/model/validator/TestAASd_074.java | 115 + .../aas/v3/model/validator/TestAASd_076.java | 106 + .../aas/v3/model/validator/TestAASd_077.java | 91 + .../aas/v3/model/validator/TestAASd_080.java | 80 + .../aas/v3/model/validator/TestAASd_081.java | 80 + .../aas/v3/model/validator/TestAASd_090.java | 105 + .../validator/TestAASd_092_059_ENTITY.java | 110 + .../TestAASd_093_059_COLLECTION.java | 111 + .../aas/v3/model/validator/TestAASd_100.java | 59 + .../aas/v3/model/validator/TestAASd_65a.java | 167 + .../aas/v3/model/validator/TestAASd_66a.java | 167 + 1093 files changed, 295221 insertions(+) create mode 100644 .github/workflows/docfx-build-publish.yml create mode 100644 .github/workflows/maven-deploy-to-maven-central.yml create mode 100644 .github/workflows/maven-publish-snapshots.yml create mode 100644 .github/workflows/maven-run-tests.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 dataformat-aasx/.gitignore create mode 100644 dataformat-aasx/LICENSE create mode 100644 dataformat-aasx/license-header.txt create mode 100644 dataformat-aasx/pom.xml create mode 100644 dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java create mode 100644 dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java create mode 100644 dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXValidator.java create mode 100644 dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/InMemoryFile.java create mode 100644 dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java create mode 100644 dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java create mode 100644 dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java create mode 100644 dataformat-aasx/src/test/resources/jsonExample.json create mode 100644 dataformat-aml/.gitignore create mode 100644 dataformat-aml/LICENSE create mode 100644 dataformat-aml/license-header.txt create mode 100644 dataformat-aml/pom.xml create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializationConfig.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializer.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDocumentInfo.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializationConfig.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializer.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/AbstractMappingContext.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/AbstractClassNamingStrategy.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/IdClassNamingStrategy.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NamingStrategy.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NumberingClassNamingStrategy.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/PropertyNamingStrategy.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AasTypeFactory.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Aml2AasMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AmlParser.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/DefaultMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Mapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/MappingContext.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellEnvironmentMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConceptDescriptionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConstraintCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/DataSpecificationIEC61360Mapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EmbeddedDataSpecificationCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumDataTypeIEC61360Mapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/FileMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifiableMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifierKeyValuePairCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/LangStringCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/OperationCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/PropertyMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/QualifierMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RangeMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferableMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceElementMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RelationshipElementMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ViewMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/AutomationMLVersion.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/WriterInfo.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AasToAmlMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AmlGenerator.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/IdentityProvider.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/Mapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/MappingContext.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IdGenerator.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IntegerIdGenerator.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/UuidGenerator.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AbstractElementMapperWithValueType.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellEnvironmentMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConceptDescriptionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConstraintCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationContentMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationIEC61360Mapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/EmbeddedDataSpecificationCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/FileMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/IdentifierKeyValuePairCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/LangStringCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/PropertyMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/QualifierMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RangeMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceCollectionMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceElementMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RelationshipElementMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/SubmodelMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ViewMapper.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedByViewCollector.java create mode 100644 dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedReferableCollector.java create mode 100644 dataformat-aml/src/main/resources/AssetAdministrationShellLib.aml create mode 100644 dataformat-aml/src/main/resources/CAEX_ClassModel_V2.15.xsd create mode 100644 dataformat-aml/src/main/resources/application.properties create mode 100644 dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/deserialize/AmlDeserializerTest.java create mode 100644 dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/FullExample.java create mode 100644 dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/SimpleExample.java create mode 100644 dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/serialize/AmlSerializerTest.java create mode 100644 dataformat-aml/src/test/resources/test_demo_full_example.aml create mode 100644 dataformat-aml/src/test/resources/test_demo_simple_example.aml create mode 100644 dataformat-core/.gitignore create mode 100644 dataformat-core/LICENSE create mode 100644 dataformat-core/license-header.txt create mode 100644 dataformat-core/pom.xml create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/DeserializationException.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Deserializer.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SchemaValidator.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SerializationException.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Serializer.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationInfo.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationManager.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/ReflectionHelper.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EmbeddedDataSpecificationDeserializer.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EnumDeserializer.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EmbeddedDataSpecificationSerializer.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EnumSerializer.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/AasUtils.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/IdentifiableCollector.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificClassComparator.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificTypeTokenComparator.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementVisitor.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementWalkerVisitor.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/Mapper.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingContext.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingException.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingProvider.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/SourceBasedMapper.java create mode 100644 dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/TargetBasedMapper.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AasUtilsTest.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java create mode 100644 dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java create mode 100644 dataformat-json/.gitignore create mode 100644 dataformat-json/.mvn/extensions.xml create mode 100644 dataformat-json/.mvn/settings.xml create mode 100644 dataformat-json/LICENSE create mode 100644 dataformat-json/license-header.txt create mode 100644 dataformat-json/pom.xml create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializer.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSchemaValidator.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSerializer.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableDeserializer.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableSerializer.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospector.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlPolicyPointsMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessPermissionRuleMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AnnotatedRelationshipElementMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellEnvironmentMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetInformationMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BasicEventMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobCertificateMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ConceptDescriptionMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationIEC61360Mixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationPhysicalUnitMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/EntityMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ExtensionMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FileMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FormulaMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/HasExtensionsMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifiableMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierKeyValuePairMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/KeyMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/LangStringMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/MultiLanguagePropertyMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ObjectAttributesMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationVariableMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionsPerObjectMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyAdministrationPointMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyDecisionPointMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyEnforcementPointsMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyInformationPointsMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/QualifierMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RangeMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferableMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferenceMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RelationshipElementMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SecurityMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SubmodelElementCollectionMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ValueListMixin.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/JsonTreeProcessor.java create mode 100644 dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/ModelTypeProcessor.java create mode 100644 dataformat-json/src/main/resources/aas.json create mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java create mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java create mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java create mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java create mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonValidationTest.java create mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java create mode 100644 dataformat-json/src/test/resources/MotorAAS.json create mode 100644 dataformat-json/src/test/resources/MotorAAS_reduced.json create mode 100644 dataformat-json/src/test/resources/assetAdministrationShell.json create mode 100644 dataformat-json/src/test/resources/assetAdministrationShellList.json create mode 100644 dataformat-json/src/test/resources/empty_aas.json create mode 100644 dataformat-json/src/test/resources/invalidJsonExample.json create mode 100644 dataformat-json/src/test/resources/jsonExample.json create mode 100644 dataformat-json/src/test/resources/submodel.json create mode 100644 dataformat-json/src/test/resources/submodelElement.json create mode 100644 dataformat-json/src/test/resources/submodelElementCollection.json create mode 100644 dataformat-json/src/test/resources/submodelElementList.json create mode 100644 dataformat-json/src/test/resources/submodelList.json create mode 100644 dataformat-json/src/test/resources/test_demo_full_example.json create mode 100644 dataformat-rdf/license-header.txt create mode 100644 dataformat-rdf/pom.xml create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/FallbackSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/IgnoreTypeMixIn.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDModule.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializerModifier.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLdEnumSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/LangStringSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Parser.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Serializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/UriSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/BigDecimalSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/JsonLdEnumMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/LangStringMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/ReflectiveMixInResolver.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarDeserializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarSerializer.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlPolicyPointsMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessPermissionRuleMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AdministrativeInformationMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AnnotatedRelationshipElementMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellEnvironmentMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetInformationMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BasicEventMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobCertificateMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CapabilityMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CertificateMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConceptDescriptionMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConstraintMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataElementMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationContentMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationIEC61360Mixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationPhysicalUnitMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EmbeddedDataSpecificationMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EntityMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventElementMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMessageMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ExtensionMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FileMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FormulaMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasDataSpecificationMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasExtensionsMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasKindMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasSemanticsMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifiableMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierKeyValuePairMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/KeyMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/MultiLanguagePropertyMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ObjectAttributesMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationVariableMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionsPerObjectMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyAdministrationPointMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyDecisionPointMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyEnforcementPointsMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyInformationPointsMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PropertyMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifiableMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifierMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RangeMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferableMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceElementMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RelationshipElementMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SecurityMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubjectAttributesMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementCollectionMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueListMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueReferencePairMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ViewMixin.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/BasePreprocessor.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/JsonPreprocessor.java create mode 100644 dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/TypeNamePreprocessor.java create mode 100644 dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/ParserTest.java create mode 100644 dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerTest.java create mode 100644 dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerUtil.java create mode 100644 dataformat-rdf/src/test/resources/AAS_Reference_shortExample.nt create mode 100644 dataformat-rdf/src/test/resources/AAS_Reference_shortExample.ttl create mode 100644 dataformat-rdf/src/test/resources/AssetAdministrationShell_Example.ttl create mode 100644 dataformat-rdf/src/test/resources/Asset_Example.nt create mode 100644 dataformat-rdf/src/test/resources/Asset_Example.ttl create mode 100644 dataformat-rdf/src/test/resources/Complete_Example.ttl create mode 100644 dataformat-rdf/src/test/resources/KapitalVerwaltungsschaleExample.ttl create mode 100644 dataformat-rdf/src/test/resources/Overall-Example.nt create mode 100644 dataformat-rdf/src/test/resources/ReferenceExample.ttl create mode 100644 dataformat-rdf/src/test/resources/Submodel_SubmodelElement_Example.ttl create mode 100644 dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.nt create mode 100644 dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.ttl create mode 100644 dataformat-rdf/src/test/resources/example-from-serializer.jsonld create mode 100644 dataformat-uanodeset/.factorypath create mode 100644 dataformat-uanodeset/LICENSE create mode 100644 dataformat-uanodeset/README.md create mode 100644 dataformat-uanodeset/license-header.txt create mode 100644 dataformat-uanodeset/nodeset/FilesGenerated.drawio create mode 100644 dataformat-uanodeset/nodeset/FilesGenerated.png create mode 100644 dataformat-uanodeset/nodeset/MappingParser.drawio create mode 100644 dataformat-uanodeset/nodeset/MappingParser.png create mode 100644 dataformat-uanodeset/nodeset/i4aas/Opc.Ua.I4AAS_V3Draft.NodeSet2.csv create mode 100644 dataformat-uanodeset/nodeset/i4aas/Opc.Ua.I4AAS_V3Draft.NodeSet2.xml create mode 100644 dataformat-uanodeset/nodeset/i4aas/changelog.csv create mode 100644 dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.bsd create mode 100644 dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.xsd create mode 100644 dataformat-uanodeset/nodeset/xsd/Opc.Ua.Types.xsd create mode 100644 dataformat-uanodeset/nodeset/xsd/UANodeSet.xsd create mode 100644 dataformat-uanodeset/pom.xml create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASDeserializer.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASSerializer.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetMarshaller.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetUnmarshaller.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AdministrationMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetAdministrationShellMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetInformationMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/BooleanPropertyMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ByteStringPropertyMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ConceptDescriptionMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/DataSpecificationIEC61360Mapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/EnvironmentMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasDataSpecificationMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasKindMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasSemanticsMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASEnumMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifiableMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifierKeyValuePairMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/LangStringPropertyMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/MappingContext.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifiableMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierTypeMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferableMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferenceMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/StringPropertyMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/AnnotatedRelationshipElementMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/BlobMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/CapabilityMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EntityMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventElementMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMessageMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/FileMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MimeTypeMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MultiLanguagePropertyMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/OperationMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PathTypeMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PropertyMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RangeMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ReferenceElementMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RelationshipElementMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementCollectionMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMappers.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ValueTypeMapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/BasicIdentifier.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASConstants.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASIdentifier.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASUtils.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/UaIdentifier.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AnnotatedRelationshipElementParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetAdministrationShellParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetInformationParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/BlobParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/CapabilityParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ConceptDescriptionParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationIEC61360Parser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationsParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EntityParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EventParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/FileParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASGenericEnumParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifiableParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifierKeyValuePairParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/KeyParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/MultiLanguagePropertyParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/NodeIdResolver.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/OperationParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContext.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserUtils.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/PropertyParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/QualifierParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RangeParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferableParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceElementParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RelationshipElementParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelElementCollectionParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelParser.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolver.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/UANodeWrapper.java create mode 100644 dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ValueTypeParser.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AdditionalParametersType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateConfiguration.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilter.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilterResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AliasNameDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Annotation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AnonymousIdentityToken.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Argument.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AttributeOperand.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisInformation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisScaleEnumeration.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerConnectionTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetReaderTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetWriterTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerTransportQualityOfService.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerWriterGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDirection.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePath.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathTarget.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResultMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BuildInfo.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CartesianCoordinates.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ChannelSecurityToken.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ComplexNumberType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConfigurationVersionDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConnectionTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilter.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElementResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CurrencyUnitType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeFilter.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeNotification.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeTrigger.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetMetaDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetOrderingType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDefinition.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeSchemaHeader.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataValue.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramConnectionTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramWriterGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeadbandType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DecimalDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteAtTimeDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteEventDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteRawModifiedDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticInfo.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticsLevel.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiscoveryConfiguration.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DoubleComplexNumberType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EUInformation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ElementOperand.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointConfiguration.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointUrlListDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDefinition.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumField.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumValueType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EphemeralKeyType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFieldList.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilter.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilterResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventNotificationList.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExampleExtensionObjectBody.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExceptionDeviationFormat.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExpandedNodeId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObject.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObjectBody.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldMetaData.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldTargetDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperand.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperator.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Frame.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributeValue.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Guid.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryData.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEvent.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEventFieldList.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryModifiedData.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadValueId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityCriteriaType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityMappingRuleType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/InstanceNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IssuedIdentityToken.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetReaderMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetWriterMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonWriterGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/KeyValuePair.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddReferencesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAliasNameDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfApplicationDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfArgument.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBoolean.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerConnectionTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetReaderTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetWriterTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerTransportQualityOfService.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerWriterGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePath.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathTarget.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByte.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByteString.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCartesianCoordinates.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConfigurationVersionDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConnectionTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilter.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElementResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCurrencyUnitType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetFieldContentMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetMetaDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetOrderingType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDefinition.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeSchemaHeader.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataValue.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramConnectionTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramWriterGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDateTime.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteNodesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteReferencesItem.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticInfo.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticsLevel.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDouble.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointConfiguration.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointUrlListDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDefinition.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumField.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumValueType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEventFieldList.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExpandedNodeId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExtensionObject.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldMetaData.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldTargetDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFloat.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFrame.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGenericAttributeValue.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGuid.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryEventFieldList.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadValueId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryUpdateResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityCriteriaType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityMappingRuleType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt16.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt32.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt64.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetMessageContentMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetReaderMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetWriterMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonNetworkMessageContentMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonWriterGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfKeyValuePair.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfLocalizedText.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModelChangeStructureDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModificationInfo.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemNotification.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressUrlDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeReference.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeTypeDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOpenFileMode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOptionSet.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOrientation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOverrideValueHandling.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfParsingResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConfigurationDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConnectionDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubDiagnosticsCounterClassification.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubState.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataItemsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetSourceDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedEventsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedVariableDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQualifiedName.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataSet.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRationalNumber.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReadValueId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRedundantServerDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRegisteredServer.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRelativePathElement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRolePermissionType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSByte.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSamplingIntervalDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSemanticChangeStructureDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfServerOnNetwork.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionSecurityDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSignedSoftwareCertificate.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleAttributeOperand.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleTypeDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusCode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfString.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDefinition.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureField.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetMirrorDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionAcknowledgement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTargetVariablesDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDCartesianCoordinates.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDFrame.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDOrientation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDVector.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTimeZoneDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTransferResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTrustListDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUABinaryFileDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt16.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt32.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt64.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetMessageContentMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetReaderMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetWriterMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpNetworkMessageContentMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpWriterGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUnion.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUserTokenPolicy.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVariant.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVector.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriteValue.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfXmlElement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LiteralOperand.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LocalizedText.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MdnsDiscoveryConfiguration.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MessageSecurityMode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureVerbMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModificationInfo.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemNotification.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilter.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilterResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringMode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringParameters.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressUrlDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Node.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributesMask.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeClass.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeReference.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeTypeDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationData.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationMessage.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectFactory.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenFileMode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OptionSet.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Orientation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OverrideValueHandling.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ParsingResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PerformUpdateType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnostic2DataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnosticDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConfigurationDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConnectionDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubDiagnosticsCounterClassification.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubState.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataItemsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetSourceDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedEventsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedVariableDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QualifiedName.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataSet.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Range.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RationalNumber.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAnnotationDataDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAtTimeDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadEventDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadProcessedDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRawModifiedDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadValueId.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundancySupport.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundantServerDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Request.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Response.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisteredServer.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePath.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePathElement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RequestHeader.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ResponseHeader.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RolePermissionType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SamplingIntervalDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SecurityTokenRequestType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SemanticChangeStructureDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerDiagnosticsSummaryDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerOnNetwork.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerState.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerStatusDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceCounterDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceFault.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionSecurityDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeRequestType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeResponseType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignatureData.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignedSoftwareCertificate.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleAttributeOperand.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleTypeDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusChangeNotification.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusCode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDefinition.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureField.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetMirrorDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionAcknowledgement.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionDiagnosticsDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TargetVariablesDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDCartesianCoordinates.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDFrame.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDOrientation.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDVector.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimeZoneDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimestampsToReturn.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferResult.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListMasks.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TypeNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UABinaryFileDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetReaderMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetWriterMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpWriterGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Union.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateDataDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateEventDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateStructureDataDetails.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserIdentityToken.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserNameIdentityToken.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenPolicy.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Variant.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Vector.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewAttributes.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewDescription.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewNode.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteRequest.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteResponse.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteValue.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupMessageDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupTransportDataType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/X509IdentityToken.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/XVType.java create mode 100644 dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/package-info.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASExamples.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/DeserializerTest.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/GeneratedExtensionObjectTest.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/TestUANodeset.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParserTest.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContextTest.java create mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolverTest.java create mode 100644 dataformat-uanodeset/src/test/resources/AASSimple_V3Draft.xml create mode 100644 dataformat-xml/.gitignore create mode 100644 dataformat-xml/LICENSE create mode 100644 dataformat-xml/license-header.txt create mode 100644 dataformat-xml/pom.xml create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/AasXmlNamespaceContext.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/SubmodelElementManager.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSchemaValidator.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ConstraintsDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/CustomJsonNodeDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DataElementsDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DeserializationHelper.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/EmbeddedDataSpecificationsDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeyDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeysDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringNodeDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringsDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/NoEntryWrapperListDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ReferencesDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementsDeserializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessControlMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessPermissionRuleMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AdministrativeInformationMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AnnotatedRelationshipElementMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetAdministrationShellMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetInformationMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ConceptDescriptionMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/DataSpecificationIEC61360Mixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/EntityMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ExtensionMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/FormulaMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasDataSpecificationMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasExtensionsMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/IdentifierMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/KeyMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/MultiLanguagePropertyMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationVariableMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/QualifiableMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferableMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferenceMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelElementCollectionMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueListMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueReferencePairMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ViewMixin.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ConstraintsSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/DataElementsSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/EmbeddedDataSpecificationSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/KeySerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ReferenceSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementSerializer.java create mode 100644 dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementsSerializer.java create mode 100644 dataformat-xml/src/main/resources/AAS.xsd create mode 100644 dataformat-xml/src/main/resources/AAS_ABAC.xsd create mode 100644 dataformat-xml/src/main/resources/IEC61360.xsd create mode 100644 dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java create mode 100644 dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java create mode 100644 dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlValidationTest.java create mode 100644 dataformat-xml/src/test/resources/Example_AAS_ServoDCMotor - Simplified V2.0.xml create mode 100644 dataformat-xml/src/test/resources/ServoDCMotor_invalid_V2.0.xml create mode 100644 dataformat-xml/src/test/resources/invalidXmlExample.xml create mode 100644 dataformat-xml/src/test/resources/minimum.xml create mode 100644 dataformat-xml/src/test/resources/test_demo_full_example.xml create mode 100644 dataformat-xml/src/test/resources/xmlExample.xml create mode 100644 dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml create mode 100644 docs/.gitignore create mode 100644 docs/articles/building.md create mode 100644 docs/articles/development_workflow.md create mode 100644 docs/articles/intro.md create mode 100644 docs/articles/releasing.md create mode 100644 docs/articles/toc.yml create mode 100644 docs/articles/usage.md create mode 100644 docs/docfx.json create mode 100644 docs/images/adminshellio-48x48.jpg create mode 100644 docs/images/favicon-16x16.png create mode 100644 docs/images/favicon-32x32.png create mode 100644 docs/images/favicon-96x96.png create mode 100644 docs/images/favicon.ico create mode 100644 docs/index.md create mode 100644 docs/toc.yml create mode 100644 license-header.txt create mode 100644 pom.xml create mode 100644 validator/license-header.txt create mode 100644 validator/pom.xml create mode 100644 validator/src/main/java/io/adminshell/aas/v3/model/validator/ShaclValidator.java create mode 100644 validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidationException.java create mode 100644 validator/src/main/java/io/adminshell/aas/v3/model/validator/Validator.java create mode 100644 validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidatorUtil.java create mode 100644 validator/src/main/resources/constraint_shapes.ttl create mode 100644 validator/src/main/resources/jsonExample.json create mode 100644 validator/src/main/resources/ontology.ttl create mode 100644 validator/src/main/resources/shapes.ttl create mode 100644 validator/src/main/resources/test_demo_full_example.json create mode 100644 validator/src/test/java/io/adminshell/aas/v3/dataformat/core/ValidateModelsTest.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonFullExampleTest.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/ConstraintTestHelper.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_002.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_003.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_005.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_006.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_007.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_008.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_014.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_015.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_020.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_021.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_023.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_026.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_051.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_052a.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_053.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_054.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_055.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_056.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_057.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_058.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_060.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_063.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_064.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_067.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_068.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_069.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_072.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_074.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_076.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_077.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_080.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_081.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_090.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_092_059_ENTITY.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_093_059_COLLECTION.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_100.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_65a.java create mode 100644 validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_66a.java diff --git a/.github/workflows/docfx-build-publish.yml b/.github/workflows/docfx-build-publish.yml new file mode 100644 index 000000000..90eaaaed5 --- /dev/null +++ b/.github/workflows/docfx-build-publish.yml @@ -0,0 +1,29 @@ +# This workflow will build and publish documentation with docfx +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Documentation Publish + +on: + push: + branches: + - main + +jobs: + build_docs: + runs-on: ubuntu-latest + name: Build and publish documentation + steps: + - name: Checkout + uses: actions/checkout@v1 + + - name: Build docfx + uses: nikeee/docfx-action@v1.0.0 + with: + args: docs/docfx.json + + - name: Publish + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs/_site + force_orphan: true diff --git a/.github/workflows/maven-deploy-to-maven-central.yml b/.github/workflows/maven-deploy-to-maven-central.yml new file mode 100644 index 000000000..5213c9684 --- /dev/null +++ b/.github/workflows/maven-deploy-to-maven-central.yml @@ -0,0 +1,34 @@ +# This workflow will deploy the Serializers and the Validator to the sonatype +# staging environment. This will NOT automatically publish the artifacts. An +# authorized user must still manually close the staging repository first. + +name: Generate and Deploy to Sonatype + +on: + release: + types: [published] + +jobs: + + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK 1.8 + uses: actions/setup-java@v2 + with: + java-version: 11 + distribution: 'adopt' + server-id: ossrh + server-username: OSSRH_USERNAME + server-password: OSSRH_PASSWORD + gpg-private-key: ${{ secrets.MYGPGKEY_SEC }} + + - name: Publish to Apache Maven Central + run: mvn -P MavenCentral license:format deploy + env: + OSSRH_USERNAME: sebbader + OSSRH_PASSWORD: ${{ secrets.SEBBADER_OSSHR_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_KEY_PASSWORD }} + GPG_PASSPHRASE: ${{ secrets.GPG_KEY_PASSWORD }} diff --git a/.github/workflows/maven-publish-snapshots.yml b/.github/workflows/maven-publish-snapshots.yml new file mode 100644 index 000000000..ab7fbfd2d --- /dev/null +++ b/.github/workflows/maven-publish-snapshots.yml @@ -0,0 +1,83 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a PR is accepted/new content is pushed +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Maven Publish Snapshot + +on: + push: + branches: + - development + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Build with Maven + run: mvn -B package --file pom.xml + + - name: Delete old dataformat-parent package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-parent' + + - name: Delete old dataformat-core package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-core' + + - name: Delete old dataformat-aasx package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-aasx' + + - name: Delete old dataformat-xml package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-xml' + + - name: Delete old dataformat-aml package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-aml' + + - name: Delete old dataformat-rdf package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-rdf' + + - name: Delete old dataformat-json package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.dataformat-json' + + - name: Delete old validator package + uses: actions/delete-package-versions@v1 + continue-on-error: true + with: + package-name: 'io.admin-shell.aas.validator' + + - name: Publish to GitHub Packages Apache Maven + run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/maven-run-tests.yml b/.github/workflows/maven-run-tests.yml new file mode 100644 index 000000000..e6049aee3 --- /dev/null +++ b/.github/workflows/maven-run-tests.yml @@ -0,0 +1,24 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + pull_request: + branches: [ main, development, feature/**, bugfix/** ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + cache: maven + - name: Build with Maven + run: mvn -B package --file pom.xml \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..90edc16a1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +.idea/ +log/ +*.log +bin/ +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders +*.iml + +.classpath +.project + +**/.flattened-pom.xml +**/nb-configuration.xml +**.iml +**.flattened-pom.xml +nbactions.xml +testJsonSerialization.json +dataformat-uanodeset/jsonExpected.json +dataformat-uanodeset/jsonActual.json diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..fd7f06b8b --- /dev/null +++ b/LICENSE @@ -0,0 +1,215 @@ +Copyright (C) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +The Serializers contained in this repository provide the functionalities to +serialize and deserialize instances of the Asset Administration Shell data model +from and to the AAS Java Model library. It is licensed under the Apache License +2.0 (Apache-2.0, see below). +The Model uses the concepts of the document "Details of the Asset +Administration Shell" published on www.plattform-i40.de which is licensed +under Creative Commons CC BY-ND 3.0 DE. + +------------------------------------------------------------------------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Fraunhofer IAIS + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 000000000..82b317c24 --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +# Java Dataformat Library + +The AAS Java Dataformat Library is a collection of software modules to serialize and +deserialze instances of the Asset Administration Shell from and to Java +instances. De-/serialization works according to the dataformat schemas published in +the document 'Details of the Asset Administration Shell', published on +[www.plattform-i40.de](https://www.plattform-i40.de). + + +# Build and Use + +Some examples can be found on the [documentation webpage](https://admin-shell-io.github.io/java-serializer/). + +You can build the project using Maven by simply executing at the repository +root: + +`mvn clean package` + + +or by integrating the respective modules as dependencies from Maven Central Repository, for instance: + +``` + + io.admin-shell.aas + dataformat-json + latest-version + +``` + +# Project Structure + +The project contains several modules: + +- `dataformat-parent` Maven parent module that contains the respective de-/serializers for the different data formats. +- `dataformat-core` Location of the general classes and interfaces that are used by more than one de-/serializer. +- `dataformat-aasx` AASX de-/serializer +- `dataformat-json` JSON de-/serializer +- `dataformat-rdf` RDF de-/serializer +- `dataformat-xml` XML de-/serializer +- `dataformat-uanodeset` OPC UA I4AAS NodeSet de-/serializer +- `dataformat-aml` AutomationML serializer (deserializer is currently under development) + +Additionally, the sources that are used for generating the static documentation using [DocFX](https://dotnet.github.io/docfx/) in the `gh-pages` branch are located in the `docs` folder. + + + +# How to Contribute + +We always look for contributions, bug reports, feature requests etc. Simply open an [issue](https://github.com/admin-shell-io/java-serializer/issues) or - even better - directly propose a change through a [pull request](https://github.com/admin-shell-io/java-serializer/pulls). + + +# Contributors + +| Name | Affiliation | Github Account | Parent | Core | AASX | JSON | XML | RDF | UA-Nodeset | Validator| AutomationML +--- | --- | --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: +| Mohammad Alreeni | Fraunhofer IWU | []() | | | | | x | | | | +| Sebastian Bader | Fraunhofer IAIS | [sebbader](https://github.com/sebbader) | x | | | | | x | | x | | +| Matthias Böckmann | Fraunhofer IAIS | [maboeckmann](https://github.com/maboeckmann) | x | | | | | x | | x | | +| Maximilian Conradi | Fraunhofer IESE | []() | | | x | | x | | | | | +| Helge Dickel | SAP SE | [heldic](https://github.com/heldic) | x | | | x | x | | | | | +| Daniel Espen | Fraunhofer IESE | [daespen](https://github.com/daespen) | | x | x | x | x | | | | | +| Michael Jacoby | Fraunhofer IOSB| [mjacoby](https://github.com/mjacoby) | x | x | | x | x | | | | x | +| Jens Müller | Fraunhofer IOSB | [JensMueller2709](https://github.com/JensMueller2709) | | | | x | | | | | x | +| Orthodoxos Kipouridis | SAP SE | [akiskips](https://github.com/akiskips) | x | | | x | x | | | | | +| Bastian Rössl | Fraunhofer IOSB-INA | [br-iosb](https://github.com/br-iosb) | | | | x | | | x | | | +| Frank Schnicke | Fraunhofer IESE | [frankschnicke](https://github.com/frankschnicke) | | | x | | x | | | x | | +| Manuel Sauer | SAP SE | [Manu3756](https://github.com/Manu3756) | x | | | | | | | | | +| Arno Weiss | Fraunhofer IWU | [alw-iwu](https://github.com/alw-iwu) | | | | x | | | x | | | +| Jan Blume | Fraunhofer IOSB | []() | | | | | | | | | x | + +This project was initiated by SAP and Fraunhofer to provide a foundation for the +AAS development and to foster its dissemination. diff --git a/dataformat-aasx/.gitignore b/dataformat-aasx/.gitignore new file mode 100644 index 000000000..520731e01 --- /dev/null +++ b/dataformat-aasx/.gitignore @@ -0,0 +1,31 @@ +.idea/ +log/ +*.log +bin/ +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +.classpath +.project + +testJsonSerialization.json + diff --git a/dataformat-aasx/LICENSE b/dataformat-aasx/LICENSE new file mode 100644 index 000000000..94624d082 --- /dev/null +++ b/dataformat-aasx/LICENSE @@ -0,0 +1,215 @@ +Copyright (C) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +The AASX Serializer contained in this repository provide the functionalities to +serialize and deserialize instances of the Asset Administration Shell data model +from and to the AAS Java Model library. It is licensed under the Apache License +2.0 (Apache-2.0, see below). +The Model uses the concepts of the document "Details of the Asset +Administration Shell" published on www.plattform-i40.de which is licensed +under Creative Commons CC BY-ND 3.0 DE. + +------------------------------------------------------------------------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Fraunhofer IAIS + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dataformat-aasx/license-header.txt b/dataformat-aasx/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/dataformat-aasx/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/dataformat-aasx/pom.xml b/dataformat-aasx/pom.xml new file mode 100644 index 000000000..2a5a6ba63 --- /dev/null +++ b/dataformat-aasx/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-aasx + Asset Administration Shell AASX-Serializer + + + + io.admin-shell.aas + dataformat-xml + ${revision} + + + io.admin-shell.aas + dataformat-core + ${revision} + tests + test + + + org.apache.poi + poi-ooxml + ${poi.version} + + + pl.pragmatists + JUnitParams + ${junit-params.version} + test + + + commons-io + commons-io + ${commons-io.version} + + + diff --git a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java new file mode 100644 index 000000000..be79613fb --- /dev/null +++ b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java @@ -0,0 +1,199 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx; + +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.openxml4j.opc.PackagePart; +import org.apache.poi.openxml4j.opc.PackageRelationshipCollection; +import org.apache.poi.openxml4j.opc.PackagingURIHelper; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.Serializer; +import io.adminshell.aas.v3.dataformat.xml.XmlDeserializer; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; + +/** + * The AASX package converter converts a aasx package into a list of aas, a list + * of submodels a list of assets, a list of Concept descriptions + */ +public class AASXDeserializer { + + private static final String XML_TYPE = "http://www.admin-shell.io/aasx/relationships/aas-spec"; + private static final String AASX_ORIGIN = "/aasx/aasx-origin"; + + private XmlDeserializer deserializer = new XmlDeserializer(); + + private AssetAdministrationShellEnvironment environment; + private final OPCPackage aasxRoot; + + /** + * Constructor that takes the aasx package for this deserializer + * + * @param inputStream an input stream to an aasx package that can be read with this instance + * @throws InvalidFormatException if aasx package format is invalid + * @throws IOException if creating input streams for aasx fails + */ + public AASXDeserializer(InputStream inputStream) throws InvalidFormatException, IOException { + aasxRoot = OPCPackage.open(inputStream); + } + + /** + * Constructor for custom XML deserialization + * + * @param deserializer a custom deserializer used for deserializing the aas environment + * @param inputStream an input stream to an aasx package that can be read with this instance + * @throws InvalidFormatException if aasx package format is invalid + * @throws IOException if creating input streams for aasx fails + */ + public AASXDeserializer(XmlDeserializer deserializer, InputStream inputStream) throws InvalidFormatException, IOException { + aasxRoot = OPCPackage.open(inputStream); + this.deserializer = deserializer; + } + + /** + * Reads the AASX package that belongs to this deserializer + * + * @return The deserialized aas environment from the aasx package given in the constructor + * + * @throws InvalidFormatException if aasx package format is invalid + * @throws IOException if creating input streams for aasx fails + * @throws DeserializationException if deserialization of the serialized aas environment fails + */ + public AssetAdministrationShellEnvironment read() throws InvalidFormatException, IOException, DeserializationException { + // If the XML was already parsed return cached environment + if (environment != null) { + return environment; + } + environment = deserializer.read(getXMLResourceString(aasxRoot)); + return environment; + } + + /** + * Return the Content of the xml file in the aasx-package as String + * + * @throws InvalidFormatException if aasx package format is invalid + * @throws IOException if creating input streams for aasx fails + */ + public String getXMLResourceString() throws InvalidFormatException, IOException { + return getXMLResourceString(this.aasxRoot); + } + + private String getXMLResourceString(OPCPackage aasxPackage) throws InvalidFormatException, IOException { + // Get the "/aasx/aasx-origin" Part. It is Relationship source for the + // XML-Document + PackagePart originPart = aasxPackage.getPart(PackagingURIHelper.createPartName(AASX_ORIGIN)); + + // Get the Relation to the XML Document + PackageRelationshipCollection originRelationships = originPart.getRelationshipsByType(XML_TYPE); + + // If there is more than one or no XML-Document that is an error + if (originRelationships.size() > 1) { + throw new RuntimeException("More than one 'aasx-spec' document found in .aasx"); + } else if (originRelationships.size() == 0) { + throw new RuntimeException("No 'aasx-spec' document found in .aasx"); + } + + // Get the PackagePart of the XML-Document + PackagePart xmlPart = originPart.getRelatedPart(originRelationships.getRelationship(0)); + + // Read the content from the PackagePart + InputStream stream = xmlPart.getInputStream(); + StringWriter writer = new StringWriter(); + IOUtils.copy(stream, writer, Serializer.DEFAULT_CHARSET); + return writer.toString(); + } + + /** + * Load the referenced filepaths in the submodels such as PDF, PNG files from + * the package + * + * @return a map of the folder name and folder path, the folder holds the files + * @throws IOException if creating input streams for aasx fails + * @throws InvalidFormatException if aasx package format is invalid + * @throws DeserializationException if deserialization of the serialized aas environment fails + * + */ + private List parseReferencedFilePathsFromAASX() throws IOException, InvalidFormatException, DeserializationException { + read(); + + List paths = new ArrayList<>(); + for (Submodel sm : environment.getSubmodels()) { + paths.addAll(parseElements(sm.getSubmodelElements())); + } + return paths; + } + + /** + * Gets the file paths from a collection of ISubmodelElement + * + * @param elements the submodel elements to process + * @return the Paths from the File elements + */ + private List parseElements(Collection elements) { + List paths = new ArrayList<>(); + for (SubmodelElement element : elements) { + if (element instanceof File) { + File file = (File) element; + // If the path contains a "://", we can assume, that the Path is a link to an + // other server + // e.g. http://localhost:8080/aasx/... + if (!file.getValue().contains("://")) { + paths.add(file.getValue()); + } + } else if (element instanceof SubmodelElementCollection) { + SubmodelElementCollection collection = (SubmodelElementCollection) element; + paths.addAll(parseElements(collection.getValues())); + } + } + return paths; + } + + /** + * Retrieves a list of related files from the deserialized aasx package + * + * @return the list of file in memory + * @throws InvalidFormatException if aasx package format is invalid + * @throws IOException if creating input streams for aasx fails + * @throws DeserializationException if deserialization of the serialized aas environment fails + */ + public List getRelatedFiles() throws InvalidFormatException, IOException, DeserializationException { + List filePaths = parseReferencedFilePathsFromAASX(); + List files = new ArrayList<>(); + for (String filePath : filePaths) { + files.add(readFile(aasxRoot, filePath)); + } + return files; + } + + private InMemoryFile readFile(OPCPackage aasxRoot, String filePath) throws InvalidFormatException, IOException { + PackagePart part = aasxRoot.getPart(PackagingURIHelper.createPartName(filePath)); + InputStream stream = part.getInputStream(); + return new InMemoryFile(stream.readAllBytes(), filePath); + } +} diff --git a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java new file mode 100644 index 000000000..5de4da07e --- /dev/null +++ b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java @@ -0,0 +1,302 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.UUID; + +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.openxml4j.opc.PackagePart; +import org.apache.poi.openxml4j.opc.PackagePartName; +import org.apache.poi.openxml4j.opc.PackagingURIHelper; +import org.apache.poi.openxml4j.opc.RelationshipSource; +import org.apache.poi.openxml4j.opc.TargetMode; +import org.apache.poi.openxml4j.opc.internal.MemoryPackagePart; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.Serializer; +import io.adminshell.aas.v3.dataformat.xml.XmlSerializer; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; + +/** + * This class can be used to generate an .aasx file from Metamodel Objects and + * the Files referred to in the Submodels + */ +public class AASXSerializer { + private static Logger logger = LoggerFactory.getLogger(AASXSerializer.class); + + private static final String MIME_PLAINTXT = "text/plain"; + private static final String MIME_XML = "application/xml"; + + private static final String ORIGIN_RELTYPE = "http://www.admin-shell.io/aasx/relationships/aasx-origin"; + private static final String ORIGIN_PATH = "/aasx/aasx-origin"; + private static final String ORIGIN_CONTENT = "Intentionally empty."; + + private static final String AASSPEC_RELTYPE = "http://www.admin-shell.io/aasx/relationships/aas-spec"; + private static final String XML_PATH = "/aasx/xml/content.xml"; + + private static final String AASSUPPL_RELTYPE = "http://www.admin-shell.io/aasx/relationships/aas-suppl"; + + private Serializer xmlSerializer = new XmlSerializer(); + + /** + * Default constructor + */ + public AASXSerializer() { + } + + /** + * Constructor with a custom serializer for serializing the aas environment + * + * @param xmlSerializer a custom serializer used for serializing the aas environment + */ + public AASXSerializer(Serializer xmlSerializer) { + this.xmlSerializer = xmlSerializer; + } + + /** + * Generates the .aasx file and writes it to the given OutputStream + * + * @param environment the aas environment that will be included in the aasx package as an xml serialization + * @param files related inMemory files that belong to the given aas environment + * @param os an output stream for writing the aasx package + * @throws SerializationException if serializing the given elements fails + * @throws IOException if creating output streams for aasx fails + */ + public void write(AssetAdministrationShellEnvironment environment, Collection files, OutputStream os) + throws SerializationException, IOException { + prepareFilePaths(environment.getSubmodels()); + + OPCPackage rootPackage = OPCPackage.create(os); + + // Create the empty aasx-origin file + PackagePart origin = createAASXPart(rootPackage, rootPackage, ORIGIN_PATH, MIME_PLAINTXT, ORIGIN_RELTYPE, + ORIGIN_CONTENT.getBytes()); + + // Convert the given Metamodels to XML + String xml = xmlSerializer.write(environment); + + // Save the XML to aasx/xml/content.xml + PackagePart xmlPart = createAASXPart(rootPackage, origin, XML_PATH, MIME_XML, AASSPEC_RELTYPE, xml.getBytes(Serializer.DEFAULT_CHARSET)); + + storeFilesInAASX(environment.getSubmodels(), files, rootPackage, xmlPart); + + saveAASX(os, rootPackage); + } + + /** + * Stores the files from the Submodels in the .aasx file + * + * @param submodelList the Submodels + * @param files the content of the files + * @param rootPackage the OPCPackage + * @param xmlPart the Part the files should be related to + */ + private void storeFilesInAASX(List submodelList, Collection files, OPCPackage rootPackage, + PackagePart xmlPart) { + + for (Submodel sm : submodelList) { + for (File file : findFileElements(sm.getSubmodelElements())) { + String filePath = file.getValue(); + try { + InMemoryFile content = findFileByPath(files, filePath); + logger.trace("Writing file '" + filePath + "' to .aasx."); + createAASXPart(rootPackage, xmlPart, filePath, file.getMimeType(), AASSUPPL_RELTYPE, content.getFileContent()); + } catch (RuntimeException e) { + // Log that a file is missing and continue building the .aasx + logger.warn("Could not add File '" + filePath + "'. It was not contained in given InMemoryFiles."); + } + } + } + } + + /** + * Saves the OPCPackage to the given OutputStream + * + * @param os the Stream to be saved to + * @param rootPackage the Package to be saved + * @throws IOException if creating output streams for aasx fails + */ + private void saveAASX(OutputStream os, OPCPackage rootPackage) throws IOException { + rootPackage.flush(); + rootPackage.save(os); + } + + /** + * Generates a UUID. Every element of the .aasx needs a unique Id according to + * the specification + * + * @return UUID + */ + private String createUniqueID() { + return UUID.randomUUID().toString(); + } + + /** + * Creates a Part (a file in the .aasx) of the .aasx and adds it to the Package + * + * @param root the OPCPackage + * @param relateTo the Part of the OPC the relationship of the new Part should be added to + * @param path the path inside the .aasx where the new Part should be created + * @param mimeType the mime-type of the file + * @param relType the type of the Relationship + * @param content the data the new part should contain + * @return the created PackagePart; Returned in case it is needed late as a Part to relate to + */ + private PackagePart createAASXPart(OPCPackage root, RelationshipSource relateTo, String path, String mimeType, String relType, + byte[] content) { + if (mimeType == null || mimeType.equals("")) { + throw new RuntimeException("Could not create AASX Part '" + path + "'. No MIME_TYPE specified."); + } + + PackagePartName partName = null; + MemoryPackagePart part = null; + try { + partName = PackagingURIHelper.createPartName(path); + part = new MemoryPackagePart(root, partName, mimeType); + } catch (InvalidFormatException e) { + // This occurs if the given MIME-Type is not valid according to RFC2046 + throw new RuntimeException("Could not create AASX Part '" + path + "'", e); + } + writeDataToPart(part, content); + root.registerPartAndContentType(part); + relateTo.addRelationship(partName, TargetMode.INTERNAL, relType, createUniqueID()); + return part; + } + + /** + * Writes the content of a byte[] to a Part + * + * @param part the Part to be written to + * @param content the content to be written to the part + */ + private void writeDataToPart(PackagePart part, byte[] content) { + try (OutputStream ostream = part.getOutputStream();) { + ostream.write(content); + ostream.flush(); + } catch (Exception e) { + throw new RuntimeException("Failed to write content to AASX Part '" + part.getPartName().getName() + "'", e); + } + } + + /** + * Gets the File elements from a collection of elements Also recursively + * searches in SubmodelElementCollections + * + * @param elements the Elements to be searched for File elements + * @return the found Files + */ + private Collection findFileElements(Collection elements) { + Collection files = new ArrayList<>(); + + for (SubmodelElement element : elements) { + if (element instanceof File) { + files.add((File) element); + } else if (element instanceof SubmodelElementCollection) { + // Recursive call to deal with SubmodelElementCollections + files.addAll(findFileElements(((SubmodelElementCollection) element).getValues())); + } + } + + return files; + } + + /** + * Replaces the path in all File Elements with the result of preparePath + * + * @param submodels the Submodels + */ + private void prepareFilePaths(Collection submodels) { + submodels.stream() + .forEach(sm -> findFileElements(sm.getSubmodelElements()).stream().forEach(f -> f.setValue(preparePath(f.getValue())))); + } + + /** + * Finds an InMemoryFile by its path + * + * @param files the InMemoryFiles + * @param path the path of the wanted file + * @return the InMemoryFile if it was found; else null + */ + private InMemoryFile findFileByPath(Collection files, String path) { + for (InMemoryFile file : files) { + if (preparePath(file.getPath()).equals(path)) { + return file; + } + } + throw new RuntimeException("The wanted file '" + path + "' was not found in the given files."); + } + + /** + * Removes the serverpart from a path and ensures it starts with a slash + * + * @param path the path to be prepared + * @return the prepared path + */ + private String preparePath(String path) { + String newPath = getPathFromURL(path); + if (!newPath.startsWith("/")) { + newPath = "/" + newPath; + } + return newPath; + } + + /** + * Gets the path from a URL e.g "http://localhost:8080/path/to/test.file" + * results in "/path/to/test.file" + * + * @param url + * @return the path from the URL + */ + private String getPathFromURL(String url) { + if (url == null) { + return null; + } + + if (url.contains("://")) { + + // Find the ":" and and remove the "http://" from the url + int index = url.indexOf(":") + 3; + url = url.substring(index); + + // Find the first "/" from the URL (now without the "http://") and remove + // everything before that + index = url.indexOf("/"); + url = url.substring(index); + + // Recursive call to deal with more than one server parts + // (e.g. basyx://127.0.0.1:6998//https://localhost/test/) + return getPathFromURL(url); + } else { + // Make sure the path has a / at the start + if (!url.startsWith("/")) { + url = "/" + url; + } + return url; + } + } +} \ No newline at end of file diff --git a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXValidator.java b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXValidator.java new file mode 100644 index 000000000..b248abe67 --- /dev/null +++ b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXValidator.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Set; + +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.xml.sax.SAXException; + +import io.adminshell.aas.v3.dataformat.xml.XmlSchemaValidator; + +/** + * Class to validate the XML file inside an AASX-package + */ +public class AASXValidator { + + private XmlSchemaValidator xmlValidator; + private AASXDeserializer deserializer; + + public AASXValidator(InputStream is) throws SAXException, IOException, InvalidFormatException { + this.xmlValidator = new XmlSchemaValidator(); + this.deserializer = new AASXDeserializer(is); + } + + /** + * Calls XML-Validator + * + * @return Set of Strings containing message on AASX-XML-Validation result + * @throws IOException + * @throws InvalidFormatException + */ + public Set validateSchema() throws IOException, InvalidFormatException { + String file = deserializer.getXMLResourceString(); + return xmlValidator.validateSchema(file); + } + +} diff --git a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/InMemoryFile.java b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/InMemoryFile.java new file mode 100644 index 000000000..9bcdbeabe --- /dev/null +++ b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/InMemoryFile.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx; + +import java.util.Arrays; + +/** + * Container class for the content of a File and its Path + */ +public class InMemoryFile { + + private byte[] fileContent; + private String path; + + /** + * Constructor for directly setting the InMemoryFile contents + * + * @param fileContent byte-array content of the represented file + * @param path relative or absolute path of the represented file + */ + public InMemoryFile(byte[] fileContent, String path) { + this.fileContent = fileContent; + this.path = path; + } + + public byte[] getFileContent() { + return fileContent; + } + + public String getPath() { + return path; + } + + @Override + public String toString() { + return "InMemoryFile [fileContent=" + Arrays.toString(fileContent) + ", path=" + path + "]"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + Arrays.hashCode(fileContent); + result = prime * result + ((path == null) ? 0 : path.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + InMemoryFile other = (InMemoryFile) obj; + if (!Arrays.equals(fileContent, other.fileContent)) + return false; + if (path == null) { + if (other.path != null) + return false; + } else if (!path.equals(other.path)) + return false; + return true; + } + +} diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java new file mode 100644 index 000000000..426e3039e --- /dev/null +++ b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx.deserialization; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.xml.sax.SAXException; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.aasx.AASXDeserializer; +import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer; +import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile; +import io.adminshell.aas.v3.dataformat.core.AASSimple; + +public class AASXDeserializerTest { + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @Test + public void testRoundTrip() throws SerializationException, IOException, InvalidFormatException, DeserializationException, ParserConfigurationException, SAXException { + List fileList = new ArrayList<>(); + byte[] operationManualContent = { 0, 1, 2, 3, 4 }; + InMemoryFile inMemoryFile = new InMemoryFile(operationManualContent, "/aasx/OperatingManual.pdf"); + fileList.add(inMemoryFile); + + File file = tempFolder.newFile("output.aasx"); + + new AASXSerializer().write(AASSimple.ENVIRONMENT, fileList, new FileOutputStream(file)); + + InputStream in = new FileInputStream(file); + AASXDeserializer deserializer = new AASXDeserializer(in); + + assertEquals(AASSimple.ENVIRONMENT, deserializer.read()); + assertEquals(fileList, deserializer.getRelatedFiles()); + } +} diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java new file mode 100644 index 000000000..780477869 --- /dev/null +++ b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx.deserialization; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.xml.sax.SAXException; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer; +import io.adminshell.aas.v3.dataformat.aasx.AASXValidator; +import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile; +import io.adminshell.aas.v3.dataformat.core.AASSimple; + +public class ValidationTest { + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @Test + public void validateXmlInsideAasx() throws SerializationException, IOException, InvalidFormatException, DeserializationException, ParserConfigurationException, SAXException { + List fileList = new ArrayList<>(); + byte[] operationManualContent = { 0, 1, 2, 3, 4 }; + InMemoryFile inMemoryFile = new InMemoryFile(operationManualContent, "/aasx/OperatingManual.pdf"); + fileList.add(inMemoryFile); + + File file = tempFolder.newFile("output.aasx"); + + new AASXSerializer().write(AASSimple.ENVIRONMENT, fileList, new FileOutputStream(file)); + + InputStream in = new FileInputStream(file); + AASXValidator v = new AASXValidator(in); + Set validationResult = v.validateSchema(); + System.out.println(validationResult); + assertEquals(validationResult.size(),0); + } +} diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java new file mode 100644 index 000000000..e5d3af9bc --- /dev/null +++ b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aasx.serialization; + + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; + +import org.junit.Before; +import org.junit.Test; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer; +import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile; +import io.adminshell.aas.v3.dataformat.core.AASSimple; + +public class AASXSerializerTest { + + private static final String XML_PATH = "aasx/xml/content.xml"; + private static final String ORIGIN_PATH = "aasx/aasx-origin"; + + private List fileList = new ArrayList<>(); + + @Before + public void setup() throws IOException { + byte[] operationManualContent = { 0, 1, 2, 3, 4 }; + InMemoryFile file = new InMemoryFile(operationManualContent, "aasx/OperatingManual.pdf"); + fileList.add(file); + } + + @Test + public void testBuildAASX() throws IOException, TransformerException, ParserConfigurationException, SerializationException { + + // This stream can be used to write the .aasx directly to a file + // FileOutputStream out = new FileOutputStream("path/to/test.aasx"); + + // This stream keeps the output of the AASXFactory only in memory + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + new AASXSerializer().write(AASSimple.ENVIRONMENT, fileList, out); + + validateAASX(out); + } + + private void validateAASX(ByteArrayOutputStream byteStream) throws IOException { + ZipInputStream in = new ZipInputStream(new ByteArrayInputStream(byteStream.toByteArray())); + ZipEntry zipEntry = null; + + ArrayList filePaths = new ArrayList<>(); + + while ((zipEntry = in.getNextEntry()) != null) { + if (zipEntry.getName().equals(XML_PATH)) { + + // Read the first 5 bytes of the XML file to make sure it is in fact XML file + // No further test of XML file necessary as XML-Converter is tested separately + byte[] buf = new byte[5]; + in.read(buf); + assertEquals(" + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-aml + Asset Administration Shell AutomationML-Serializer + + + + io.admin-shell.aas + dataformat-core + ${revision} + + + io.admin-shell.aas + dataformat-core + ${revision} + tests + test + + + org.slf4j + slf4j-api + ${slf4j.version} + + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + xerces + xercesImpl + ${xerces.version} + + + xml-apis + xml-apis + + + + + org.eclipse.persistence + org.eclipse.persistence.moxy + ${moxy.version} + + + net.codesup.util + jaxb2-rich-contract-plugin + ${jaxb-rich-contract.version} + + + org.xmlunit + xmlunit-core + ${xmlunit.version} + test + + + org.xmlunit + xmlunit-matchers + ${xmlunit.version} + test + + + com.google.inject + guice + ${guice.version} + + + + + + org.apache.cxf + cxf-xjc-plugin + ${plugin.cxf.version} + + + net.codesup.util:jaxb2-rich-contract-plugin:${jaxb-rich-contract.version} + + + + + generate-caex-classes + generate-sources + + xsdtojava + + + ${basedir}/target/generated-sources/src + + + ${basedir}/src/main/resources/CAEX_ClassModel_V2.15.xsd + io.adminshell.aas.v3.dataformat.aml.model.caex + + -Xfluent-builder + -Ximmutable + + + + + + + + + + diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializationConfig.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializationConfig.java new file mode 100644 index 000000000..a9d4ba0e4 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializationConfig.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AasTypeFactory; + +public class AmlDeserializationConfig { + + public static Builder builder() { + return new Builder(); + } + + private final AasTypeFactory typeFactory; + + private AmlDeserializationConfig(AasTypeFactory typeFactory) { + this.typeFactory = typeFactory; + } + + public AasTypeFactory getTypeFactory() { + return typeFactory; + } + + public static class Builder { + + private AasTypeFactory typeFactory = new AasTypeFactory(); + + public AmlDeserializationConfig build() { + return new AmlDeserializationConfig(typeFactory); + } + + public Builder typeFactory(AasTypeFactory value) { + this.typeFactory = value; + return this; + } + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializer.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializer.java new file mode 100644 index 000000000..69c18deaa --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDeserializer.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.Deserializer; +import io.adminshell.aas.v3.dataformat.aml.deserialization.AasTypeFactory; +import io.adminshell.aas.v3.dataformat.aml.deserialization.Aml2AasMapper; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import java.io.StringReader; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; +import org.eclipse.persistence.jaxb.JAXBContextFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Class for deserializing/parsing AAS AML documents. + */ +public class AmlDeserializer implements Deserializer { + + private static final Logger log = LoggerFactory.getLogger(AmlDeserializer.class); + private AasTypeFactory typeFactory = new AasTypeFactory(); + + @Override + public AssetAdministrationShellEnvironment read(String value) throws DeserializationException { + try { + Unmarshaller unmarshaller = JAXBContextFactory.createContext(new Class[]{CAEXFile.class}, null).createUnmarshaller(); + StringReader reader = new StringReader(value); + CAEXFile aml = (CAEXFile) unmarshaller.unmarshal(reader); + Aml2AasMapper mapper = new Aml2AasMapper(new AmlDeserializationConfig.Builder() + .typeFactory(typeFactory) + .build()); + return mapper.map(aml); + } catch (JAXBException ex) { + throw new DeserializationException("error deserializing AssetAdministrationShellEnvironment", ex); + } catch (MappingException ex) { + throw new DeserializationException("error mapping AML document to AssetAdministrationShellEnvironment", ex); + } + } + + @Override + public void useImplementation(Class aasInterface, Class implementation) { + typeFactory.useImplementation(aasInterface, implementation); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDocumentInfo.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDocumentInfo.java new file mode 100644 index 000000000..98cafbc3e --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlDocumentInfo.java @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.ConceptDescription; +import java.util.Set; +import java.util.stream.Collectors; + +public class AmlDocumentInfo { + + public static final String DEFAULT_ASSET_ADMINISTRATION_SHELL_INSTANCE_HIERARCHY = "AssetAdministrationShellInstanceHierarchy"; + public static final String DEFAULT_ASSET_ADMINISTRATION_SHELL_SYSTEM_UNIT_CLASS_LIB = "AssetAdministrationShellSystemUnitClasses"; + public static final String DEFAULT_ASSET_ADMINISTRATION_SHELL_ROLE_CLASS_LIB = "AssetAdministrationShellRoleClassLib"; + public static final String DEFAULT_ASSET_ADMINISTRATION_SHELL_INTERFACE_CLASS_LIB = "AssetAdministrationShellInterfaceClassLib"; + public static final String DEFAULT_DATA_SPECIFICATION_TEMPLATES_UNIT_CLASS_LIB = "AssetAdministrationShellDataSpecificationTemplates"; + public static final String DEFAULT_CONCEPT_DESCRIPTION_INSTANCE_HIERARCHY = "ConceptDescriptionInstanceHierarchy"; + + private final String assetAdministrationShellSystemUnitClassLib; + private final String dataSpecificationTemplatesSystemUnitClassLib; + private final String assetAdministrationShellInstanceHierarchy; + private final String conceptDescriptionInstanceHierarchy; + private final String assetAdministrationShellRoleClassLib; + private final String assetAdministrationShellInterfaceClassLib; + + public AmlDocumentInfo() { + this.assetAdministrationShellSystemUnitClassLib = DEFAULT_ASSET_ADMINISTRATION_SHELL_SYSTEM_UNIT_CLASS_LIB; + this.dataSpecificationTemplatesSystemUnitClassLib = DEFAULT_DATA_SPECIFICATION_TEMPLATES_UNIT_CLASS_LIB; + this.assetAdministrationShellInstanceHierarchy = DEFAULT_ASSET_ADMINISTRATION_SHELL_INSTANCE_HIERARCHY; + this.conceptDescriptionInstanceHierarchy = DEFAULT_CONCEPT_DESCRIPTION_INSTANCE_HIERARCHY; + this.assetAdministrationShellRoleClassLib = DEFAULT_ASSET_ADMINISTRATION_SHELL_ROLE_CLASS_LIB; + this.assetAdministrationShellInterfaceClassLib = DEFAULT_ASSET_ADMINISTRATION_SHELL_INTERFACE_CLASS_LIB; + } + + public AmlDocumentInfo( + String assetAdministrationShellInstanceHierarchy, + String conceptDescriptionInstanceHierarchy, + String assetAdministrationShellSystemUnitClassLib) { + if (assetAdministrationShellInstanceHierarchy == null || assetAdministrationShellInstanceHierarchy.isBlank()) { + this.assetAdministrationShellInstanceHierarchy = DEFAULT_ASSET_ADMINISTRATION_SHELL_INSTANCE_HIERARCHY; + } else { + this.assetAdministrationShellInstanceHierarchy = assetAdministrationShellInstanceHierarchy; + } + if (assetAdministrationShellSystemUnitClassLib == null || assetAdministrationShellSystemUnitClassLib.isBlank()) { + this.assetAdministrationShellSystemUnitClassLib = DEFAULT_ASSET_ADMINISTRATION_SHELL_SYSTEM_UNIT_CLASS_LIB; + } else { + this.assetAdministrationShellSystemUnitClassLib = assetAdministrationShellSystemUnitClassLib; + } + if (conceptDescriptionInstanceHierarchy == null || conceptDescriptionInstanceHierarchy.isBlank()) { + this.conceptDescriptionInstanceHierarchy = DEFAULT_CONCEPT_DESCRIPTION_INSTANCE_HIERARCHY; + } else { + this.conceptDescriptionInstanceHierarchy = conceptDescriptionInstanceHierarchy; + } + this.dataSpecificationTemplatesSystemUnitClassLib = DEFAULT_DATA_SPECIFICATION_TEMPLATES_UNIT_CLASS_LIB; + this.assetAdministrationShellRoleClassLib = DEFAULT_ASSET_ADMINISTRATION_SHELL_ROLE_CLASS_LIB; + this.assetAdministrationShellInterfaceClassLib = DEFAULT_ASSET_ADMINISTRATION_SHELL_INTERFACE_CLASS_LIB; + } + + public String getAssetAdministrationShellSystemUnitClassLib() { + return assetAdministrationShellSystemUnitClassLib; + } + + public String getDataSpecificationTemplatesSystemUnitClassLib() { + return dataSpecificationTemplatesSystemUnitClassLib; + } + + public String getAssetAdministrationShellInstanceHierarchy() { + return assetAdministrationShellInstanceHierarchy; + } + + public String getConceptDescriptionInstanceHierarchy() { + return conceptDescriptionInstanceHierarchy; + } + + public String getAssetAdministrationShellRoleClassLib() { + return assetAdministrationShellRoleClassLib; + } + + public String getAssetAdministrationShellInterfaceClassLib() { + return assetAdministrationShellInterfaceClassLib; + } + + public static AmlDocumentInfo fromFile(CAEXFile file) { + String aasInstanceHierarchy = findInstanceHierarchy(file, AssetAdministrationShell.class); + String conceptDescriptionInstanceHierarchy = findInstanceHierarchy(file, ConceptDescription.class); + String aasSystemUnitClassLib = findSystemUnitClassLib(file, AssetAdministrationShell.class); + return new AmlDocumentInfo(aasInstanceHierarchy, conceptDescriptionInstanceHierarchy, aasSystemUnitClassLib); + } + + private static String findInstanceHierarchy(CAEXFile file, Class type) { + String typeName = type.getSimpleName(); + Set instanceHierarchies = file.getInstanceHierarchy().stream() + .filter(x -> x.getInternalElement().stream() + .anyMatch(y -> y.getRoleRequirements() + .equals(DEFAULT_ASSET_ADMINISTRATION_SHELL_ROLE_CLASS_LIB + "/" + typeName))) + .map(x -> x.getName()) + .collect(Collectors.toSet()); + if (instanceHierarchies.size() > 1) { + throw new IllegalArgumentException(String.format("found %d InstanceHierarchy containing %s definitions (%s), required exactly 1", + instanceHierarchies.size(), + typeName, + instanceHierarchies.stream().collect(Collectors.joining(",")))); + } + return instanceHierarchies.isEmpty() ? null : instanceHierarchies.iterator().next(); + } + + private static String findSystemUnitClassLib(CAEXFile file, Class type) { + String typeName = type.getSimpleName(); + Set systemUnitClassLibs = file.getSystemUnitClassLib().stream() + .filter(x -> x.getSystemUnitClass().stream() + .anyMatch(y -> y.getSupportedRoleClass() + .equals(DEFAULT_ASSET_ADMINISTRATION_SHELL_ROLE_CLASS_LIB + "/" + typeName))) + .map(x -> x.getName()) + .collect(Collectors.toSet()); + if (systemUnitClassLibs.size() > 1) { + throw new IllegalArgumentException(String.format("found %d SystemUnitClass containing %s definitions (%s), required exactly 1", + systemUnitClassLibs.size(), + typeName, + systemUnitClassLibs.stream().collect(Collectors.joining(",")))); + } + return systemUnitClassLibs.isEmpty() ? null : systemUnitClassLibs.iterator().next(); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializationConfig.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializationConfig.java new file mode 100644 index 000000000..a33c550e1 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializationConfig.java @@ -0,0 +1,185 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml; + +import io.adminshell.aas.v3.dataformat.aml.header.WriterInfo; +import io.adminshell.aas.v3.dataformat.aml.serialization.id.UuidGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.id.IdGenerator; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * Configuration class for AML serialization. This class is immutable. + */ +public class AmlSerializationConfig { + + public static final String DEFAULT_SCHEMA_VERSION = "2.15"; + public static final String DEFAULT_AML_VERSION = "2.0"; + public static final String DEFAULT_FILENAME = "AssetAdministrationShellEnvironment.aml"; + public static final AmlSerializationConfig DEFAULT = new Builder().build(); + + public static Builder builder() { + return new Builder(); + } + + private final IdGenerator idGenerator; + private final String caexSchemaVersion; + private final String amlVersion; + private final String filename; + private final boolean includeLibraries; + private final WriterInfo writerInfo; + private final List additionalInformation; + + private AmlSerializationConfig( + IdGenerator idGenerator, + String schemaVersion, + String amlVersion, + String filename, + boolean includeLibraries, + WriterInfo writerInfo, + List additionalInformation) { + this.idGenerator = idGenerator; + this.caexSchemaVersion = schemaVersion; + this.amlVersion = amlVersion; + this.filename = filename; + this.includeLibraries = includeLibraries; + this.writerInfo = writerInfo; + this.additionalInformation = additionalInformation; + } + + /** + * Indicates if the predefined AAS libraries should be included in the + * result or not + * + * @return true is they should be included, otherwise false + */ + public boolean isIncludeLibraries() { + return includeLibraries; + } + + /** + * The IdGenerator used for AML creation. Default are UUID-based IDs but + * custom IdGenerator can be used. + * + * @return the IdGenerator to use + */ + public IdGenerator getIdGenerator() { + return idGenerator; + } + + /** + * Gets additional information that should be included in the file header + * + * @return list of additional information objects + */ + public List getAdditionalInformation() { + return additionalInformation; + } + + /** + * Gets the CAEX schema version + * + * @return the CAEX schema version + */ + public String getCaexSchemaVersion() { + return caexSchemaVersion; + } + + /** + * Gets the AML version + * + * @return the AML version + */ + public String getAmlVersion() { + return amlVersion; + } + + /** + * Gets the WriterInfo header to include in AML + * + * @return the WriterInfo + */ + public WriterInfo getWriterInfo() { + return writerInfo; + } + + public static class Builder { + + private IdGenerator idGenerator = new UuidGenerator(); + private String schemaVersion = DEFAULT_SCHEMA_VERSION; + private String amlVersion = DEFAULT_AML_VERSION; + private String filename = DEFAULT_FILENAME; + private boolean includeLibraries = true; + private WriterInfo writerInfo = null; + private final List additionalInformation = new ArrayList<>(); + + public AmlSerializationConfig build() { + return new AmlSerializationConfig( + idGenerator, + schemaVersion, + amlVersion, + filename, + includeLibraries, + writerInfo, + additionalInformation); + } + + public Builder includeLibraries() { + this.includeLibraries = true; + return this; + } + + public Builder excludeLibraries() { + this.includeLibraries = true; + return this; + } + + public Builder idGenerator(IdGenerator idGenerator) { + this.idGenerator = idGenerator; + return this; + } + + public Builder schemaVersion(String value) { + this.schemaVersion = value; + return this; + } + + public Builder amlVersion(String value) { + this.amlVersion = value; + return this; + } + + public Builder filename(String value) { + this.filename = value; + return this; + } + + public Builder writerInfo(WriterInfo value) { + this.writerInfo = value; + return this; + } + + public Builder additionalInformation(Object... values) { + this.additionalInformation.addAll(Arrays.asList(values)); + return this; + } + } + + public String getFilename() { + return filename; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializer.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializer.java new file mode 100644 index 000000000..9e16fb187 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/AmlSerializer.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml; + +import io.adminshell.aas.v3.dataformat.aml.serialization.AasToAmlMapper; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.Serializer; +import io.adminshell.aas.v3.dataformat.aml.header.AutomationMLVersion; +import io.adminshell.aas.v3.dataformat.aml.header.WriterInfo; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import java.io.IOException; +import java.io.StringWriter; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import javax.xml.bind.Unmarshaller; +import org.eclipse.persistence.jaxb.JAXBContextFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Class for serializing an instance of AssetAdministrationShellEnvironment to + * AML. + */ +public class AmlSerializer implements Serializer { + + private static final String AAS_LIB_SOURCE = "/AssetAdministrationShellLib.aml"; + private static final Logger log = LoggerFactory.getLogger(AmlSerializer.class); + + @Override + public String write(AssetAdministrationShellEnvironment aasEnvironment) throws SerializationException { + return write(aasEnvironment, AmlSerializationConfig.DEFAULT); + } + + /** + * Serializes a given instance of AssetAdministrationShellEnvironment to + * string + * + * @param aasEnvironment the AssetAdministrationShellEnvironment to + * serialize + * @param config serialization configuration + * @return the string representation of the environment + * @throws SerializationException if serialization fails + */ + public String write(AssetAdministrationShellEnvironment aasEnvironment, AmlSerializationConfig config) throws SerializationException { + try { + CAEXFile aml = new AasToAmlMapper().map(aasEnvironment, config); + if (config.isIncludeLibraries()) { + aml = addAASLibrary(aml); + } + Marshaller marshaller = JAXBContextFactory.createContext(new Class[]{ + CAEXFile.class, + AutomationMLVersion.class, + WriterInfo.class, + WriterInfo.Wrapper.class + }, + null).createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + StringWriter writer = new StringWriter(); + marshaller.marshal(aml, writer); + return writer.toString(); + } catch (JAXBException ex) { + throw new SerializationException("error serializing AssetAdministrationShellEnvironment", ex); + } catch (MappingException ex) { + throw new SerializationException("error serializing AssetAdministrationShellEnvironment, mapping to AML failed", ex); + } catch (IOException ex) { + throw new SerializationException("error serializing AssetAdministrationShellEnvironment, AAS library could not be loaded", ex); + } + } + + private CAEXFile addAASLibrary(CAEXFile file) throws JAXBException, IOException { + CAEXFile aasLib = loadAASLibrary(); + return CAEXFile.copyOf(file) + .addInterfaceClassLib(aasLib.getInterfaceClassLib()) + .addRoleClassLib(aasLib.getRoleClassLib()) + .addSystemUnitClassLib(aasLib.getSystemUnitClassLib()) + .build(); + } + + private CAEXFile loadAASLibrary() throws JAXBException, IOException { + Unmarshaller unmarshaller = JAXBContextFactory.createContext(new Class[]{CAEXFile.class}, null).createUnmarshaller(); + return (CAEXFile) unmarshaller.unmarshal(getClass().getResource(AAS_LIB_SOURCE).openStream()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/AbstractMappingContext.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/AbstractMappingContext.java new file mode 100644 index 000000000..f86266508 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/AbstractMappingContext.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.common; + +import io.adminshell.aas.v3.dataformat.aml.common.naming.NamingStrategy; +import io.adminshell.aas.v3.dataformat.mapping.Mapper; +import io.adminshell.aas.v3.dataformat.mapping.MappingContext; +import io.adminshell.aas.v3.dataformat.mapping.MappingProvider; +import java.beans.PropertyDescriptor; + +/** + * Abstract base class for MappingContext used for mapping between AML and AAS + * + * @param + */ +public class AbstractMappingContext extends MappingContext { + + protected final NamingStrategy classNamingStrategy; + protected final NamingStrategy propertyNamingStrategy; + protected final PropertyDescriptor property; + + protected AbstractMappingContext(MappingProvider mappingProvider, + NamingStrategy classNamingStrategy, + NamingStrategy propertyNamingStrategy, + PropertyDescriptor property) { + super(mappingProvider); + this.classNamingStrategy = classNamingStrategy; + this.propertyNamingStrategy = propertyNamingStrategy; + this.property = property; + } + + /** + * Gets the class naming strategy. This is used to resolve naming + * differences in class names between AML and AAS. + * + * @return the naming strategy + */ + public NamingStrategy getClassNamingStrategy() { + return classNamingStrategy; + } + + /** + * Gets the property naming strategy. This is used to resolve naming + * differences in property namings between AML and AAS. + * + * @return + */ + public NamingStrategy getPropertyNamingStrategy() { + return propertyNamingStrategy; + } + + /** + * Gets the currently processed property if present, otherwise null + * + * @return the currently processed property if present, otherwise null + */ + public PropertyDescriptor getProperty() { + return property; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/AbstractClassNamingStrategy.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/AbstractClassNamingStrategy.java new file mode 100644 index 000000000..043380531 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/AbstractClassNamingStrategy.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.common.naming; + +import com.google.common.reflect.TypeToken; +import io.adminshell.aas.v3.dataformat.core.util.MostSpecificTypeTokenComparator; +import io.adminshell.aas.v3.model.Referable; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.function.BiFunction; +import java.util.function.Function; + +public abstract class AbstractClassNamingStrategy implements NamingStrategy { + + protected final boolean preferIdShort; + protected Map cache = new HashMap<>(); + protected List customNamings = new ArrayList<>(); + + private class TypeSafeFunction { + + public TypeSafeFunction(Class inputType, BiFunction provider) { + this.inputType = TypeToken.of(inputType); + this.provider = provider; + } + TypeToken inputType; + BiFunction provider; + } + + public void registerCustomNaming(Class type, Function provider) { + customNamings.add(new TypeSafeFunction(type, (x, y) -> provider.apply((T) x))); + } + + public void registerCustomNaming(Class type, BiFunction provider) { + customNamings.add(new TypeSafeFunction(type, provider)); + } + + private Optional getCustomNaming(Type type) { + return customNamings.stream() + .filter(x -> x.inputType.isSupertypeOf(type)) + .sorted((x, y) -> Objects.compare(x.inputType, y.inputType, new MostSpecificTypeTokenComparator())) + .findFirst(); + } + + protected AbstractClassNamingStrategy() { + this(true); + } + + protected AbstractClassNamingStrategy(boolean preferIdShort) { + this.preferIdShort = preferIdShort; + } + + @Override + public String getName(Type type, Object obj, String property) { + if (cache.containsKey(obj)) { + return cache.get(obj); + } + String result = null; + if (preferIdShort && Referable.class.isAssignableFrom(obj.getClass())) { + Referable referable = (Referable) obj; + if (referable.getIdShort() != null && !referable.getIdShort().isEmpty()) { + result = referable.getIdShort(); + } + } + if (result == null) { + Optional customNaming = getCustomNaming(type); + if (customNaming.isPresent()) { + result = customNaming.get().provider.apply(obj, property).toString(); + } + } + if (result == null) { + result = generateName(obj); + } + cache.put(obj, result); + return result; + } + + @Override + public String getNameForRefSemantic(Type type, Object obj, String property) { + return getName(type, obj, property); + } + + protected abstract String generateName(Object obj); +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/IdClassNamingStrategy.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/IdClassNamingStrategy.java new file mode 100644 index 000000000..67a6e0b4b --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/IdClassNamingStrategy.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.common.naming; + +import java.util.UUID; + +public class IdClassNamingStrategy extends AbstractClassNamingStrategy { + + public IdClassNamingStrategy() { + super(); + } + + public IdClassNamingStrategy(boolean preferIdShort) { + super(preferIdShort); + } + + @Override + protected String generateName(Object obj) { + return UUID.randomUUID().toString(); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NamingStrategy.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NamingStrategy.java new file mode 100644 index 000000000..f0f2b30b5 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NamingStrategy.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.common.naming; + +import java.lang.reflect.Type; + +public interface NamingStrategy { + + public String getName(Type type, Object obj, String property); + + public String getNameForRefSemantic(Type type, Object obj, String property); +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NumberingClassNamingStrategy.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NumberingClassNamingStrategy.java new file mode 100644 index 000000000..de2b8751d --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/NumberingClassNamingStrategy.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.common.naming; + +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import java.util.HashMap; +import java.util.Map; + +public class NumberingClassNamingStrategy extends AbstractClassNamingStrategy { + + private final Map, Integer> counter = new HashMap<>(); + + public NumberingClassNamingStrategy() { + super(); + } + + public NumberingClassNamingStrategy(boolean preferIdShort) { + super(preferIdShort); + } + + @Override + protected String generateName(Object obj) { + if (obj == null) { + return null; + } + Class type = ReflectionHelper.getAasInterface(obj.getClass()); + if (!counter.containsKey(type)) { + counter.put(type, 0); + } + counter.put(type, counter.get(type) + 1); + return type.getSimpleName() + "_" + counter.get(type); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/PropertyNamingStrategy.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/PropertyNamingStrategy.java new file mode 100644 index 000000000..f9d0184bd --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/common/naming/PropertyNamingStrategy.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.common.naming; + +import com.google.common.reflect.TypeToken; +import io.adminshell.aas.v3.dataformat.core.util.MostSpecificTypeTokenComparator; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.function.BiFunction; +import java.util.function.Function; +import java.util.stream.Collectors; + +public class PropertyNamingStrategy implements NamingStrategy { + + protected List customNamings = new ArrayList<>(); + + protected class TypeSafeFunction { + + public TypeSafeFunction(Class inputType, BiFunction nameProvider, BiFunction refSemanticProvider, String oldName, String newName) { + this.inputType = TypeToken.of(inputType); + this.nameProvider = nameProvider; + this.refSemanticProvider = refSemanticProvider; + this.oldName = oldName; + this.newName = newName; + } + + public TypeSafeFunction(Class inputType, BiFunction nameProvider, BiFunction refSemanticProvider) { + this.inputType = TypeToken.of(inputType); + this.nameProvider = nameProvider; + this.refSemanticProvider = refSemanticProvider; + } + + TypeToken inputType; + BiFunction nameProvider; + BiFunction refSemanticProvider; + String oldName; + String newName; + } + + public void registerCustomNaming(Class type, + BiFunction nameProvider) { + customNamings.add(new TypeSafeFunction(type, nameProvider, nameProvider)); + } + + public void registerCustomNaming(Class type, + BiFunction nameProvider, + BiFunction refSemanticProvider) { + customNamings.add(new TypeSafeFunction(type, nameProvider, refSemanticProvider)); + } + + public void registerCustomNaming(Class type, + String oldName, + String newName) { + customNamings.add(new TypeSafeFunction(type, + (obj, property) -> Objects.equals(oldName, property) ? newName : null, + (obj, property) -> Objects.equals(oldName, property) ? newName : null, + oldName, newName)); + } + + public void registerCustomNaming(Class type, + String oldName, + String newName, + String newRefSemantic) { + customNamings.add(new TypeSafeFunction(type, + (obj, property) -> Objects.equals(oldName, property) ? newName : null, + (obj, property) -> Objects.equals(oldName, property) ? newRefSemantic : null, + oldName,newName)); + } + + public void registerCustomNaming(Class type, + Function nameProvider) { + customNamings.add(new TypeSafeFunction(type, + (x, y) -> nameProvider.apply((T) x), + (x, y) -> nameProvider.apply((T) x))); + } + + public void registerCustomNaming(Class type, + Function nameProvider, + Function refSemanticProvider) { + customNamings.add(new TypeSafeFunction(type, + (x, y) -> nameProvider.apply((T) x), + (x, y) -> refSemanticProvider.apply((T) x))); + } + + private List getCustomNaming(Type type, String property) { + return customNamings.stream() + .filter(x -> x.inputType.isSupertypeOf(type)) + .sorted((x, y) -> Objects.compare(x.inputType, y.inputType, new MostSpecificTypeTokenComparator())) + .collect(Collectors.toList()); + } + + public String getOldName(Type type, Object obj, String property){ + TypeSafeFunction typeSafeFunction = customNamings.stream() + .filter(x -> x.inputType.isSupertypeOf(type) && x.newName.equalsIgnoreCase(property)) + .findFirst() + .orElse(null); + if(typeSafeFunction==null)return null; + return typeSafeFunction.oldName; + } + + @Override + public String getName(Type type, Object obj, String property) { + for (TypeSafeFunction customNaming : getCustomNaming(type, property)) { + String result = (String) customNaming.nameProvider.apply(obj, property); + if (result != null) { + return result; + } + } + return property; + } + + @Override + public String getNameForRefSemantic(Type type, Object obj, String property) { + for (TypeSafeFunction customNaming : getCustomNaming(type, property)) { + String result = (String) customNaming.refSemanticProvider.apply(obj, property); + if (result != null) { + return result; + } + } + return property; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AasTypeFactory.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AasTypeFactory.java new file mode 100644 index 000000000..710a48205 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AasTypeFactory.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization; + +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Supports in creating instances of AAS interfaces + */ +public class AasTypeFactory { + + private Map, Class> typeMapping; + + public AasTypeFactory() { + typeMapping = ReflectionHelper.DEFAULT_IMPLEMENTATIONS.stream().collect(Collectors.toMap(x -> x.getInterfaceType(), x -> x.getImplementationType())); + } + + /** + * Defines which implementation class to use when creating instances of + * aasInterface. Subsequent class with the same aasInterface parameter will + * override the effects of all previous calls. + * + * @param the type of the interface to replace + * @param aasInterface the class of the interface to replace + * @param implementation the class implementing the interface that should be + * used for instantiation + */ + public void useImplementation(Class aasInterface, Class implementation) { + typeMapping.put(aasInterface, implementation); + } + + /** + * Creates a new instance for a given aasInterface. If the + * + * @param type to create + * @param aasInterfaceType class to find instantiate + * @return an instance of aasInterface + * @throws NoSuchMethodException + * @throws InstantiationException + * @throws IllegalAccessException + * @throws IllegalArgumentException if aasInterface is null or no suitable + * concrete type to instantiate could be found + * @throws InvocationTargetException + */ + public T newInstance(Class aasInterfaceType) throws NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { + Constructor constructor = getImplementationType(aasInterfaceType).getConstructor(); + constructor.setAccessible(true); + return (T) constructor.newInstance(); + } + + /** + * Gets the concrete implementation type to use for a given type. If there + * is no explicit type mapping and the provided type is concrete, the type + * itself is returned. + * + * @param type information + * @param aasInterfaceType the type to find a concrete implementation type + * for + * @throws IllegalArgumentException if there is no type mapping for the + * provided type and the type is not concrete + * @return a concrete implementation type for the given type + */ + public Class getImplementationType(Class aasInterfaceType) { + if (aasInterfaceType == null) { + throw new IllegalArgumentException("aasInterface must be non-null"); + } + if (typeMapping.containsKey(aasInterfaceType)) { + return (Class) typeMapping.get(aasInterfaceType); + } + if (aasInterfaceType.isInterface()) { + throw new IllegalArgumentException("could not resolve type for interface " + aasInterfaceType.getName()); + } + return aasInterfaceType; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Aml2AasMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Aml2AasMapper.java new file mode 100644 index 000000000..85d822429 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Aml2AasMapper.java @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.mappers.*; +import io.adminshell.aas.v3.dataformat.aml.AmlDeserializationConfig; +import io.adminshell.aas.v3.dataformat.aml.AmlDocumentInfo; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.aml.common.naming.AbstractClassNamingStrategy; +import io.adminshell.aas.v3.dataformat.aml.common.naming.NumberingClassNamingStrategy; +import io.adminshell.aas.v3.dataformat.aml.common.naming.PropertyNamingStrategy; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.dataformat.mapping.MappingProvider; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Qualifiable; + +import java.util.List; + +/** + * Maps an AML file to an AssetAdministrationShellEnvironment + */ +public class Aml2AasMapper { + + private final AmlDeserializationConfig config; + + public Aml2AasMapper(AmlDeserializationConfig config) { + this.config = config; + } + + /** + * Maps an AML file (represented by a CAEXFile) to an + * AssetAdministrationShellEnvironment + * + * @param aml the AML source file to map + * @return AssetAdministrationShellEnvironment representation + * @throws MappingException if the mapping fails + */ + public AssetAdministrationShellEnvironment map(CAEXFile aml) throws MappingException { + // unclear how to handle additional information + List additionalInformation = aml.getAdditionalInformation(); + AmlParser parser = new AmlParser(aml); + MappingProvider mappingProvider = new MappingProvider(Mapper.class, new DefaultMapper(), new DefaultMapper()); + mappingProvider.register(new AssetAdministrationShellEnvironmentMapper()); + mappingProvider.register(new EnumMapper()); + mappingProvider.register(new ReferenceMapper()); + mappingProvider.register(new AssetAdministrationShellMapper()); + mappingProvider.register(new LangStringCollectionMapper()); + mappingProvider.register(new RelationshipElementMapper()); + mappingProvider.register(new ReferenceElementMapper()); + mappingProvider.register(new ReferableMapper<>()); + mappingProvider.register(new IdentifiableMapper<>()); + mappingProvider.register(new ConstraintCollectionMapper()); + mappingProvider.register(new QualifierMapper()); + mappingProvider.register(new OperationCollectionMapper()); + mappingProvider.register(new FileMapper()); + mappingProvider.register(new RangeMapper()); + mappingProvider.register(new ViewMapper()); + mappingProvider.register(new PropertyMapper()); + mappingProvider.register(new ConceptDescriptionMapper()); + mappingProvider.register(new EmbeddedDataSpecificationCollectionMapper()); + mappingProvider.register(new DataSpecificationIEC61360Mapper()); + mappingProvider.register(new EnumDataTypeIEC61360Mapper()); + mappingProvider.register(new IdentifierKeyValuePairCollectionMapper()); + + AbstractClassNamingStrategy classNamingStrategy = new NumberingClassNamingStrategy(); + + PropertyNamingStrategy propertyNamingStrategy = new PropertyNamingStrategy(); + propertyNamingStrategy.registerCustomNaming(Referable.class, "descriptions", "description"); + propertyNamingStrategy.registerCustomNaming(MultiLanguageProperty.class, "values", "value"); + propertyNamingStrategy.registerCustomNaming(Qualifiable.class, "qualifiers", "qualifier", "qualifier"); + propertyNamingStrategy.registerCustomNaming(AssetInformation.class, "specificAssetIds", "specificAssetId"); + MappingContext context = new MappingContext(mappingProvider, classNamingStrategy, propertyNamingStrategy, config.getTypeFactory()); + context.setDocumentInfo(AmlDocumentInfo.fromFile(aml)); + AssetAdministrationShellEnvironment result = context.map(AssetAdministrationShellEnvironment.class, parser); + parser.resolveIdsToReferences(result); + return result; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AmlParser.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AmlParser.java new file mode 100644 index 000000000..0c169d258 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/AmlParser.java @@ -0,0 +1,210 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Reference; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Wraps an AML file and provides a pointer to the current position within that + * file + * + */ +public class AmlParser { + + private final CAEXFile content; + private CAEXObject current; + private final Map idToReference = new HashMap<>(); + private final Map> idsToResolve = new HashMap<>(); + + public static final String DEFAULT_REFSEMANTIC_PREFIX = "AAS"; + private String refSemanticPrefix = DEFAULT_REFSEMANTIC_PREFIX; + + public AmlParser(CAEXFile content) { + this.content = content; + } + + /** + * Gets the AML file the parser represents + * + * @return the AML file the parser represents + */ + public CAEXFile getContent() { + return content; + } + + /** + * Gets the CAEXObject that currently is being processed, i.e. a point to + * the current position within the AML file + * + * @return the current object + */ + public CAEXObject getCurrent() { + return current; + } + + /** + * Sets the CAEXObject that currently is being processed. + * + * @param current the object currently being processed + */ + public void setCurrent(CAEXObject current) { + this.current = current; + } + + /** + * Saves mapping between AML-based ID and a AAS Reference that is needed + * later on to resolve internalLinks within the AML document. This should + * always be called when creating/reading a Referable from AML. + * + * @param amlId AML-based ID of the element/Referable + * @param reference AAS reference to the Referable + */ + public void collectIdMapping(String amlId, Reference reference) { + idToReference.put(amlId, reference); + } + + /** + * Marks a property to contain an AAS Reference which at time of mapping may + * not yet be available. + * + * @param parent parent AAS object that contains the property + * @param property property that should contain the resolved reference(s) + * later. Its type must be either Reference or collection of Reference + * @param id AML-based ID of the targeted Referabe that should later be + * resolved to a Reference + */ + public void resolveIdToReferenceLater(Object parent, PropertyDescriptor property, String id) { + ObjectLocationByProperty location = new ObjectLocationByProperty(parent, property); + if (!idsToResolve.containsKey(location)) { + idsToResolve.put(location, new ArrayList<>()); + } + idsToResolve.get(location).add(id); + } + + /** + * Resolves properties containing References expressed through AML-based IDs + * which have been previously makred by calling + * resolveIdToReferenceLater(..) + * + * @param environment the environment to apply this resolution to + * @throws MappingException when resolving fails, e.g. because cardinalities + * do not match or AML IDs cannot be resolved + */ + public void resolveIdsToReferences(AssetAdministrationShellEnvironment environment) throws MappingException { + for (Map.Entry> entry : idsToResolve.entrySet()) { + Object value = null; + Class acceptedType = null; + List idsToResolve = entry.getValue().stream().filter(x -> x != null).collect(Collectors.toList()); + if (!idsToResolve.isEmpty()) { + if (Collection.class.isAssignableFrom(entry.getKey().property.getReadMethod().getReturnType())) { + acceptedType = AasUtils.getCollectionContentType(entry.getKey().property.getReadMethod().getGenericReturnType()); + Collection collection = new ArrayList<>(); + for (String id : idsToResolve) { + if (!idToReference.containsKey(id)) { + throw new MappingException(String.format("error adding resolved references for property %s - " + + "found unresolved AML id %s", + entry.getKey().property.getName(), + id)); + } + collection.add(idToReference.get(id)); + } + value = collection; + } else { + acceptedType = entry.getKey().property.getReadMethod().getReturnType(); + if (idsToResolve.size() > 1) { + throw new MappingException(String.format("error adding resolved references for property %s - found %d ids but expected zero or one", + entry.getKey().property.getName(), + idsToResolve.size())); + } + if (!idToReference.containsKey(idsToResolve.get(0))) { + throw new MappingException(String.format("error adding resolved references for property %s - " + + "found unresolved AML id %s", + entry.getKey().property.getName(), + idsToResolve.get(0))); + } + value = idToReference.get(idsToResolve.get(0)); + } + } + if (value != null) { + if (!Reference.class.isAssignableFrom(acceptedType)) { + throw new MappingException(String.format("error adding resolved references for property %s - expected type Reference or Collection but found %s", + entry.getKey().property.getName(), + acceptedType)); + } + } + try { + entry.getKey().property.getWriteMethod().invoke(entry.getKey().parent, value); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException("error resolving references", ex); + } + } + } + + private class ObjectLocationByProperty { + + Object parent; + PropertyDescriptor property; + + private ObjectLocationByProperty(Object parent, PropertyDescriptor property) { + this.parent = parent; + this.property = property; + } + } + + public Map getIdToReference() { + return idToReference; + } + + /** + * Gets the prefix for the RefSemantic + * + * @return + */ + public String getRefSemanticPrefix() { + return refSemanticPrefix; + } + + /** + * Sets the prefix for the RefSemantic + * + * @param refSemanticPrefix + */ + public void setRefSemanticPrefix(String refSemanticPrefix) { + this.refSemanticPrefix = refSemanticPrefix; + } + + /** + * Sets the prefix for the RefSemantic to the default value + * + */ + public void setRefSemanticPrefixToDefault() { + this.refSemanticPrefix = DEFAULT_REFSEMANTIC_PREFIX; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/DefaultMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/DefaultMapper.java new file mode 100644 index 000000000..cb51af2ce --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/DefaultMapper.java @@ -0,0 +1,576 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.*; +import io.adminshell.aas.v3.dataformat.aml.common.naming.PropertyNamingStrategy; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; + +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.function.Predicate; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.apache.xerces.dom.ElementNSImpl; + +/** + * Default mapper for mapping AML to AAS. This mapper will be used when there no + * more specific one is available. + */ +public class DefaultMapper implements Mapper { + + private final Set ignoredProperties = new HashSet<>(); + + public DefaultMapper() { + } + + public DefaultMapper(String... ignoredProperties) { + this.ignoredProperties.addAll(Arrays.asList(ignoredProperties)); + } + + @Override + public T map(AmlParser parser, MappingContext context) throws MappingException { + if (parser == null || parser.getCurrent() == null || context == null) { + return null; + } + if (context.getProperty() == null) { + if (AttributeType.class.isAssignableFrom(parser.getCurrent().getClass())) { + return (T) fromAttribute(parser, (AttributeType) parser.getCurrent(), context); + } else if (InternalElementType.class.isAssignableFrom(parser.getCurrent().getClass())) { + return (T) fromInternalElement(parser, (InternalElementType) parser.getCurrent(), context); + } else if (SystemUnitFamilyType.class.isAssignableFrom(parser.getCurrent().getClass())) { + return (T) fromSystemUnitFamily(parser, (SystemUnitFamilyType) parser.getCurrent(), context); + } + } else { + if (Collection.class.isAssignableFrom(context.getProperty().getReadMethod().getReturnType())) { + return (T) mapCollectionValueProperty(parser, context); + } else { + return (T) mapSingleValueProperty(parser, context); + } + } + return null; + } + + /** + * Reads expected object from given attribute. + * + * @param parser the AML parser + * @param attribute the attribute to read from + * @param context the mapping context + * @return the read object or null if not present + * @throws MappingException if reading object fails + */ + protected Object fromAttribute(AmlParser parser, AttributeType attribute, MappingContext context) throws MappingException { + if (parser == null || attribute == null || context == null) { + return null; + } + Class type = typeFromAttribute(attribute, context); + if (isAasType(type)) { + Object result = newInstance(type, context); + mapProperties(result, parser, context); + return result; + } + return attribute.getValue(); + } + + /** + * Reads the actual value of an attribute. This is required as used XML + * library (JAXB) deserializes simple values within strange type. This + * method removes this wrapped type if present and should always return the + * actual (unwrapped) value of the attribute. + * + * @param attribute the attribute to read the value from + * @return the value of the attribute or null if attribute or value is null + */ + protected Object getValue(AttributeType attribute) { + if (attribute == null || attribute.getValue() == null) { + return null; + } + if (ElementNSImpl.class.isAssignableFrom(attribute.getValue().getClass())) { + ElementNSImpl element = (ElementNSImpl) attribute.getValue(); + if (element.getFirstChild() != null) { + return element.getFirstChild().getNodeValue(); + } + throw new IllegalArgumentException(String.format("could not read value for attribute %s", attribute.getName())); + } + return attribute.getValue(); + } + + /** + * Reads expected object from given InternalElement. + * + * @param parser the AML parser + * @param internalElement the InternalElement to read from + * @param context the mapping context + * @return the read object or null if not present + * @throws MappingException if reading object fails + */ + protected Object fromInternalElement(AmlParser parser, InternalElementType internalElement, MappingContext context) throws MappingException { + if (parser == null || internalElement == null || context == null) { + return null; + } + Class type = typeFromInternalElement(internalElement); + Object result = newInstance(type, context); + mapProperties(result, parser, context); + return result; + } + + /** + * Reads expected object from given SystemUnitFamily. + * + * @param parser the AML parser + * @param systemUnitFamilyType the SystemUnitFamily to read from + * @param context the mapping context + * @return the read object or null if not present + * @throws MappingException if reading object fails + */ + protected Object fromSystemUnitFamily(AmlParser parser, SystemUnitFamilyType systemUnitFamilyType, MappingContext context) throws MappingException { + if (parser == null || systemUnitFamilyType == null || context == null) { + return null; + } + Class type = typeFromSystemUnit(systemUnitFamilyType); + Object result = newInstance(type, context); + mapProperties(result, parser, context); + return result; + } + + /** + * Recursively calls context.map(...) on all properties except those + * explicitely ignored and sets them on the parent. + * + * @param parent the parent object to read all properties for + * @param parser the AMLParser + * @param context the MappingContext + * @throws MappingException if mapping fails + */ + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + for (PropertyDescriptor property : AasUtils.getAasProperties(parent.getClass())) { + if (!skipProperty(property)) { + Object propertyValue = context + .with(parent) + .with(property) + .withoutType() + .map(property.getReadMethod().getGenericReturnType(), parser); + if (propertyValue != null) { + try { + property.getWriteMethod().invoke(parent, propertyValue); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException(String.format("error setting property value for property %s", property.getName()), ex); + } + } + } + } + } + + /** + * Helper method to create a new instance for a given type. + * + * @param type information + * @param type type to instantiate + * @param context the MappingContext + * @return an instance of the provided type + * @throws MappingException if instantiation fails + */ + protected T newInstance(Class type, MappingContext context) throws MappingException { + try { + return context.getTypeFactory().newInstance(type); + } catch (NoSuchMethodException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException(String.format("error instantiating type %s", type.getName())); + } + } + + protected Class getAasType(String name) { + return Stream.concat(ReflectionHelper.INTERFACES.stream(), + ReflectionHelper.INTERFACES_WITHOUT_DEFAULT_IMPLEMENTATION.stream()) + .filter(x -> x.getSimpleName().equals(name)) + .findAny() + .orElse(null); + } + + protected boolean isAasType(Class type) { + boolean is_interface; + boolean is_enum; + is_interface = Stream.concat(ReflectionHelper.INTERFACES.stream(), + ReflectionHelper.INTERFACES_WITHOUT_DEFAULT_IMPLEMENTATION.stream()) + .anyMatch(x -> x.equals(type)); + is_enum = ReflectionHelper.ENUMS.stream().anyMatch(x -> x.equals(type)); + return is_interface || is_enum; + } + + /** + * Extracts type information from a given attribute based on the refSemantic + * property + * + * @param attribute The attribute to extract the type from + * @return the type of the attribute + * @throws MappingException if type information is missing or invalid or + * type could not be resolved + */ + protected Class typeFromAttribute(AttributeType attribute, MappingContext context) throws MappingException { + if (attribute.getRefSemantic() == null || attribute.getRefSemantic().isEmpty()) { + throw new MappingException(String.format("missing required refSemantic in attribute %s", attribute.getName())); + } + List aasRefSemantics = attribute.getRefSemantic().stream() + .filter(x -> x.getCorrespondingAttributePath().startsWith("AAS:")) + .collect(Collectors.toList()); + if (aasRefSemantics.isEmpty()) { + throw new MappingException(String.format("missing required refSemantic in attribute %s", attribute.getName())); + } + if (aasRefSemantics.size() > 1) { + throw new MappingException(String.format("too many refSemantic in attribute %s", attribute.getName())); + } + String attributePath = aasRefSemantics.get(0).getCorrespondingAttributePath(); + String[] attributePathElements = attributePath.substring(attributePath.indexOf(":") + 1).split("/"); + if (attributePathElements.length != 2) { + throw new MappingException(String.format("refSemantic in attribute %s does not match format AAS:[type name]/[property name]", attribute.getName())); + } + Class type = getAasType(attributePathElements[0]); + if (type == null) { + throw new MappingException(String.format("unkown type definition %s in refSemantic for attribute %s", + attributePathElements[0], + attribute.getName())); + } + // Need to respect property renaming strategies? + // alternative way to discover property but more expensive as all properties are considered and not only those defined on class + // Optional property = AasUtils.getAasProperties(type.get()).stream().filter(x -> x.getName().equals(type)).findFirst(); + try { + + String oldPropertyName = ((PropertyNamingStrategy) context.getPropertyNamingStrategy()).getOldName(type, attribute, attributePathElements[1]); + Optional property = Stream.of(Introspector.getBeanInfo(type).getPropertyDescriptors()) + .filter(x -> x.getName().equalsIgnoreCase(oldPropertyName == null ? attributePathElements[1] : oldPropertyName)).findFirst(); + if (property.isPresent()) { + return property.get().getReadMethod().getReturnType(); + } else { + throw new MappingException(String.format("unkown property definition '%s' in refSemantic for attribute %s", + attributePathElements[1], + attribute.getName())); + } + } catch (IntrospectionException ex) { + throw new MappingException(String.format("error resolving refSemantic for attribute %s", attribute.getName()), ex); + } + } + + /** + * Extracts type information from a given InternalElement based on the + * roleRequirements property + * + * @param internalElement The InternalElement to extract the type from + * @return the type of the attribute + * @throws MappingException if type information is missing or invalid or + * type could not be resolved + */ + protected Class typeFromInternalElement(InternalElementType internalElement) throws MappingException { + if (internalElement.getRoleRequirements() == null || internalElement.getRoleRequirements().getRefBaseRoleClassPath() == null) { + throw new MappingException(String.format("missing required RoleRequirements/RefBaseRoleClassPath in InternalElement with ID %s", internalElement.getID())); + } + String roleClassPath = internalElement.getRoleRequirements().getRefBaseRoleClassPath(); + String className = roleClassPath.substring(roleClassPath.indexOf("/") + 1); + + Optional type = ReflectionHelper.INTERFACES.stream().filter(x -> x.getSimpleName().equals(className)).findAny(); + if (type.isEmpty()) { + throw new MappingException(String.format("unkown type definition %s in role class path for InternalElement with ID %s", + className, + internalElement.getID())); + } + return type.get(); + } + + /** + * Extracts type information from a given SystemUnitFamily based on the + * supportedRoleClass property + * + * @param systemUnitFamilyType The SystemUnitFamily to extract the type from + * @return the type of the attribute + * @throws MappingException if type information is missing or invalid or + * type could not be resolved + */ + protected Class typeFromSystemUnit(SystemUnitFamilyType systemUnitFamilyType) throws MappingException { + if (systemUnitFamilyType.getSupportedRoleClass() == null || systemUnitFamilyType.getSupportedRoleClass().get(0) == null) { + throw new MappingException(String.format("missing required SupportedRoleClass with ID %s", systemUnitFamilyType.getID())); + } + String roleClassPath = systemUnitFamilyType.getSupportedRoleClass().get(0).getRefRoleClassPath(); + String className = roleClassPath.substring(roleClassPath.indexOf("/") + 1); + + Optional type = ReflectionHelper.INTERFACES.stream().filter(x -> x.getSimpleName().equals(className)).findAny(); + if (type.isEmpty()) { + throw new MappingException(String.format("unkown type definition %s in role class path for systemUnitFamilyType with ID %s", + className, + systemUnitFamilyType.getID())); + } + return type.get(); + } + + protected Collection mapCollectionValueProperty(AmlParser parser, MappingContext context) throws MappingException { + if (parser == null || context == null || context.getProperty() == null) { + return null; + } + + Class contentType + = context.getType() != null + ? AasUtils.getCollectionContentType(context.getType()) + : AasUtils.getCollectionContentType(context.getProperty().getReadMethod().getGenericReturnType()); + List internalElements = findInternalElements(parser.getCurrent(), contentType, true, context); + if (!internalElements.isEmpty()) { + Collection result = new ArrayList<>(); + for (InternalElementType internalElement : internalElements) { + result.add(propertyFromInternalElement(parser, internalElement, context)); + } + return result; + } else { + AttributeType attribute = findAttribute(parser.getCurrent(), context.getProperty(), context, parser.getRefSemanticPrefix()); + if (attribute == null) return null; + List attributeTypes = attribute.getAttribute(); + Collection result = new ArrayList<>(); + CAEXObject current = parser.getCurrent(); + if (!attributeTypes.isEmpty()) { + for (AttributeType attributeType : attributeTypes) { + parser.setCurrent(attributeType); + Object object = context.withoutProperty().map(contentType, parser); + result.add(object); + } + } else { + parser.setCurrent(attribute); + Object object = context.withoutProperty().map(contentType, parser); + result.add(object); + } + parser.setCurrent(current); + return result.isEmpty() ? null : result; + } + + } + + protected Object mapSingleValueProperty(AmlParser parser, MappingContext context) throws MappingException { + Object result = null; + // deserialize given property within parent + AttributeType attribute = findAttribute(parser.getCurrent(), context.getProperty(), context); + if (attribute != null) { + return propertyFromAttribute(parser, attribute, context); + } + // not found as attribute, maybe we find it as internalElement + List internalElements = findInternalElements(parser.getCurrent(), context.getProperty().getReadMethod().getReturnType(), true, context); + if (internalElements.size() == 1) { + result = propertyFromInternalElement(parser, internalElements.get(0), context); + } else if (internalElements.size() > 1) { + throw new MappingException(String.format("found %d matching internal elements for property %s in element with name %s, expected zero or one", + internalElements.size(), context.getProperty().getName(), parser.getCurrent().getName())); + } + return result; + } + + protected Object propertyFromInternalElement(AmlParser parser, InternalElementType internalElement, MappingContext context) throws MappingException { + CAEXObject current = parser.getCurrent(); + parser.setCurrent(internalElement); + Object result = context.getMappingProvider() + .getMapper(typeFromInternalElement(internalElement)) + .map(parser, context.withoutProperty()); + parser.setCurrent(current); + return result; + } + + protected Object propertyFromAttribute(AmlParser parser, AttributeType attribute, MappingContext context) throws MappingException { + Object result = null; + CAEXObject current = parser.getCurrent(); + parser.setCurrent(attribute); + result = context.getMappingProvider() + .getMapper(context.getProperty().getReadMethod().getReturnType()) + .map(parser, context.withoutProperty()); + parser.setCurrent(current); + return result; + } + + protected String getDataTypeFromAttribute(AttributeType attributeType) { + if (attributeType == null || attributeType.getAttributeDataType() == null) { + return null; + } + String attributeDataType = attributeType.getAttributeDataType(); + return attributeDataType.substring(attributeDataType.lastIndexOf(":") + 1); + } + + protected void setValueDataTypeFromAttributeDataType(AmlParser parser, Object parent, String attributeRefWithAttributeDataType, Class aasClazz) throws MappingException { + if (parser == null || parent == null) return; + + AttributeType attributeType = findAttributesByCorrespondingAttributePath(parser.getCurrent(), + attributeRefWithAttributeDataType).stream().findFirst().orElse(null); + if (attributeType != null) { + try { + String dataType = getDataTypeFromAttribute(attributeType); + List methods = List.of(aasClazz.getMethods()); + Method method = methods.stream().filter(x -> x.getName().contains("setValueType")).findFirst().orElse(null); + if (method == null) return; + method.invoke(parent, dataType); + } catch (InvocationTargetException | IllegalAccessException ex) { + throw new MappingException(String.format("error setting value type for property with ID=%s and Name=%s", parser.getCurrent().getID(), parser.getCurrent().getName()), ex); + } + } + } + + protected boolean skipProperty(PropertyDescriptor property) { + return ignoredProperties.contains(property.getName()); + } + + protected String findInternalLinkTarget(InternalElementType internalElement, PropertyDescriptor property) throws MappingException { + Optional internalLink = internalElement.getInternalLink().stream() + .filter(x -> x.getName().equals(property.getName())) + .findFirst(); + if (internalLink.isPresent()) { + return internalLink.get().getRefPartnerSideB().substring(0, internalLink.get().getRefPartnerSideB().indexOf(":")); + } + return null; + } + + protected AttributeType findAttribute(CAEXObject parent, PropertyDescriptor property, MappingContext context) throws MappingException { + return findAttribute(parent, property, context, AmlParser.DEFAULT_REFSEMANTIC_PREFIX); + } + + protected AttributeType findAttribute(CAEXObject parent, PropertyDescriptor property, MappingContext context, String refSemanticPrefix) throws MappingException { + List attributes = findAttributes(parent, property, context, refSemanticPrefix); + if (attributes.isEmpty()) { + return null; + } + if (attributes.size() == 1) { + return attributes.get(0); + } + throw new MappingException(String.format("found multiple Attribute for property %s in element with name: %s", property.getName(), parent.getName())); + } + + + // TODO not working because of missing property renaming strategy + protected List findAttributes(CAEXObject parent, PropertyDescriptor property, MappingContext context) { + return findAttributes(parent, property, context, AmlParser.DEFAULT_REFSEMANTIC_PREFIX); + } + + protected List findAttributes(CAEXObject parent, PropertyDescriptor property, MappingContext context, String refSemanticPrefix) { + if (property == null) { + return List.of(); + } + String refSemantic = refSemanticPrefix + ":" + property.getReadMethod().getDeclaringClass().getSimpleName() + "/" + + context.getPropertyNamingStrategy().getNameForRefSemantic(property.getReadMethod().getDeclaringClass(), null, property.getName()); + return findAttributesByCorrespondingAttributePath(parent, refSemantic); + } + + protected List findAttributesByCorrespondingAttributePath(CAEXObject parent, String correspondingAttributePath) { + return findAttributes(parent, + x -> x.getRefSemantic().stream().anyMatch(y -> y.getCorrespondingAttributePath().equalsIgnoreCase(correspondingAttributePath))); + } + + protected List findAttributes(CAEXObject parent, Predicate filter) { + if (parent == null || filter == null) { + return List.of(); + } + if (AttributeType.class.isAssignableFrom(parent.getClass())) { + return ((AttributeType) parent).getAttribute().stream().filter(filter).collect(Collectors.toList()); + } else if (InternalElementType.class.isAssignableFrom(parent.getClass())) { + return ((InternalElementType) parent).getAttribute().stream().filter(filter).collect(Collectors.toList()); + } else if (SystemUnitFamilyType.class.isAssignableFrom(parent.getClass())) { + return ((SystemUnitFamilyType) parent).getAttribute().stream().filter(filter).collect(Collectors.toList()); + } + return List.of(); + } + + protected List findInternalElements(CAEXObject parent, Class desiredType, boolean acceptSubtypes, MappingContext context) { + if (parent == null || !(SystemUnitClassType.class.isAssignableFrom(parent.getClass()))) { + return List.of(); + } + return findInternalElements((SystemUnitClassType) parent, desiredType, acceptSubtypes, context); + } + + + protected List findInternalElements(SystemUnitClassType parent, Class desiredType, boolean acceptSubtypes, MappingContext context) { + if (desiredType == null || context == null) { + return List.of(); + } + return getAllMatchingInternalElements(null, parent, desiredType, acceptSubtypes, context); + } + + protected List findInternalElements(CAEXObject parent, Predicate filter) { + if (parent == null || !InternalElementType.class.isAssignableFrom(parent.getClass())) { + return List.of(); + } + return findInternalElements((InternalElementType) parent, filter); + } + + protected List findInternalElements(InternalElementType parent, Predicate filter) { + if (parent == null || filter == null) { + return List.of(); + } + return getAllInternalElements(null, parent).stream().filter(filter).collect(Collectors.toList()); + } + + + //get recursive all internal elements of parent + private List getAllInternalElements(List resultList, SystemUnitClassType parent) { + if (resultList == null) resultList = new ArrayList<>(); + resultList.addAll(parent.getInternalElement()); + for (InternalElementType internalElementType : parent.getInternalElement()) { + getAllInternalElements(resultList, internalElementType); + } + return resultList; + } + + private List getAllMatchingInternalElements(List resultList, + SystemUnitClassType parent, Class desiredType, + boolean acceptSubtypes, MappingContext context) { + + if(resultList == null)resultList= new ArrayList<>(); + + List internalElementTypes = parent.getInternalElement(); + for(InternalElementType internalElement : internalElementTypes){ + String role = internalElement.getRoleRequirements() != null ? internalElement.getRoleRequirements().getRefBaseRoleClassPath() : ""; + if (role.startsWith(context.getDocumentInfo().getAssetAdministrationShellRoleClassLib())) { + String actualClassName = role.substring(context.getDocumentInfo().getAssetAdministrationShellRoleClassLib().length() + 1); + Optional actualType = ReflectionHelper.INTERFACES.stream().filter(y -> y.getSimpleName().equals(actualClassName)).findFirst(); + if (actualType.isPresent()) { + if (acceptSubtypes && desiredType.isAssignableFrom(actualType.get())) { + resultList.add(internalElement); + } else if(desiredType.equals(actualType.get())){ + resultList.add(internalElement); + } + } + } else { + getAllMatchingInternalElements(resultList, internalElement, desiredType, acceptSubtypes, context); + } + } + + return resultList; + } + + + protected List findExternalInterface(CAEXObject parent, Predicate filter) { + if (parent == null || filter == null) { + return List.of(); + } + if (InternalElementType.class.isAssignableFrom(parent.getClass())) { + return ((InternalElementType) parent).getExternalInterface().stream().filter(filter).collect(Collectors.toList()); + } + return List.of(); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Mapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Mapper.java new file mode 100644 index 000000000..3b8f964ff --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/Mapper.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization; + +import io.adminshell.aas.v3.dataformat.mapping.TargetBasedMapper; + +/** + * Utility interface for all AML to AAS mappers + * + * @param type to be deserialized + */ +public interface Mapper extends TargetBasedMapper { +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/MappingContext.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/MappingContext.java new file mode 100644 index 000000000..ec35c732b --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/MappingContext.java @@ -0,0 +1,183 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization; + +import io.adminshell.aas.v3.dataformat.aml.AmlDocumentInfo; +import io.adminshell.aas.v3.dataformat.aml.common.AbstractMappingContext; +import io.adminshell.aas.v3.dataformat.aml.common.naming.NamingStrategy; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.dataformat.mapping.MappingProvider; +import io.adminshell.aas.v3.model.Reference; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Type; + +/** + * Mapping Context for mapping AML to AAS + */ +public class MappingContext extends AbstractMappingContext { + + private AmlDocumentInfo documentInfo; + private AasTypeFactory typeFactory; + private Object parent; + private Reference parentRef; + private Type type; + + public MappingContext(MappingProvider mappingProvider, + NamingStrategy classNamingStrategy, + NamingStrategy propertyNamingStrategy, + AasTypeFactory typeFactory) { + super(mappingProvider, classNamingStrategy, propertyNamingStrategy, null); + this.typeFactory = typeFactory; + this.type = null; + } + + private MappingContext(MappingProvider mappingProvider, + NamingStrategy classNamingStrategy, + NamingStrategy propertyNamingStrategy, + PropertyDescriptor property, + AasTypeFactory typeFactory, + AmlDocumentInfo documentInfo, + Object parent, + Reference parentRef, + Type type) { + super(mappingProvider, classNamingStrategy, propertyNamingStrategy, property); + this.typeFactory = typeFactory; + this.documentInfo = documentInfo; + this.parent = parent; + this.parentRef = parentRef; + this.type = type; + } + + public MappingContext with(Type type) { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + property, + typeFactory, + documentInfo, + parent, + parentRef, + type); + } + + public MappingContext with(PropertyDescriptor property) { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + property, + typeFactory, + documentInfo, + parent, + parentRef, + type); + } + + public MappingContext with(Object parent) { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + property, + typeFactory, + documentInfo, + parent, + parentRef, + type); + } + + public MappingContext with(Reference parentRef) { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + property, + typeFactory, + documentInfo, + parent, + parentRef, + type); + } + + public MappingContext withoutProperty() { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + null, + typeFactory, + documentInfo, + parent, + parentRef, + type); + } + + public MappingContext withoutParent() { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + property, + typeFactory, + documentInfo, + null, + parentRef, + type); + } + + public MappingContext withoutType() { + return new MappingContext(mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + property, + typeFactory, + documentInfo, + parent, + parentRef, + null); + } + + public AmlDocumentInfo getDocumentInfo() { + return documentInfo; + } + + public void setDocumentInfo(AmlDocumentInfo documentInfo) { + this.documentInfo = documentInfo; + } + + public Object map(Type type, AmlParser parser) throws MappingException { + return mappingProvider.getMapper(type).map(parser, this); + } + + public T map(Class type, AmlParser parser) throws MappingException { + return (T) mappingProvider.getMapper(type).map(parser, this); + } + + public Type getType() { + return type; + } + + public AasTypeFactory getTypeFactory() { + return typeFactory; + } + + public Object getParent() { + return parent; + } + + public Reference getParentRef() { + return parentRef; + } + + public void setParentRef(Reference parentRef) { + this.parentRef = parentRef; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellEnvironmentMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellEnvironmentMapper.java new file mode 100644 index 000000000..4049e9107 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellEnvironmentMapper.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.AmlDocumentInfo; +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.Mapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.SystemUnitFamilyType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import java.util.List; +import java.util.function.Predicate; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.stream.Collectors; + +public class AssetAdministrationShellEnvironmentMapper implements Mapper { + + private final String ASSET_ADMINISTRATION_SHELL_SYSTEM_UNIT_CLASSES = "AssetAdministrationShellSystemUnitClasses"; + private final String ROLE_CLASS_LIB_ASSET_ADMINISTRATION_SHELL = "AssetAdministrationShellRoleClassLib/AssetAdministrationShell"; + + @Override + public AssetAdministrationShellEnvironment map(AmlParser parser, MappingContext context) throws MappingException { + // TODO use typeFactory instead of explicitly using Default... classes + AssetAdministrationShellEnvironment result = new DefaultAssetAdministrationShellEnvironment.Builder().build(); + List shells = parser.getContent().getInstanceHierarchy().stream() + .flatMap(x -> x.getInternalElement().stream().filter(filterByRole(AssetAdministrationShell.class))) + .collect(Collectors.toList()); + shells.forEach(x -> { + parser.setCurrent(x); + try { + AssetAdministrationShell aas = context.with(result).map(AssetAdministrationShell.class, parser); + result.getAssetAdministrationShells().add(aas); + } catch (MappingException ex) { + Logger.getLogger(AssetAdministrationShellEnvironmentMapper.class.getName()).log(Level.SEVERE, null, ex); + } + }); + + List conceptDescriptions = parser.getContent().getInstanceHierarchy().stream() + .flatMap(x -> x.getInternalElement().stream().filter(filterByRole(ConceptDescription.class))) + .collect(Collectors.toList()); + conceptDescriptions.forEach(x-> { + parser.setCurrent(x); + try { + ConceptDescription conceptDescription = context.with(result).map(ConceptDescription.class, parser); + result.getConceptDescriptions().add(conceptDescription); + } catch (MappingException ex){ + Logger.getLogger(AssetAdministrationShellEnvironmentMapper.class.getName()).log(Level.SEVERE, null, ex); + } + }); + + + // add template AAS and Submodels (only if not already present) + CAEXFile.SystemUnitClassLib systemUnitClassLib = parser.getContent().getSystemUnitClassLib().stream() + .filter(x -> x.getName().equalsIgnoreCase(ASSET_ADMINISTRATION_SHELL_SYSTEM_UNIT_CLASSES)) + .findFirst() + .orElse(CAEXFile.SystemUnitClassLib.builder().build()); + + List systemUnitFamilyTypeShells = systemUnitClassLib.getSystemUnitClass().stream() + .filter(x ->x.getSupportedRoleClass().get(0).getRefRoleClassPath().equalsIgnoreCase(ROLE_CLASS_LIB_ASSET_ADMINISTRATION_SHELL)) + .collect(Collectors.toList()); + + AssetAdministrationShellEnvironment resultTemplatesAASEnvironments = new DefaultAssetAdministrationShellEnvironment.Builder().build(); + for(SystemUnitFamilyType systemUnitFamilyTypeShell : systemUnitFamilyTypeShells){ + parser.setCurrent(systemUnitFamilyTypeShell); + try { + AssetAdministrationShell aas = context.with(resultTemplatesAASEnvironments).map(AssetAdministrationShell.class, parser); + resultTemplatesAASEnvironments.getAssetAdministrationShells().add(aas); + } catch (MappingException ex) { + Logger.getLogger(AssetAdministrationShellEnvironmentMapper.class.getName()).log(Level.SEVERE, null, ex); + } + } + + //add submodel templates to environment if not already exists + resultTemplatesAASEnvironments.getSubmodels().stream().forEach(x -> { + if(!result.getSubmodels().contains(x)){ + result.getSubmodels().add(x); + } + }); + + //add aas templates to environment if not already exists + resultTemplatesAASEnvironments.getAssetAdministrationShells().stream().forEach(x -> { + if(!result.getAssetAdministrationShells().contains(x)){ + result.getAssetAdministrationShells().add(x); + } + }); + + return result; + } + + private Predicate filterByRole(Class type) { + return x -> x.getRoleRequirements() != null + && x.getRoleRequirements().getRefBaseRoleClassPath().equals( + AmlDocumentInfo.DEFAULT_ASSET_ADMINISTRATION_SHELL_ROLE_CLASS_LIB + "/" + type.getSimpleName()); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellMapper.java new file mode 100644 index 000000000..7b8485f13 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/AssetAdministrationShellMapper.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import com.google.common.reflect.TypeToken; +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.Submodel; +import java.beans.PropertyDescriptor; +import java.util.List; + +public class AssetAdministrationShellMapper extends IdentifiableMapper { + + @Override + public AssetAdministrationShell map(AmlParser parser, MappingContext context) throws MappingException { + AssetAdministrationShell result = super.map(parser, context); + PropertyDescriptor property = AasUtils.getProperty(AssetAdministrationShell.class, "submodels"); + List submodels = (List) context + .with(property) + .with(new TypeToken>() { + }.getType()) + .withoutParent() + .map(new TypeToken>() { + }.getType(), parser); + if (context.getParent() != null && AssetAdministrationShellEnvironment.class.isAssignableFrom(context.getParent().getClass())) { + List submodelsInEnvironment = ((AssetAdministrationShellEnvironment) context.getParent()).getSubmodels(); + // ensure there are not duplicate submodels in environment + // this may happen if multiple AAS reference/contain the same submodel + submodels.forEach(x -> { + if (!submodelsInEnvironment.contains(x)) { + submodelsInEnvironment.add(x); + } + }); + } + submodels.forEach(x -> result.getSubmodels().add(AasUtils.toReference(x, + context.getTypeFactory().getImplementationType(Reference.class), + context.getTypeFactory().getImplementationType(Key.class)))); + return result; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConceptDescriptionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConceptDescriptionMapper.java new file mode 100644 index 000000000..683a70f95 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConceptDescriptionMapper.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Reference; + +import java.beans.PropertyDescriptor; +import java.util.ArrayList; +import java.util.List; + +/** + * + */ +public class ConceptDescriptionMapper extends DefaultMapper { + + public static final String ATTRIBUTE_PATH_ISCASEOF = "AAS:ConceptDescription/isCaseOf"; + protected static PropertyDescriptor PROPERTY_ISCASEOF = AasUtils.getProperty(ConceptDescription.class, "isCaseOfs"); + + public ConceptDescriptionMapper() { + super(PROPERTY_ISCASEOF.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + + CAEXObject temp = parser.getCurrent(); + List attributeTypeList = findAttributesByCorrespondingAttributePath(parser.getCurrent(), ATTRIBUTE_PATH_ISCASEOF); + List referenceList = new ArrayList<>(); + if(!attributeTypeList.isEmpty()){ + //TODO How to handle multiple references in isCaseOf? + AttributeType attribute = attributeTypeList.get(0); + parser.setCurrent(attribute); + Reference reference = context.map(Reference.class, parser); + parser.setCurrent(temp); + referenceList.add(reference); + } + + ((ConceptDescription) parent).setIsCaseOfs(referenceList); + + super.mapProperties(parent, parser, context); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConstraintCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConstraintCollectionMapper.java new file mode 100644 index 000000000..4c625da08 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ConstraintCollectionMapper.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.*; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class ConstraintCollectionMapper extends DefaultMapper> { + + + public static final String QUALIFIABLE_ATTRIBUTE_PATH = "AAS:Qualifiable"; + + @Override + protected Collection mapCollectionValueProperty(AmlParser parser, MappingContext context) throws MappingException { + + //TODO: Need to register specific type Qualifiable + if (!context.getProperty().getName().equalsIgnoreCase("Qualifiers")) { + return super.mapCollectionValueProperty(parser, context); + } + + List values = findAttributes(parser.getCurrent(), + x -> x.getRefSemantic().stream().anyMatch(y -> y.getCorrespondingAttributePath().contains(QUALIFIABLE_ATTRIBUTE_PATH))); + + CAEXObject current = parser.getCurrent(); + Collection result = new ArrayList<>(); + for (AttributeType value : values) { + parser.setCurrent(value); + Object o = context.withoutProperty().map(Qualifier.class, parser); + result.add(o); + } + parser.setCurrent(current); + return result; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/DataSpecificationIEC61360Mapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/DataSpecificationIEC61360Mapper.java new file mode 100644 index 000000000..8694893ba --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/DataSpecificationIEC61360Mapper.java @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.DataSpecificationManager; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; + +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.util.List; + +/** + * + */ +public class DataSpecificationIEC61360Mapper extends DefaultMapper { + + @Override + protected Class typeFromInternalElement(InternalElementType internalElement) throws MappingException { + if (internalElement.getRoleRequirements() == null || internalElement.getRoleRequirements().getRefBaseRoleClassPath() == null) { + throw new MappingException(String.format("missing required RoleRequirements/RefBaseRoleClassPath in InternalElement with ID %s", internalElement.getID())); + } + return DefaultDataSpecificationIEC61360.class; + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + + CAEXObject current = parser.getCurrent(); + + List attributeTypes = findAttributes(parser.getCurrent(), x -> true); + List propertyDescriptors = AasUtils.getAasProperties(DefaultDataSpecificationIEC61360.class); + + parser.setRefSemanticPrefix(DataSpecificationManager.DATA_SPECIFICATION_IEC61360_PREFIX); + + for (AttributeType attributeType : attributeTypes) { + PropertyDescriptor propertyDescriptor = propertyDescriptors.stream() + .filter(x -> x.getName().contains(attributeType.getName())) + .findFirst() + .orElse(null); + if (propertyDescriptor != null) { + try { + Object createdObject; + Class type = propertyDescriptor.getReadMethod().getReturnType(); + if (DataTypeIEC61360.class.isAssignableFrom(type) || + List.class.isAssignableFrom(type)) { + createdObject = context.with(propertyDescriptor).map(propertyDescriptor.getReadMethod().getGenericReturnType(), parser); + } else { + parser.setCurrent(attributeType); + createdObject = map(parser, context); + } + if (createdObject != null) propertyDescriptor.getWriteMethod().invoke(parent, createdObject); + + } catch (IllegalAccessException | InvocationTargetException ex) { + throw new MappingException(String.format("error setting property value for property %s", propertyDescriptor.getName()), ex); + } + } + + } + parser.setCurrent(current); + parser.setRefSemanticPrefixToDefault(); + + } + + @Override + protected Class typeFromAttribute(AttributeType attribute, MappingContext context) { + List propertyDescriptors = AasUtils.getAasProperties(DefaultDataSpecificationIEC61360.class); + PropertyDescriptor propertyDescriptor = propertyDescriptors.stream().filter(x -> x.getName().contains(attribute.getName())).findFirst().orElse(null); + + if (propertyDescriptor != null) { + return propertyDescriptor.getReadMethod().getReturnType(); + } + return null; + } + + @Override + protected Object fromAttribute(AmlParser parser, AttributeType attribute, MappingContext context) throws MappingException { + if (parser == null || attribute == null || context == null) { + return null; + } + Class type = typeFromAttribute(attribute, context); + if (isAasType(type)) { + return context.getMappingProvider().getMapper(type).map(parser, context); + } + return attribute.getValue(); + } + + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EmbeddedDataSpecificationCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EmbeddedDataSpecificationCollectionMapper.java new file mode 100644 index 000000000..5d20a381b --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EmbeddedDataSpecificationCollectionMapper.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class EmbeddedDataSpecificationCollectionMapper extends DefaultMapper> { + + @Override + protected Collection mapCollectionValueProperty(AmlParser parser, MappingContext context) throws MappingException { + + List internalElementTypeList = findInternalElements(parser.getCurrent(), + x -> x.getName().equalsIgnoreCase("EmbeddedDataSpecification")); + Collection result = new ArrayList<>(); + CAEXObject current = parser.getCurrent(); + + for (InternalElementType internalElementType : internalElementTypeList) { + try { + parser.setCurrent(internalElementType); + //TODO use TypeFactory instead of hardcoded DefaultEmbeddedDataSpecification.class + EmbeddedDataSpecification embeddedDataSpecification = context.getTypeFactory().newInstance(DefaultEmbeddedDataSpecification.class); + + //TODO get dataSpecificationClass from DataSpecificationManager + DataSpecificationIEC61360 dataspecification = context.withoutProperty().map(DefaultDataSpecificationIEC61360.class, parser); + + embeddedDataSpecification.setDataSpecificationContent(dataspecification); + result.add(embeddedDataSpecification); + + } catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) { + throw new MappingException("error mapping Collection"); + } + } + parser.setCurrent(current); + return result; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumDataTypeIEC61360Mapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumDataTypeIEC61360Mapper.java new file mode 100644 index 000000000..dba1ecec8 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumDataTypeIEC61360Mapper.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import org.apache.xerces.dom.ElementNSImpl; +import org.apache.xerces.dom.TextImpl; + +public class EnumDataTypeIEC61360Mapper extends DefaultMapper { + + @Override + public DataTypeIEC61360 map(AmlParser parser, MappingContext context) throws MappingException { + if (parser == null + || parser.getCurrent() == null + || context.getProperty() == null) { + return null; + } + AttributeType attribute = null; + if(AttributeType.class.isAssignableFrom(parser.getCurrent().getClass())){ + attribute = (AttributeType) parser.getCurrent(); + } else { + attribute = findAttribute(parser.getCurrent(),context.getProperty(),context, parser.getRefSemanticPrefix()); + } + + if (attribute != null) { + Class type = context.getProperty().getReadMethod().getReturnType(); + String value=""; + if(DataTypeIEC61360.class.isAssignableFrom(type)){ + ElementNSImpl elementNS = (ElementNSImpl) attribute.getValue(); + value = ((TextImpl)elementNS.getFirstChild()).getData(); + } + + if (Enum.class.isAssignableFrom(type) && !value.isBlank()) { + return DataTypeIEC61360.valueOf(value); + } + } + return null; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumMapper.java new file mode 100644 index 000000000..16cc7a5f2 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/EnumMapper.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; + +public class EnumMapper extends DefaultMapper { + + @Override + public Enum map(AmlParser parser, MappingContext context) throws MappingException { + if (parser == null + || parser.getCurrent() == null + || context.getProperty() == null) { + return null; + } + AttributeType attribute = findAttribute(parser.getCurrent(), context.getProperty(), context); + if (attribute != null) { + Class type = context.getProperty().getReadMethod().getReturnType(); + String value = String.valueOf(getValue(attribute)); + if (Enum.class.isAssignableFrom(type) && !value.isBlank()) { + return Enum.valueOf(type, value); + } + } + return null; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/FileMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/FileMapper.java new file mode 100644 index 000000000..81d4cfce6 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/FileMapper.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InterfaceClassType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.File; + +import java.beans.PropertyDescriptor; +import java.util.List; + +/** + * + */ +public class FileMapper extends DefaultMapper { + + protected static PropertyDescriptor PROPERTY_VALUE = AasUtils.getProperty(File.class, "value"); + protected static PropertyDescriptor PROPERTY_MIME_TYPE = AasUtils.getProperty(File.class, "mimeType"); + + private static final String FILE_DATA_REFERENCE = "AssetAdministrationShellInterfaceClassLib/FileDataReference"; + private static final String MIME_TYPE_ATTRIBUTE_PATH = "AAS:File/MIMEType"; + private static final String REF_URI_ATTRIBUTE_PATH = "AAS:File/refURI"; + + public FileMapper() { + super(PROPERTY_VALUE.getName(), PROPERTY_MIME_TYPE.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + + List externalInterfaces = findExternalInterface(parser.getCurrent(), x -> x.getRefBaseClassPath().equalsIgnoreCase(FILE_DATA_REFERENCE)); + if (externalInterfaces == null || externalInterfaces.size() == 0) + throw new MappingException(String.format("no external interfaces are found in file %s %s", parser.getCurrent().getID(), parser.getCurrent().getName())); + + if (externalInterfaces.size() > 1) + throw new MappingException(String.format("multiple external interfaces are found in file %s %s", parser.getCurrent().getID(), parser.getCurrent().getName())); + + List attributeTypes = externalInterfaces.get(0).getAttribute(); + + AttributeType mimeTypeAttribute = attributeTypes.stream() + .filter(x -> x.getRefSemantic().get(0).getCorrespondingAttributePath().equalsIgnoreCase(MIME_TYPE_ATTRIBUTE_PATH)) + .findFirst().orElse(null); + AttributeType refUriAttribute = attributeTypes.stream() + .filter(x -> x.getRefSemantic().get(0).getCorrespondingAttributePath().equalsIgnoreCase(REF_URI_ATTRIBUTE_PATH)).findFirst().orElse(null); + + if (refUriAttribute != null) + ((File) parent).setValue(refUriAttribute.getValue() == null ? null : refUriAttribute.getValue().toString()); + + if (mimeTypeAttribute != null) + ((File) parent).setMimeType(mimeTypeAttribute.getValue() == null ? null : mimeTypeAttribute.getValue().toString()); + + super.mapProperties(parent, parser, context); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifiableMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifiableMapper.java new file mode 100644 index 000000000..9159b17f8 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifiableMapper.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Reference; +import java.beans.PropertyDescriptor; + +/** + * + */ +public class IdentifiableMapper extends DefaultMapper { + + protected static PropertyDescriptor PROPERTY_IDENTIFICATION = AasUtils.getProperty(Identifiable.class, "identification"); + + public IdentifiableMapper() { + super(PROPERTY_IDENTIFICATION.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + AttributeType attribute = findAttribute(parser.getCurrent(), PROPERTY_IDENTIFICATION, context); + CAEXObject temp = parser.getCurrent(); + parser.setCurrent(attribute); + Identifier identification = context.map(Identifier.class, parser); + parser.setCurrent(temp); + ((Identifiable) parent).setIdentification(identification); + Reference reference = AasUtils.toReference((Identifiable) parent, + context.getTypeFactory().getImplementationType(Reference.class), + context.getTypeFactory().getImplementationType(Key.class)); + parser.collectIdMapping(parser.getCurrent().getID(), reference); + super.mapProperties(parent, parser, context.with(reference)); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifierKeyValuePairCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifierKeyValuePairCollectionMapper.java new file mode 100644 index 000000000..fc4b2b824 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/IdentifierKeyValuePairCollectionMapper.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import java.beans.PropertyDescriptor; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class IdentifierKeyValuePairCollectionMapper extends DefaultMapper> { + + @Override + protected Collection mapCollectionValueProperty(AmlParser parser, MappingContext context) throws MappingException { + Collection result = new ArrayList<>(); + CAEXObject current = parser.getCurrent(); + AttributeType parent = findAttribute(current, context.getProperty(), context); + if (parent == null) { + return result; + } + List attributes = findAttributes(parent, x -> x.getName().startsWith("specificAssetId")); + for (AttributeType attribute : attributes) { + parser.setCurrent(attribute); + try { + IdentifierKeyValuePair element = context.getTypeFactory().newInstance(IdentifierKeyValuePair.class); + for (PropertyDescriptor property : AasUtils.getAasProperties(IdentifierKeyValuePair.class)) { + Object propertyValue = context + .with(element) + .with(property) + .withoutType() + .map(property.getReadMethod().getGenericReturnType(), parser); + if (propertyValue != null) { + try { + property.getWriteMethod().invoke(element, propertyValue); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException(String.format("error setting property value for property %s", property.getName()), ex); + } + } + } + parser.setCurrent(attribute); + result.add(element); + } catch (NoSuchMethodException ex) { + Logger.getLogger(IdentifierKeyValuePairCollectionMapper.class.getName()).log(Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + Logger.getLogger(IdentifierKeyValuePairCollectionMapper.class.getName()).log(Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + Logger.getLogger(IdentifierKeyValuePairCollectionMapper.class.getName()).log(Level.SEVERE, null, ex); + } catch (IllegalArgumentException ex) { + Logger.getLogger(IdentifierKeyValuePairCollectionMapper.class.getName()).log(Level.SEVERE, null, ex); + } catch (InvocationTargetException ex) { + Logger.getLogger(IdentifierKeyValuePairCollectionMapper.class.getName()).log(Level.SEVERE, null, ex); + } + } + parser.setCurrent(parent); + return result; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/LangStringCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/LangStringCollectionMapper.java new file mode 100644 index 000000000..221676107 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/LangStringCollectionMapper.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.LangString; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class LangStringCollectionMapper extends DefaultMapper> { + + @Override + protected Collection mapCollectionValueProperty(AmlParser parser, MappingContext context) throws MappingException { + AttributeType attribute = findAttribute(parser.getCurrent(), context.getProperty(), context, parser.getRefSemanticPrefix()); + List values = findAttributes(attribute, x -> x.getName().startsWith("aml-lang=")); + List result = new ArrayList<>(); + for (AttributeType value : values) { + try { + LangString newElement = context.getTypeFactory().newInstance(LangString.class); + newElement.setLanguage(value.getName().substring(value.getName().indexOf("=") + 1)); + newElement.setValue(String.valueOf(getValue(value))); + result.add(newElement); + } catch (NoSuchMethodException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException("error mapping Collection - could not create new instance for interface LangString"); + } + } + return result; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/OperationCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/OperationCollectionMapper.java new file mode 100644 index 000000000..1d73eabb9 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/OperationCollectionMapper.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.OperationVariable; +import io.adminshell.aas.v3.model.SubmodelElement; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class OperationCollectionMapper extends DefaultMapper> { + + + public static final String CLASS_LIB_OPERATION = "AssetAdministrationShellRoleClassLib/Operation"; + + @Override + protected Collection mapCollectionValueProperty(AmlParser parser, MappingContext context) throws MappingException { + + if (parser == null || context == null || context.getProperty() == null) { + return null; + } + + List variables = findInternalElements(parser.getCurrent(), + x -> x.getRoleRequirements().getRefBaseRoleClassPath().equalsIgnoreCase(CLASS_LIB_OPERATION + context.getProperty().getName())); + + if (variables == null || variables.size() == 0) return null; + if (variables.size() > 1) + throw new MappingException(String.format("multiple %s elements are found in %s %s", context.getProperty().getName(), parser.getCurrent().getID(), parser.getCurrent().getName())); + + List internalElements = findInternalElements(variables.get(0), SubmodelElement.class, true, context); + + CAEXObject current = parser.getCurrent(); + + if (!internalElements.isEmpty()) { + Collection result = new ArrayList<>(); + for (InternalElementType internalElement : internalElements) { + try { + parser.setCurrent(internalElement); + OperationVariable operationVariable = context.getTypeFactory().newInstance(OperationVariable.class); + + SubmodelElement submodelElement = (SubmodelElement) context.withoutProperty().map(typeFromInternalElement(internalElement), parser); + operationVariable.setValue(submodelElement); + result.add(operationVariable); + } catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) { + throw new MappingException("error mapping Collection - could not create new instance for interface OperationVariable"); + } + } + parser.setCurrent(current); + return result; + } + return null; + + } + + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/PropertyMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/PropertyMapper.java new file mode 100644 index 000000000..92978776f --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/PropertyMapper.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.Mapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Referable; + +import java.beans.PropertyDescriptor; + +/** + * + */ +public class PropertyMapper extends DefaultMapper { + + public static final String VALUE_ATTRIBUTE_NAME = "AAS:Property/value"; + + protected static PropertyDescriptor PROPERTY_VALUE_TYPE = AasUtils.getProperty(Property.class, "valueType"); + + public PropertyMapper() { + super(PROPERTY_VALUE_TYPE.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + + setValueDataTypeFromAttributeDataType(parser,parent,VALUE_ATTRIBUTE_NAME,Property.class); + + Mapper mapper = context.getMappingProvider().getMapper(Referable.class); + mapper.map(parser,context); + + super.mapProperties(parent, parser, context); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/QualifierMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/QualifierMapper.java new file mode 100644 index 000000000..a9854891b --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/QualifierMapper.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.Mapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; + +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; + +import java.beans.PropertyDescriptor; + +/** + * + */ +public class QualifierMapper extends DefaultMapper { + + protected static PropertyDescriptor PROPERTY_VALUE_TYPE = AasUtils.getProperty(Property.class, "valueType"); + + public static final String VALUE_ATTRIBUTE_NAME = "AAS:Qualifier/value"; + + public QualifierMapper() { + super(PROPERTY_VALUE_TYPE.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + setValueDataTypeFromAttributeDataType(parser,parent,VALUE_ATTRIBUTE_NAME,Qualifier.class); + super.mapProperties(parent, parser, context); + } + + + @Override + protected Qualifier fromAttribute(AmlParser parser, AttributeType attribute, MappingContext context) throws MappingException { + if (parser == null || attribute == null || context == null) { + return null; + } + //TODO use Type Factory instead of hardcoded DefaultQualifier.class + Qualifier result = (Qualifier) newInstance(DefaultQualifier.class, context); + mapProperties(result, parser, context); + return result; + + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RangeMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RangeMapper.java new file mode 100644 index 000000000..e8f6de0be --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RangeMapper.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Range; + +import java.beans.PropertyDescriptor; +import java.util.List; + +/** + * + */ +public class RangeMapper extends DefaultMapper { + + public static final String MIN_ATTRIBUTE_NAME = "AAS:Range/min"; + public static final String MAX_ATTRIBUTE_NAME = "AAS:Range/max"; + protected static PropertyDescriptor PROPERTY_VALUE_TYPE = AasUtils.getProperty(Range.class, "valueType"); + + public RangeMapper() { + super(PROPERTY_VALUE_TYPE.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + + AttributeType attributeTypeMin = findAttributesByCorrespondingAttributePath(parser.getCurrent(), MIN_ATTRIBUTE_NAME) + .stream() + .findFirst() + .orElse(null); + + AttributeType attributeTypeMax = findAttributesByCorrespondingAttributePath(parser.getCurrent(), MAX_ATTRIBUTE_NAME) + .stream() + .findFirst() + .orElse(null); + + if (attributeTypeMax != null || attributeTypeMin != null){ + String dataTypeMin = getDataTypeFromAttribute(attributeTypeMin); + String dataTypeMax = getDataTypeFromAttribute(attributeTypeMax); + + if (!dataTypeMax.equalsIgnoreCase(dataTypeMin)) + throw new MappingException(String.format("min/max attributes in range %s %s has different attribute datatypes", parser.getCurrent().getID(), parser.getCurrent().getName())); + + ((Range) parent).setValueType(dataTypeMax); + } + + super.mapProperties(parent, parser, context); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferableMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferableMapper.java new file mode 100644 index 000000000..80dee5977 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferableMapper.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import java.beans.PropertyDescriptor; + +/** + * + */ +public class ReferableMapper extends DefaultMapper { + + protected static PropertyDescriptor PROPERTY_IDSHORT = AasUtils.getProperty(Referable.class, "idShort"); + + public ReferableMapper() { + super(PROPERTY_IDSHORT.getName()); + } + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + AttributeType attribute = findAttribute(parser.getCurrent(), PROPERTY_IDSHORT, context); + ((Referable) parent).setIdShort(String.valueOf(getValue(attribute))); + Reference reference = AasUtils.toReference( + context.getParentRef(), + ((Referable) parent), + context.getTypeFactory().getImplementationType(Reference.class), + context.getTypeFactory().getImplementationType(Key.class)); + parser.collectIdMapping(parser.getCurrent().getID(), reference); + super.mapProperties(parent, parser, context.with(reference)); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceElementMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceElementMapper.java new file mode 100644 index 000000000..bf4895db8 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceElementMapper.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.ReferenceElement; +import java.beans.PropertyDescriptor; + +public class ReferenceElementMapper extends ReferableMapper { + + protected static PropertyDescriptor PROPERTY_VALUE = AasUtils.getProperty(ReferenceElement.class, "value"); + + @Override + protected Object fromInternalElement(AmlParser parser, InternalElementType internalElement, MappingContext context) throws MappingException { + Object result = super.fromInternalElement(parser, internalElement, context); + parser.resolveIdToReferenceLater(result, PROPERTY_VALUE, findInternalLinkTarget(internalElement, PROPERTY_VALUE)); + return result; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceMapper.java new file mode 100644 index 000000000..7ec638b14 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ReferenceMapper.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Reference; + +public class ReferenceMapper extends DefaultMapper { + + @Override + public Reference map(AmlParser parser, MappingContext context) throws MappingException { + if (parser == null || parser.getCurrent() == null || context == null) { + return null; + } + AttributeType attribute = null; + + if (context.getProperty() == null) { + if (AttributeType.class.isAssignableFrom(parser.getCurrent().getClass())) { + attribute = (AttributeType) parser.getCurrent(); + } + } else { + attribute = findAttribute(parser.getCurrent(), context.getProperty(), context); + } + if (attribute != null) { + Reference reference = AasUtils.parseReference( + String.valueOf(getValue(attribute)), + context.getTypeFactory().getImplementationType(Reference.class), + context.getTypeFactory().getImplementationType(Key.class)); + return reference; + // why is this here again? +// if (context.getParent() != null) { +// parser.resolveLater(context.getParent(), context.getProperty(), reference); +// } else { +// return reference; +// } + } + return null; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RelationshipElementMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RelationshipElementMapper.java new file mode 100644 index 000000000..199844153 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/RelationshipElementMapper.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.RelationshipElement; +import java.beans.PropertyDescriptor; + +public class RelationshipElementMapper extends ReferableMapper { + + protected static PropertyDescriptor PROPERTY_FIRST = AasUtils.getProperty(RelationshipElement.class, "first"); + protected static PropertyDescriptor PROPERTY_SECOND = AasUtils.getProperty(RelationshipElement.class, "second"); + + @Override + protected Object fromInternalElement(AmlParser parser, InternalElementType internalElement, MappingContext context) throws MappingException { + Object result = super.fromInternalElement(parser, internalElement, context); + parser.resolveIdToReferenceLater(result, PROPERTY_FIRST, findInternalLinkTarget(internalElement, PROPERTY_FIRST)); + parser.resolveIdToReferenceLater(result, PROPERTY_SECOND, findInternalLinkTarget(internalElement, PROPERTY_SECOND)); + return result; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ViewMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ViewMapper.java new file mode 100644 index 000000000..af16c1b74 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/deserialization/mappers/ViewMapper.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.deserialization.AmlParser; +import io.adminshell.aas.v3.dataformat.aml.deserialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.deserialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.View; + +import java.beans.PropertyDescriptor; +import java.util.List; + +/** + * + */ +public class ViewMapper extends DefaultMapper { + + private static final String CONTAINED_ELEMENTS = "containedElements"; + + @Override + protected void mapProperties(Object parent, AmlParser parser, MappingContext context) throws MappingException { + if (parent == null || context == null) { + return; + } + + if (!InternalElementType.class.isAssignableFrom(parser.getCurrent().getClass())) return; + InternalElementType internalElementType_View = (InternalElementType) parser.getCurrent(); + + List internalElementTypeList = internalElementType_View.getInternalElement(); + internalElementTypeList.stream().forEach(x -> { + String idToReference = x.getRefBaseSystemUnitPath(); + if (idToReference != null) { + parser.resolveIdToReferenceLater(parent, AasUtils.getProperty(View.class, CONTAINED_ELEMENTS), idToReference); + } + }); + + super.mapProperties(parent, parser, context); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/AutomationMLVersion.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/AutomationMLVersion.java new file mode 100644 index 000000000..fb8d44db2 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/AutomationMLVersion.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.header; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(namespace = "http://www.w3.org/2001/XMLSchema", name = "string") +/** + * Utility class to represent AutomationML version in an AML document + */ +public class AutomationMLVersion { + + @XmlAttribute(name = "AutomationMLVersion") + private final String value; + + public AutomationMLVersion() { + this.value = ""; + } + + public AutomationMLVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/WriterInfo.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/WriterInfo.java new file mode 100644 index 000000000..bb92069a3 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/header/WriterInfo.java @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.header; + +import java.text.SimpleDateFormat; +import java.util.Date; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + +/** + * Utility class to represent the WriterInfo section in an AML document + */ +public class WriterInfo { + + @XmlElement(name = "WriterName") + private String name; + @XmlElement(name = "WriterID") + private String id; + @XmlElement(name = "WriterVendor") + private String vendor; + @XmlElement(name = "WriterVendorURL") + private String vendorUrl; + @XmlElement(name = "WriterVersion") + private String version; + @XmlElement(name = "WriterRelease") + private String release; + @XmlElement(name = "LastWritingDateTime") + private String writingDate; + @XmlElement(name = "WriterProjectTitle") + private String projectTitle; + @XmlElement(name = "WriterProjectID") + private String projectID; + + public WriterInfo() { + SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); + writingDate = formatter.format(new Date()); + } + + public String getName() { + return name; + } + + @XmlType(name = "xs:anyType") + public static class Wrapper { + + @XmlElement(name = "WriterHeader") + private WriterInfo writerHeader; + + public Wrapper() { + } + + public WriterInfo getWriterHeader() { + return writerHeader; + } + + public void setWriterHeader(WriterInfo writerHeader) { + this.writerHeader = writerHeader; + } + } + + public Object wrap() { + Wrapper result = new Wrapper(); + result.setWriterHeader(this); + return result; + } + + public void setName(String name) { + this.name = name; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getVendor() { + return vendor; + } + + public void setVendor(String vendor) { + this.vendor = vendor; + } + + public String getVendorUrl() { + return vendorUrl; + } + + public void setVendorUrl(String vendorUrl) { + this.vendorUrl = vendorUrl; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getRelease() { + return release; + } + + public void setRelease(String release) { + this.release = release; + } + + public String getWritingDate() { + return writingDate; + } + + public void setWritingDate(String writingDate) { + this.writingDate = writingDate; + } + + public String getProjectTitle() { + return projectTitle; + } + + public void setProjectTitle(String projectTitle) { + this.projectTitle = projectTitle; + } + + public String getProjectID() { + return projectID; + } + + public void setProjectID(String projectID) { + this.projectID = projectID; + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AasToAmlMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AasToAmlMapper.java new file mode 100644 index 000000000..d94d6dbc0 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AasToAmlMapper.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.aml.AmlSerializationConfig; +import io.adminshell.aas.v3.dataformat.aml.common.naming.PropertyNamingStrategy; +import io.adminshell.aas.v3.dataformat.aml.common.naming.AbstractClassNamingStrategy; +import io.adminshell.aas.v3.dataformat.aml.common.naming.NumberingClassNamingStrategy; +import io.adminshell.aas.v3.dataformat.aml.header.AutomationMLVersion; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.AssetAdministrationShellEnvironmentMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.AssetAdministrationShellMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.ConstraintCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.DataSpecificationContentMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.DataSpecificationIEC61360Mapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.EmbeddedDataSpecificationCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.FileMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.LangStringCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.OperationVariableCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.OperationVariableMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.QualifierMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.ReferenceCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.ReferenceElementMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.RelationshipElementMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.SubmodelMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.ViewMapper; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.ConceptDescriptionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.IdentifierKeyValuePairCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.PropertyMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.RangeMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.dataformat.mapping.MappingProvider; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Referable; +import org.slf4j.LoggerFactory; +import io.adminshell.aas.v3.dataformat.mapping.SourceBasedMapper; +import io.adminshell.aas.v3.model.MultiLanguageProperty; + +/** + * Maps an AssetAdministrationShellEnvironment to an AML file + */ +public class AasToAmlMapper { + + private static final org.slf4j.Logger log = LoggerFactory.getLogger(AasToAmlMapper.class); + + /** + * Maps an AssetAdministrationShellEnvironment to an AML file (represented + * by a CAEXFile) + * + * @param env the AssetAdministrationShellEnvironment to map + * @param config the serialization conig + * @return an AML representation of the AssetAdministrationShellEnvironment + * @throws MappingException if the mapping fails + */ + public CAEXFile map(AssetAdministrationShellEnvironment env, AmlSerializationConfig config) throws MappingException { + AbstractClassNamingStrategy classNamingStrategy = new NumberingClassNamingStrategy(); + classNamingStrategy.registerCustomNaming(LangString.class, x -> "aml-lang=" + x.getLanguage()); + PropertyNamingStrategy propertyNamingStrategy = new PropertyNamingStrategy(); + propertyNamingStrategy.registerCustomNaming(Referable.class, "descriptions", "description"); + propertyNamingStrategy.registerCustomNaming(MultiLanguageProperty.class, "values", "value"); + propertyNamingStrategy.registerCustomNaming(Qualifier.class, x -> "qualifier:" + x.getType() + "=" + x.getValue(), x -> "qualifier"); + MappingProvider mappingProvider = new MappingProvider<>( + SourceBasedMapper.class, + new DefaultMapper(), + new DefaultCollectionMapper()); + + mappingProvider.register(new AssetAdministrationShellEnvironmentMapper()); + mappingProvider.register(new LangStringCollectionMapper()); + mappingProvider.register(new ReferenceMapper()); + mappingProvider.register(new AssetAdministrationShellMapper()); + mappingProvider.register(new OperationVariableMapper()); + mappingProvider.register(new OperationVariableCollectionMapper()); + mappingProvider.register(new ReferenceCollectionMapper()); + mappingProvider.register(new ConstraintCollectionMapper()); + mappingProvider.register(new QualifierMapper()); + mappingProvider.register(new FileMapper()); + mappingProvider.register(new SubmodelMapper()); + mappingProvider.register(new EmbeddedDataSpecificationCollectionMapper()); + mappingProvider.register(new DataSpecificationContentMapper()); + mappingProvider.register(new ReferenceElementMapper()); + mappingProvider.register(new RelationshipElementMapper()); + mappingProvider.register(new DataSpecificationIEC61360Mapper()); + mappingProvider.register(new ViewMapper()); + mappingProvider.register(new PropertyMapper()); + mappingProvider.register(new RangeMapper()); + mappingProvider.register(new ConceptDescriptionMapper()); + mappingProvider.register(new IdentifierKeyValuePairCollectionMapper()); + MappingContext context = new MappingContext( + mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + env); + CAEXFile.Builder builder = CAEXFile.builder() + .withSchemaVersion(config.getCaexSchemaVersion()) + .withFileName(config.getFilename()) + .addAdditionalInformation(new AutomationMLVersion(config.getAmlVersion())); + if (config.getWriterInfo() != null) { + builder = builder.addAdditionalInformation(config.getWriterInfo().wrap()); + } + if (!config.getAdditionalInformation().isEmpty()) { + builder = builder.addAdditionalInformation(config.getAdditionalInformation()); + } + context.map(env, AmlGenerator.builder() + .file(builder) + .idGenerator(config.getIdGenerator()) + .build()); + return builder.build(); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AmlGenerator.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AmlGenerator.java new file mode 100644 index 000000000..cc4fb3358 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/AmlGenerator.java @@ -0,0 +1,447 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.aml.AmlDocumentInfo; +import io.adminshell.aas.v3.dataformat.aml.serialization.id.IdGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.id.UuidGenerator; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXObject; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.RoleClassType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.SystemUnitClassType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import java.beans.PropertyDescriptor; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Immutable class supporting creation of AML file by encalsulating different + * common tasks and functionality, e.g. id generation and caching. To create new + * instances with modified properties use provided with...(...) functions. + */ +public class AmlGenerator { + + private static final Logger log = LoggerFactory.getLogger(AmlGenerator.class); + public static final String REFERABLE_REFERENCE_INTERFACE_CLASS = "ReferableReference"; + private static final String DEFAULT_REF_SEMANTIC_PREFIX = "AAS"; + + public static Builder builder() { + return new Builder(); + } + private final String refSemanticPrefix; + private final CAEXObject.Builder current; + private final AmlDocumentInfo documentInfo; + private final Reference reference; + private final IdGenerator idGenerator; + private final Map idCache; + private CAEXFile.Builder fileBuilder; + + private AmlGenerator( + AmlDocumentInfo documentInfo, + IdGenerator idGenerator, + Map idCache, + String refSemanticPrefix, + CAEXFile.Builder fileBuilder, + CAEXObject.Builder current, + Reference reference) { + this.documentInfo = documentInfo; + this.idGenerator = idGenerator; + this.idCache = idCache; + this.refSemanticPrefix = refSemanticPrefix; + this.fileBuilder = fileBuilder; + this.current = current; + this.reference = reference; + } + + /** + * Creates a new instance with new current CAEXObject.Builder + * + * @param current new current CAEXObject.Builder + * @return new immutable instance with CAEXObject.Builder + */ + public AmlGenerator with(CAEXObject.Builder current) { + return new AmlGenerator(documentInfo, + idGenerator, + idCache, + refSemanticPrefix, + fileBuilder, + current, + reference); + } + + /** + * Creates a new instance with reference to new parent object in AAS + * + * @param parent reference to new parent element + * @return new immutable instance with new parent + */ + public AmlGenerator with(Referable parent) { + return new AmlGenerator( + documentInfo, + idGenerator, + idCache, + refSemanticPrefix, + fileBuilder, + current, + AasUtils.toReference(reference, parent)); + } + + /** + * Creates a new instance with given prefix for refSemantic tags + * + * @param value new prefix for refSemantic tags + * @return new immutable instance given refSemantic prefix + */ + public AmlGenerator withRefSemanticPrefix(String value) { + return new AmlGenerator( + documentInfo, + idGenerator, + idCache, + value, + fileBuilder, + current, + reference); + } + + /** + * Adds additional information to the AML file + * + * @param additionalInformation additional information to add + */ + public void addAdditionalInformation(List additionalInformation) { + fileBuilder.addAdditionalInformation(additionalInformation); + } + + /** + * Generates a new ID without caching it. + * + * @return a new ID + */ + public String newId() { + return idGenerator.next(); + } + + /** + * Gets the ID for given object. If obj is an instance of Referable it is + * first converted to reference pointing to that element. In that case, or + * if the obj is already an instance of Reference, an already existing ID + * will be returned if available, otherwise a new one is created and cached. + * If obj is neither an instance of Reference nor Referable, a new ID is + * generated and not cached. + * + * @param obj object to generate an ID for + * @return an ID that might or might not be cached (depending of type of + * obj) + */ + public String getId(Object obj) { + if (obj == null) { + return idGenerator.next(); + } + Reference key; + if (Reference.class.isAssignableFrom(obj.getClass())) { + key = (Reference) obj; + } else if (Referable.class.isAssignableFrom(obj.getClass())) { + key = AasUtils.toReference(reference, (Referable) obj); + } else { + return idGenerator.next(); + } + Optional cacheKey = idCache.keySet().stream() + .filter(x -> AasUtils.sameAs(x, key)) + .findFirst(); + if (cacheKey.isPresent()) { + return idCache.get(cacheKey.get()); + } + String result = idGenerator.next(); + idCache.put(key, result); + return result; + } + + /** + * Adds an object to the current element of the AML document + * + * @param caexObject the object to add + */ + public void add(CAEXObject caexObject) { + if (caexObject == null) { + return; + } + if (AttributeType.class.isAssignableFrom(caexObject.getClass())) { + addAttribute((AttributeType) caexObject); + } else if (InternalElementType.class.isAssignableFrom(caexObject.getClass())) { + addInternalElement((InternalElementType) caexObject); + } else { + log.warn("adding caex object failed because unsupported type '{}'", caexObject.getClass()); + } + } + + /** + * Adds an attribute to the current element of the AML document + * + * @param attribute the attribute to add + */ + public void addAttribute(AttributeType attribute) { + if (attribute == null) { + return; + } + if (AttributeType.Builder.class.isAssignableFrom(current.getClass())) { + AttributeType.Builder builder = (AttributeType.Builder) current; + builder.addAttribute(attribute); + } else if (InternalElementType.Builder.class.isAssignableFrom(current.getClass())) { + InternalElementType.Builder builder = (InternalElementType.Builder) current; + builder.addAttribute(attribute); + } else { + log.warn("adding attribute failed because no parent builder defined"); + } + } + + private void addExternalInterface(RoleClassType.ExternalInterface externalInterface, boolean allowDuplicate) { + if (externalInterface == null) { + return; + } + if (InternalElementType.Builder.class.isAssignableFrom(current.getClass())) { + InternalElementType.Builder builder = (InternalElementType.Builder) current; + if (!builder.build().getExternalInterface().stream() + .anyMatch(x -> x.getName().equals(externalInterface.getName()) + && x.getRefBaseClassPath().equals(externalInterface.getRefBaseClassPath()))) { + builder.addExternalInterface(externalInterface); + } + } else { + log.warn("adding external interface failed because no parent builder defined"); + } + } + + /** + * Adds an external interface with name and roleCall ReferableReference to + * the current element of the AML document + */ + public void addExternalInterfaceForReference() { + addExternalInterface(RoleClassType.ExternalInterface.builder() + .withID(newId()) + .withName(REFERABLE_REFERENCE_INTERFACE_CLASS) + .withRefBaseClassPath(documentInfo.getAssetAdministrationShellInterfaceClassLib() + "/" + REFERABLE_REFERENCE_INTERFACE_CLASS) + .build(), false); + } + + /** + * Adds an internal link with given namen pointing from source to target to + * the current element of the AML document + * + * @param name name if the link + * @param source source element of the link + * @param target reference pointing to the target element + */ + public void addInternalLink(String name, Referable source, Reference target) { + if (InternalElementType.Builder.class.isAssignableFrom(current.getClass())) { + InternalElementType.Builder builder = (InternalElementType.Builder) current; + builder.addInternalLink((SystemUnitClassType.InternalLink.builder() + .withName(name) + .withID(newId()) + .withRefPartnerSideA(getId(source) + ":" + REFERABLE_REFERENCE_INTERFACE_CLASS) + .withRefPartnerSideB(getId(target) + ":" + REFERABLE_REFERENCE_INTERFACE_CLASS) + .build())); + } else { + log.warn("adding internal link failed because no parent builder defined"); + } + } + + /** + * Adds an external interface of type ReferableReference with given name + * with unresolvabled reference as value to the current element of the AML + * document + * + * @param name name of the interface + * @param reference unresolvable target reference + */ + public void addExternalInterfaceForUnresolvableReference(String name, Reference reference) { + addExternalInterface(RoleClassType.ExternalInterface.builder() + .withID(idGenerator.next()) + .withName(name) + .withRefBaseClassPath(documentInfo.getAssetAdministrationShellInterfaceClassLib() + "/" + REFERABLE_REFERENCE_INTERFACE_CLASS) + .addAttribute(AttributeType.builder() + .withName("value") + .withID(newId()) + .withAttributeDataType("xs:string") + .withValue(AasUtils.asString(reference)) + .build()) + .build(), + false); + } + + /** + * Clears the ID cache. This should be used with caution as it may cause + * reference resolution mechanism to fail. Typically it will only be called + * after processing the InstanceHierarchy elements and before creating + * custom SystemUnitClasses + */ + public void clearIdCache() { + idCache.clear(); + } + + public void addSystemUnitClassLib(CAEXFile.SystemUnitClassLib systemUnitClassLib) { + if (systemUnitClassLib == null) { + return; + } + if (fileBuilder != null) { + fileBuilder = fileBuilder.addSystemUnitClassLib(systemUnitClassLib); + } + } + + public void addInstanceHierarchy(CAEXFile.InstanceHierarchy instanceHierarchy) { + if (instanceHierarchy == null) { + return; + } + if (fileBuilder != null) { + fileBuilder = fileBuilder.addInstanceHierarchy(instanceHierarchy); + } + } + + public void addInternalElement(InternalElementType internalElement, Object source) { + addInternalElement(InternalElementType + .copyOf(internalElement) + .withID(getId(source)) + .build()); + } + + public void addInternalElement(InternalElementType element) { + if (element == null) { + return; + } + InternalElementType value = element; + if (value.getID() == null || value.getID().isBlank()) { + value = InternalElementType + .copyOf(element) + .withID(idGenerator.next()) + .build(); + } + if (InternalElementType.Builder.class.isAssignableFrom(current.getClass())) { + InternalElementType.Builder builder = (InternalElementType.Builder) current; + builder.addInternalElement(value); + } else if (CAEXFile.InstanceHierarchy.Builder.class.isAssignableFrom(current.getClass())) { + CAEXFile.InstanceHierarchy.Builder builder = (CAEXFile.InstanceHierarchy.Builder) current; + builder.addInternalElement(value); + } else { + log.warn("adding internalElement failed because no parent builder defined"); + } + } + + public void appendReferenceTargetInterfaceIfRequired(Object obj, MappingContext context) { + RoleClassType.ExternalInterface referenceTargetInterface = getReferenceTargetInterface(obj, context); + if (referenceTargetInterface != null) { + addExternalInterface(referenceTargetInterface, false); + } + } + + public RoleClassType.ExternalInterface getReferenceTargetInterface(Object obj, MappingContext context) { + RoleClassType.ExternalInterface result = null; + if (obj != null && Referable.class.isAssignableFrom(obj.getClass())) { + Referable referable = (Referable) obj; + Reference targetRef = AasUtils.toReference(reference, referable); + if (context.isTargetOfInternalLink(targetRef)) { + result = RoleClassType.ExternalInterface.builder() + .withID(newId()) + .withName("ReferableReference") + .withRefBaseClassPath(documentInfo.getAssetAdministrationShellInterfaceClassLib() + "/ReferableReference") + .build(); + } + } + return result; + } + + public InternalElementType.RoleRequirements roleRequirement(String value) { + return InternalElementType.RoleRequirements.builder() + .withRefBaseRoleClassPath(documentInfo.getAssetAdministrationShellRoleClassLib() + "/" + value) + .build(); + } + + public AttributeType.RefSemantic refSemantic(Class type, String propertyName) { + return AttributeType.RefSemantic.builder() + .withCorrespondingAttributePath(refSemanticPrefix + (refSemanticPrefix.isBlank() ? "" : ":") + type.getSimpleName() + "/" + propertyName) + .build(); + } + + /** + * Creates a refSemantic object for a given property and property name. + * + * @param property the property + * @param propertyName the property name to use in the refSemantic. + * @return the generated refSemantic object + */ + public AttributeType.RefSemantic refSemantic(PropertyDescriptor property, String propertyName) { + return refSemantic(property.getReadMethod().getDeclaringClass(), propertyName); + } + + /** + * Gets to AML document info + * + * @return the AML document info + */ + public AmlDocumentInfo getDocumentInfo() { + return documentInfo; + } + + public static class Builder { + + private String refSemanticPrefix = DEFAULT_REF_SEMANTIC_PREFIX; + private CAEXObject.Builder current; + private CAEXFile.Builder fileBuilder = CAEXFile.builder(); + private AmlDocumentInfo documentInfo = new AmlDocumentInfo(); + private IdGenerator idGenerator = new UuidGenerator(); + + public AmlGenerator build() { + return new AmlGenerator(documentInfo, + idGenerator, + new HashMap<>(), + refSemanticPrefix, + fileBuilder, + current, + new DefaultReference.Builder().build()); + } + + public Builder refSemanticPrefix(String value) { + this.refSemanticPrefix = value; + return this; + } + + public Builder current(CAEXObject.Builder value) { + this.current = value; + return this; + } + + public Builder idGenerator(IdGenerator value) { + this.idGenerator = value; + return this; + } + + public Builder file(CAEXFile.Builder value) { + this.fileBuilder = value; + return this; + } + + public Builder documentInfo(AmlDocumentInfo value) { + this.documentInfo = value; + return this; + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultCollectionMapper.java new file mode 100644 index 000000000..c95065b88 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultCollectionMapper.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import java.lang.reflect.ParameterizedType; +import java.util.Collection; + +public class DefaultCollectionMapper extends DefaultMapper> { + + @Override + protected Class getType(Collection collection, MappingContext context) { + if (context.getProperty() != null) { + return (Class) ((ParameterizedType) context.getProperty().getReadMethod().getGenericReturnType()).getActualTypeArguments()[0]; + } + if (collection != null && !collection.isEmpty()) { + return (Class) ReflectionHelper.getAasInterface(collection.iterator().next().getClass()); + } + return null; + } + + @Override + protected void asInternalElement(Collection collection, AmlGenerator generator, MappingContext context) throws MappingException { + for (T element : collection) { + context.withoutProperty().map(element, generator); + } + } + + @Override + protected void mapProperties(Collection collection, AmlGenerator generator, MappingContext context) throws MappingException { + } + + @Override + protected void asAttribute(Collection collection, AmlGenerator generator, MappingContext context) throws MappingException { + if (collection != null && !collection.isEmpty()) { + AttributeType.Builder builder = super.toAttribute(collection, generator, context); + for (T element : collection) { + context.map(element, generator.with(builder)); + } + generator.add(builder.build()); + } + } + + @Override + protected String getAttributeName(Collection value, MappingContext context) { + return context.getPropertyNamingStrategy().getName( + context.getProperty().getReadMethod().getDeclaringClass(), + value, + context.getProperty().getName()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultMapper.java new file mode 100644 index 000000000..286068803 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/DefaultMapper.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Referable; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +public class DefaultMapper implements Mapper { + + private final Set ignoredProperties = new HashSet<>(); + + public DefaultMapper() { + } + + public DefaultMapper(String... ignoredProperties) { + this.ignoredProperties.addAll(Arrays.asList(ignoredProperties)); + } + + protected Class getType(T value, MappingContext context) { + return value.getClass(); + } + + @Override + public void map(T value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value == null || context == null) { + return; + } + Class aasType = getType(value, context); + if (aasType == null) { + return; + } + Class aasTypeInfo = ReflectionHelper.getMostSpecificTypeWithModelType(aasType); + if (aasTypeInfo != null) { + asInternalElement(value, generator, context); + } else { + asAttribute(value, generator, context); + } + } + + protected void asInternalElement(T value, AmlGenerator generator, MappingContext context) throws MappingException { + InternalElementType.Builder builder = toInternalElement(value, generator, context); + if (builder != null) { + generator.with(builder).appendReferenceTargetInterfaceIfRequired(value, context); + generator.addInternalElement(builder.build(), value); + } + } + + protected void asAttribute(T value, AmlGenerator generator, MappingContext context) throws MappingException { + AttributeType.Builder builder = toAttribute(value, generator, context); + if (builder != null) { + generator.add(builder.build()); + } + } + + protected InternalElementType.Builder toInternalElement(T value, AmlGenerator generator, MappingContext context) throws MappingException { + InternalElementType.Builder builder = InternalElementType.builder(); + builder = builder + .withName(getInternalElementName(value, context)) + .withRoleRequirements(getRoleRequirementClass(value, generator, context)); + AmlGenerator subGenerator = generator; + if (Referable.class.isAssignableFrom(value.getClass())) { + subGenerator = generator.with((Referable) value); + } + mapProperties(value, subGenerator.with(builder), context); + return builder; + } + + protected InternalElementType.RoleRequirements getRoleRequirementClass(T value, AmlGenerator generator, MappingContext context) { + return generator.roleRequirement(ReflectionHelper.getModelType(value.getClass())); + } + + protected AttributeType.RefSemantic getRefSemantic(T value, AmlGenerator generator, MappingContext context) { + return generator.refSemantic( + context.getProperty(), + context.getPropertyNamingStrategy().getNameForRefSemantic( + context.getProperty().getReadMethod().getGenericReturnType(), + value, + context.getProperty().getName())); + } + + protected String getInternalElementName(Object value, MappingContext context) { + return context.getClassNamingStrategy().getName( + value.getClass(), + value, + null); + } + + protected String getAttributeName(T value, MappingContext context) { + return context.getPropertyNamingStrategy().getName( + context.getProperty().getReadMethod().getGenericReturnType(), + value, + context.getProperty().getName()); + } + + protected AttributeType.Builder toAttribute(T value, AmlGenerator generator, MappingContext context) throws MappingException { + Class aasType = value != null + ? ReflectionHelper.getAasInterface(value.getClass()) + : null; + AttributeType.Builder builder = AttributeType.builder(); + if (context.getProperty() != null) { + builder = builder + .withName(getAttributeName(value, context)) + .withRefSemantic(getRefSemantic(value, generator, context)); + } + if (aasType != null) { + mapProperties(value, generator.with(builder), context); + } else { + builder = builder.withValue(value); + } + return builder; + } + + protected boolean skipProperty(PropertyDescriptor property) { + return ignoredProperties.contains(property.getName()); + } + + protected void mapProperties(T value, AmlGenerator generator, MappingContext context) throws MappingException { + for (PropertyDescriptor property : AasUtils.getAasProperties(value.getClass())) { + if (!skipProperty(property)) { + context.with(property) + .map(property.getReadMethod().getGenericReturnType(), + getPropertyValue(value, property, context), + generator); + } + } + } + + protected Object getPropertyValue(T value, PropertyDescriptor property, MappingContext context) throws MappingException { + try { + return property.getReadMethod().invoke(value); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException("failed to get property value for property " + property.getName(), ex); + } + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/IdentityProvider.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/IdentityProvider.java new file mode 100644 index 000000000..cab9952a1 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/IdentityProvider.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.aml.serialization.id.IdGenerator; +import java.util.HashMap; +import java.util.Map; + +public class IdentityProvider { + + private final Map cache; + private final IdGenerator idGenerator; + + public IdentityProvider(IdGenerator idGenerator) { + this.cache = new HashMap<>(); + this.idGenerator = idGenerator; + } + + public String getCachedId(Object obj) { + if (cache.containsKey(obj)) { + return cache.get(obj); + } + String result = generateId(); + cache.put(obj, result); + return result; + } + + public String generateId() { + String result = null; + do { + result = idGenerator.next(); + } while (cache.values().contains(result)); + return result; + } + + public IdGenerator getIdGenerator() { + return idGenerator; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/Mapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/Mapper.java new file mode 100644 index 000000000..abbfc4bb8 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/Mapper.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.mapping.SourceBasedMapper; + +public interface Mapper extends SourceBasedMapper { + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/MappingContext.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/MappingContext.java new file mode 100644 index 000000000..015dddda3 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/MappingContext.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization; + +import io.adminshell.aas.v3.dataformat.aml.common.naming.NamingStrategy; +import io.adminshell.aas.v3.dataformat.aml.util.ReferencedReferableCollector; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.dataformat.mapping.MappingProvider; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.dataformat.aml.common.AbstractMappingContext; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Type; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import io.adminshell.aas.v3.model.Reference; +import java.util.Set; + +public class MappingContext extends AbstractMappingContext { + + private static final Logger log = LoggerFactory.getLogger(MappingContext.class); + private final AssetAdministrationShellEnvironment environment; + private final Set referencedReferables; + + public MappingContext(MappingProvider mappingProvider, + NamingStrategy internalElementNamingStrategy, + NamingStrategy attributeNamingStrategy, + AssetAdministrationShellEnvironment environment) { + this(mappingProvider, + internalElementNamingStrategy, + attributeNamingStrategy, + environment, + null, + null); + } + + private MappingContext(MappingProvider mappingProvider, + NamingStrategy classNamingStrategy, + NamingStrategy propertyNamingStrategy, + AssetAdministrationShellEnvironment environment, + Set referencedReferables, + PropertyDescriptor property) { + super(mappingProvider, classNamingStrategy, propertyNamingStrategy, property); + this.environment = environment; + if (referencedReferables == null) { + this.referencedReferables = new ReferencedReferableCollector(environment).collect(); + } else { + this.referencedReferables = referencedReferables; + } + } + + public boolean isTargetOfInternalLink(Reference targetRef) { + return referencedReferables.stream().anyMatch(x -> AasUtils.sameAs(x, targetRef)); + } + + public void map(T value, AmlGenerator generator) throws MappingException { + mappingProvider.getMapper(value).map(value, generator, this); + } + + public void map(Type type, T value, AmlGenerator generator) throws MappingException { + mappingProvider.getMapper(type).map(value, generator, this); + } + + public MappingContext with(PropertyDescriptor property) { + return new MappingContext( + getMappingProvider(), + classNamingStrategy, + propertyNamingStrategy, + environment, + referencedReferables, + property); + } + + public MappingContext withoutProperty() { + return new MappingContext( + mappingProvider, + classNamingStrategy, + propertyNamingStrategy, + environment, + referencedReferables, + null); + } + + public PropertyDescriptor getProperty() { + return property; + } + + public AssetAdministrationShellEnvironment getEnvironment() { + return environment; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IdGenerator.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IdGenerator.java new file mode 100644 index 000000000..a9074e144 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IdGenerator.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.id; + +public interface IdGenerator { + + public String next(); +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IntegerIdGenerator.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IntegerIdGenerator.java new file mode 100644 index 000000000..05472323b --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/IntegerIdGenerator.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.id; + +public class IntegerIdGenerator implements IdGenerator { + + private int id = 1; + + @Override + public String next() { + return Integer.toString(id++); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/UuidGenerator.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/UuidGenerator.java new file mode 100644 index 000000000..ef218427c --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/id/UuidGenerator.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.id; + +import java.util.UUID; + +public class UuidGenerator implements IdGenerator { + + @Override + public String next() { + return UUID.randomUUID().toString(); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AbstractElementMapperWithValueType.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AbstractElementMapperWithValueType.java new file mode 100644 index 000000000..865d2424b --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AbstractElementMapperWithValueType.java @@ -0,0 +1,133 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * Abstract base class for AAS types that have the properties 'value' and + * 'valueType' that ensures valueType is serialized as attribute of value + * + */ +public abstract class AbstractElementMapperWithValueType extends DefaultMapper { + + protected static final String PROPERTY_VALUE_NAME = "value"; + protected static final String PROPERTY_VALUE_TYPE_NAME = "valueType"; + protected static final String PROPERTY_VALUE_TYPE_NAMESPACE_PREFIX = "xs:"; + private List typedProperties = List.of(PROPERTY_VALUE_NAME); + + protected AbstractElementMapperWithValueType(String... typedProperties) { + super(PROPERTY_VALUE_TYPE_NAME); + this.typedProperties = Arrays.asList(typedProperties); + } + + protected AbstractElementMapperWithValueType() { + super(PROPERTY_VALUE_TYPE_NAME); + } + + @Override + protected InternalElementType.Builder toInternalElement(T value, AmlGenerator generator, MappingContext context) throws MappingException { + InternalElementType original = super.toInternalElement(value, generator, context).build(); + Optional valueTypeProperty = AasUtils.getAasProperties(value.getClass()).stream() + .filter(x -> PROPERTY_VALUE_TYPE_NAME.equals(x.getName())) + .findFirst(); + List untouchedAttributes = original.getAttribute().stream() + .filter(x -> !typedProperties.contains(x.getName())) + .collect(Collectors.toList()); + InternalElementType.Builder builder = InternalElementType + .copyOf(original) + .withAttribute(untouchedAttributes); + for (String property : typedProperties) { + AttributeType.Builder typedAttributeBuilder; + Optional attributeToType = original.getAttribute().stream() + .filter(x -> property.equals(x.getName())) + .findFirst(); + if (attributeToType.isPresent()) { + typedAttributeBuilder = AttributeType.copyOf(attributeToType.get()); + } else { + typedAttributeBuilder = super.toAttribute(null, generator, context.with(AasUtils.getProperty(value, property))); + } + Object type = null; + if (valueTypeProperty.isPresent()) { + try { + type = valueTypeProperty.get().getReadMethod().invoke(value); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException(String.format("error reading property %s", PROPERTY_VALUE_TYPE_NAME)); + } + } + if (attributeToType.isPresent() || type != null) { + if (type != null) { + typedAttributeBuilder = typedAttributeBuilder.withAttributeDataType(PROPERTY_VALUE_TYPE_NAMESPACE_PREFIX + type); + } + builder = builder.addAttribute(typedAttributeBuilder.build()); + } + } + return builder; + } + + @Override + protected AttributeType.Builder toAttribute(T value, AmlGenerator generator, MappingContext context) throws MappingException { + AttributeType original = super.toAttribute(value, generator, context).build(); + Optional valueTypeProperty = AasUtils.getAasProperties(value.getClass()).stream() + .filter(x -> PROPERTY_VALUE_TYPE_NAME.equals(x.getName())) + .findFirst(); + List untouchedAttributes = original.getAttribute().stream() + .filter(x -> !typedProperties.contains(x.getName())) + .collect(Collectors.toList()); + AttributeType.Builder builder = AttributeType + .copyOf(original) + .withAttribute(untouchedAttributes); + for (String property : typedProperties) { + AttributeType.Builder typedAttributeBuilder; + Optional attributeToType = original.getAttribute().stream() + .filter(x -> property.equals(x.getName())) + .findFirst(); + if (attributeToType.isPresent()) { + typedAttributeBuilder = AttributeType.copyOf(attributeToType.get()); + } else { + typedAttributeBuilder = super.toAttribute(null, generator, context + .with(AasUtils.getProperty(value, property))); + } + Object type = null; + if (valueTypeProperty.isPresent()) { + try { + type = valueTypeProperty.get().getReadMethod().invoke(value); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException(String.format("error reading property %s", PROPERTY_VALUE_TYPE_NAME)); + } + } + if (attributeToType.isPresent() || type != null) { + if (type != null) { + typedAttributeBuilder = typedAttributeBuilder.withAttributeDataType(PROPERTY_VALUE_TYPE_NAMESPACE_PREFIX + type); + } + builder = builder.addAttribute(typedAttributeBuilder.build()); + } + } + return builder; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellEnvironmentMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellEnvironmentMapper.java new file mode 100644 index 000000000..dad931b59 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellEnvironmentMapper.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import com.google.inject.util.Types; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile; +import io.adminshell.aas.v3.dataformat.aml.model.caex.CAEXFile.SystemUnitClassLib; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.SystemUnitClassType.SupportedRoleClass; +import io.adminshell.aas.v3.dataformat.aml.model.caex.SystemUnitFamilyType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Submodel; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class AssetAdministrationShellEnvironmentMapper extends DefaultMapper { + + @Override + public void map(AssetAdministrationShellEnvironment value, AmlGenerator generator, MappingContext context) throws MappingException { + List assetAdministrationShells = value.getAssetAdministrationShells().stream() + .filter(x -> x.getSubmodels().stream() + .anyMatch(sm -> { + Submodel submodel = AasUtils.resolve(sm, value, Submodel.class); + return submodel != null && submodel.getKind() != ModelingKind.TEMPLATE; + })) + .collect(Collectors.toList()); + toHierarchy(generator.getDocumentInfo().getAssetAdministrationShellInstanceHierarchy(), + AssetAdministrationShell.class, + assetAdministrationShells, + generator, + context); + toHierarchy( + generator.getDocumentInfo().getConceptDescriptionInstanceHierarchy(), + ConceptDescription.class, + value.getConceptDescriptions(), + generator, + context); + mapTemplates(value, generator, context); + } + + protected void toHierarchy( + String hierarchyName, + Class type, + Collection value, + AmlGenerator generator, + MappingContext context) throws MappingException { + CAEXFile.InstanceHierarchy.Builder builder = CAEXFile.InstanceHierarchy.builder() + .withName(hierarchyName); + context.map(Types.newParameterizedType(Collection.class, type), value, generator.with(builder)); + generator.addInstanceHierarchy(builder.build()); + } + + protected void mapTemplates(AssetAdministrationShellEnvironment env, AmlGenerator generator, MappingContext context) throws MappingException { + boolean empty = true; + SystemUnitClassLib.Builder builder = SystemUnitClassLib.builder() + .withName(generator.getDocumentInfo().getAssetAdministrationShellSystemUnitClassLib()); + + // generate SystemUnitClass for each AAS with at least 1 Submodel with kind == TEMPLATE + // generate SystemUnitClass for each Submodel with king == TEMPLATE + for (AssetAdministrationShell aas : env.getAssetAdministrationShells()) { + List submodelTemplates = AasUtils.getSubmodelTemplates(aas, env); + if (!submodelTemplates.isEmpty()) { + empty = false; + generator.clearIdCache(); + InternalElementType.Builder temp = InternalElementType.builder(); + context.withoutProperty().map(aas, generator.with(temp)); + builder.addSystemUnitClass(internalElementToSystemUnitClass(temp.build().getInternalElement().get(0))); + } + generator.clearIdCache(); + for (Submodel submodel : submodelTemplates) { + InternalElementType.Builder temp = InternalElementType.builder(); + context.withoutProperty().map(submodel, generator.with(temp)); + builder.addSystemUnitClass(internalElementToSystemUnitClass(temp.build().getInternalElement().get(0))); + } + } + if (!empty) { + generator.addSystemUnitClassLib(builder.build()); + } + } + + protected SystemUnitFamilyType internalElementToSystemUnitClass(InternalElementType internalElement) { + return SystemUnitFamilyType.builder() + .withName(internalElement.getName()) + .withID(internalElement.getID()) + .addAttribute(internalElement.getAttribute()) + .addInternalElement(internalElement.getInternalElement()) + .withSupportedRoleClass(SupportedRoleClass.builder() + .withRefRoleClassPath(internalElement.getRoleRequirements().getRefBaseRoleClassPath()) + .build()) + .build(); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellMapper.java new file mode 100644 index 000000000..3c9a255b6 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/AssetAdministrationShellMapper.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.Submodel; +import java.beans.PropertyDescriptor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AssetAdministrationShellMapper extends DefaultMapper { + + private static final Logger log = LoggerFactory.getLogger(AssetAdministrationShellMapper.class); + + @Override + protected boolean skipProperty(PropertyDescriptor property) { + return "submodels".equals(property.getName()); + } + + @Override + public void map(AssetAdministrationShell aas, AmlGenerator generator, MappingContext context) throws MappingException { + if (aas == null) { + return; + } + InternalElementType.Builder builder = toInternalElement(aas, generator, context); + boolean hasTemplateSubmodel = false; + for (Reference reference : aas.getSubmodels()) { + Submodel resolvedSubmodel = AasUtils.resolve(reference, context.getEnvironment(), Submodel.class); + if (resolvedSubmodel != null) { + context.map(resolvedSubmodel, generator.with(builder)); + if (resolvedSubmodel.getKind() == ModelingKind.TEMPLATE) { + hasTemplateSubmodel = true; + } + } else { + log.warn("unresolvable submodel reference '{}' found in AssetAdministrationShell '{}'", + AasUtils.asString(reference), + aas.getIdentification().getIdentifier()); + context.map(AasUtils.asString(reference), generator); + } + } + if (hasTemplateSubmodel) { + builder = builder.withRefBaseSystemUnitPath(generator.getDocumentInfo().getAssetAdministrationShellSystemUnitClassLib() + + "/" + context.getClassNamingStrategy().getName(aas.getClass(), aas, null)); + } + generator.with(builder).appendReferenceTargetInterfaceIfRequired(aas, context); + generator.add(builder.build()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConceptDescriptionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConceptDescriptionMapper.java new file mode 100644 index 000000000..d38d91898 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConceptDescriptionMapper.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType.RefSemantic; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.ConceptDescription; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class ConceptDescriptionMapper extends DefaultMapper { + + protected static final String PROPERTY_IS_CASE_OF_NAME = "isCaseOf"; + protected static final String PROPERTY_IS_CASE_OFS_NAME = PROPERTY_IS_CASE_OF_NAME + "s"; + + @Override + protected InternalElementType.Builder toInternalElement(ConceptDescription value, AmlGenerator generator, MappingContext context) throws MappingException { + InternalElementType original = super.toInternalElement(value, generator, context).build(); + List untouchedAttributes = original.getAttribute().stream() + .filter(x -> !PROPERTY_IS_CASE_OFS_NAME.equals(x.getName())) + .collect(Collectors.toList()); + InternalElementType.Builder builder = InternalElementType + .copyOf(original) + .withAttribute(untouchedAttributes); + Optional isCaseOfAttribute = original.getAttribute().stream() + .filter(x -> PROPERTY_IS_CASE_OFS_NAME.equals(x.getName())) + .findFirst(); + if (isCaseOfAttribute.isPresent()) { + String path = isCaseOfAttribute.get().getRefSemantic().get(0).getCorrespondingAttributePath(); + String newPath = path.substring(0, path.lastIndexOf("/") + 1) + PROPERTY_IS_CASE_OF_NAME; + builder = builder.addAttribute(AttributeType + .copyOf(isCaseOfAttribute.get()) + .withName(PROPERTY_IS_CASE_OF_NAME) + .withRefSemantic(RefSemantic.copyOf(isCaseOfAttribute.get().getRefSemantic().get(0)) + .withCorrespondingAttributePath(newPath) + .build()) + .build()); + } + return builder; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConstraintCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConstraintCollectionMapper.java new file mode 100644 index 000000000..97a8d1832 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ConstraintCollectionMapper.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.Mapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Constraint; +import java.util.Collection; + +public class ConstraintCollectionMapper implements Mapper> { + + @Override + public void map(Collection value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value == null || value.isEmpty()) { + return; + } + for (Constraint element : value) { + context.map(element, generator); + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationContentMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationContentMapper.java new file mode 100644 index 000000000..2ddbe430a --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationContentMapper.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.DataSpecificationContent; + +public class DataSpecificationContentMapper extends DefaultMapper { + + public DataSpecificationContentMapper() { + } + + @Override + public void map(DataSpecificationContent content, AmlGenerator generator, MappingContext context) throws MappingException { + toInternalElement(content, generator, context); + } + + @Override + protected InternalElementType.RoleRequirements getRoleRequirementClass(DataSpecificationContent value, AmlGenerator generator, MappingContext context) { + return generator.roleRequirement(DataSpecificationContent.class.getSimpleName()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationIEC61360Mapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationIEC61360Mapper.java new file mode 100644 index 000000000..acacdbcc8 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationIEC61360Mapper.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import java.beans.PropertyDescriptor; + +public class DataSpecificationIEC61360Mapper extends DefaultMapper { + + @Override + public void map(DataSpecificationIEC61360 content, AmlGenerator generator, MappingContext context) throws MappingException { + asInternalElement(content, generator, context); + } + +// @Override +// protected String getId(DataSpecificationIEC61360 value, AmlGenerator generator, Aas2AmlMappingContext context) { +// return context.generateId(); +// } + @Override + protected InternalElementType.RoleRequirements getRoleRequirementClass(DataSpecificationIEC61360 value, AmlGenerator generator, MappingContext context) { + return generator.roleRequirement(DataSpecificationContent.class.getSimpleName()); + } + + @Override + protected boolean skipProperty(PropertyDescriptor property) { + return property.getName().equals("levelTypes") || property.getName().equals("valueList"); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationMapper.java new file mode 100644 index 000000000..60a04f58d --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/DataSpecificationMapper.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; + +public class DataSpecificationMapper extends DefaultMapper { + + public DataSpecificationMapper() { + } + + @Override + public void map(EmbeddedDataSpecification value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value.getDataSpecificationContent() != null) { + //embedded + DataSpecificationContent content = value.getDataSpecificationContent(); + String refSystemUnitPath = generator.getDocumentInfo().getDataSpecificationTemplatesSystemUnitClassLib() + + "/" + content.getClass().getSimpleName() + "Template/" + + content.getClass().getSimpleName(); + InternalElementType.Builder builder = InternalElementType.builder() + .withRefBaseSystemUnitPath(refSystemUnitPath) + .withName("EmbeddedDataSpecification"); + // serialize properties, but with different attribute path ("IEC:DataSpecificationIEC63360/[propertyName]) + } else { + // linked + // should this even be serialized for AML? + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/EmbeddedDataSpecificationCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/EmbeddedDataSpecificationCollectionMapper.java new file mode 100644 index 000000000..30bd860ef --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/EmbeddedDataSpecificationCollectionMapper.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.DataSpecificationInfo; +import io.adminshell.aas.v3.dataformat.core.DataSpecificationManager; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class EmbeddedDataSpecificationCollectionMapper extends DefaultMapper> { + + @Override + public void map(Collection value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value == null || context == null || value.isEmpty()) { + return; + } + long countAttributes = value.stream().filter(x -> x.getDataSpecificationContent() == null).count(); + long countInternalElement = value.size() - countAttributes; + List attributes = new ArrayList<>(); + List internalElements = new ArrayList<>(); + for (EmbeddedDataSpecification element : value) { + if (element.getDataSpecificationContent() == null) { + AttributeType.Builder builder = AttributeType.builder() + .withName("hasDataSpecification" + (countAttributes > 1 ? "_" + (attributes.size() + 1) : "")) + .withValue(AasUtils.asString(element.getDataSpecification())) + .withRefSemantic(generator.refSemantic(ConceptDescription.class, "dataSpecification")); + attributes.add(builder.build()); + } else { + DataSpecificationInfo dataSpecification = DataSpecificationManager.getDataSpecification(element.getDataSpecificationContent().getClass()); + if (dataSpecification == null) { + throw new MappingException("unkown data specification " + element.getDataSpecificationContent().getClass()); + } + InternalElementType.Builder temp = InternalElementType.builder(); + AmlGenerator subGenerator = generator.with(temp).withRefSemanticPrefix(dataSpecification.getPrefix()); + context.map(element.getDataSpecificationContent(), subGenerator); + InternalElementType.Builder builder = InternalElementType.copyOf(temp.build().getInternalElement().get(0)) + .withName("EmbeddedDataSpecification" + (countInternalElement > 1 ? "_" + (internalElements.size() + 1) : "")) + .withID(generator.getId(value)) + .withRefBaseSystemUnitPath(generator.getDocumentInfo().getDataSpecificationTemplatesSystemUnitClassLib() + + "/" + getDataSpecificationContentType(element.getDataSpecificationContent().getClass()) + "Template/" + + getDataSpecificationContentType(element.getDataSpecificationContent().getClass())); + internalElements.add(builder.build()); + } + } + attributes.forEach(x -> generator.addAttribute(x)); + if (internalElements.size() > 1) { + InternalElementType wrapper = InternalElementType.builder() + .withName("EmbeddedDataSpecifications") + .addInternalElement(internalElements) + .build(); + generator.addInternalElement(wrapper); + } else { + internalElements.forEach(x -> generator.addInternalElement(x)); + } + } + + private String getDataSpecificationContentType(Class type) { + // TODO should be resolved using DataSpecificationManager but this requires fundamental changes to + // DataSpecificationManager as it currently is based on Reference instead of name + // workaround: go up superclasses/interfaces and find most-specific interface that extends DataSpecificationContent + if (type == null) { + return null; + } + Class[] interfaces = type.getInterfaces(); + for (Class temp : interfaces) { + if (DataSpecificationContent.class.isAssignableFrom(temp)) { + return temp.getSimpleName(); + } + } + return getDataSpecificationContentType(type.getSuperclass()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/FileMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/FileMapper.java new file mode 100644 index 000000000..3f727cbfa --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/FileMapper.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.aml.model.caex.RoleClassType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.File; + +public class FileMapper extends DefaultMapper { + + private static final String FILE_INTERFACE_NAME = "FileDataReference"; + private static final String ATTRIBUTE_MIMETYPE_NAME = "MIMEType"; + private static final String ATTRIBUTE_MIMETYPE_DATATYPE = "xs:string"; + private static final String ATTRIBUTE_REFURI_NAME = "refURI"; + private static final String ATTRIBUTE_REFURI_DATATYPE = "xs:anyURI"; + + public FileMapper() { + } + + @Override + protected InternalElementType.Builder toInternalElement(File value, AmlGenerator generator, MappingContext context) throws MappingException { + InternalElementType.Builder builder = super.toInternalElement(value, generator, context); + if (builder != null) { + builder.withExternalInterface(RoleClassType.ExternalInterface.builder() + .withID(generator.newId()) + .withName(FILE_INTERFACE_NAME) + .withRefBaseClassPath(generator.getDocumentInfo().getAssetAdministrationShellInterfaceClassLib() + "/" + FILE_INTERFACE_NAME) + .addAttribute(AttributeType.builder() + .withName(ATTRIBUTE_MIMETYPE_NAME) + .withAttributeDataType(ATTRIBUTE_MIMETYPE_DATATYPE) + .withRefSemantic(generator.refSemantic(File.class, ATTRIBUTE_MIMETYPE_NAME)) + .withValue(value.getMimeType()) + .build()) + .addAttribute(AttributeType.builder() + .withName(ATTRIBUTE_REFURI_NAME) + .withValue(value.getValue()) + .withAttributeDataType(ATTRIBUTE_REFURI_DATATYPE) + .withRefSemantic(generator.refSemantic(File.class, ATTRIBUTE_REFURI_NAME)) + .build()) + .build()); + } + return builder; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/IdentifierKeyValuePairCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/IdentifierKeyValuePairCollectionMapper.java new file mode 100644 index 000000000..8da1a775f --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/IdentifierKeyValuePairCollectionMapper.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class IdentifierKeyValuePairCollectionMapper extends DefaultMapper> { + + private static final String ATTRIBUTE_NAME = "specificAssetId"; + + @Override + public void map(Collection value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value == null || context == null || value.isEmpty()) { + return; + } + AttributeType.Builder wrapperBuilder = AttributeType.builder() + .withName(ATTRIBUTE_NAME) + .withRefSemantic(generator.refSemantic(AssetInformation.class, ATTRIBUTE_NAME)); + List attributes = new ArrayList<>(); + for (IdentifierKeyValuePair element : value) { + AttributeType.Builder builder = AttributeType.builder() + .withName(ATTRIBUTE_NAME + (value.size() > 1 ? "_" + (attributes.size() + 1) : "")); + for (PropertyDescriptor property : AasUtils.getAasProperties(element.getClass())) { + if (!skipProperty(property)) { + context.with(property) + .map(property.getReadMethod().getGenericReturnType(), + getElemenetPropertyValue(element, property, context), + generator.with(builder)); + } + } + attributes.add(builder.build()); + } + attributes.forEach(x -> wrapperBuilder.addAttribute(x)); + generator.add(wrapperBuilder.build()); + } + + protected Object getElemenetPropertyValue(IdentifierKeyValuePair elemenet, PropertyDescriptor property, MappingContext context) throws MappingException { + try { + return property.getReadMethod().invoke(elemenet); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new MappingException("failed to get property value for property " + property.getName(), ex); + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/LangStringCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/LangStringCollectionMapper.java new file mode 100644 index 000000000..9a2cd44c4 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/LangStringCollectionMapper.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultCollectionMapper; +import io.adminshell.aas.v3.model.LangString; +import java.lang.reflect.ParameterizedType; +import java.util.Collection; +import java.util.stream.Collectors; + +public class LangStringCollectionMapper extends DefaultCollectionMapper { + + private static final String NAME_PREFIX = "aml-lang="; + + @Override + public void map(Collection value, AmlGenerator generator, MappingContext context) { + if (context == null || context.getProperty() == null) { + throw new IllegalArgumentException("context.property must be non-null"); + } + if (value == null || value.isEmpty()) { + return; + } + Object t = (Class) ((ParameterizedType) context.getProperty().getReadMethod().getGenericReturnType()).getActualTypeArguments()[0]; + + generator.addAttribute(AttributeType.builder() + .withName(context.getPropertyNamingStrategy().getName( + context.getProperty().getReadMethod().getDeclaringClass(), + value, + context.getProperty().getName())) + .withRefSemantic(generator.refSemantic( + context.getProperty(), + context.getPropertyNamingStrategy().getNameForRefSemantic( + context.getProperty().getReadMethod().getDeclaringClass(), + value, + context.getProperty().getName()))) + .addAttribute(value.stream() + .map(x -> AttributeType.builder() + .withName(NAME_PREFIX + x.getLanguage()) + .withValue(x.getValue()) + .build()) + .collect(Collectors.toList())) + .build()); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableCollectionMapper.java new file mode 100644 index 000000000..934c58ee8 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableCollectionMapper.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.OperationVariable; +import java.util.Collection; + +public class OperationVariableCollectionMapper extends DefaultCollectionMapper { + + @Override + public void map(Collection value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value == null || value.isEmpty()) { + return; + } + String name = context.getPropertyNamingStrategy().getName( + value.getClass(), + value, + context.getProperty().getName()); + name = name.substring(0, 1).toUpperCase() + name.substring(1); + InternalElementType.Builder builder = InternalElementType.builder() + .withName(name) + .withID(generator.getId(value)) + .withRoleRequirements(generator.roleRequirement("Operation" + name)); + for (OperationVariable element : value) { + context.withoutProperty() + .map(element, generator.with(builder)); + } + generator.addInternalElement(builder.build()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableMapper.java new file mode 100644 index 000000000..50522e2ab --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/OperationVariableMapper.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.OperationVariable; + +public class OperationVariableMapper extends DefaultMapper { + + public OperationVariableMapper() { + } + + @Override + public void map(OperationVariable operationVariable, AmlGenerator generator, MappingContext context) throws MappingException { + if (operationVariable != null && operationVariable.getValue() != null) { + context.withoutProperty().map(operationVariable.getValue(), generator); + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/PropertyMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/PropertyMapper.java new file mode 100644 index 000000000..fd3691504 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/PropertyMapper.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.model.Property; + +public class PropertyMapper extends AbstractElementMapperWithValueType { + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/QualifierMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/QualifierMapper.java new file mode 100644 index 000000000..cd9bdb8c1 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/QualifierMapper.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Qualifier; + +public class QualifierMapper extends AbstractElementMapperWithValueType { + + @Override + public void map(Qualifier value, AmlGenerator generator, MappingContext context) throws MappingException { + asAttribute(value, generator, context); + } + + @Override + protected String getAttributeName(Qualifier value, MappingContext context) { + if (value != null && Qualifier.class.isAssignableFrom(value.getClass())) { + return context.getPropertyNamingStrategy().getName( + Qualifier.class, + value, + context.getProperty().getName()); + } + return super.getAttributeName(value, context); + } + + @Override + protected AttributeType.RefSemantic getRefSemantic(Qualifier value, AmlGenerator generator, MappingContext context) { + if (value != null && Qualifier.class.isAssignableFrom(value.getClass())) { + return generator.refSemantic( + context.getProperty(), + context.getPropertyNamingStrategy().getNameForRefSemantic( + Qualifier.class, + value, + context.getProperty().getName())); + } + return super.getRefSemantic(value, generator, context); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RangeMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RangeMapper.java new file mode 100644 index 000000000..8aea38097 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RangeMapper.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.model.Range; + +public class RangeMapper extends AbstractElementMapperWithValueType { + + protected static final String PROPERTY_MIN_NAME = "min"; + protected static final String PROPERTY_MAX_NAME = "max"; + + public RangeMapper() { + super(PROPERTY_MIN_NAME, PROPERTY_MAX_NAME); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceCollectionMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceCollectionMapper.java new file mode 100644 index 000000000..84d7f376a --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceCollectionMapper.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultCollectionMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Reference; +import java.util.Collection; + +public class ReferenceCollectionMapper extends DefaultCollectionMapper { + + @Override + public void map(Collection value, AmlGenerator generator, MappingContext context) throws MappingException { + if (value == null || value.isEmpty()) { + return; + } + for (Reference element : value) { + context.map(element, generator); + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceElementMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceElementMapper.java new file mode 100644 index 000000000..5e2918706 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceElementMapper.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.ReferenceElement; + +public class ReferenceElementMapper extends DefaultMapper { + + private static final String PROPERTY_VALUE_NAME = "value"; + private static final String PROPERTY_VALUE_TYPE = "xs:string"; + + public ReferenceElementMapper() { + super(PROPERTY_VALUE_NAME); + } + + @Override + public void map(ReferenceElement element, AmlGenerator generator, MappingContext context) throws MappingException { + if (element == null) { + return; + } + InternalElementType.Builder builder = InternalElementType.builder() + .withName(context.getClassNamingStrategy().getName( + element.getClass(), + element, + null)) + .withRoleRequirements(generator.roleRequirement(ReflectionHelper.getModelType(element.getClass()))); + AmlGenerator subGenerator = generator.with(builder); + mapProperties(element, subGenerator, context); + Referable resolvedReference = AasUtils.resolve(element.getValue(), context.getEnvironment()); + if (resolvedReference != null) { + subGenerator.addExternalInterfaceForReference(); + subGenerator.addInternalLink(PROPERTY_VALUE_NAME, element, element.getValue()); + } else { + if (element.getValue() != null) { + subGenerator.addExternalInterfaceForUnresolvableReference(PROPERTY_VALUE_NAME, element.getValue()); + } + } + subGenerator.appendReferenceTargetInterfaceIfRequired(element, context); + generator.addInternalElement(builder.build(), element); + } + +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceMapper.java new file mode 100644 index 000000000..a526f89db --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ReferenceMapper.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.model.caex.AttributeType; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Reference; + +public class ReferenceMapper extends DefaultMapper { + + @Override + protected AttributeType.Builder toAttribute(Reference value, AmlGenerator generator, MappingContext context) throws MappingException { + AttributeType.Builder builder = AttributeType.builder() + .withValue(AasUtils.asString(value)); + if (context.getProperty() != null) { + builder = builder + .withName(getAttributeName(value, context)) + .withRefSemantic(getRefSemantic(value, generator, context)); + } + return builder; + } + + @Override + protected String getAttributeName(Reference value, MappingContext context) { + return context.getPropertyNamingStrategy().getName( + Reference.class, + value, + context.getProperty().getName()); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RelationshipElementMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RelationshipElementMapper.java new file mode 100644 index 000000000..e73c6191f --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/RelationshipElementMapper.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.RelationshipElement; + +public class RelationshipElementMapper extends DefaultMapper { + + private static final String PROPERTY_FIRST_NAME = "first"; + private static final String PROPERTY_SECOND_NAME = "second"; + + public RelationshipElementMapper() { + super(PROPERTY_FIRST_NAME, PROPERTY_SECOND_NAME); + } + + @Override + public void map(RelationshipElement element, AmlGenerator generator, MappingContext context) throws MappingException { + if (element == null) { + return; + } + InternalElementType.Builder builder = InternalElementType.builder() + .withName(context.getClassNamingStrategy().getName( + element.getClass(), + element, + null)) + .withRoleRequirements(generator.roleRequirement(ReflectionHelper.getModelType(element.getClass()))); + AmlGenerator subGenerator = generator.with(builder); + mapProperties(element, subGenerator, context); + mapProperty(element, element.getFirst(), PROPERTY_FIRST_NAME, subGenerator, context); + mapProperty(element, element.getSecond(), PROPERTY_SECOND_NAME, subGenerator, context); + generator.with(builder).appendReferenceTargetInterfaceIfRequired(element, context); + generator.addInternalElement(builder.build(), element); + } + + private void mapProperty(RelationshipElement element, Reference reference, String name, AmlGenerator generator, MappingContext context) { + Referable resolvedReference = AasUtils.resolve(reference, context.getEnvironment()); + if (resolvedReference != null) { + generator.addExternalInterfaceForReference(); + generator.addInternalLink(name, element, reference); + } else { + generator.addExternalInterfaceForUnresolvableReference(name, reference); + } + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/SubmodelMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/SubmodelMapper.java new file mode 100644 index 000000000..1db81482d --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/SubmodelMapper.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Submodel; + +public class SubmodelMapper extends DefaultMapper { + + public SubmodelMapper() { + } + + @Override + protected InternalElementType.Builder toInternalElement(Submodel value, AmlGenerator generator, MappingContext context) throws MappingException { + InternalElementType.Builder builder = super.toInternalElement(value, generator, context); + if (value.getKind() == ModelingKind.TEMPLATE) { + builder = builder.withRefBaseSystemUnitPath(generator.getDocumentInfo().getAssetAdministrationShellSystemUnitClassLib() + + "/" + context.getClassNamingStrategy().getName(value.getClass(), value, null)); + } + return builder; + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ViewMapper.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ViewMapper.java new file mode 100644 index 000000000..4b90b1c16 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/serialization/mappers/ViewMapper.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialization.mappers; + +import io.adminshell.aas.v3.dataformat.aml.serialization.DefaultMapper; +import io.adminshell.aas.v3.dataformat.aml.serialization.AmlGenerator; +import io.adminshell.aas.v3.dataformat.aml.serialization.MappingContext; +import io.adminshell.aas.v3.dataformat.aml.model.caex.InternalElementType; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.mapping.MappingException; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.View; + +public class ViewMapper extends DefaultMapper { + + private static final String PROPERTY_CONTAINED_ELEMENTS_NAME = "containedElements"; + + public ViewMapper() { + super(PROPERTY_CONTAINED_ELEMENTS_NAME); + } + + @Override + public void map(View view, AmlGenerator generator, MappingContext context) throws MappingException { + if (view == null) { + return; + } + InternalElementType.Builder builder = toInternalElement(view, generator, context); + generator.with(builder).appendReferenceTargetInterfaceIfRequired(view, context); + for (Reference reference : view.getContainedElements()) { + Referable referable = AasUtils.resolve(reference, context.getEnvironment()); + builder.addInternalElement(InternalElementType.builder() + .withName(getInternalElementName(referable, context)) + .withID(generator.newId()) + .withRefBaseSystemUnitPath(generator.getId(reference)) + .build()); + + } + generator.addInternalElement(builder.build(), view); + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedByViewCollector.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedByViewCollector.java new file mode 100644 index 000000000..b228fe0bb --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedByViewCollector.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.util; + +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.core.visitor.AssetAdministrationShellElementWalkerVisitor; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.View; +import java.util.HashSet; +import java.util.Set; + +public class ReferencedByViewCollector { + + private AssetAdministrationShellEnvironment env; + + public ReferencedByViewCollector(AssetAdministrationShellEnvironment env) { + this.env = env; + } + + public Set collect() { + Visitor visitor = new Visitor(); + visitor.visit(env); + return visitor.referencedElements; + } + + private class Visitor implements AssetAdministrationShellElementWalkerVisitor { + + Set referencedElements = new HashSet<>(); + + @Override + public void visit(View view) { + view.getContainedElements().forEach(x -> handleReference(x)); + AssetAdministrationShellElementWalkerVisitor.super.visit(view); + } + + private void handleReference(Reference reference) { + Referable target = AasUtils.resolve(reference, env); + if (target != null) { + referencedElements.add(target); + } + } + + } +} diff --git a/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedReferableCollector.java b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedReferableCollector.java new file mode 100644 index 000000000..277a3a5c1 --- /dev/null +++ b/dataformat-aml/src/main/java/io/adminshell/aas/v3/dataformat/aml/util/ReferencedReferableCollector.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.util; + +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.core.visitor.AssetAdministrationShellElementWalkerVisitor; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.ReferenceElement; +import io.adminshell.aas.v3.model.RelationshipElement; +import java.util.HashSet; +import java.util.Set; + +public class ReferencedReferableCollector { + + private AssetAdministrationShellEnvironment env; + + public ReferencedReferableCollector(AssetAdministrationShellEnvironment env) { + this.env = env; + } + + public Set collect() { + Visitor visitor = new Visitor(); + visitor.visit(env); + return visitor.referencedElements; + } + + private class Visitor implements AssetAdministrationShellElementWalkerVisitor { + + Set referencedElements = new HashSet<>(); + + @Override + public void visit(ReferenceElement referenceElement) { + handleReference(referenceElement.getValue()); + AssetAdministrationShellElementWalkerVisitor.super.visit(referenceElement); + } + + private void handleReference(Reference reference) { + Referable target = AasUtils.resolve(reference, env); + if (target != null) { + referencedElements.add(reference); + } + } + + @Override + public void visit(RelationshipElement relationshipElement) { + handleReference(relationshipElement.getFirst()); + handleReference(relationshipElement.getSecond()); + AssetAdministrationShellElementWalkerVisitor.super.visit(relationshipElement); + } + } +} diff --git a/dataformat-aml/src/main/resources/AssetAdministrationShellLib.aml b/dataformat-aml/src/main/resources/AssetAdministrationShellLib.aml new file mode 100644 index 000000000..06506457b --- /dev/null +++ b/dataformat-aml/src/main/resources/AssetAdministrationShellLib.aml @@ -0,0 +1,1422 @@ + + + + + + + + + + + + AutomationML Editor + 916578CA-FE0D-474E-A4FC-9E1719892369 + AutomationML e.V. + www.AutomationML.org + 5.2.7.0 + 5.2.7.0 + 2019-11-20T12:12:12.6586496 + Application Recommendation Asset Administration Shell + AR AAS + + + + Interface Class Library according to Details of the Asset Administration Shell V2.0. + 1.0.0 + + A FileDataReference represents the address to a File. FileDataReference is derived from the AutomationML Interface Class ExternalDataReference that is defined in AutomationML BPR_005E_ExternalDataReference_v1.0.0_2:The interface class “ExternalDataReference†shall be used in order to reference external documents out of the scope of AutomationML. + + + Reference to any other referable element of the same of any other AAS or a reference to an external object or entity. For local references inside the same Asset Administration Shell an InternalLink between two objects with this interface "ReferableReference" shall be set. In this case the attribute value has to be empty. For references between different Asset Administration Shells or external objects or entities the attribute value shall be used and no InternalLink shall be set. + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable element of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + + Standard Automation Markup Language Interface Class Library - Part 1 Content extended with Part 3 and Part 4 Content + 2.2.2 + + + + + + + + + + The attribute refURI is an IRI that can represent an absolute or relative path to an L document. An added fragment (with #) references inside the document + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + 1.0.0 + + + Mime type of the content of the File. + + + + + Role Class Library according to Details of the Asset Administration Shell V2.0. + 1.0.0 + + An Asset Administration Shell. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + The derivedFrom attribute is used to establish a relationship between two Asset Administration Shells that are derived from each other. + + + + + + An Asset describes meta data of an asset that is represented by an AAS. The asset may either represent an asset type or an asset instance. The asset has a globally unique identifier plus – if needed – additional domain specific (proprietary) identifiers. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the asset: either type or instance. + Instance + Instance + + + + Instance + Type + + + + + + A Submodel defines a specific aspect of the asset represented by the AAS. A submodel is used to structure the virtual representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and thus become submodels types. Submodels can have different life-cycles. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + A submodel element collection is a set or list of submodel elements. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + If allowDuplicates=true, then it is allowed that the collection contains the same element several times. + false + + + + If ordered=false, then the elements in the property collection are not ordered. If ordered=true then the elements in the collection are ordered. Default = false. Note: An ordered submodel element collection is typically implemented as an indexed array. + false + + + + Submodel element contained in the collection. + + + + + A BLOB is a data element that represents a file that is contained with its source code in the value attribute. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Mime type of the content of the BLOB. The mime type states which file extension the file has. Valid values are e.g. “application/jsonâ€, “application/xlsâ€, â€image/jpgâ€. The allowed values are defined as in RFC2046. + + + + + The value of the BLOB instance of a blob data element. Note: In contrast to the file property the file content is stored directly as value in the Blob data element. + + + + + + A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + A role class for a File that a data element that represents an address to a file. It is derived from the AutomationML role class ExternalData that is an role type for a document type and the base class for all document type roles. It describes different document types. ExternalData is defined in AutomationML BPR_005E_ExternalDataReference_v1.0.0_2. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + The attribute refURI is an IRI that can represent an absolute or relative path to an L document. An added fragment (with #) references inside the document + + + Mime type of the content of the File. + + + + + A property is a data element that has a single value. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + The value of the property instance. + + + + Reference to the global unique id if a coded value. + + + + + A reference element is a data element that defines a logical reference to another element within the same or another AAS or a reference to an external object or entity. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + + A relationship element is used to define a relationship between two referable elements. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + An annotated relationship element is an relationship element that can be annotated with additional data elements. + + Annotations that hold for the relationships between the two elements. + + + + + An operation is a submodel element with input and output variables. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + The list of AAS OperationVariableIn entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + The list of AAS OperationVariableOut entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + The list of AAS OperationVariableOut entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + A view is a collection of referable elements w.r.t. to a specific viewpoint of one or more stakeholders. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + + A dictionary contains elements that can be reused. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + + Explanation: The semantics of a property or other elements that may have a semantic description is defined by a concept description. The description of the concept should follow a standardized schema (realized as data specification template). + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + Global reference to an external definition the concept is compatible to or was derived from. + + + + + + Description Role class of an element that has a data specification template. A template defines the additional attributes an element may or shall have. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + + Content of the data specification template. + + + An entity is a submodel element that is used to model entities. Constraint AASd-056: If the semanticId of a Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY. The ConceptDescription describes the elements assigned to the entity via Entity/statement. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Describes statements applicable to the entity by a set of submodel elements, typically with a qualified value. + + + + Describes whether the entity is a co-managed entity or a self-managed entity. + SelfManagedEntity + SelfManagedEntity + + + + CoManagedEntity + SelfManagedEntity + + + + + Reference to an identifier key value pair representing a specific identifier of the asset represented by the asset administration shell. See Constraint AASd-014 + + + + Reference to the asset the entity is representing. Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity". They are not existing otherwise. + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Reference to the global unique id if a coded value. + + + + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + The value of the property instance. + + + + Reference to the global unique id if a coded value. + + + + + + Automation Markup Language Base Role Class Library - Part 1 Content extended with Part 3 and Part 4 Content + 2.2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.0.0 + + + + 0 + + An AAS Data Specification template for IEC61369. A template consists of the DataSpecificationContent containing the additional attributes to be added to the element instance that references the data specification template and meta information about the template itself (this is why DataSpecification inherits from Identifiable). In UML these are two separated classes. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + IRI + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + + The content of an AAS Data Specification template for IEC61360. + + Identifies the attribute hierarchy for preferredName in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for shortName in above attribute hierarchy. + + + + Identifies the attribute for unit in above attribute hierarchy. + + + + Identifies the attribute for unitId in above attribute hierarchy in its string serialization. + + + + Identifies the attribute for sourceOfDefinition in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for symbol in above attribute hierarchy. + + + + Identifies the attribute for dataType in above attribute hierarchy. + + + + Identifies the attribute for definition in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for valueFormat in above attribute hierarchy. + + + + Identifies the attribute for valueList in above attribute hierarchy. + + + + The attribute value. + + + + The id for the value. + + + + + + + diff --git a/dataformat-aml/src/main/resources/CAEX_ClassModel_V2.15.xsd b/dataformat-aml/src/main/resources/CAEX_ClassModel_V2.15.xsd new file mode 100644 index 000000000..31acecb47 --- /dev/null +++ b/dataformat-aml/src/main/resources/CAEX_ClassModel_V2.15.xsd @@ -0,0 +1,592 @@ + + + + + + + Optionally describes the change state of a CAEX object. If used, the ChangeMode shall have the following value range: state, create, delete and change. This information should be used for further change management applications. + + + + + + + + + + + Defines a group of organizational information, like description, version, revision, copyright, etc. + + + + + Textual description for CAEX objects. + + + + + + + + + + + + Organizational information about the state of the version. + + + + + + + + + + + + Organizational information about the state of the revision. + + + + + + + + + + + + + + + + + + Organizational information about copyright. + + + + + + + + + + + + Optional auxiliary field that may contain any additional information about a CAEX object. + + + + + + + CAEX basis object that comprises a basic set of attributes and header information which exist for all CAEX elements. + + + + + Optionally describes the change state of a CAEX object. If used, the ChangeMode shall have the following value range: state, create, delete and change. This information should be used for further change management applications. + + + + + + + CAEX basis object derived from CAEXBasicObject, augmented by + Name (required) and ID (optional). + + + + + + + Optional attribute that describes a unique identifier of the CAEX object. + + + + + Describes the name of the CAEX object. + + + + + + + + Shall be used for InterfaceClass definition, provides base structures for an interface class definition. + + + + + + + Characterizes properties of the InterfaceClass. + + + + + + Stores the reference of a class to its base class. References contain the full path to the referred class object. + + + + + + + + Defines base structures for a hierarchical InterfaceClass tree. The hierarchical structure of an interface library has organizational character only. + + + + + + + Element that allows definition of child InterfaceClasses within the class hierarchy. The parent child relation between two InterfaceClasses has no semantic. + + + + + + + + + Shall be used for RoleClass definition, provides base structures for a role class definition. + + + + + + + Characterizes properties of the RoleClass. + + + + + Description of an external interface. + + + + + + + + + + + Stores the reference of a class to its base class. References contain the full path to the referred class object. + + + + + + + + Defines base structures for a hierarchical RoleClass tree. The hierarchical structure of a role library has organizational character only. + + + + + + + Element that allows definition of child RoleClasses within the class hierarchy. The parent child relation between two RoleClasses has no semantic. + + + + + + + + + Defines base structures for a SystemUnit class definition. + + + + + + + Characterizes properties of the SystemUnitClass. + + + + + Description of an external interface. + + + + + Shall be used in order to define nested objects inside of a SystemUnitClass or another InternalElement. Allows description of the internal structure of a CAEX object. + + + + + Allows the association to a RoleClass which this SystemUnitClass can play. A SystemUnitClass may reference multiple roles. + + + + + + + + + + + + + + + Shall be used in order to define the relationships between internal interfaces of InternalElements. + + + + + + + + + + + + + + + + + Defines base structures for a hierarchical SystemUnitClass tree. The hierarchical structure of a SystemUnit library has organizational character only. + + + + + + + Element that allows definition of child SystemUnitClasses within the class hierarchy. The parent child relation between two SystemUnitClasses has no semantic. + + + + + + Stores the reference of a class to its base class. References contain the full path to the referred class object. + + + + + + + + Type for definition of nested objects inside of a SystemUnitClass. + + + + + + + Describes role requirements of an InternalElement. It allows the definition of a reference to a RoleClass and the specification of role requirements like required attributes and required interfaces. + + + + + + + + Characterizes properties of the RoleRequirements. + + + + + + + + + + + + Host element for AttributeNameMapping and InterfaceNameMapping. + + + + + + Stores the reference of an InternalElement to a class or instance definition. References contain the full path information. + + + + + + + + Defines base structures for attribute definitions. + + + + + + + A predefined default value for an attribute. + + + + + Element describing the value of an attribute. + + + + + A reference to a definition of a defined attribute, e. g. to an attribute in a standardized library, this allows the semantic definition of the attribute. + + + + + + + + + + + + Element to restrict the range of validity of a defined attribute. + + + + + Element that allows the description of nested attributes. + + + + + + Describes the unit of the attribute. + + + + + Describes the data type of the attribute using XML notation. + + + + + + + + + + + Defines base structures for definition of value requirements of an attribute. + + + + + + + Element of to define constraints of ordinal scaled attribute values. + + + + + + Element to define a maximum value of an attribute. + + + + + Element to define a required value of an attribute. + + + + + Element to define a minimum value of an attribute. + + + + + + + + Element of to define constraints of nominal scaled attribute values. + + + + + + Element to define a required value of an attribute. It may be defined multiple times in order to define a discrete value range of the attribute. + + + + + + + + Element to define constraints for attribute values of an unknown scale type. + + + + + + Defines informative requirements as a constraint for an attribute value. + + + + + + + + + Describes the name of the constraint. + + + + + + + + Base element for AttributeNameMapping and InterfaceNameMapping. + + + + + + + Allows the definition of the mapping between attribute names of corresponding RoleClasses and SystemUnitClasses. + + + + + + + + + + + + + Mapping of interface names of corresponding RoleClasses and SystemUnitClasses. + + + + + + + + + + + + + + + + + Root-element of the CAEX schema. + + + + + + + + Container element for the alias definition of external CAEX files. + + + + + + + Describes the path of the external CAEX file. Absolute and relative paths are allowed. + + + + + Describes the alias name of an external CAEX file to enable referencing elements of the external CAEX file. + + + + + + + + + Root element for a system hierarchy of object instances. + + + + + + + + Shall be used in order to define nested objects inside of a SystemUnitClass or another InternalElement. Allows description of the internal structure of a CAEX object. + + + + + + + + + + Container element for a hierarchy of InterfaceClass definitions. It shall contain any interface class definitions. CAEX supports multiple interface libraries.. + + + + + + + + Class definition for interfaces. + + + + + + + + + + Container element for a hierarchy of RoleClass definitions. It shall contain any RoleClass definitions. CAEX supports multiple role libraries. + + + + + + + + Definition of a class of a role type. + + + + + + + + + + Container element for a hierarchy of SystemUnitClass definitions. It shall contain any SystemunitClass definitions. CAEX supports multiple SystemUnitClass libraries. + + + + + + + + Shall be used for SystemUnitClass definition, provides definition of a class of a SystemUnitClass type. + + + + + + + + + + + Describes the name of the CAEX file. + + + + + Describes the version of the schema. Each CAEX document must specify which CAEX version it requires. The version number of a CAEX document must fit to the version number specified in the CAEX schema file. + + + + + + + \ No newline at end of file diff --git a/dataformat-aml/src/main/resources/application.properties b/dataformat-aml/src/main/resources/application.properties new file mode 100644 index 000000000..91a2f3421 --- /dev/null +++ b/dataformat-aml/src/main/resources/application.properties @@ -0,0 +1 @@ +logging.level.serialize=DEBUG diff --git a/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/deserialize/AmlDeserializerTest.java b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/deserialize/AmlDeserializerTest.java new file mode 100644 index 000000000..cf2c5a82a --- /dev/null +++ b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/deserialize/AmlDeserializerTest.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.deserialize; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.aml.AmlDeserializer; +import io.adminshell.aas.v3.dataformat.aml.fixtures.FullExample; +import io.adminshell.aas.v3.dataformat.aml.fixtures.SimpleExample; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.model.*; + +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class AmlDeserializerTest { + + private final AmlDeserializer deserializer = new AmlDeserializer(); + + @Test + public void testSAPFullExample() throws FileNotFoundException, DeserializationException { + AssetAdministrationShellEnvironment actual = deserializer.read(FullExample.FILE); + AssetAdministrationShellEnvironment expected = AASFull.createEnvironment(); + //some changes on the Full Example environment are necessary because there are some constructs inside which are + //not possible with AML due to the mapping specifications + + //remove asset administration shells with no submodels + adaptAssetAdministrationShells(expected); + //remove leveltypes and valuelists from embedded dataspecification + adaptConceptDescriptions(expected); + //remove non referenced submodels + adaptSubmodels(expected); + //swap the idx of two submodels because assertEquals checks also the order of the elements + swapSubmodelIdx(actual, 0, 2); + assertEquals(expected, actual); + } + + @Test + public void testSAPSimpleExample() throws FileNotFoundException, DeserializationException { + AssetAdministrationShellEnvironment actual = deserializer.read(SimpleExample.FILE); + AssetAdministrationShellEnvironment expected = AASSimple.createEnvironment(); + //some changes on the Simple Example environment are necessary because there are some constructs inside which are + //not possible with AML due to the mapping specifications + + //remove asset administration shells with no submodels + adaptAssetAdministrationShells(expected); + //remove leveltypes and valuelists from embedded dataspecification + adaptConceptDescriptions(expected); + //remove non referenced submodels + adaptSubmodels(expected); + //swap the idx of two submodels because assertEquals checks also the order of the elements + swapSubmodelIdx(expected, 1, 2); + // remove assets as they are not part of the current AML specification + removeAssets(expected); + adaptAssetInformation(expected); + assertEquals(expected, actual); + } + + @Test + public void testSubmodels() throws FileNotFoundException, DeserializationException { + AssetAdministrationShellEnvironment actual = deserializer.read(FullExample.FILE); + AssetAdministrationShellEnvironment expected = AASFull.createEnvironment(); + adaptSubmodels(expected); + swapSubmodelIdx(actual, 0, 2); + assertEquals(expected.getSubmodels(), actual.getSubmodels()); + } + + private void swapSubmodelIdx(AssetAdministrationShellEnvironment env, int idxSrc, int idxDest) { + Collections.swap(env.getSubmodels(), idxSrc, idxDest); + } + + private void adaptAssetInformation(AssetAdministrationShellEnvironment env) { + // remove thumbnail as it is not defined in current AML specification + env.getAssetAdministrationShells().forEach(x -> x.getAssetInformation().setDefaultThumbnail(null)); + } + + private void adaptSubmodels(AssetAdministrationShellEnvironment env) { + //non referenced submodels are not considered in AML + List submodelIds = new ArrayList<>(); + env.getAssetAdministrationShells().stream().forEach( + x -> x.getSubmodels().stream() + .forEach(y -> y.getKeys().stream().forEach(z -> submodelIds.add(z.getValue())))); + + List referencedSubmodels = env.getSubmodels().stream().filter(x -> submodelIds.contains(x.getIdentification().getIdentifier())).collect(Collectors.toList()); + env.setSubmodels(referencedSubmodels); + } + + private void removeAssets(AssetAdministrationShellEnvironment env) { + env.getAssets().clear(); + } + + @Test + public void testAssetAdministrationShells() throws FileNotFoundException, DeserializationException { + AssetAdministrationShellEnvironment actual = deserializer.read(FullExample.FILE); + AssetAdministrationShellEnvironment expected = AASFull.createEnvironment(); + adaptAssetAdministrationShells(expected); + assertEquals(expected.getAssetAdministrationShells(), actual.getAssetAdministrationShells()); + } + + private void adaptAssetAdministrationShells(AssetAdministrationShellEnvironment env) { + //Need to remove Asset Administration Shell which have no Submodels + //they are not considered in AML due to the specification + List nonEmptyShells = new ArrayList<>(); + for (AssetAdministrationShell aas : env.getAssetAdministrationShells()) { + if (aas.getSubmodels() != null && aas.getSubmodels().size() > 0) { + nonEmptyShells.add(aas); + } + } + env.setAssetAdministrationShells(nonEmptyShells); + } + + @Test + public void testConceptDescriptions() throws FileNotFoundException, DeserializationException { + AssetAdministrationShellEnvironment actual = deserializer.read(FullExample.FILE); + AssetAdministrationShellEnvironment expected = AASFull.createEnvironment(); + //Need to remove Level Types and Value Lists from embedded dataspecification + //they are not considered in AML due to the specification + adaptConceptDescriptions(expected); + assertEquals(expected.getConceptDescriptions(), actual.getConceptDescriptions()); + } + + private void adaptConceptDescriptions(AssetAdministrationShellEnvironment env) { + List expectedConceptDescriptions = env.getConceptDescriptions(); + for (ConceptDescription c : expectedConceptDescriptions) { + for (EmbeddedDataSpecification embeddedDataSpecification : c.getEmbeddedDataSpecifications()) { + ((DataSpecificationIEC61360) embeddedDataSpecification.getDataSpecificationContent()).setLevelTypes(new ArrayList<>()); + ((DataSpecificationIEC61360) embeddedDataSpecification.getDataSpecificationContent()).setValueList(null); + } + } + + } +} diff --git a/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/FullExample.java b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/FullExample.java new file mode 100644 index 000000000..59fcaf124 --- /dev/null +++ b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/FullExample.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.fixtures; + +public class FullExample { + + public static final java.io.File FILE = new java.io.File("src/test/resources/test_demo_full_example.aml"); + +} \ No newline at end of file diff --git a/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/SimpleExample.java b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/SimpleExample.java new file mode 100644 index 000000000..4877ea482 --- /dev/null +++ b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/fixtures/SimpleExample.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.fixtures; + +public class SimpleExample { + + public static final java.io.File FILE = new java.io.File("src/test/resources/test_demo_simple_example.aml"); + +} \ No newline at end of file diff --git a/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/serialize/AmlSerializerTest.java b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/serialize/AmlSerializerTest.java new file mode 100644 index 000000000..9f37a7c5e --- /dev/null +++ b/dataformat-aml/src/test/java/io/adminshell/aas/v3/dataformat/aml/serialize/AmlSerializerTest.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.aml.serialize; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.aml.fixtures.FullExample; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.aml.AmlSerializationConfig; +import io.adminshell.aas.v3.dataformat.aml.AmlSerializer; +import io.adminshell.aas.v3.dataformat.aml.fixtures.SimpleExample; +import io.adminshell.aas.v3.dataformat.aml.serialization.id.IntegerIdGenerator; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Iterator; +import org.junit.Test; +import org.xml.sax.SAXException; +import org.xmlunit.builder.DiffBuilder; +import org.xmlunit.diff.DefaultNodeMatcher; +import org.xmlunit.diff.Diff; +import org.xmlunit.diff.Difference; +import org.xmlunit.diff.ElementSelectors; + +public class AmlSerializerTest { + + @Test + public void testSAPFullExample() throws SerializationException, SAXException, IOException { + validateAmlSerializer(FullExample.FILE, AASFull.ENVIRONMENT); + } + + @Test + public void testSimpleExample() throws SerializationException, SAXException, IOException, DeserializationException { + validateAmlSerializer(SimpleExample.FILE, AASSimple.ENVIRONMENT); + } + + private void validateAmlSerializer(File expectedFile, AssetAdministrationShellEnvironment environment) + throws SerializationException, SAXException, IOException { + String expected = Files.readString(expectedFile.toPath()); + String actual = new AmlSerializer().write(environment, AmlSerializationConfig.builder() + .idGenerator(new IntegerIdGenerator()) + .build()); + System.out.println(actual); + Diff diff = DiffBuilder + .compare(expected) + .withTest(actual) + .normalizeWhitespace() + .withNodeMatcher(new DefaultNodeMatcher( + ElementSelectors.conditionalBuilder() + .whenElementIsNamed("Attribute") + .thenUse(ElementSelectors.byNameAndAttributes("Name")) + .whenElementIsNamed("InternalElement") + .thenUse(ElementSelectors.byNameAndAttributes("Name", "ID")) + .whenElementIsNamed("ExternalInterface") + .thenUse(ElementSelectors.byNameAndAttributes("Name")) + .elseUse(ElementSelectors.byNameAndText) + .build())) + .ignoreComments() + .ignoreWhitespace() + .withNodeFilter(node -> !node.getNodeName().equals("AdditionalInformation")) + .build(); + Iterator iter = diff.getDifferences().iterator(); + int size = 0; + while (iter.hasNext()) { + System.out.println(iter.next()); + size++; + } + System.err.println(String.format("found %d validation error(s)", size)); + assert (size == 0); + } + +} diff --git a/dataformat-aml/src/test/resources/test_demo_full_example.aml b/dataformat-aml/src/test/resources/test_demo_full_example.aml new file mode 100644 index 000000000..8b95a7be7 --- /dev/null +++ b/dataformat-aml/src/test/resources/test_demo_full_example.aml @@ -0,0 +1,3823 @@ + + + + + + + + + 0 + + + + 0.9 + + + + + + + INSTANCE + + + + (Submodel)[Iri]http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + + + + (Asset)[Iri]https://acplt.org/Test_Asset + + + + + (AssetAdministrationShell)[Iri]https://acplt.org/TestAssetAdministrationShell2 + + + + + + An Example Asset Administration Shell for the test application + + + Ein Beispiel-Verwaltungsschale für eine Test-Anwendung + + + + TestAssetAdministrationShell + + + + + + IRI + + + + https://acplt.org/Test_AssetAdministrationShell + + + + + + + + 0 + + + + 0.9 + + + + + + + An example submodel for the test application + + + Ein Beispiel-Teilmodell für eine Test-Anwendung + + + + TestSubmodel + + + + + + IRI + + + + https://acplt.org/Test_Submodel + + + + + INSTANCE + + + + (GlobalReference)[Iri]http://acplt.org/SubmodelTemplates/ExampleSubmodel + + + + + Parameter + + + + + + Example RelationshipElement object + + + Beispiel RelationshipElement Element + + + + ExampleRelationshipElement + + + + (GlobalReference)[Iri]http://acplt.org/RelationshipElements/ExampleRelationshipElement + + + + + + + + + + Parameter + + + + + + Example AnnotatedRelationshipElement object + + + Beispiel AnnotatedRelationshipElement Element + + + + ExampleAnnotatedRelationshipElement + + + + (GlobalReference)[Iri]http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement + + + + + + Parameter + + + + ExampleProperty3 + + + + INSTANCE + + + + some example annotation + + + + + + + + + + + Parameter + + + + + + Example Operation object + + + Beispiel Operation Element + + + + ExampleOperation + + + + TEMPLATE + + + + (GlobalReference)[Iri]http://acplt.org/Operations/ExampleOperation + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty3 + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleValueId + + + + http://acplt.org/ValueId/ExampleValueId + + + + + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty1 + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleValueId + + + + http://acplt.org/ValueId/ExampleValueId + + + + + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty2 + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleValueId + + + + http://acplt.org/ValueId/ExampleValueId + + + + + + + + + + + Parameter + + + + + + Example Capability object + + + Beispiel Capability Element + + + + ExampleCapability + + + + (GlobalReference)[Iri]http://acplt.org/Capabilities/ExampleCapability + + + + + + + Parameter + + + + + + Example BasicEvent object + + + Beispiel BasicEvent Element + + + + ExampleBasicEvent + + + + (Submodel)[Iri]https://acplt.org/Test_Submodel,(SubmodelElementCollection)[IdShort]ExampleSubmodelCollectionOrdered,(Property)[IdShort]ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/Events/ExampleBasicEvent + + + + + + + false + + + + Parameter + + + + + + Example SubmodelElementCollectionOrdered object + + + Beispiel SubmodelElementCollectionOrdered Element + + + + ExampleSubmodelCollectionOrdered + + + + true + + + + (GlobalReference)[Iri]http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleValueId + + + + http://acplt.org/ValueId/ExampleValueId + + + + + + + + Constant + + + + + + Example MultiLanguageProperty object + + + Beispiel MulitLanguageProperty Element + + + + ExampleMultiLanguageProperty + + + + (GlobalReference)[Iri]http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleMultiLanguageValueId + + + + + + Example value of a MultiLanguageProperty element + + + Beispielswert für ein MulitLanguageProperty-Element + + + + + + + Parameter + + + + + + Example Range object + + + Beispiel Range Element + + + + ExampleRange + + + + (GlobalReference)[Iri]http://acplt.org/Ranges/ExampleRange + + + + 0 + + + + 100 + + + + + + + + + false + + + + Parameter + + + + + + Example SubmodelElementCollectionUnordered object + + + Beispiel SubmodelElementCollectionUnordered Element + + + + ExampleSubmodelCollectionUnordered + + + + false + + + + (GlobalReference)[Iri]http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered + + + + + Parameter + + + + + + Example Blob object + + + Beispiel Blob Element + + + + ExampleBlob + + + + application/pdf + + + + (GlobalReference)[Iri]http://acplt.org/Blobs/ExampleBlob + + + + AQIDBAU= + + + + + + + Parameter + + + + + + Example File object + + + Beispiel File Element + + + + ExampleFile + + + + application/pdf + + + + (GlobalReference)[Iri]http://acplt.org/Files/ExampleFile + + + + /TestFile.pdf + + + + + application/pdf + + + + /TestFile.pdf + + + + + + + + Parameter + + + + + + Example Reference Element object + + + Beispiel Reference Element Element + + + + ExampleReferenceElement + + + + (GlobalReference)[Iri]http://acplt.org/ReferenceElements/ExampleReferenceElement + + + + + + + + + + + + + + + 0.9 + + + + + + + An example bill of material submodel for the test application + + + Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung + + + + BillOfMaterial + + + + + + IRI + + + + http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + + + + + INSTANCE + + + + (Submodel)[Iri]http://acplt.org/SubmodelTemplates/BillOfMaterial + + + + + + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + + + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + CO_MANAGED_ENTITY + + + + ExampleEntity + + + + (GlobalReference)[Iri]http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty2 + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleValue2 + + + + http://acplt.org/ValueId/ExampleValue2 + + + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ExampleValueId + + + + http://acplt.org/ValueId/ExampleValueId + + + + + + + + + + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + + + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + SELF_MANAGED_ENTITY + + + + (Asset)[Iri]https://acplt.org/Test_Asset2 + + + + ExampleEntity2 + + + + (GlobalReference)[Iri]http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber + + + + + + + + + + + 0 + + + + 0.9 + + + + + + + An example asset identification submodel for the test application + + + Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung + + + + Identification + + + + + + IRI + + + + http://acplt.org/Submodels/Assets/TestAsset/Identification + + + + + INSTANCE + + + + (Submodel)[Iri]http://acplt.org/SubmodelTemplates/AssetIdentification + + + + + + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + + + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + ManufacturerName + + + + + + http://acplt.org/Qualifier/ExampleQualifier + + + + 100 + + + + + + + http://acplt.org/Qualifier/ExampleQualifier2 + + + + 50 + + + + + (GlobalReference)[Iri]0173-1#02-AAO677#002 + + + + (GlobalReference)[Iri]http://acplt.org/ValueId/ACPLT + + + + http://acplt.org/ValueId/ACPLT + + + + + + + + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + + + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + InstanceId + + + + (GlobalReference)[Iri]http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber + + + + (GlobalReference)[Iri]978-8234-234-342 + + + + 978-8234-234-342 + + + + + + + + + + + + + INSTANCE + + + + (Asset)[Iri]https://acplt.org/Test_Asset_Mandatory + + + + + Test_AssetAdministrationShell_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_AssetAdministrationShell_Mandatory + + + + + + Test_Submodel_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_Submodel_Mandatory + + + + + TEMPLATE + + + + + ExampleRelationshipElement + + + + + + + + + + ExampleAnnotatedRelationshipElement + + + + + + + + + + ExampleOperation + + + + TEMPLATE + + + + + + + ExampleCapability + + + + + + + ExampleBasicEvent + + + + (Submodel)[Iri]https://acplt.org/Test_Submodel_Mandatory,(SubmodelElementCollection)[IdShort]ExampleSubmodelCollectionOrdered,(Property)[IdShort]ExampleProperty + + + + + + + false + + + + ExampleSubmodelCollectionOrdered + + + + true + + + + + ExampleProperty + + + + + + + + + + + ExampleMultiLanguageProperty + + + + + + + + ExampleRange + + + + + + + + + + + + + + + false + + + + ExampleSubmodelCollectionUnordered + + + + false + + + + + ExampleBlob + + + + application/pdf + + + + + + + ExampleFile + + + + application/pdf + + + + + application/pdf + + + + + + + + + + + ExampleReferenceElement + + + + + + + + + false + + + + ExampleSubmodelCollectionUnordered2 + + + + false + + + + + + + + + Test_Submodel2_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_Submodel2_Mandatory + + + + + INSTANCE + + + + + + + + + + + 0 + + + + 0.9 + + + + + + + INSTANCE + + + + (Asset)[Iri]https://acplt.org/Test_Asset_Missing + + + + + + + An Example Asset Administration Shell for the test application + + + Ein Beispiel-Verwaltungsschale für eine Test-Anwendung + + + + TestAssetAdministrationShell + + + + + + IRI + + + + https://acplt.org/Test_AssetAdministrationShell_Missing + + + + + + ExampleView + + + + + + + + ExampleView2 + + + + + + + + + 0 + + + + 0.9 + + + + + + + An example submodel for the test application + + + Ein Beispiel-Teilmodell für eine Test-Anwendung + + + + TestSubmodel + + + + + + IRI + + + + https://acplt.org/Test_Submodel_Missing + + + + + INSTANCE + + + + (GlobalReference)[Iri]http://acplt.org/SubmodelTemplates/ExampleSubmodel + + + + + Parameter + + + + + + Example RelationshipElement object + + + Beispiel RelationshipElement Element + + + + ExampleRelationshipElement + + + + (GlobalReference)[Iri]http://acplt.org/RelationshipElements/ExampleRelationshipElement + + + + + + + + + + Parameter + + + + + + Example AnnotatedRelationshipElement object + + + Beispiel AnnotatedRelationshipElement Element + + + + ExampleAnnotatedRelationshipElement + + + + (GlobalReference)[Iri]http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement + + + + + + Parameter + + + + ExampleProperty + + + + INSTANCE + + + + some example annotation + + + + + + + + + + + Parameter + + + + + + Example Operation object + + + Beispiel Operation Element + + + + ExampleOperation + + + + TEMPLATE + + + + (GlobalReference)[Iri]http://acplt.org/Operations/ExampleOperation + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty3 + + + + + + http://acplt.org/Qualifier/ExampleQualifier + + + + + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + exampleValue + + + + + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty1 + + + + + + http://acplt.org/Qualifier/ExampleQualifier + + + + + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + exampleValue + + + + + + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty2 + + + + + + http://acplt.org/Qualifier/ExampleQualifier + + + + + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + exampleValue + + + + + + + + + + + Parameter + + + + + + Example Capability object + + + Beispiel Capability Element + + + + ExampleCapability + + + + (GlobalReference)[Iri]http://acplt.org/Capabilities/ExampleCapability + + + + + + + Parameter + + + + + + Example BasicEvent object + + + Beispiel BasicEvent Element + + + + ExampleBasicEvent + + + + (Submodel)[Iri]https://acplt.org/Test_Submodel_Missing,(SubmodelElementCollection)[IdShort]ExampleSubmodelCollectionOrdered,(Property)[IdShort]ExampleProperty + + + + (GlobalReference)[Iri]http://acplt.org/Events/ExampleBasicEvent + + + + + + + false + + + + Parameter + + + + + + Example SubmodelElementCollectionOrdered object + + + Beispiel SubmodelElementCollectionOrdered Element + + + + ExampleSubmodelCollectionOrdered + + + + true + + + + (GlobalReference)[Iri]http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered + + + + + Constant + + + + + + Example Property object + + + Beispiel Property Element + + + + ExampleProperty + + + + + + http://acplt.org/Qualifier/ExampleQualifier + + + + + + + + (GlobalReference)[Iri]http://acplt.org/Properties/ExampleProperty + + + + exampleValue + + + + + + + + Constant + + + + + + Example MultiLanguageProperty object + + + Beispiel MulitLanguageProperty Element + + + + ExampleMultiLanguageProperty + + + + (GlobalReference)[Iri]http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty + + + + + + Example value of a MultiLanguageProperty element + + + Beispielswert für ein MulitLanguageProperty-Element + + + + + + + + Parameter + + + + + + Example Range object + + + Beispiel Range Element + + + + ExampleRange + + + + (GlobalReference)[Iri]http://acplt.org/Ranges/ExampleRange + + + + 0 + + + + 100 + + + + + + + + + false + + + + Parameter + + + + + + Example SubmodelElementCollectionUnordered object + + + Beispiel SubmodelElementCollectionUnordered Element + + + + ExampleSubmodelCollectionUnordered + + + + false + + + + (GlobalReference)[Iri]http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered + + + + + Parameter + + + + + + Example Blob object + + + Beispiel Blob Element + + + + ExampleBlob + + + + application/pdf + + + + (GlobalReference)[Iri]http://acplt.org/Blobs/ExampleBlob + + + + AQIDBAU= + + + + + + + Parameter + + + + + + Example File object + + + Beispiel File Element + + + + ExampleFile + + + + application/pdf + + + + (GlobalReference)[Iri]http://acplt.org/Files/ExampleFile + + + + /TestFile.pdf + + + + + application/pdf + + + + /TestFile.pdf + + + + + + + + Parameter + + + + + + Example Reference Element object + + + Beispiel Reference Element Element + + + + ExampleReferenceElement + + + + (GlobalReference)[Iri]http://acplt.org/ReferenceElements/ExampleReferenceElement + + + + + + + + + + + + + + + + + + + 0 + + + + 0.9 + + + + + + + An example concept description for the test application + + + Ein Beispiel-ConceptDescription für eine Test-Anwendung + + + + TestConceptDescription + + + + + + IRI + + + + https://acplt.org/Test_ConceptDescription + + + + + (GlobalReference)[Iri]http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription + + + + + + + Test_ConceptDescription_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_ConceptDescription_Mandatory + + + + + + + + + + 0 + + + + 0.9 + + + + + + + An example concept description for the test application + + + Ein Beispiel-ConceptDescription für eine Test-Anwendung + + + + TestConceptDescription1 + + + + + + IRI + + + + https://acplt.org/Test_ConceptDescription_Missing + + + + + + + + + + 0 + + + + 0.9 + + + + + TestSpec_01 + + + + + + IRI + + + + http://acplt.org/DataSpecifciations/Example/Identification + + + + + (GlobalReference)[Iri]http://acplt.org/ReferenceElements/ConceptDescriptionX + + + + + REAL_MEASURE + + + + + + Dies ist eine Data Specification für Testzwecke + + + This is a DataSpecification for testing purposes + + + + + + Test Specification + + + TestSpecification + + + + + + Test Spec + + + TestSpec + + + + http://acplt.org/DataSpec/ExampleDef + + + + SU + + + + SpaceUnit + + + + (GlobalReference)[Iri]http://acplt.org/Units/SpaceUnit + + + + TEST + + + + string + + + + + + + + + Interface Class Library according to Details of the Asset Administration Shell V2.0. + 1.0.0 + + A FileDataReference represents the address to a File. FileDataReference is derived from the AutomationML Interface Class ExternalDataReference that is defined in AutomationML BPR_005E_ExternalDataReference_v1.0.0_2:The interface class “ExternalDataReference†shall be used in order to reference external documents out of the scope of AutomationML. + + + Reference to any other referable element of the same of any other AAS or a reference to an external object or entity. For local references inside the same Asset Administration Shell an InternalLink between two objects with this interface "ReferableReference" shall be set. In this case the attribute value has to be empty. For references between different Asset Administration Shells or external objects or entities the attribute value shall be used and no InternalLink shall be set. + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable element of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + + Standard Automation Markup Language Interface Class Library - Part 1 Content extended with Part 3 and Part 4 Content + 2.2.2 + + + + + + + + + + The attribute refURI is an IRI that can represent an absolute or relative path to an L document. An added fragment (with #) references inside the document + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + 1.0.0 + + + Mime type of the content of the File. + + + + + Role Class Library according to Details of the Asset Administration Shell V2.0. + 1.0.0 + + An Asset Administration Shell. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + The derivedFrom attribute is used to establish a relationship between two Asset Administration Shells that are derived from each other. + + + + + + An Asset describes meta data of an asset that is represented by an AAS. The asset may either represent an asset type or an asset instance. The asset has a globally unique identifier plus – if needed – additional domain specific (proprietary) identifiers. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the asset: either type or instance. + Instance + Instance + + + + Instance + Type + + + + + + A Submodel defines a specific aspect of the asset represented by the AAS. A submodel is used to structure the virtual representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and thus become submodels types. Submodels can have different life-cycles. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + A submodel element collection is a set or list of submodel elements. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + If allowDuplicates=true, then it is allowed that the collection contains the same element several times. + false + + + + If ordered=false, then the elements in the property collection are not ordered. If ordered=true then the elements in the collection are ordered. Default = false. Note: An ordered submodel element collection is typically implemented as an indexed array. + false + + + + Submodel element contained in the collection. + + + + + A BLOB is a data element that represents a file that is contained with its source code in the value attribute. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Mime type of the content of the BLOB. The mime type states which file extension the file has. Valid values are e.g. “application/jsonâ€, “application/xlsâ€, â€image/jpgâ€. The allowed values are defined as in RFC2046. + + + + + The value of the BLOB instance of a blob data element. Note: In contrast to the file property the file content is stored directly as value in the Blob data element. + + + + + + A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + A role class for a File that a data element that represents an address to a file. It is derived from the AutomationML role class ExternalData that is an role type for a document type and the base class for all document type roles. It describes different document types. ExternalData is defined in AutomationML BPR_005E_ExternalDataReference_v1.0.0_2. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + The attribute refURI is an IRI that can represent an absolute or relative path to an L document. An added fragment (with #) references inside the document + + + Mime type of the content of the File. + + + + + A property is a data element that has a single value. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + The value of the property instance. + + + + Reference to the global unique id if a coded value. + + + + + A reference element is a data element that defines a logical reference to another element within the same or another AAS or a reference to an external object or entity. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + + A relationship element is used to define a relationship between two referable elements. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + An annotated relationship element is an relationship element that can be annotated with additional data elements. + + Annotations that hold for the relationships between the two elements. + + + + + An operation is a submodel element with input and output variables. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + The list of AAS OperationVariableIn entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + The list of AAS OperationVariableOut entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + The list of AAS OperationVariableOut entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + A view is a collection of referable elements w.r.t. to a specific viewpoint of one or more stakeholders. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + + A dictionary contains elements that can be reused. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + + Explanation: The semantics of a property or other elements that may have a semantic description is defined by a concept description. The description of the concept should follow a standardized schema (realized as data specification template). + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + Global reference to an external definition the concept is compatible to or was derived from. + + + + + + Description Role class of an element that has a data specification template. A template defines the additional attributes an element may or shall have. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + + Content of the data specification template. + + + An entity is a submodel element that is used to model entities. Constraint AASd-056: If the semanticId of a Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY. The ConceptDescription describes the elements assigned to the entity via Entity/statement. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Describes statements applicable to the entity by a set of submodel elements, typically with a qualified value. + + + + Describes whether the entity is a co-managed entity or a self-managed entity. + SelfManagedEntity + SelfManagedEntity + + + + CoManagedEntity + SelfManagedEntity + + + + + Reference to an identifier key value pair representing a specific identifier of the asset represented by the asset administration shell. See Constraint AASd-014 + + + + Reference to the asset the entity is representing. Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity". They are not existing otherwise. + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Reference to the global unique id if a coded value. + + + + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + The value of the property instance. + + + + Reference to the global unique id if a coded value. + + + + + + Automation Markup Language Base Role Class Library - Part 1 Content extended with Part 3 and Part 4 Content + 2.2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.0.0 + + + + + + + + INSTANCE + + + + (Asset)[Iri]https://acplt.org/Test_Asset_Mandatory + + + + + Test_AssetAdministrationShell_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_AssetAdministrationShell_Mandatory + + + + + + Test_Submodel_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_Submodel_Mandatory + + + + + TEMPLATE + + + + + ExampleRelationshipElement + + + + + + + + + + ExampleAnnotatedRelationshipElement + + + + + + + + + + ExampleOperation + + + + TEMPLATE + + + + + + + ExampleCapability + + + + + + + ExampleBasicEvent + + + + (Submodel)[Iri]https://acplt.org/Test_Submodel_Mandatory,(SubmodelElementCollection)[IdShort]ExampleSubmodelCollectionOrdered,(Property)[IdShort]ExampleProperty + + + + + + + false + + + + ExampleSubmodelCollectionOrdered + + + + true + + + + + ExampleProperty + + + + + + + + + + + ExampleMultiLanguageProperty + + + + + + + + ExampleRange + + + + + + + + + + + + + + + false + + + + ExampleSubmodelCollectionUnordered + + + + false + + + + + ExampleBlob + + + + application/pdf + + + + + + + ExampleFile + + + + application/pdf + + + + + application/pdf + + + + + + + + + + + ExampleReferenceElement + + + + + + + + + false + + + + ExampleSubmodelCollectionUnordered2 + + + + false + + + + + + + + + Test_Submodel2_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_Submodel2_Mandatory + + + + + INSTANCE + + + + + + + + + Test_Submodel_Mandatory + + + + + + IRI + + + + https://acplt.org/Test_Submodel_Mandatory + + + + + TEMPLATE + + + + + ExampleRelationshipElement + + + + + + + + + + ExampleAnnotatedRelationshipElement + + + + + + + + + + ExampleOperation + + + + TEMPLATE + + + + + + + ExampleCapability + + + + + + + ExampleBasicEvent + + + + (Submodel)[Iri]https://acplt.org/Test_Submodel_Mandatory,(SubmodelElementCollection)[IdShort]ExampleSubmodelCollectionOrdered,(Property)[IdShort]ExampleProperty + + + + + + + false + + + + ExampleSubmodelCollectionOrdered + + + + true + + + + + ExampleProperty + + + + + + + + + + + ExampleMultiLanguageProperty + + + + + + + + ExampleRange + + + + + + + + + + + + + + + false + + + + ExampleSubmodelCollectionUnordered + + + + false + + + + + ExampleBlob + + + + application/pdf + + + + + + + ExampleFile + + + + application/pdf + + + + + application/pdf + + + + + + + + + + + ExampleReferenceElement + + + + + + + + + false + + + + ExampleSubmodelCollectionUnordered2 + + + + false + + + + + + + + + 0 + + An AAS Data Specification template for IEC61369. A template consists of the DataSpecificationContent containing the additional attributes to be added to the element instance that references the data specification template and meta information about the template itself (this is why DataSpecification inherits from Identifiable). In UML these are two separated classes. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + IRI + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + + The content of an AAS Data Specification template for IEC61360. + + Identifies the attribute hierarchy for preferredName in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for shortName in above attribute hierarchy. + + + + Identifies the attribute for unit in above attribute hierarchy. + + + + Identifies the attribute for unitId in above attribute hierarchy in its string serialization. + + + + Identifies the attribute for sourceOfDefinition in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for symbol in above attribute hierarchy. + + + + Identifies the attribute for dataType in above attribute hierarchy. + + + + Identifies the attribute for definition in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for valueFormat in above attribute hierarchy. + + + + Identifies the attribute for valueList in above attribute hierarchy. + + + + The attribute value. + + + + The id for the value. + + + + + + + diff --git a/dataformat-aml/src/test/resources/test_demo_simple_example.aml b/dataformat-aml/src/test/resources/test_demo_simple_example.aml new file mode 100644 index 000000000..388aa9eff --- /dev/null +++ b/dataformat-aml/src/test/resources/test_demo_simple_example.aml @@ -0,0 +1,1964 @@ + + + + + + + + + INSTANCE + + + + (Asset)[Iri]http://customer.com/assets/KHBVZJSQKIY + + + + + + + (GlobalReference)[Iri]http://customer.com/Systems/ERP/012 + + + + EquipmentID + + + + 538fd1b3-f99f-4a52-9c75-72e9fa921270 + + + + + + (GlobalReference)[Iri]http://customer.com/Systems/IoT/1 + + + + DeviceID + + + + QjYgPggjwkiHk4RrQiYSLg== + + + + + + + ExampleMotor + + + + + + IRI + + + + http://customer.com/aas/9175_7013_7091_9168 + + + + + + TechnicalData + + + + + + IRI + + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + + + + INSTANCE + + + + (GlobalReference)[Irdi]0173-1#01-AFZ615#016 + + + + + Parameter + + + + MaxRotationSpeed + + + + INSTANCE + + + + (ConceptDescription)[Irdi]0173-1#02-BAA120#008 + + + + 5000 + + + + + + + + + OperationalData + + + + + + IRI + + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + + + INSTANCE + + + + + Variable + + + + RotationSpeed + + + + INSTANCE + + + + (ConceptDescription)[Iri]http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + 4370 + + + + + + + + + Documentation + + + + + + IRI + + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + + + + INSTANCE + + + + + false + + + + OperatingManual + + + + INSTANCE + + + + false + + + + (ConceptDescription)[Iri]www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + Title + + + + INSTANCE + + + + (ConceptDescription)[Iri]www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + OperatingManual + + + + + + + DigitalFile_PDF + + + + INSTANCE + + + + application/pdf + + + + (ConceptDescription)[Iri]www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + /aasx/OperatingManual.pdf + + + + + application/pdf + + + + /aasx/OperatingManual.pdf + + + + + + + + + + + + + + + + Title + + + + + + IRI + + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + + STRING_TRANSLATABLE + + + + + + SprachabhängigerTiteldesDokuments. + + + + + + Title + + + Titel + + + + + + Title + + + Titel + + + + ExampleString + + + + ExampleString + + + + + + + + + DigitalFile + + + + + + IRI + + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + + STRING + + + + + + A file representing the document version. In addition to the mandatory PDF file, other files can be specified. + + + + + + DigitalFile + + + DigitalFile + + + + + + DigitalFile + + + DigitaleDatei + + + + ExampleString + + + + ExampleString + + + + + + + + + + + 2.1 + + + + 2 + + + + + PROPERTY + + + + MaxRotationSpeed + + + + + + IRDI + + + + 0173-1#02-BAA120#008 + + + + + + REAL_MEASURE + + + + + + HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf + + + Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated + + + + + + max.Drehzahl + + + Max.rotationspeed + + + + ExampleString + + + + 1/min + + + + (GlobalReference)[Irdi]0173-1#05-AAA650#002 + + + + + + + + + PROPERTY + + + + RotationSpeed + + + + + + IRI + + + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + + + REAL_MEASURE + + + + + + Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird + + + Actual rotationspeed with which the motor or feedingunit is operated + + + + + + AktuelleDrehzahl + + + Actualrotationspeed + + + + + + AktuelleDrehzahl + + + ActualRotationSpeed + + + + ExampleString + + + + 1/min + + + + (GlobalReference)[Irdi]0173-1#05-AAA650#002 + + + + + + + + + Document + + + + + + IRI + + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + + STRING + + + + + + Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann. + + + + + + Document + + + + + + Document + + + Dokument + + + + [ISO15519-1:2010] + + + + ExampleString + + + + + + + + + Interface Class Library according to Details of the Asset Administration Shell V2.0. + 1.0.0 + + A FileDataReference represents the address to a File. FileDataReference is derived from the AutomationML Interface Class ExternalDataReference that is defined in AutomationML BPR_005E_ExternalDataReference_v1.0.0_2:The interface class “ExternalDataReference†shall be used in order to reference external documents out of the scope of AutomationML. + + + Reference to any other referable element of the same of any other AAS or a reference to an external object or entity. For local references inside the same Asset Administration Shell an InternalLink between two objects with this interface "ReferableReference" shall be set. In this case the attribute value has to be empty. For references between different Asset Administration Shells or external objects or entities the attribute value shall be used and no InternalLink shall be set. + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable element of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + + Standard Automation Markup Language Interface Class Library - Part 1 Content extended with Part 3 and Part 4 Content + 2.2.2 + + + + + + + + + + The attribute refURI is an IRI that can represent an absolute or relative path to an L document. An added fragment (with #) references inside the document + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + 1.0.0 + + + Mime type of the content of the File. + + + + + Role Class Library according to Details of the Asset Administration Shell V2.0. + 1.0.0 + + An Asset Administration Shell. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + The derivedFrom attribute is used to establish a relationship between two Asset Administration Shells that are derived from each other. + + + + + + An Asset describes meta data of an asset that is represented by an AAS. The asset may either represent an asset type or an asset instance. The asset has a globally unique identifier plus – if needed – additional domain specific (proprietary) identifiers. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the asset: either type or instance. + Instance + Instance + + + + Instance + Type + + + + + + A Submodel defines a specific aspect of the asset represented by the AAS. A submodel is used to structure the virtual representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and thus become submodels types. Submodels can have different life-cycles. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + A submodel element collection is a set or list of submodel elements. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + If allowDuplicates=true, then it is allowed that the collection contains the same element several times. + false + + + + If ordered=false, then the elements in the property collection are not ordered. If ordered=true then the elements in the collection are ordered. Default = false. Note: An ordered submodel element collection is typically implemented as an indexed array. + false + + + + Submodel element contained in the collection. + + + + + A BLOB is a data element that represents a file that is contained with its source code in the value attribute. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Mime type of the content of the BLOB. The mime type states which file extension the file has. Valid values are e.g. “application/jsonâ€, “application/xlsâ€, â€image/jpgâ€. The allowed values are defined as in RFC2046. + + + + + The value of the BLOB instance of a blob data element. Note: In contrast to the file property the file content is stored directly as value in the Blob data element. + + + + + + A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + A role class for a File that a data element that represents an address to a file. It is derived from the AutomationML role class ExternalData that is an role type for a document type and the base class for all document type roles. It describes different document types. ExternalData is defined in AutomationML BPR_005E_ExternalDataReference_v1.0.0_2. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + The attribute refURI is an IRI that can represent an absolute or relative path to an L document. An added fragment (with #) references inside the document + + + Mime type of the content of the File. + + + + + A property is a data element that has a single value. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + The value of the property instance. + + + + Reference to the global unique id if a coded value. + + + + + A reference element is a data element that defines a logical reference to another element within the same or another AAS or a reference to an external object or entity. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + + A relationship element is used to define a relationship between two referable elements. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + Reference to any other referable element of any other AAS or a reference to an external object or entity. Note: For references to any other referable elment of the same AAS InternalLinks are used and this attribute value shall be empty. + + + + + An annotated relationship element is an relationship element that can be annotated with additional data elements. + + Annotations that hold for the relationships between the two elements. + + + + + An operation is a submodel element with input and output variables. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + The list of AAS OperationVariableIn entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + The list of AAS OperationVariableOut entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + The list of AAS OperationVariableOut entities. In AML, the corresponding InternalElement with this role is a child of the InternalElement with the Operation role. + + + A view is a collection of referable elements w.r.t. to a specific viewpoint of one or more stakeholders. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + + A dictionary contains elements that can be reused. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + + Explanation: The semantics of a property or other elements that may have a semantic description is defined by a concept description. The description of the concept should follow a standardized schema (realized as data specification template). + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + Global reference to the data specification template used by the element. + + + + Global reference to an external definition the concept is compatible to or was derived from. + + + + + + Description Role class of an element that has a data specification template. A template defines the additional attributes an element may or shall have. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + + Content of the data specification template. + + + An entity is a submodel element that is used to model entities. Constraint AASd-056: If the semanticId of a Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY. The ConceptDescription describes the elements assigned to the entity via Entity/statement. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Describes statements applicable to the entity by a set of submodel elements, typically with a qualified value. + + + + Describes whether the entity is a co-managed entity or a self-managed entity. + SelfManagedEntity + SelfManagedEntity + + + + CoManagedEntity + SelfManagedEntity + + + + + Reference to an identifier key value pair representing a specific identifier of the asset represented by the asset administration shell. See Constraint AASd-014 + + + + Reference to the asset the entity is representing. Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity". They are not existing otherwise. + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + Reference to the global unique id if a coded value. + + + + + + + + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + Global reference to the data specification template used by the element. + + + + + Kind of the element: either template or instance. + Instance + Instance + + + + Instance + Type + + + + + Description or comments on the element. The description can be provided in several languages. This attribute has the name of the label and has a value with the label written in the default language. The individual languages are modelled as child attributes. The names of the child attributes are the prefix “aml-lang=†with the expression of the language in compliance with RFC5646. At it, the values of the child attributes are the labels within the respective language. + + + + + A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element. [TYPE] is the value of the attribute type and [VALUE] is the value of the attribute value. + + + The type describes the type of the qualifier that is applied to the element. + + + + + The qualifier value is the value of the qualifier. Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId. + + + + + Reference to the global unqiue id of a coded value. + + + + + + The value of the property instance. + + + + Reference to the global unique id if a coded value. + + + + + + Automation Markup Language Base Role Class Library - Part 1 Content extended with Part 3 and Part 4 Content + 2.2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.0.0 + + + + 0 + + An AAS Data Specification template for IEC61369. A template consists of the DataSpecificationContent containing the additional attributes to be added to the element instance that references the data specification template and meta information about the template itself (this is why DataSpecification inherits from Identifiable). In UML these are two separated classes. + + Identifying string of the element within its name space. Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space. Constraint AASd-002: idShort shall only feature letters, digits, underscore ("_"); starting mandatory with a letter. Constraint AASd-003: idShort shall be matched case-insensitive. Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the “BrowserPath†in OPC UA. + + + + The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints. + + + + + Description or comments on the element. The description can be provided in several languages. + + + + + + + + + + + Abstract attribute class for identification. Has the subattributes id and idType. + + + Identifier of the element. Its type is defined in idType. Id is a subproperty of identification. + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + Type of the Identifier, e.g. IRI, IRDI etc. The supported Identifier types are defined in the enumeration “IdentifierTypeâ€. IdType is a subproperty of identification. + IRI + + + + + Abstract attribute for administration. Has the subattributes revision and version. + + + Revision of the element. Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither. Revision is a subproperty of administration. + + + + + Version of the element. Version is a subproperty of administration. + + + + + + + The content of an AAS Data Specification template for IEC61360. + + Identifies the attribute hierarchy for preferredName in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for shortName in above attribute hierarchy. + + + + Identifies the attribute for unit in above attribute hierarchy. + + + + Identifies the attribute for unitId in above attribute hierarchy in its string serialization. + + + + Identifies the attribute for sourceOfDefinition in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for symbol in above attribute hierarchy. + + + + Identifies the attribute for dataType in above attribute hierarchy. + + + + Identifies the attribute for definition in above attribute hierachy. Subordinate attributes are designated by the country code information (see aml-lang literal). + + + + Identifies the attribute for valueFormat in above attribute hierarchy. + + + + Identifies the attribute for valueList in above attribute hierarchy. + + + + The attribute value. + + + + The id for the value. + + + + + + + diff --git a/dataformat-core/.gitignore b/dataformat-core/.gitignore new file mode 100644 index 000000000..298ee54de --- /dev/null +++ b/dataformat-core/.gitignore @@ -0,0 +1,30 @@ +.idea/ +log/ +*.log +bin/ +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +.classpath +.project + +testJsonSerialization.json diff --git a/dataformat-core/LICENSE b/dataformat-core/LICENSE new file mode 100644 index 000000000..2b18bf9d4 --- /dev/null +++ b/dataformat-core/LICENSE @@ -0,0 +1,215 @@ +Copyright (C) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +The classes contained in this repository provide the functionalities to +serialize and deserialize instances of the Asset Administration Shell data model +from and to the AAS Java Model library. It is licensed under the Apache License +2.0 (Apache-2.0, see below). +The Model uses the concepts of the document "Details of the Asset +Administration Shell" published on www.plattform-i40.de which is licensed +under Creative Commons CC BY-ND 3.0 DE. + +------------------------------------------------------------------------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Fraunhofer IAIS + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dataformat-core/license-header.txt b/dataformat-core/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/dataformat-core/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/dataformat-core/pom.xml b/dataformat-core/pom.xml new file mode 100644 index 000000000..51bf0248e --- /dev/null +++ b/dataformat-core/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-core + Asset Administration Shell Serializer Core + + + + io.admin-shell.aas + model + ${model.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + io.github.classgraph + classgraph + ${classgraph.version} + + + com.google.guava + guava + ${guava.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${plugin.jar.version} + + + + test-jar + + + + + + + diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/DeserializationException.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/DeserializationException.java new file mode 100644 index 000000000..695795909 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/DeserializationException.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat; + +public class DeserializationException extends Exception { + + public DeserializationException(String msg) { + super(msg); + } + + public DeserializationException(String msg, Throwable err) { + super(msg, err); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Deserializer.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Deserializer.java new file mode 100644 index 000000000..a79c4ab52 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Deserializer.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat; + +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.stream.Collectors; + +import io.adminshell.aas.v3.model.*; + +/** + * Generic deserializer interface to deserialize a given string, Outputstream or + * java.io.File into an instance of AssetAdministrationShellEnvironment + */ +public interface Deserializer { + + /** + * Default charset that will be used when no charset is specified + */ + Charset DEFAULT_CHARSET = StandardCharsets.UTF_8; + + /** + * Deserializes a given string into an instance of + * AssetAdministrationShellEnvironment + * + * @param value a string representation of the + * AssetAdministrationShellEnvironment + * @return an instance of AssetAdministrationShellEnvironment + * @throws DeserializationException if deserialization fails + */ + AssetAdministrationShellEnvironment read(String value) throws DeserializationException; + + /** + * Deserializes a given InputStream into an instance of + * AssetAdministrationShellEnvironment using DEFAULT_CHARSET + * + * @param src an InputStream containing the string representation of the + * AssetAdministrationShellEnvironment + * @return an instance of AssetAdministrationShellEnvironment + * @throws DeserializationException if deserialization fails + */ + default AssetAdministrationShellEnvironment read(InputStream src) throws DeserializationException { + return read(src, DEFAULT_CHARSET); + } + + /** + * Deserializes a given InputStream into an instance of + * AssetAdministrationShellEnvironment using a given charset + * + * @param src An InputStream containing the string representation of the + * AssetAdministrationShellEnvironment + * @param charset the charset to use for deserialization + * @return an instance of AssetAdministrationShellEnvironment + * @throws DeserializationException if deserialization fails + */ + default AssetAdministrationShellEnvironment read(InputStream src, Charset charset) throws DeserializationException { + return read(new BufferedReader( + new InputStreamReader(src, charset)) + .lines() + .collect(Collectors.joining(System.lineSeparator()))); + } + + /** + * Deserializes a given File into an instance of + * AssetAdministrationShellEnvironment using DEFAULT_CHARSET + * + * @param file A java.io.File containing the string representation of the + * AssetAdministrationShellEnvironment + * @param charset the charset to use for deserialization + * @return an instance of AssetAdministrationShellEnvironment + * @throws FileNotFoundException if file is not present + * @throws DeserializationException if deserialization fails + */ + default AssetAdministrationShellEnvironment read(java.io.File file, Charset charset) + throws FileNotFoundException, DeserializationException { + return read(new FileInputStream(file), charset); + } + + /** + * Deserializes a given File into an instance of + * AssetAdministrationShellEnvironment using a given charset + * + * @param file a java.io.File containing the string representation of the + * AssetAdministrationShellEnvironment + * @return an instance of AssetAdministrationShellEnvironment + * @throws FileNotFoundException if the file is not present + * @throws DeserializationException if deserialization fails + */ + default AssetAdministrationShellEnvironment read(java.io.File file) throws FileNotFoundException, DeserializationException { + return read(file, DEFAULT_CHARSET); + } + + /** + * Enables usage of custom implementation to be used for deserialization + * instead of default implementation, e.g. defining a custom implementation + * of the Submodel interface {@code class + * CustomSubmodel implements Submodel {}} and calling + * {@code useImplementation(Submodel.class, CustomSubmodel.class);} will + * result in all instances of Submodel will be deserialized as + * CustomSubmodel. Subsequent class with the same aasInterface parameter + * will override the effects of all previous calls. + * + * @param the type of the interface to replace + * @param aasInterface the class of the interface to replace + * @param implementation the class implementing the interface that should be + * used for deserialization. + */ + void useImplementation(Class aasInterface, Class implementation); + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SchemaValidator.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SchemaValidator.java new file mode 100644 index 000000000..2af43dc35 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SchemaValidator.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat; + +import java.util.Set; + +/** + * Validator that can validate a serialized AASEnvironment according to a + * specific schema. + */ +public interface SchemaValidator { + + /** + * Validate a serialized AASEnvironment according to a specific Schema. Does + * not contain any additional validation, but is restricted to schema + * validation only. + * + * @param serializedAASEnvironment A string-serialized AASEnvironment. + * @return Set of validation errors. If validation succeeds, the Set is + * empty. + */ + public Set validateSchema(String serializedAASEnvironment); + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SerializationException.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SerializationException.java new file mode 100644 index 000000000..8295f1235 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/SerializationException.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat; + +public class SerializationException extends Exception { + + public SerializationException(String msg) { + super(msg); + } + + public SerializationException(String msg, Throwable err) { + super(msg, err); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Serializer.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Serializer.java new file mode 100644 index 000000000..d637a0ce7 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Serializer.java @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + +import io.adminshell.aas.v3.model.*; + +/** + * Generic serializer interface to serialize an instance of + * AssetAdministrationShellEnvironment to a string, Outputstream or java.io.File + */ +public interface Serializer { + + /** + * Default charset that will be used when no charset is specified + */ + Charset DEFAULT_CHARSET = StandardCharsets.UTF_8; + + /** + * Serializes a given instance of AssetAdministrationShellEnvironment to + * string + * + * @param aasEnvironment the AssetAdministrationShellEnvironment to + * serialize + * @return the string representation of the environment + * @throws SerializationException if serialization fails + */ + String write(AssetAdministrationShellEnvironment aasEnvironment) throws SerializationException; + + /** + * Serializes a given instance of AssetAdministrationShellEnvironment to an + * OutputStream using DEFAULT_CHARSET + * + * @param out the Outputstream to serialize to + * @param aasEnvironment the AssetAdministrationShellEnvironment to + * serialize + * @throws IOException if writing to the stream fails + * @throws SerializationException if serialization fails + */ + default void write(OutputStream out, AssetAdministrationShellEnvironment aasEnvironment) throws IOException, SerializationException { + write(out, DEFAULT_CHARSET, aasEnvironment); + } + + /** + * Serializes a given instance of AssetAdministrationShellEnvironment to an + * OutputStream using given charset + * + * @param out the Outputstream to serialize to + * @param charset the Charset to use for serialization + * @param aasEnvironment the AssetAdministrationShellEnvironment to + * serialize + * @throws IOException if writing to the stream fails + * @throws SerializationException if serialization fails + */ + default void write(OutputStream out, Charset charset, AssetAdministrationShellEnvironment aasEnvironment) + throws IOException, SerializationException { + try (OutputStreamWriter writer = new OutputStreamWriter(out, charset)) { + writer.write(write(aasEnvironment)); + } + } + + // Note that the AAS also defines a file class + /** + * Serializes a given instance of AssetAdministrationShellEnvironment to a + * java.io.File using DEFAULT_CHARSET + * + * @param file the java.io.File to serialize to + * @param charset the Charset to use for serialization + * @param aasEnvironment the AssetAdministrationShellEnvironment to + * serialize + * @throws FileNotFoundException if the fail does not exist + * @throws IOException if writing to the file fails + * @throws SerializationException if serialization fails + */ + default void write(java.io.File file, Charset charset, AssetAdministrationShellEnvironment aasEnvironment) + throws FileNotFoundException, IOException, SerializationException { + try (OutputStream out = new FileOutputStream(file)) { + write(out, charset, aasEnvironment); + } + } + + /** + * Serializes a given instance of AssetAdministrationShellEnvironment to a + * java.io.File using given charset + * + * @param file the java.io.File to serialize to + * @param aasEnvironment the AssetAdministrationShellEnvironment to + * serialize + * @throws FileNotFoundException if the fail does not exist + * @throws IOException if writing to the file fails + * @throws SerializationException if serialization fails + */ + default void write(java.io.File file, AssetAdministrationShellEnvironment aasEnvironment) + throws FileNotFoundException, IOException, SerializationException { + write(file, DEFAULT_CHARSET, aasEnvironment); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationInfo.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationInfo.java new file mode 100644 index 000000000..a8731eb12 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationInfo.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.Reference; + +/** + * Class representing all information required for a (custom) data specification + */ +public class DataSpecificationInfo { + + private final Class type; + private final Reference reference; + private final String prefix; + + public DataSpecificationInfo(Class type, Reference reference, String prefix) { + this.type = type; + this.reference = reference; + this.prefix = prefix; + } + + public Class getType() { + return type; + } + + public Reference getReference() { + return reference; + } + + public String getPrefix() { + return prefix; + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationManager.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationManager.java new file mode 100644 index 000000000..73feb594b --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/DataSpecificationManager.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import java.util.Arrays; +import java.util.Objects; +import java.util.Optional; + +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import java.util.HashSet; +import java.util.Set; +import java.util.function.Predicate; + +/** + * This class is used to manage supported data specification templates. Each + * template is identified through a reference and a prefix and provides a + * corresponding Java class. + */ +public class DataSpecificationManager { + + public static final String PROP_DATA_SPECIFICATION = "dataSpecification"; + public static final String PROP_DATA_SPECIFICATION_CONTENT = "dataSpecificationContent"; + public static final String DATA_SPECIFICATION_IEC61360_IRI = "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0"; + public static final String DATA_SPECIFICATION_IEC61360_PREFIX = "IEC"; + + private static final Set KNOWN_IMPLEMENTATIONS = new HashSet<>(Arrays.asList( + new DataSpecificationInfo(DataSpecificationIEC61360.class, + createGlobalIri(DATA_SPECIFICATION_IEC61360_IRI), + DATA_SPECIFICATION_IEC61360_PREFIX))); + + /** + * Allows to register an additional data specification template + * + * @param dataSpecification Details of the data specification template to + * register + */ + public static void register(DataSpecificationInfo dataSpecification) { + KNOWN_IMPLEMENTATIONS.add(dataSpecification); + } + + private static Reference createGlobalIri(String iri) { + return new DefaultReference.Builder().keys(Arrays.asList( + new DefaultKey.Builder().idType(KeyType.IRI).type(KeyElements.GLOBAL_REFERENCE).value(iri).build())) + .build(); + } + + /** + * Returns a DataSpecificationInfo describing the data specification + * template implemented by the given class. If the class is unknown, null is + * returned. + * + * @param implementation type of the implementation class + * @return a DataSpecificationInfo describing the data specification + * template represented by the given class, or null if the implementation + * class does not represent any data specification + */ + public static DataSpecificationInfo getDataSpecification(Class implementation) { + DataSpecificationInfo result = getDataSpecification(x -> Objects.equals(x.getType(), implementation)); + if (result == null) { + result = getDataSpecification(x -> x.getType().isAssignableFrom(implementation)); + } + return result; + } + + /** + * Returns a DataSpecificationInfo describing the data specification + * template implemented by the given class. If the class is unknown, null is + * returned. + * + * @param reference Reference associated with the wanted data specficiation + * @return a DataSpecificationInfo describing the data specification + * template represented by the reference, or null if the reference does not + * represent any data specification + */ + public static DataSpecificationInfo getDataSpecification(Reference reference) { + return getDataSpecification(x -> AasUtils.sameAs(x.getReference(), reference)); + } + + private static DataSpecificationInfo getDataSpecification(Predicate filter) { + Optional exactMatch = KNOWN_IMPLEMENTATIONS.stream() + .filter(filter) + .findFirst(); + if (exactMatch.isPresent()) { + return exactMatch.get(); + } + return null; + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/ReflectionHelper.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/ReflectionHelper.java new file mode 100644 index 000000000..d6ea11454 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/ReflectionHelper.java @@ -0,0 +1,409 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import com.google.common.reflect.TypeToken; +import io.adminshell.aas.v3.dataformat.core.util.MostSpecificTypeTokenComparator; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; +import org.apache.commons.lang3.ClassUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.Referable; +import io.github.classgraph.ClassGraph; +import io.github.classgraph.ClassInfo; +import io.github.classgraph.ClassInfoList; +import io.github.classgraph.ScanResult; + +/** + * Helper class to collect relevant data needed for + * ReflectionAnnotationIntrospector via reflection. + */ +public class ReflectionHelper { + + private static final Logger logger = LoggerFactory.getLogger(ReflectionHelper.class); + private static final String ROOT_PACKAGE_NAME = "io.adminshell.aas.v3"; + /** + * Name of package where the generated model classes are defined + */ + public static final String MODEL_PACKAGE_NAME = ROOT_PACKAGE_NAME + ".model"; + /** + * Name of package where the generated default implementation files are + * defined + */ + public static final String DEFAULT_IMPLEMENTATION_PACKAGE_NAME = MODEL_PACKAGE_NAME + ".impl"; + /** + * Name of package where the json mixins are defined. These mixins are + * automatically added to JsonSerializer and JsonDeserializer. + */ + public static final String JSON_MIXINS_PACKAGE_NAME = ROOT_PACKAGE_NAME + ".dataformat.json.mixins"; + /** + * Name of package where the xml mixins are defined. These mixins are + * automatically added to XmlSerializer and XmlDeserializer. + */ + public static final String XML_MIXINS_PACKAGE_NAME = ROOT_PACKAGE_NAME + ".dataformat.xml.mixins"; + /** + * Suffix that identifies a class as a mixin. + */ + public static final String MIXIN_SUFFIX = "Mixin"; + /** + * Prefix that defines a class as a default implementation + */ + public static final String DEFAULT_IMPLEMENTATION_PREFIX = "Default"; + /** + * Distinct root superclasses of which classify a class to include type + * informatino via the modelType property + */ + public static final Set> MODEL_TYPE_SUPERCLASSES = Set.of(Referable.class, Constraint.class); + /** + * Expanded list of all classes that shall be annotated with the modelType + * property. + */ + public static final Set> TYPES_WITH_MODEL_TYPE; + /** + * Map of all interfaces and their subinterfaces defined in the + * MODEL_PACKAGE_NAME package. + */ + public static final Map, Set>> SUBTYPES; + /** + * List of all interfaces classes defined by the AAS. + */ + public static final Set INTERFACES; + /** + * Expanded list of all mixin classes defined in the + * JSON_MIXINS_PACKAGE_NAME package together with the corresponding class + * they should be applied to. + */ + public static final Map, Class> JSON_MIXINS; + /** + * Expanded list of all mixin classes defined in the XML_MIXINS_PACKAGE_NAME + * package together with the corresponding class they should be applied to. + */ + public static final Map, Class> XML_MIXINS; + /** + * Expanded list of all default implementations in the + * DEFAULT_IMPLEMENTATION_PACKAGE_NAME package together with the interface + * from the MODEL_PACKAGE_NAME package they are implementing. + */ + public static final List DEFAULT_IMPLEMENTATIONS; + /** + * List of interfaces from the MODEL_PACKAGE_NAME package that are known to + * not have any default implementation and therefore are excluded + * explicitely. + */ + public static final Set> INTERFACES_WITHOUT_DEFAULT_IMPLEMENTATION; + /** + * List of enums from the MODEL_PACKAGE_NAME package. + */ + public static final List> ENUMS; + + public static class ImplementationInfo { + + private final Class interfaceType; + private final Class implementationType; + + protected ImplementationInfo(Class interfaceType, Class implementationType) { + this.interfaceType = interfaceType; + this.implementationType = implementationType; + } + + public Class getInterfaceType() { + return interfaceType; + } + + public Class getImplementationType() { + return implementationType; + } + } + + /** + * Returns whether the given class is an interface and from within the + * MODEL_PACKAGE_NAME package + * + * @param type the class to check + * @return whether the given class is an interface and from within the + * MODEL_PACKAGE_NAME package + */ + public static boolean isModelInterface(Class type) { + return type.isInterface() && MODEL_PACKAGE_NAME.equals(type.getPackageName()); + } + + /** + * Returns whether the given class is a default implementation or not + * + * @param type the class to check + * @return whether the given class is a default implementation or not + */ + public static boolean isDefaultImplementation(Class type) { + return DEFAULT_IMPLEMENTATIONS.stream().anyMatch(x -> Objects.equals(x.getImplementationType(), type)); + } + + /** + * Returns whether the given interface has a default implementation or not + * + * @param interfaceType the interface to check + * @return whether the given interface has a default implementation or not + */ + public static boolean hasDefaultImplementation(Class interfaceType) { + return DEFAULT_IMPLEMENTATIONS.stream().anyMatch(x -> x.getInterfaceType().equals(interfaceType)); + } + + /** + * Returns the default implementation for an aas interface or null if the + * class is no aas interface or does not have default implementation + * + * @param interfaceType the interface to check + * @return the default implementation type for given interfaceType or null + * if the class is no aas interface or does not have default implementation + */ + public static Class getDefaultImplementation(Class interfaceType) { + if (isDefaultImplementation(interfaceType)) { + return interfaceType; + } + if (hasDefaultImplementation(interfaceType)) { + return DEFAULT_IMPLEMENTATIONS.stream() + .filter(x -> x.getInterfaceType().equals(interfaceType)) + .findFirst().get() + .getImplementationType(); + } + return null; + } + + /** + * Returns whether the given class is an interface from within the + * MODEL_PACKAGE_NAME package as well as a default implementation or not + * + * @param type the class to check + * @return whether the given class is an interface from within the + * MODEL_PACKAGE_NAME package as well as a default implementation or not + */ + public static boolean isModelInterfaceOrDefaultImplementation(Class type) { + return isModelInterface(type) || isDefaultImplementation(type); + } + + public static Class getAasInterface(Class type) { + Set> implementedAasInterfaces = getAasInterfaces(type); + if (implementedAasInterfaces.isEmpty()) { + return null; + } + if (implementedAasInterfaces.size() == 1) { + return implementedAasInterfaces.iterator().next(); + } + logger.warn("class '{}' implements more than one AAS interface, but only most specific one is returned", type.getName()); + return implementedAasInterfaces.stream().map(x -> TypeToken.of(x)) + .sorted(new MostSpecificTypeTokenComparator()) + .findFirst().get() + .getRawType(); + } + + public static Set> getAasInterfaces(Class type) { + Set> result = new HashSet<>(); + if (type != null) { + if (INTERFACES.contains(type)) { + result.add(type); + } + result.addAll(ClassUtils.getAllInterfaces(type).stream().filter(x -> INTERFACES.contains(x)).collect(Collectors.toSet())); + } + return result; + } + + /** + * Returns the AAS type information used for de-/serialization for a given + * class or null if type information should not be included + * + * @param clazz the class to find the type information for + * @return the type information for the given class or null if there is no + * type information or type information should not be included + */ + public static String getModelType(Class clazz) { + Class type = getMostSpecificTypeWithModelType(clazz); + if (type != null) { + return type.getSimpleName(); + } + for (Class interfaceClass : clazz.getInterfaces()) { + String result = getModelType(interfaceClass); + if (result != null) { + return result; + } + } + Class superClass = clazz.getSuperclass(); + if (superClass != null) { + return getModelType(superClass); + } + return null; + } + + /** + * Returns the most specific supertype that contains some AAS type + * information or null if there is none + * + * @param clazz the class to find the type for + * @return the most specific supertype of given class that contains some AAS + * type information or null if there is none + */ + public static Class getMostSpecificTypeWithModelType(Class clazz) { + if (clazz == null) { + return null; + } + return TYPES_WITH_MODEL_TYPE.stream() + .filter(x -> clazz.isInterface() ? x.equals(clazz) : x.isAssignableFrom(clazz)) + .sorted((Class o1, Class o2) -> { + // -1: o1 more special than o2 + // 0: o1 equals o2 or on same samelevel + // 1: o2 more special than o1 + if (o1.isAssignableFrom(o2)) { + if (o2.isAssignableFrom(o1)) { + return 0; + } + return 1; + } + if (o2.isAssignableFrom(o1)) { + return -1; + } + return 0; + }) + .findFirst() + .orElse(null); + } + + static { + ScanResult modelScan = new ClassGraph() + .enableClassInfo() + .acceptPackagesNonRecursive(MODEL_PACKAGE_NAME) + .scan(); + TYPES_WITH_MODEL_TYPE = scanModelTypes(modelScan); + SUBTYPES = scanSubtypes(modelScan); + JSON_MIXINS = scanMixins(modelScan, JSON_MIXINS_PACKAGE_NAME); + XML_MIXINS = scanMixins(modelScan, XML_MIXINS_PACKAGE_NAME); + DEFAULT_IMPLEMENTATIONS = scanDefaultImplementations(modelScan); + INTERFACES = scanAasInterfaces(); + ENUMS = modelScan.getAllEnums().loadClasses(Enum.class); + INTERFACES_WITHOUT_DEFAULT_IMPLEMENTATION = getInterfacesWithoutDefaultImplementation(modelScan); + } + + private static Set> getInterfacesWithoutDefaultImplementation(ScanResult modelScan) { + return modelScan.getAllInterfaces().loadClasses().stream() + .filter(x -> !hasDefaultImplementation(x)) + .collect(Collectors.toSet()); + } + + public static Set> getSuperTypes(Class clazz, boolean recursive) { + Set> result = SUBTYPES.entrySet().stream() + .filter(x -> x.getValue().contains(clazz)) + .map(x -> x.getKey()) + .collect(Collectors.toSet()); + if (recursive) { + result.addAll(result.stream() + .flatMap(x -> getSuperTypes(x, true).stream()) + .collect(Collectors.toSet())); + } + return result; + } + + private static List scanDefaultImplementations(ScanResult modelScan) { + ScanResult defaulImplementationScan = new ClassGraph() + .enableClassInfo() + .acceptPackagesNonRecursive(DEFAULT_IMPLEMENTATION_PACKAGE_NAME) + .scan(); + List defaultImplementations = new ArrayList<>(); + defaulImplementationScan.getAllClasses() + .filter(x -> x.getSimpleName().startsWith(DEFAULT_IMPLEMENTATION_PREFIX)) + .loadClasses() + .stream() + .forEach(x -> { + String interfaceName = x.getSimpleName().substring(DEFAULT_IMPLEMENTATION_PREFIX.length());// using conventions + ClassInfoList interfaceClassInfos = modelScan.getAllClasses().filter(y -> y.isInterface() && Objects.equals(y.getSimpleName(), interfaceName)); + if (interfaceClassInfos.isEmpty()) { + logger.warn("could not find interface realized by default implementation class '{}'", x.getSimpleName()); + } else { + Class implementedClass = interfaceClassInfos.get(0).loadClass(); + defaultImplementations.add(new ImplementationInfo(implementedClass, x)); + logger.info("using default implementation class '{}' for interface '{}'", + x.getSimpleName(), + interfaceClassInfos.get(0).getName()); + + } + }); + return defaultImplementations; + } + + private static Set scanAasInterfaces() { + return DEFAULT_IMPLEMENTATIONS.stream().map(x -> x.interfaceType).collect(Collectors.toSet()); + } + + private static Map, Class> scanMixins(ScanResult modelScan, String packageName) { + ScanResult mixinScan = new ClassGraph() + .enableClassInfo() + .acceptPackagesNonRecursive(packageName) + .scan(); + Map, Class> mixins = new HashMap<>(); + mixinScan.getAllClasses() + .filter(x -> x.getSimpleName().endsWith(MIXIN_SUFFIX)) + .loadClasses() + .forEach(x -> { + String modelClassName = x.getSimpleName().substring(0, x.getSimpleName().length() - MIXIN_SUFFIX.length()); + ClassInfoList modelClassInfos = modelScan.getAllClasses().filter(y -> Objects.equals(y.getSimpleName(), modelClassName)); + if (modelClassInfos.isEmpty()) { + logger.warn("could not auto-resolve target class for mixin '{}'", x.getSimpleName()); + } else { + mixins.put(modelClassInfos.get(0).loadClass(), x); + logger.info("using mixin '{}' for class '{}'", + x.getSimpleName(), + modelClassInfos.get(0).getName()); + } + }); + return mixins; + } + + private static Map, Set>> scanSubtypes(ScanResult modelScan) { + return modelScan.getAllInterfaces().stream() + .filter(ReflectionHelper::hasSubclass) + .collect(Collectors.toMap(ClassInfo::loadClass, ReflectionHelper::getSubclasses)); + } + + private static Set> getSubclasses(ClassInfo clazzInfo) { + return clazzInfo.getClassesImplementing() + .directOnly() + .filter(ClassInfo::isInterface) + .loadClasses() + .stream() + .collect(Collectors.toSet()); + } + + private static boolean hasSubclass(ClassInfo clazzInfo) { + return !getSubclasses(clazzInfo).isEmpty(); + } + + private static Set> scanModelTypes(ScanResult modelScan) { + Set> typesWithModelTypes; + typesWithModelTypes = MODEL_TYPE_SUPERCLASSES.stream() + .flatMap(x -> modelScan.getClassesImplementing(x.getName()).loadClasses().stream()) + .collect(Collectors.toSet()); + typesWithModelTypes.addAll(MODEL_TYPE_SUPERCLASSES); + return typesWithModelTypes; + } + + private ReflectionHelper() { + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EmbeddedDataSpecificationDeserializer.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EmbeddedDataSpecificationDeserializer.java new file mode 100644 index 000000000..2c031437f --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EmbeddedDataSpecificationDeserializer.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.deserialization; + +import static io.adminshell.aas.v3.dataformat.core.DataSpecificationManager.PROP_DATA_SPECIFICATION; +import static io.adminshell.aas.v3.dataformat.core.DataSpecificationManager.PROP_DATA_SPECIFICATION_CONTENT; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import io.adminshell.aas.v3.dataformat.core.DataSpecificationManager; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; + +/** + * Custom Deserializer for class DataSpecification. First reads property + * PROP_DATA_SPECIFICATION and tries to resolve which Java class to use for + * deserialization based on the found value with the help of + * DataSpecificationManager. + */ +public class EmbeddedDataSpecificationDeserializer extends JsonDeserializer { + + @Override + public EmbeddedDataSpecification deserialize(JsonParser parser, DeserializationContext context) + throws IOException, JsonProcessingException { + Object temp = parser.getCodec().readTree(parser); + ObjectNode node = (ObjectNode) temp; + if (node == null) { + return null; + } + JsonNode nodeDataSpecification = node.get(PROP_DATA_SPECIFICATION); + if (nodeDataSpecification == null) { + throw new JsonMappingException(parser, + String.format("data specification must contain node '%s'", PROP_DATA_SPECIFICATION)); + } + JsonParser parserReference = parser.getCodec().getFactory().getCodec().treeAsTokens(nodeDataSpecification); + parserReference.nextToken(); + Reference reference = parserReference.readValueAs(Reference.class); + JsonNode nodeContent = node.get(PROP_DATA_SPECIFICATION_CONTENT); + if (nodeContent != null) { + Class targetClass = DataSpecificationManager.getDataSpecification(reference).getType(); + JsonParser parserContent = parser.getCodec().getFactory().getCodec().treeAsTokens(nodeContent); + parserContent.nextToken(); + DataSpecificationContent content = parserContent.readValueAs(targetClass); + return new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(content).build(); + } + return new DefaultEmbeddedDataSpecification.Builder().dataSpecification(reference).build(); + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EnumDeserializer.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EnumDeserializer.java new file mode 100644 index 000000000..ec1ed9753 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/deserialization/EnumDeserializer.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.deserialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; + +/** + * Deserializes enum values converting element names from UpperCamelCase to + * SCREAMING_SNAKE_CASE + * + * @param Type of enum to deserialize + */ +public class EnumDeserializer extends JsonDeserializer { + + protected final Class type; + + public EnumDeserializer(Class type) { + this.type = type; + } + + @Override + public T deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException { + return (T) Enum.valueOf(type, AasUtils.deserializeEnumName(parser.getText())); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EmbeddedDataSpecificationSerializer.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EmbeddedDataSpecificationSerializer.java new file mode 100644 index 000000000..a7b8f2e24 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EmbeddedDataSpecificationSerializer.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.serialization; + +import static io.adminshell.aas.v3.dataformat.core.DataSpecificationManager.PROP_DATA_SPECIFICATION; +import static io.adminshell.aas.v3.dataformat.core.DataSpecificationManager.PROP_DATA_SPECIFICATION_CONTENT; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import io.adminshell.aas.v3.dataformat.core.DataSpecificationInfo; + +import io.adminshell.aas.v3.dataformat.core.DataSpecificationManager; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Reference; +import java.util.Objects; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Custom Serializer for class DataSpecification. Adds type information in form + * of a reference. Uses DataSpecificationManager to resolve java type to + * reference. + */ +public class EmbeddedDataSpecificationSerializer extends JsonSerializer { + + private static final Logger logger = LoggerFactory.getLogger(EmbeddedDataSpecificationSerializer.class); + + @Override + public void serialize(EmbeddedDataSpecification data, JsonGenerator generator, SerializerProvider provider) + throws IOException { + if (data == null) { + return; + } + Reference reference = null; + DataSpecificationContent content = data.getDataSpecificationContent(); + if (content != null) { + DataSpecificationInfo implicitDataSpecification = DataSpecificationManager.getDataSpecification(content.getClass()); + Reference implicitType = implicitDataSpecification != null ? implicitDataSpecification.getReference() : null; + Reference explicitType = data.getDataSpecification(); + if (implicitType == null) { + logger.warn( + "Trying to serialize unknown implementation of DataSpecificationContent ({}). " + + "Use DataSpecificationManager.register(Reference reference, Class implementation) " + + "to register your implementation", + content.getClass()); + if (explicitType == null) { + logger.warn("Missing type information for DataSpecificationContent! Will be serialized without type information."); + } else { + reference = explicitType; + } + } else { + reference = implicitType; + if (explicitType != null && !Objects.equals(implicitType, explicitType)) { + logger.warn("Conflicting type information for DataSpecificationContent (implicit type: {}, explicit type: {}). Explicit type will be used.", + implicitType, explicitType); + reference = explicitType; + } + } + } + if (reference != null || content != null) { + generator.writeStartObject(); + } + if (reference != null) { + generator.writeObjectField(PROP_DATA_SPECIFICATION, reference); + } + if (content != null) { + generator.writeObjectField(PROP_DATA_SPECIFICATION_CONTENT, content); + } + if (reference != null || content != null) { + generator.writeEndObject(); + } + } + + @Override + public void serializeWithType(EmbeddedDataSpecification data, JsonGenerator generator, SerializerProvider provider, TypeSerializer typedSerializer) + throws IOException, JsonProcessingException { + serialize(data, generator, provider); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EnumSerializer.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EnumSerializer.java new file mode 100644 index 000000000..cea7e38f5 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/serialization/EnumSerializer.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.serialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; + +/** + * Serializes enum values. If enum is part of the AAS Java model, the name will + * be converted from SCREAMING_SNAKE_CASE to UpperCamelCase, else default + * serialization will be used + */ +public class EnumSerializer extends JsonSerializer { + + protected static final char UNDERSCORE = '_'; + + @Override + public void serialize(Enum value, JsonGenerator gen, SerializerProvider provider) throws IOException { + if (ReflectionHelper.ENUMS.contains(value.getClass())) { + gen.writeString(AasUtils.serializeEnumName(value.name())); + } else { + provider.findValueSerializer(Enum.class).serialize(value, gen, provider); + } + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/AasUtils.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/AasUtils.java new file mode 100644 index 000000000..aa84850e1 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/AasUtils.java @@ -0,0 +1,645 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.util; + +import com.google.common.base.Objects; +import com.google.common.reflect.TypeToken; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Provides utility functions related to AAS + */ +public class AasUtils { + + private static final Logger log = LoggerFactory.getLogger(AasUtils.class); + + private static final char UNDERSCORE = '_'; + private static final String KEY_REGEX_GROUP_TYPE = "type"; + private static final String KEY_REGEX_GROUP_ID_TYPE = "idtype"; + private static final String KEY_REGEX_GROUP_VALUE = "value"; + private static final Pattern KEY_REGEX = Pattern.compile( + String.format("\\((?<%s>\\w+)\\)\\[(?<%s>\\w+)\\](?<%s>.*)", + KEY_REGEX_GROUP_TYPE, + KEY_REGEX_GROUP_ID_TYPE, + KEY_REGEX_GROUP_VALUE)); + + private AasUtils() { + } + + /** + * Formats a Reference as string + * + * @param reference Reference to serialize + * @return string representation of the reference for serialization, null if + * reference is null + */ + public static String asString(Reference reference) { + if (reference == null) { + return null; + } + return reference.getKeys().stream() + .map(x -> String.format("(%s)[%s]%s", + serializeEnumName(x.getType().name()), + serializeEnumName(x.getIdType().name()), + x.getValue())) + .collect(Collectors.joining(",")); + } + + /** + * Parses a given string as Reference. If the given string is not a valid + * reference, null is returned. + * + * @param value String representation of the reference + * @return parsed Reference or null is given value is not a valid Reference + */ + public static Reference parseReference(String value) { + return parseReference(value, + ReflectionHelper.getDefaultImplementation(Reference.class), + ReflectionHelper.getDefaultImplementation(Key.class)); + } + + /** + * Parses a given string as Reference using the provided implementation of + * Reference and Key interface. If the given string is not a valid + * reference, null is returned. + * + * @param value String representation of the reference + * @param referenceType implementation type of Reference interface + * @param keyType implementation type of Key interface + * @return parsed Reference or null is given value is not a valid Reference + */ + public static Reference parseReference(String value, Class referenceType, Class keyType) { + if (value == null || value.isBlank()) { + return null; + } + try { + Reference result = referenceType.getConstructor().newInstance(); + result.setKeys(Stream.of(value.split(",")).map(x -> parseKey(x)).collect(Collectors.toList())); + return result; + } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new IllegalArgumentException("error parsing reference - could not instantiate reference type", ex); + } + } + + /** + * Gets property with given name as defined in type of given parent or null + * if not defined + * + * @param parent parent object + * @param propertyName name of the property + * @return property with given name as defined in type of given parent or + * null if not defined + */ + public static PropertyDescriptor getProperty(Object parent, String propertyName) { + if (parent == null || propertyName == null || propertyName.isBlank()) { + return null; + } + return getAasProperties(parent.getClass()).stream() + .filter(x -> x.getName().equals(propertyName)) + .findAny() + .orElse(null); + } + + /** + * Gets the content type of a generic collection type + * + * @param genericCollectionType the generic collection type + * @return the content type of the generic collection type + */ + public static Class getCollectionContentType(Type genericCollectionType) { + return TypeToken.of(genericCollectionType).resolveType(Collection.class.getTypeParameters()[0]).getRawType(); + } + + /** + * Gets property with given name as defined in given type or null if not + * defined + * + * @param type type containing the property + * @param propertyName name of the property + * @return property with given name as defined in given type or null if not + * defined + */ + public static PropertyDescriptor getProperty(Class type, String propertyName) { + if (type == null || propertyName == null || propertyName.isBlank()) { + return null; + } + return getAasProperties(type).stream() + .filter(x -> x.getName().equals(propertyName)) + .findAny() + .orElse(null); + } + + /** + * Parses a given string as Key. If the given string is not a valid key, + * null is returned. + * + * @param value String representation of the key + * @return parsed Key or null is given value is not a valid Key + */ + public static Key parseKey(String value) { + Matcher matcher = KEY_REGEX.matcher(value); + if (matcher.find()) { + KeyElements keyElements = KeyElements.valueOf(deserializeEnumName(matcher.group(KEY_REGEX_GROUP_TYPE))); + KeyType keyType = KeyType.valueOf(deserializeEnumName(matcher.group(KEY_REGEX_GROUP_ID_TYPE))); + return new DefaultKey.Builder() + .type(keyElements) + .idType(keyType) + .value(matcher.group(KEY_REGEX_GROUP_VALUE)) + .build(); + } + return null; + } + + /** + * Checks if a reference is a local reference or not. This functionality may + * not be 100% correct as since v3.0RC01 of the AAS specification there no + * longer is an isLocal property to check this and no alternative way to + * determine whether a reference is local or not is introduced. This method + * only checks for the presence of any Key with type GLOBAL_REFERENCE. + * Another approach would be to actually try resolving the reference + * locally. + * + * @param reference The reference to check + * @param environment The environment context the reference resides. In + * current implementation this is not used + * @return true if the reference is a local reference to the given + * environment, false otherwise + */ + public static boolean isLocal(Reference reference, AssetAdministrationShellEnvironment environment) { + return !reference.getKeys().stream().anyMatch(x -> x.getType() == KeyElements.GLOBAL_REFERENCE); + } + + public static List getSubmodelTemplates(AssetAdministrationShell aas, AssetAdministrationShellEnvironment environment) { + return aas.getSubmodels().stream() + .map(ref -> resolve(ref, environment, Submodel.class)) + .filter(sm -> sm != null) + .filter(sm -> sm.getKind() != ModelingKind.INSTANCE) + .collect(Collectors.toList()); + } + + public static boolean hasTemplate(AssetAdministrationShell aas, AssetAdministrationShellEnvironment environment) { + return !getSubmodelTemplates(aas, environment).isEmpty(); + } + + /** + * Creates a reference for an Identifiable instance using provided + * implementation types for reference and key + * + * @param identifiable the identifiable to create the reference for + * @param referenceType implementation type of Reference interface + * @param keyType implementation type of Key interface + * @return a reference representing the identifiable + */ + public static Reference toReference(Identifiable identifiable, Class referenceType, Class keyType) { + try { + Reference reference = referenceType.getConstructor().newInstance(); + Key key = keyType.getConstructor().newInstance(); + key.setType(referableToKeyType(identifiable)); + key.setIdType(KeyType.valueOf(identifiable.getIdentification().getIdType().toString())); + key.setValue(identifiable.getIdentification().getIdentifier()); + reference.setKeys(List.of(key)); + return reference; + } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new IllegalArgumentException("error parsing reference - could not instantiate reference type", ex); + } + } + + /** + * Creates a reference for an Identifiable instance + * + * @param identifiable the identifiable to create the reference for + * @return a reference representing the identifiable + */ + public static Reference toReference(Identifiable identifiable) { + return toReference(identifiable, ReflectionHelper.getDefaultImplementation(Reference.class), ReflectionHelper.getDefaultImplementation(Key.class)); + } + + /** + * Gets the KeyElements type matching the provided Referable + * + * @param referable The referable to convert to KeyElements type + * @return the most specific KeyElements type representing the Referable, + * i.e. abstract types like SUBMODEL_ELEMENT or DATA_ELEMENT are never + * returned; null if there is no corresponding KeyElements type + */ + public static KeyElements referableToKeyType(Referable referable) { + Class aasInterface = ReflectionHelper.getAasInterface(referable.getClass()); + if (aasInterface != null) { + return KeyElements.valueOf(deserializeEnumName(aasInterface.getSimpleName())); + } + return null; + } + + /** + * Translates an enum value from SCREAMING_SNAKE_CASE to CamelCase + * + * @param input input name in SCREAMING_SNAKE_CASE + * @return name in CamelCase + */ + public static String serializeEnumName(String input) { + String result = ""; + boolean capitalize = true; + for (int i = 0; i < input.length(); i++) { + char currentChar = input.charAt(i); + if (UNDERSCORE == currentChar) { + capitalize = true; + } else { + result += capitalize + ? currentChar + : Character.toLowerCase(currentChar); + capitalize = false; + } + } + return result; + } + + /** + * Translates an enum value from CamelCase to SCREAMING_SNAKE_CASE + * + * @param input input name in CamelCase + * @return name in SCREAMING_SNAKE_CASE + */ + public static String deserializeEnumName(String input) { + String result = ""; + if (input == null || input.isEmpty()) { + return result; + } + result += input.charAt(0); + for (int i = 1; i < input.length(); i++) { + char currentChar = input.charAt(i); + if (Character.isUpperCase(currentChar)) { + result += UNDERSCORE; + } + result += Character.toUpperCase(currentChar); + } + return result; + } + + /** + * Gets a Java interface representing the type provided by key. + * + * @param key The KeyElements type + * @return a Java interface representing the provided KeyElements type or + * null if no matching Class/interface could be found. It also returns + * abstract types like SUBMODEL_ELEMENT or DATA_ELEMENT + */ + public static Class keyTypeToClass(KeyElements key) { + return Stream.concat(ReflectionHelper.INTERFACES.stream(), ReflectionHelper.INTERFACES_WITHOUT_DEFAULT_IMPLEMENTATION.stream()) + .filter(x -> x.getSimpleName().equals(serializeEnumName(key.name()))) + .findAny() + .orElse(null); + } + + /** + * Creates a reference for an element given a potential parent using + * provided implementation types for reference and key + * + * @param parent Reference to the parent. Can only be null when element is + * instance of Identifiable, otherwise result will always be null + * @param element the element to create a reference for + * @param referenceType implementation type of Reference interface + * @param keyType implementation type of Key interface + * + * @return A reference representing the element or null if either element is + * null or parent is null and element not an instance of Identifiable. In + * case element is an instance of Identifiable, the returned reference will + * only contain one key pointing directly to the element. + */ + public static Reference toReference(Reference parent, Referable element, Class referenceType, Class keyType) { + if (element == null) { + return null; + } else if (Identifiable.class.isAssignableFrom(element.getClass())) { + return toReference((Identifiable) element, referenceType, keyType); + } else { + Reference result = clone(parent, referenceType, keyType); + if (result != null) { + try { + Key newKey = keyType.getConstructor().newInstance(); + newKey.setType(AasUtils.referableToKeyType(element)); + newKey.setIdType(KeyType.ID_SHORT); + newKey.setValue(element.getIdShort()); + result.getKeys().add(newKey); + } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new IllegalArgumentException("error parsing reference - could not instantiate reference type", ex); + } + } + return result; + } + } + + /** + * Creates a reference for an element given a potential parent + * + * @param parent Reference to the parent. Can only be null when element is + * instance of Identifiable, otherwise result will always be null + * @param element the element to create a reference for + * @return A reference representing the element or null if either element is + * null or parent is null and element not an instance of Identifiable. In + * case element is an instance of Identifiable, the returned reference will + * only contain one key pointing directly to the element. + */ + public static Reference toReference(Reference parent, Referable element) { + return toReference(parent, + element, + ReflectionHelper.getDefaultImplementation(Reference.class), + ReflectionHelper.getDefaultImplementation(Key.class)); + } + + /** + * Checks if two references are refering to the same element + * + * @param ref1 reference 1 + * @param ref2 reference 2 + * @return returns true if both references are refering to the same element, + * otherwise false + */ + public static boolean sameAs(Reference ref1, Reference ref2) { + boolean ref1Empty = ref1 == null || ref1.getKeys() == null || ref1.getKeys().isEmpty(); + boolean ref2Empty = ref2 == null || ref2.getKeys() == null || ref2.getKeys().isEmpty(); + if (ref1Empty && ref2Empty) { + return true; + } + if (ref1Empty != ref2Empty) { + return false; + } + int keyLength = Math.min(ref1.getKeys().size(), ref2.getKeys().size()); + for (int i = 0; i < keyLength; i++) { + Key ref1Key = ref1.getKeys().get(ref1.getKeys().size() - (i + 1)); + Key ref2Key = ref2.getKeys().get(ref2.getKeys().size() - (i + 1)); + Class ref1Type = keyTypeToClass(ref1Key.getType()); + Class ref2Type = keyTypeToClass(ref2Key.getType()); + if ((ref1Type == null && ref2Type != null) + || (ref1Type != null && ref2Type == null)) { + return false; + } + if (ref1Type != ref2Type) { + if (!(ref1Type.isAssignableFrom(ref2Type) + || ref2Type.isAssignableFrom(ref1Type))) { + return false; + } + } + if (!(Objects.equal(ref1Key.getIdType(), ref2Key.getIdType()) + && Objects.equal(ref1Key.getValue(), ref2Key.getValue()))) { + return false; + } + if ((ref1Key.getIdType() == KeyType.IRI) + || (ref1Key.getIdType() == KeyType.IRDI) + || (ref1Key.getIdType() == KeyType.CUSTOM)) { + return true; + } + } + return true; + } + + /** + * Creates a deep-copy clone of a reference + * + * @param reference the reference to clone + * @return the cloned reference + */ + public static Reference clone(Reference reference) { + return clone(reference, ReflectionHelper.getDefaultImplementation(Reference.class), ReflectionHelper.getDefaultImplementation(Key.class)); + } + + /** + * Creates a deep-copy clone of a reference using provided implementation + * types for reference and key + * + * @param reference the reference to clone + * @param referenceType implementation type of Reference interface + * @param keyType implementation type of Key interface + * + * @return the cloned reference + */ + public static Reference clone(Reference reference, Class referenceType, Class keyType) { + if (reference == null || reference.getKeys() == null || reference.getKeys().isEmpty()) { + return null; + } + try { + Reference result = referenceType.getConstructor().newInstance(); + List newKeys = new ArrayList<>(); + for (Key key : reference.getKeys()) { + Key newKey = keyType.getConstructor().newInstance(); + newKey.setType(key.getType()); + newKey.setIdType(key.getIdType()); + newKey.setValue(key.getValue()); + newKeys.add(newKey); + } + result.setKeys(newKeys); + return result; + } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + throw new IllegalArgumentException("error parsing reference - could not instantiate reference type", ex); + } + } + + /** + * Resolves a Reference within an AssetAdministrationShellEnvironment and + * returns the targeted object if available, null otherwise + * + * + * @param reference The reference to resolve + * @param env The AssetAdministrationShellEnvironment to resolve the + * reference against + * @return returns an instance of T if the reference could successfully be + * resolved, otherwise null + * @throws IllegalArgumentException if something goes wrong while resolving + */ + public static Referable resolve(Reference reference, AssetAdministrationShellEnvironment env) { + return resolve(reference, env, Referable.class); + } + + /** + * Resolves a Reference within an AssetAdministrationShellEnvironment and + * returns the targeted object if available, null otherwise + * + * @param sub-type of Referable of the targeted type. If unknown use + * Referable.class + * @param reference The reference to resolve + * @param env The AssetAdministrationShellEnvironment to resolve the + * reference against + * @param type desired return type, use Referable.class is unknwon/not + * needed + * @return returns an instance of T if the reference could successfully be + * resolved, otherwise null + * @throws IllegalArgumentException if something goes wrong while resolving + */ + public static T resolve(Reference reference, AssetAdministrationShellEnvironment env, Class type) { + if (reference == null || reference.getKeys() == null || reference.getKeys().isEmpty()) { + return null; + } + Set identifiables = new IdentifiableCollector(env).collect(); + Object current = null; + int i = reference.getKeys().size() - 1; + if (type != null) { + Class actualType = keyTypeToClass(reference.getKeys().get(i).getType()); + if (actualType == null) { + log.warn("reference {} could not be resolved as key type has no known class.", + asString(reference)); + return null; + } + if (!type.isAssignableFrom(actualType)) { + log.warn("reference {} could not be resolved as target type is not assignable from actual type (target: {}, actual: {})", + asString(reference), type.getName(), actualType.getName()); + return null; + } + } + for (; i >= 0; i--) { + Key key = reference.getKeys().get(i); + Class referencedType = keyTypeToClass(key.getType()); + if (referencedType != null) { + List matchingIdentifiables = identifiables.stream() + .filter(x -> referencedType.isAssignableFrom(x.getClass())) + .filter(x -> key.getIdType().name().equals(x.getIdentification().getIdType().name())) + .filter(x -> x.getIdentification().getIdentifier().equals(key.getValue())) + .collect(Collectors.toList()); + if (matchingIdentifiables.size() > 1) { + throw new IllegalArgumentException("found multiple matching Identifiables for id '" + key.getValue() + "'"); + } + if (matchingIdentifiables.size() == 1) { + current = matchingIdentifiables.get(0); + break; + } + } + } + if (current == null) { + return null; + } + i++; + if (i == reference.getKeys().size()) { + return (T) current; + } + // follow idShort path until target + for (; i < reference.getKeys().size(); i++) { + Key key = reference.getKeys().get(i); + Class keyType = keyTypeToClass(key.getType()); + if (keyType != null) { + Collection collection; + // operation needs special handling because of nested values + if (Operation.class.isAssignableFrom(current.getClass())) { + Operation operation = (Operation) current; + + collection = Stream.of(operation.getInputVariables().stream(), + operation.getOutputVariables().stream(), + operation.getInoutputVariables().stream()) + .flatMap(x -> x.map(y -> y.getValue())) + .collect(Collectors.toSet()); + } else { + List matchingProperties = getAasProperties(current.getClass()).stream() + .filter(x -> Collection.class.isAssignableFrom(x.getReadMethod().getReturnType())) + .filter(x -> TypeToken.of(x.getReadMethod().getGenericReturnType()) + .resolveType(Collection.class.getTypeParameters()[0]) + .isSupertypeOf(keyType)) + .collect(Collectors.toList()); + if (matchingProperties.isEmpty()) { + throw new IllegalArgumentException(String.format("error resolving reference - could not find matching property for type %s in class %s", + keyType.getSimpleName(), + current.getClass().getSimpleName())); + } + if (matchingProperties.size() > 1) { + throw new IllegalArgumentException(String.format("error resolving reference - found %d possible property paths for class %s (%s)", + matchingProperties.size(), + current.getClass().getSimpleName(), + matchingProperties.stream() + .map(x -> x.getName()) + .collect(Collectors.joining(", ")))); + } + try { + collection = (Collection) matchingProperties.get(0).getReadMethod().invoke(current); + } catch (Exception ex) { + throw new IllegalArgumentException("error resolving reference", ex); + } + Optional next = collection.stream() + .filter(x -> ((Referable) x).getIdShort().equals(key.getValue())) + .findFirst(); + if (next.isEmpty()) { + throw new IllegalArgumentException("error resolving reference - could not find idShort " + key.getValue()); + } + current = next.get(); + } + } + } + return (T) current; + } + + /** + * Gets a list of all properties defined for a class implementing at least + * one AAS interface. + * + * @param type A class implementing at least one AAS interface. If it is + * does not implement any AAS interface the result will be an empty list + * @return a list of all properties defined in any of AAS interface + * implemented by type. If type does not implement any AAS interface an + * empty list is returned. + */ + public static List getAasProperties(Class type) { + Class aasType = ReflectionHelper.getAasInterface(type); + if (aasType == null) { + aasType = ReflectionHelper.INTERFACES_WITHOUT_DEFAULT_IMPLEMENTATION.stream() + .filter(x -> x.isAssignableFrom(type)) + .map(x -> TypeToken.of(x)) + .sorted(new MostSpecificTypeTokenComparator()) + .findFirst().get() + .getRawType(); + } + Set> types = new HashSet<>(); + if (aasType != null) { + types.add(aasType); + types.addAll(ReflectionHelper.getSuperTypes(aasType, true)); + } + return types.stream() + .flatMap(x -> { + try { + return Stream.of(Introspector.getBeanInfo(x).getPropertyDescriptors()); + } catch (IntrospectionException ex) { + log.warn("error finding properties of class '{}'", type, ex); + } + return Stream.empty(); + }) + .sorted(Comparator.comparing(x -> x.getName())) + .collect(Collectors.toList()); + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/IdentifiableCollector.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/IdentifiableCollector.java new file mode 100644 index 000000000..c66b680ee --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/IdentifiableCollector.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.util; + +import io.adminshell.aas.v3.dataformat.core.visitor.AssetAdministrationShellElementWalkerVisitor; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.Submodel; +import java.util.HashSet; +import java.util.Set; + +/** + * Collects all Identifiable elements within an + * AssetAdministrationShellEnvironment + */ +public class IdentifiableCollector { + + private AssetAdministrationShellEnvironment env; + + public IdentifiableCollector(AssetAdministrationShellEnvironment env) { + this.env = env; + } + + public Set collect() { + Visitor visitor = new Visitor(); + visitor.visit(env); + return visitor.identifiables; + } + + private class Visitor implements AssetAdministrationShellElementWalkerVisitor { + + Set identifiables = new HashSet<>(); + + @Override + public void visit(AssetAdministrationShell value) { + identifiables.add(value); + AssetAdministrationShellElementWalkerVisitor.super.visit(value); + } + + @Override + public void visit(Asset value) { + identifiables.add(value); + AssetAdministrationShellElementWalkerVisitor.super.visit(value); + } + + @Override + public void visit(Submodel value) { + identifiables.add(value); + AssetAdministrationShellElementWalkerVisitor.super.visit(value); + } + + @Override + public void visit(ConceptDescription value) { + identifiables.add(value); + AssetAdministrationShellElementWalkerVisitor.super.visit(value); + } + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificClassComparator.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificClassComparator.java new file mode 100644 index 000000000..dffed72a0 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificClassComparator.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.util; + +import java.util.Comparator; + +/** + * Comparator comparing two classes regarding which type is more specific. + */ +public class MostSpecificClassComparator implements Comparator> { + + @Override + public int compare(Class x, Class y) { + if (y.isAssignableFrom(x)) { + if (x.isAssignableFrom(y)) { + return 0; + } + return -1; + } + return 1; + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificTypeTokenComparator.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificTypeTokenComparator.java new file mode 100644 index 000000000..6257c6e36 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/util/MostSpecificTypeTokenComparator.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.util; + +import com.google.common.reflect.TypeToken; +import java.util.Comparator; + +/** + * Comparator comparing two TypeToken regarding which type is more specific. + */ +public class MostSpecificTypeTokenComparator implements Comparator { + + @Override + public int compare(TypeToken x, TypeToken y) { + if (x.isSubtypeOf(y)) { + if (y.isSubtypeOf(x)) { + return 0; + } + return -1; + } + return 1; + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementVisitor.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementVisitor.java new file mode 100644 index 000000000..deeafa2d7 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementVisitor.java @@ -0,0 +1,424 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.visitor; + +import io.adminshell.aas.v3.model.AccessControl; +import io.adminshell.aas.v3.model.AccessControlPolicyPoints; +import io.adminshell.aas.v3.model.AccessPermissionRule; +import io.adminshell.aas.v3.model.AdministrativeInformation; +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.BasicEvent; +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.BlobCertificate; +import io.adminshell.aas.v3.model.Capability; +import io.adminshell.aas.v3.model.Certificate; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.DataElement; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataSpecificationPhysicalUnit; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.Event; +import io.adminshell.aas.v3.model.EventElement; +import io.adminshell.aas.v3.model.EventMessage; +import io.adminshell.aas.v3.model.Extension; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.Formula; +import io.adminshell.aas.v3.model.HasDataSpecification; +import io.adminshell.aas.v3.model.HasExtensions; +import io.adminshell.aas.v3.model.HasKind; +import io.adminshell.aas.v3.model.HasSemantics; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.ObjectAttributes; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.OperationVariable; +import io.adminshell.aas.v3.model.Permission; +import io.adminshell.aas.v3.model.PermissionsPerObject; +import io.adminshell.aas.v3.model.PolicyAdministrationPoint; +import io.adminshell.aas.v3.model.PolicyDecisionPoint; +import io.adminshell.aas.v3.model.PolicyEnforcementPoints; +import io.adminshell.aas.v3.model.PolicyInformationPoints; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Qualifiable; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Range; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.ReferenceElement; +import io.adminshell.aas.v3.model.RelationshipElement; +import io.adminshell.aas.v3.model.Security; +import io.adminshell.aas.v3.model.SubjectAttributes; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; +import io.adminshell.aas.v3.model.ValueList; +import io.adminshell.aas.v3.model.ValueReferencePair; +import io.adminshell.aas.v3.model.View; + +public interface AssetAdministrationShellElementVisitor { + + public default void visit(Certificate certificate) { + if (certificate == null) { + return; + } + Class type = certificate.getClass(); + if (BlobCertificate.class.isAssignableFrom(type)) { + visit((BlobCertificate) certificate); + } + } + + public default void visit(Constraint constraint) { + if (constraint == null) { + return; + } + Class type = constraint.getClass(); + if (Qualifier.class.isAssignableFrom(type)) { + visit((Qualifier) constraint); + } else if (Formula.class.isAssignableFrom(type)) { + visit((Formula) constraint); + } + } + + public default void visit(DataElement dataElement) { + if (dataElement == null) { + return; + } + Class type = dataElement.getClass(); + if (Property.class.isAssignableFrom(type)) { + visit((Property) dataElement); + } else if (MultiLanguageProperty.class.isAssignableFrom(type)) { + visit((MultiLanguageProperty) dataElement); + } else if (Range.class.isAssignableFrom(type)) { + visit((Range) dataElement); + } else if (ReferenceElement.class.isAssignableFrom(type)) { + visit((ReferenceElement) dataElement); + } else if (File.class.isAssignableFrom(type)) { + visit((File) dataElement); + } else if (Blob.class.isAssignableFrom(type)) { + visit((Blob) dataElement); + } + } + + public default void visit(DataSpecificationContent dataSpecificationContent) { + if (dataSpecificationContent == null) { + return; + } + Class type = dataSpecificationContent.getClass(); + if (DataSpecificationIEC61360.class.isAssignableFrom(type)) { + visit((DataSpecificationIEC61360) dataSpecificationContent); + } + } + + public default void visit(Event event) { + if (event == null) { + return; + } + Class type = event.getClass(); + if (BasicEvent.class.isAssignableFrom(type)) { + visit((BasicEvent) event); + } + } + + public default void visit(HasDataSpecification hasDataSpecification) { + if (hasDataSpecification == null) { + return; + } + Class type = hasDataSpecification.getClass(); + if (AssetAdministrationShell.class.isAssignableFrom(type)) { + visit((AssetAdministrationShell) hasDataSpecification); + } else if (Submodel.class.isAssignableFrom(type)) { + visit((Submodel) hasDataSpecification); + } else if (View.class.isAssignableFrom(type)) { + visit((View) hasDataSpecification); + } else if (Asset.class.isAssignableFrom(type)) { + visit((Asset) hasDataSpecification); + } else if (SubmodelElement.class.isAssignableFrom(type)) { + visit((SubmodelElement) hasDataSpecification); + } + + } + + public default void visit(HasExtensions hasExtensions) { + if (hasExtensions == null) { + return; + } + Class type = hasExtensions.getClass(); + if (Referable.class.isAssignableFrom(type)) { + visit((Referable) hasExtensions); + } + } + + public default void visit(HasKind hasKind) { + if (hasKind == null) { + return; + } + Class type = hasKind.getClass(); + if (Submodel.class.isAssignableFrom(type)) { + visit((Submodel) hasKind); + } else if (SubmodelElement.class.isAssignableFrom(type)) { + visit((SubmodelElement) hasKind); + } + } + + public default void visit(HasSemantics hasSemantics) { + if (hasSemantics == null) { + return; + } + Class type = hasSemantics.getClass(); + if (Extension.class.isAssignableFrom(type)) { + visit((Extension) hasSemantics); + } else if (IdentifierKeyValuePair.class.isAssignableFrom(type)) { + visit((IdentifierKeyValuePair) hasSemantics); + } else if (Submodel.class.isAssignableFrom(type)) { + visit((Submodel) hasSemantics); + } else if (SubmodelElement.class.isAssignableFrom(type)) { + visit((SubmodelElement) hasSemantics); + } else if (View.class.isAssignableFrom(type)) { + visit((View) hasSemantics); + } else if (Qualifier.class.isAssignableFrom(type)) { + visit((Qualifier) hasSemantics); + } + } + + public default void visit(Identifiable identifiable) { + if (identifiable == null) { + return; + } + Class type = identifiable.getClass(); + if (AssetAdministrationShell.class.isAssignableFrom(type)) { + visit((AssetAdministrationShell) identifiable); + } else if (Asset.class.isAssignableFrom(type)) { + visit((Asset) identifiable); + } else if (Submodel.class.isAssignableFrom(type)) { + visit((Submodel) identifiable); + } else if (ConceptDescription.class.isAssignableFrom(type)) { + visit((ConceptDescription) identifiable); + } + } + + public default void visit(SubmodelElement submodelElement) { + if (submodelElement == null) { + return; + } + Class type = submodelElement.getClass(); + if (RelationshipElement.class.isAssignableFrom(type)) { + visit((RelationshipElement) submodelElement); + } else if (DataElement.class.isAssignableFrom(type)) { + visit((DataElement) submodelElement); + } else if (Capability.class.isAssignableFrom(type)) { + visit((Capability) submodelElement); + } else if (SubmodelElementCollection.class.isAssignableFrom(type)) { + visit((SubmodelElementCollection) submodelElement); + } else if (Operation.class.isAssignableFrom(type)) { + visit((Operation) submodelElement); + } else if (Event.class.isAssignableFrom(type)) { + visit((Event) submodelElement); + } else if (Entity.class.isAssignableFrom(type)) { + visit((Entity) submodelElement); + } + } + + public default void visit(Qualifiable qualifiable) { + if (qualifiable == null) { + return; + } + Class type = qualifiable.getClass(); + if (Submodel.class.isAssignableFrom(type)) { + visit((Submodel) qualifiable); + } else if (SubmodelElement.class.isAssignableFrom(type)) { + visit((SubmodelElement) qualifiable); + } else if (AccessPermissionRule.class.isAssignableFrom(type)) { + visit((AccessPermissionRule) qualifiable); + } + } + + public default void visit(Referable referable) { + if (referable == null) { + return; + } + Class type = referable.getClass(); + if (Identifiable.class.isAssignableFrom(type)) { + visit((Identifiable) referable); + } else if (SubmodelElement.class.isAssignableFrom(type)) { + visit((SubmodelElement) referable); + } else if (View.class.isAssignableFrom(type)) { + visit((View) referable); + } else if (AccessPermissionRule.class.isAssignableFrom(type)) { + visit((AccessPermissionRule) referable); + } + } + + public default void visit(AssetAdministrationShellEnvironment assetAdministrationShellEnvironment) { + } + + public default void visit(AccessControl accessControl) { + } + + public default void visit(AccessControlPolicyPoints accessControlPolicyPoints) { + } + + public default void visit(AccessPermissionRule accessPermissionRule) { + } + + public default void visit(AdministrativeInformation administrativeInformation) { + } + + public default void visit(AnnotatedRelationshipElement annotatedRelationshipElement) { + } + + public default void visit(Asset asset) { + } + + public default void visit(AssetAdministrationShell assetAdministrationShell) { + } + + public default void visit(AssetInformation assetInformation) { + } + + public default void visit(BasicEvent basicEvent) { + } + + public default void visit(Blob blob) { + } + + public default void visit(BlobCertificate blobCertificate) { + } + + public default void visit(Capability capability) { + } + + public default void visit(ConceptDescription conceptDescription) { + } + + public default void visit(DataSpecificationIEC61360 dataSpecificationIEC61360) { + } + + public default void visit(DataSpecificationPhysicalUnit dataSpecificationPhysicalUnit) { + } + + public default void visit(EmbeddedDataSpecification embeddedDataSpecification) { + } + + public default void visit(Entity entity) { + } + + public default void visit(EventElement eventElement) { + } + + public default void visit(EventMessage eventMessage) { + } + + public default void visit(Extension extension) { + } + + public default void visit(File file) { + } + + public default void visit(Formula formula) { + } + + public default void visit(Identifier identifier) { + } + + public default void visit(IdentifierKeyValuePair identifierKeyValuePair) { + } + + public default void visit(Key key) { + } + + public default void visit(LangString langString) { + } + + public default void visit(MultiLanguageProperty multiLanguageProperty) { + } + + public default void visit(ObjectAttributes objectAttributes) { + } + + public default void visit(Operation operation) { + } + + public default void visit(OperationVariable operationVariable) { + } + + public default void visit(Permission permission) { + } + + public default void visit(PermissionsPerObject permissionsPerObject) { + } + + public default void visit(PolicyAdministrationPoint policyAdministrationPoint) { + } + + public default void visit(PolicyDecisionPoint policyDecisionPoint) { + } + + public default void visit(PolicyEnforcementPoints policyEnforcementPoints) { + } + + public default void visit(PolicyInformationPoints policyInformationPoints) { + } + + public default void visit(Property property) { + } + + public default void visit(Qualifier qualifier) { + } + + public default void visit(Range range) { + } + + public default void visit(Reference reference) { + } + + public default void visit(ReferenceElement referenceElement) { + } + + public default void visit(RelationshipElement relationshipElement) { + } + + public default void visit(Security security) { + } + + public default void visit(SubjectAttributes subjectAttributes) { + } + + public default void visit(Submodel submodel) { + } + + public default void visit(SubmodelElementCollection submodelElementCollection) { + } + + public default void visit(ValueList valueList) { + } + + public default void visit(ValueReferencePair valueReferencePair) { + } + + public default void visit(View view) { + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementWalkerVisitor.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementWalkerVisitor.java new file mode 100644 index 000000000..b98b9520a --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/core/visitor/AssetAdministrationShellElementWalkerVisitor.java @@ -0,0 +1,464 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core.visitor; + +import io.adminshell.aas.v3.model.AccessControl; +import io.adminshell.aas.v3.model.AccessControlPolicyPoints; +import io.adminshell.aas.v3.model.AccessPermissionRule; +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.BasicEvent; +import io.adminshell.aas.v3.model.BlobCertificate; +import io.adminshell.aas.v3.model.Certificate; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.Extension; +import io.adminshell.aas.v3.model.Formula; +import io.adminshell.aas.v3.model.HasDataSpecification; +import io.adminshell.aas.v3.model.HasExtensions; +import io.adminshell.aas.v3.model.HasSemantics; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.ObjectAttributes; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.OperationVariable; +import io.adminshell.aas.v3.model.Permission; +import io.adminshell.aas.v3.model.PermissionsPerObject; +import io.adminshell.aas.v3.model.PolicyAdministrationPoint; +import io.adminshell.aas.v3.model.PolicyInformationPoints; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Qualifiable; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.ReferenceElement; +import io.adminshell.aas.v3.model.RelationshipElement; +import io.adminshell.aas.v3.model.Security; +import io.adminshell.aas.v3.model.SubjectAttributes; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElementCollection; +import io.adminshell.aas.v3.model.ValueList; +import io.adminshell.aas.v3.model.ValueReferencePair; +import io.adminshell.aas.v3.model.View; + +public interface AssetAdministrationShellElementWalkerVisitor extends AssetAdministrationShellElementVisitor { + + @Override + public default void visit(AccessControl accessControl) { + if (accessControl == null) { + return; + } + visit(accessControl.getDefaultEnvironmentAttributes()); + visit(accessControl.getDefaultPermissions()); + visit(accessControl.getDefaultSubjectAttributes()); + visit(accessControl.getSelectableEnvironmentAttributes()); + visit(accessControl.getSelectablePermissions()); + visit(accessControl.getSelectableSubjectAttributes()); + accessControl.getAccessPermissionRules().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(accessControl); + } + + @Override + public default void visit(AccessControlPolicyPoints accessControlPolicyPoints) { + if (accessControlPolicyPoints == null) { + return; + } + visit(accessControlPolicyPoints.getPolicyAdministrationPoint()); + visit(accessControlPolicyPoints.getPolicyDecisionPoint()); + visit(accessControlPolicyPoints.getPolicyEnforcementPoint()); + visit(accessControlPolicyPoints.getPolicyInformationPoints()); + AssetAdministrationShellElementVisitor.super.visit(accessControlPolicyPoints); + } + + @Override + public default void visit(AccessPermissionRule accessPermissionRule) { + if (accessPermissionRule == null) { + return; + } + visit(accessPermissionRule.getTargetSubjectAttributes()); + accessPermissionRule.getPermissionsPerObjects().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(accessPermissionRule); + } + + @Override + public default void visit(AnnotatedRelationshipElement annotatedRelationshipElement) { + if (annotatedRelationshipElement == null) { + return; + } + annotatedRelationshipElement.getAnnotations().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(annotatedRelationshipElement); + } + + @Override + public default void visit(AssetAdministrationShell assetAdministrationShell) { + if (assetAdministrationShell == null) { + return; + } + visit(assetAdministrationShell.getDerivedFrom()); + visit(assetAdministrationShell.getSecurity()); + visit(assetAdministrationShell.getAssetInformation()); + assetAdministrationShell.getSubmodels().forEach(x -> visit(x)); + assetAdministrationShell.getViews().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(assetAdministrationShell); + } + + @Override + public default void visit(AssetInformation assetInformation) { + if (assetInformation == null) { + return; + } + visit(assetInformation.getGlobalAssetId()); + visit(assetInformation.getDefaultThumbnail()); + assetInformation.getSpecificAssetIds().forEach(x -> visit(x)); + assetInformation.getBillOfMaterials().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(assetInformation); + } + + @Override + public default void visit(BasicEvent basicEvent) { + if (basicEvent == null) { + return; + } + visit(basicEvent.getObserved()); + AssetAdministrationShellElementVisitor.super.visit(basicEvent); + } + + @Override + public default void visit(Certificate certificate) { + if (certificate == null) { + return; + } + visit(certificate.getPolicyAdministrationPoint()); + AssetAdministrationShellElementVisitor.super.visit(certificate); + } + + @Override + public default void visit(ConceptDescription conceptDescription) { + if (conceptDescription == null) { + return; + } + conceptDescription.getIsCaseOfs().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(conceptDescription); + } + + @Override + public default void visit(HasDataSpecification hasDataSpecification) { + if (hasDataSpecification == null) { + return; + } + hasDataSpecification.getEmbeddedDataSpecifications().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(hasDataSpecification); + } + + @Override + public default void visit(HasExtensions hasExtensions) { + if (hasExtensions == null) { + return; + } + hasExtensions.getExtensions().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(hasExtensions); + } + + @Override + public default void visit(HasSemantics hasSemantics) { + if (hasSemantics == null) { + return; + } + visit(hasSemantics.getSemanticId()); + AssetAdministrationShellElementVisitor.super.visit(hasSemantics); + } + + @Override + public default void visit(Identifiable identifiable) { + if (identifiable == null) { + return; + } + visit(identifiable.getAdministration()); + visit(identifiable.getIdentification()); + AssetAdministrationShellElementVisitor.super.visit(identifiable); + } + + @Override + public default void visit(IdentifierKeyValuePair identifierKeyValuePair) { + if (identifierKeyValuePair == null) { + return; + } + visit(identifierKeyValuePair.getExternalSubjectId()); + AssetAdministrationShellElementVisitor.super.visit(identifierKeyValuePair); + } + + @Override + public default void visit(MultiLanguageProperty multiLanguageProperty) { + if (multiLanguageProperty == null) { + return; + } + multiLanguageProperty.getValues().forEach(x -> visit(x)); + visit(multiLanguageProperty.getValueId()); + AssetAdministrationShellElementVisitor.super.visit(multiLanguageProperty); + } + + @Override + public default void visit(ObjectAttributes objectAttributes) { + if (objectAttributes == null) { + return; + } + objectAttributes.getObjectAttributes().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(objectAttributes); + } + + @Override + public default void visit(OperationVariable operationVariable) { + if (operationVariable == null) { + return; + } + visit(operationVariable.getValue()); + AssetAdministrationShellElementVisitor.super.visit(operationVariable); + } + + @Override + public default void visit(PolicyInformationPoints policyInformationPoints) { + if (policyInformationPoints == null) { + return; + } + policyInformationPoints.getInternalInformationPoints().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(policyInformationPoints); + } + + @Override + public default void visit(Property property) { + if (property == null) { + return; + } + visit(property.getValueId()); + AssetAdministrationShellElementVisitor.super.visit(property); + } + + @Override + public default void visit(Qualifiable qualifiable) { + if (qualifiable == null) { + return; + } + qualifiable.getQualifiers().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(qualifiable); + } + + @Override + public default void visit(Qualifier qualifier) { + if (qualifier == null) { + return; + } + visit(qualifier.getValueId()); + AssetAdministrationShellElementVisitor.super.visit(qualifier); + } + + @Override + public default void visit(Referable referable) { + if (referable == null) { + return; + } + referable.getDescriptions().forEach(x -> visit(x)); + referable.getDisplayNames().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(referable); + } + + @Override + public default void visit(Reference reference) { + if (reference == null) { + return; + } + reference.getKeys().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(reference); + } + + @Override + public default void visit(ReferenceElement referenceElement) { + if (referenceElement == null) { + return; + } + visit(referenceElement.getValue()); + AssetAdministrationShellElementVisitor.super.visit(referenceElement); + } + + @Override + public default void visit(RelationshipElement relationshipElement) { + if (relationshipElement == null) { + return; + } + visit(relationshipElement.getFirst()); + visit(relationshipElement.getSecond()); + AssetAdministrationShellElementVisitor.super.visit(relationshipElement); + } + + @Override + public default void visit(Security security) { + if (security == null) { + return; + } + visit(security.getAccessControlPolicyPoints()); + security.getCertificates().forEach(x -> visit(x)); + security.getRequiredCertificateExtensions().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(security); + } + + @Override + public default void visit(SubjectAttributes subjectAttributes) { + if (subjectAttributes == null) { + return; + } + subjectAttributes.getSubjectAttributes().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(subjectAttributes); + } + + @Override + public default void visit(Permission permission) { + if (permission == null) { + return; + } + visit(permission.getPermission()); + AssetAdministrationShellElementVisitor.super.visit(permission); + } + + @Override + public default void visit(PermissionsPerObject permissionsPerObject) { + if (permissionsPerObject == null) { + return; + } + visit(permissionsPerObject.getObject()); + visit(permissionsPerObject.getTargetObjectAttributes()); + permissionsPerObject.getPermissions().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(permissionsPerObject); + } + + @Override + public default void visit(PolicyAdministrationPoint policyAdministrationPoint) { + if (policyAdministrationPoint == null) { + return; + } + visit(policyAdministrationPoint.getLocalAccessControl()); + AssetAdministrationShellElementVisitor.super.visit(policyAdministrationPoint); + } + + @Override + public default void visit(Entity entity) { + if (entity == null) { + return; + } + visit(entity.getGlobalAssetId()); + visit(entity.getSpecificAssetId()); + entity.getStatements().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(entity); + } + + @Override + public default void visit(Formula formula) { + if (formula == null) { + return; + } + formula.getDependsOns().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(formula); + } + + @Override + public default void visit(Extension extension) { + if (extension == null) { + return; + } + visit(extension.getRefersTo()); + AssetAdministrationShellElementVisitor.super.visit(extension); + } + + @Override + public default void visit(AssetAdministrationShellEnvironment assetAdministrationShellEnvironment) { + if (assetAdministrationShellEnvironment == null) { + return; + } + assetAdministrationShellEnvironment.getAssetAdministrationShells().forEach(x -> visit(x)); + assetAdministrationShellEnvironment.getConceptDescriptions().forEach(x -> visit(x)); + assetAdministrationShellEnvironment.getSubmodels().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(assetAdministrationShellEnvironment); + } + + @Override + public default void visit(Submodel submodel) { + if (submodel == null) { + return; + } + submodel.getSubmodelElements().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(submodel); + } + + @Override + public default void visit(SubmodelElementCollection submodelElementCollection) { + if (submodelElementCollection == null) { + return; + } + submodelElementCollection.getValues().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(submodelElementCollection); + } + + @Override + public default void visit(Operation operation) { + if (operation == null) { + return; + } + operation.getInputVariables().forEach(x -> visit(x.getValue())); + operation.getInoutputVariables().forEach(x -> visit(x.getValue())); + operation.getOutputVariables().forEach(x -> visit(x.getValue())); + AssetAdministrationShellElementVisitor.super.visit(operation); + } + + @Override + public default void visit(BlobCertificate blobCertificate) { + if (blobCertificate == null) { + return; + } + visit(blobCertificate.getBlobCertificate()); + visit(blobCertificate.getPolicyAdministrationPoint()); + blobCertificate.getContainedExtensions().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(blobCertificate); + } + + @Override + public default void visit(ValueList valueList) { + if (valueList == null) { + return; + } + valueList.getValueReferencePairTypes().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(valueList); + } + + @Override + public default void visit(ValueReferencePair valueReferencePair) { + if (valueReferencePair == null) { + return; + } + visit(valueReferencePair.getValueId()); + AssetAdministrationShellElementVisitor.super.visit(valueReferencePair); + } + + @Override + public default void visit(View view) { + if (view == null) { + return; + } + view.getContainedElements().forEach(x -> visit(x)); + AssetAdministrationShellElementVisitor.super.visit(view); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/Mapper.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/Mapper.java new file mode 100644 index 000000000..1cf80c006 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/Mapper.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.mapping; + +/** + * Generic interface used by MappingProvider to infere generic arguments. This + * is used to automatically determine best-matching mapper + * + * @param The type that this Mapper can process + */ +public interface Mapper { + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingContext.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingContext.java new file mode 100644 index 000000000..259b76b3c --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingContext.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.mapping; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Abstract super-class for a MappingContext that already provides a + * MappingProvider + * + * @param Type of mapper the the MappingProvider can operate on + */ +public abstract class MappingContext { + + protected static final Logger log = LoggerFactory.getLogger(MappingContext.class); + protected final MappingProvider mappingProvider; + + public MappingContext(MappingProvider mappingProvider) { + this.mappingProvider = mappingProvider; + } + + public MappingProvider getMappingProvider() { + return mappingProvider; + } +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingException.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingException.java new file mode 100644 index 000000000..507b72955 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingException.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.mapping; + +/** + * Exception throw upon any error on mapping + */ +public class MappingException extends Exception { + + public MappingException(String msg) { + super(msg); + } + + public MappingException(String msg, Throwable err) { + super(msg, err); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingProvider.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingProvider.java new file mode 100644 index 000000000..4d92525f7 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/MappingProvider.java @@ -0,0 +1,133 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.mapping; + +import com.google.common.reflect.TypeToken; +import io.adminshell.aas.v3.dataformat.core.util.MostSpecificClassComparator; +import io.adminshell.aas.v3.dataformat.core.util.MostSpecificTypeTokenComparator; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Manages a set of mappers and allows finding them by type. This is the + * cornerstone functionality of the mapping framework. + * + * @param Type of mappers that are supported + */ +public class MappingProvider { + + private static final Logger log = LoggerFactory.getLogger(MappingProvider.class); + + private final T defaultMapper; + private final T defaultCollectionMapper; + private final Map, List> mappings = new HashMap<>(); + + public MappingProvider(Class type, + Mapper defaultMapper, + Mapper> defaultCollectionMapper) { + if (type == null) { + throw new IllegalArgumentException("type must be non-null"); + } + if (defaultMapper == null) { + throw new IllegalArgumentException("defaultMapper must be non-null"); + } + if (defaultCollectionMapper == null) { + throw new IllegalArgumentException("defaultCollectionMapper must be non-null"); + } + if (!type.isAssignableFrom(defaultMapper.getClass())) { + throw new IllegalArgumentException("defaultMapper must be of type " + type); + } + if (!type.isAssignableFrom(defaultCollectionMapper.getClass())) { + throw new IllegalArgumentException("defaultCollectionMapper must be of type " + type); + } + this.defaultMapper = (T) defaultMapper; + this.defaultCollectionMapper = (T) defaultCollectionMapper; + } + + public void register(T mapper) { + TypeToken key = getMappedType(mapper.getClass()); + if (!mappings.containsKey(key)) { + mappings.put(key, new ArrayList<>()); + } + mappings.get(key).add(mapper); + } + + private TypeToken getMappedType(Class type) { + return TypeToken.of(type) + .getTypes().stream() + .filter(y -> Mapper.class.equals(y.getRawType())) + .findFirst() + .get() + .resolveType(Mapper.class.getTypeParameters()[0]); + } + + /** + * Find the most specific mapper for a given object. + * + * @param obj The object to find a suitable mapper for. If this is an + * instance of Type (e.g. a Class) type information for that is returned. + * @return The most specific mapper for the given object + */ + public T getMapper(Object obj) { + if (obj == null) { + return getMapper(Object.class); + } + if (Type.class.isAssignableFrom(obj.getClass())) { + return getMapper((Type) obj); + } + return getMapper(obj.getClass()); + } + + /** + * Find the most specific mapper for a given type. + * + * @param type The type to find a suitable mapper for. + * @return The most specific mapper for the given type + */ + public T getMapper(Type type) { + Optional> customMapper = mappings.entrySet().stream() + .filter(x -> x.getKey().isSupertypeOf(type)) + .sorted((x, y) -> Objects.compare(x.getKey(), y.getKey(), new MostSpecificTypeTokenComparator())) + .map(x -> x.getValue()) + .findFirst(); + if (customMapper.isEmpty() && !TypeToken.of(Collection.class).isSupertypeOf(type)) { + customMapper = mappings.entrySet().stream() + .filter(x -> x.getKey().getRawType().isAssignableFrom(TypeToken.of(type).getRawType())) + .sorted((x, y) -> Objects.compare(x.getKey().getRawType(), y.getKey().getRawType(), new MostSpecificClassComparator())) + .map(x -> x.getValue()) + .findFirst(); + } + if (customMapper.isEmpty() || customMapper.get().isEmpty()) { + if (TypeToken.of(Collection.class).isSupertypeOf(type) && defaultCollectionMapper != null) { + return defaultCollectionMapper; + } + return defaultMapper; + } + if (customMapper.get().size() > 1) { + log.warn("found {} equally suitable mappers for type '{}'", customMapper.get().size(), type); + } + return customMapper.get().get(0); + } + +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/SourceBasedMapper.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/SourceBasedMapper.java new file mode 100644 index 000000000..00a7afe32 --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/SourceBasedMapper.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.mapping; + +/** + * A mapper that when mapping from A to B allows to write mappers based on the + * classes of A (the source of the mapping) + * + * @param type that the mapper accepts, here: any class of A + * @param the generator type, here: to generate instances of B + * @param the type of mapping context + */ +public interface SourceBasedMapper extends Mapper { + + /** + * Maps the given value to target format via the generator. + * + * @param value the value to map + * @param generator the generator to write the mapping result to + * @param context the context of the mapping + * @throws MappingException + */ + public void map(T value, G generator, C context) throws MappingException; +} diff --git a/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/TargetBasedMapper.java b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/TargetBasedMapper.java new file mode 100644 index 000000000..4053932ec --- /dev/null +++ b/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/mapping/TargetBasedMapper.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.mapping; + +/** + * A mapper that when mapping from A to B allows to write mappers based on the + * classes of B (the target of the mapping) + * + * @param type that the mapper accepts, here: any class of B + * @param

the parser type, here: to parse data of A + * @param the type of mapping context + */ +public interface TargetBasedMapper> extends Mapper { + + /** + * Reads from the parser and returns the mapping result. + * + * @param parser the parser to read the actual input + * @param context the context + * @return a new instance of T created by mapping data given by the parser + * @throws MappingException + */ + public T map(P parser, C context) throws MappingException; +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java new file mode 100644 index 000000000..1f42d4f27 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java @@ -0,0 +1,1844 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import java.util.Arrays; +import java.util.Base64; + +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.LevelType; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation; +import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; +import io.adminshell.aas.v3.model.impl.DefaultBasicEvent; +import io.adminshell.aas.v3.model.impl.DefaultBlob; +import io.adminshell.aas.v3.model.impl.DefaultCapability; +import io.adminshell.aas.v3.model.impl.DefaultConceptDescription; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultEntity; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultIdentifier; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty; +import io.adminshell.aas.v3.model.impl.DefaultOperation; +import io.adminshell.aas.v3.model.impl.DefaultOperationVariable; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; +import io.adminshell.aas.v3.model.impl.DefaultRange; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultReferenceElement; +import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; +import io.adminshell.aas.v3.model.impl.DefaultValueList; +import io.adminshell.aas.v3.model.impl.DefaultValueReferencePair; +import io.adminshell.aas.v3.model.impl.DefaultView; + +public class AASFull { + + public static final AssetAdministrationShell AAS_1 = createAAS1(); + public static final AssetAdministrationShell AAS_2 = createAAS2(); + public static final AssetAdministrationShell AAS_3 = createAAS3(); + public static final AssetAdministrationShell AAS_4 = createAAS4(); + public static final Submodel SUBMODEL_1 = createSubmodel1(); + public static final Submodel SUBMODEL_2 = createSubmodel2(); + public static final Submodel SUBMODEL_3 = createSubmodel3(); + public static final Submodel SUBMODEL_4 = createSubmodel4(); + public static final Submodel SUBMODEL_5 = createSubmodel5(); + public static final Submodel SUBMODEL_6 = createSubmodel6(); + public static final Submodel SUBMODEL_7 = createSubmodel7(); + public final static ConceptDescription CONCEPT_DESCRIPTION_1 = createConceptDescription1(); + public final static ConceptDescription CONCEPT_DESCRIPTION_2 = createConceptDescription2(); + public final static ConceptDescription CONCEPT_DESCRIPTION_3 = createConceptDescription3(); + public final static ConceptDescription CONCEPT_DESCRIPTION_4 = createConceptDescription4(); + public static final AssetAdministrationShellEnvironment ENVIRONMENT = createEnvironment(); + + public static AssetAdministrationShell createAAS1() { + return new DefaultAssetAdministrationShell.Builder() + .idShort("TestAssetAdministrationShell") + .description(new LangString("An Example Asset Administration Shell for the test application", "en-us")) + .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_AssetAdministrationShell") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .derivedFrom(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET_ADMINISTRATION_SHELL) + .idType(KeyType.IRI) + .value("https://acplt.org/TestAssetAdministrationShell2") + .build()) + .build()) + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET) + .idType(KeyType.IRI) + .value("https://acplt.org/Test_Asset") + .build()) + .build()) + .billOfMaterial((new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .idType(KeyType.IRI) + .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial") + .build())) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel") + .idType(KeyType.IRI) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial") + .idType(KeyType.IRI) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("http://acplt.org/Submodels/Assets/TestAsset/Identification") + .idType(KeyType.IRI) + .build()) + .build()) + .build(); + } + + public static AssetAdministrationShell createAAS2() { + return new DefaultAssetAdministrationShell.Builder() + .idShort("Test_AssetAdministrationShell_Mandatory") + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_AssetAdministrationShell_Mandatory") + .build()) + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET) + .idType(KeyType.IRI) + .value("https://acplt.org/Test_Asset_Mandatory") + .build()) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Mandatory") + .idType(KeyType.IRI) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel2_Mandatory") + .idType(KeyType.IRI) + .build()) + .build()) + .build(); + } + + public static AssetAdministrationShell createAAS3() { + return new DefaultAssetAdministrationShell.Builder() + .idShort("Test_AssetAdministrationShell2_Mandatory") + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_AssetAdministrationShell2_Mandatory") + .build()) + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET) + .idType(KeyType.IRI) + .value("https://acplt.org/Test_Asset_Mandatory") + .build()) + .build()) + .build()) + .build(); + } + + public static AssetAdministrationShell createAAS4() { + return new DefaultAssetAdministrationShell.Builder() + .idShort("TestAssetAdministrationShell") + .description(new LangString("An Example Asset Administration Shell for the test application", "en-us")) + .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_AssetAdministrationShell_Missing") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET) + .idType(KeyType.IRI) + .value("https://acplt.org/Test_Asset_Missing") + .build()) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .build()) + .view(new DefaultView.Builder() + .idShort("ExampleView") + .containedElement((new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build())) + .build()) + .build()) + .view(new DefaultView.Builder() + .idShort("ExampleView2") + .build()) + .build(); + } + + public static Submodel createSubmodel1() { + return new DefaultSubmodel.Builder() + .idShort("Identification") + .description(new LangString("An example asset identification submodel for the test application", "en-us")) + .description(new LangString("Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("http://acplt.org/Submodels/Assets/TestAsset/Identification") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .idType(KeyType.IRI) + .value("http://acplt.org/SubmodelTemplates/AssetIdentification") + .build()) + .build()) + .submodelElement(new DefaultProperty.Builder() + .idShort("ManufacturerName") + .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us")) + .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("0173-1#02-AAO677#002") + .idType(KeyType.IRI) + .build()) + .build()) + .qualifier(new DefaultQualifier.Builder() + .value("100") + .valueType("int") + .type("http://acplt.org/Qualifier/ExampleQualifier") + .build()) + .qualifier(new DefaultQualifier.Builder() + .value("50") + .valueType("int") + .type("http://acplt.org/Qualifier/ExampleQualifier2") + .build()) + .value("http://acplt.org/ValueId/ACPLT") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ACPLT") + .build()) + .build()) + .valueType("string") + .build()) + .submodelElement(new DefaultProperty.Builder() + .idShort("InstanceId") + .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us")) + .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber") + .idType(KeyType.IRI) + .build()) + .build()) + .value("978-8234-234-342") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("978-8234-234-342") + .build()) + .build()) + .valueType("string") + .build()) + .build(); + } + + public static Submodel createSubmodel2() { + return new DefaultSubmodel.Builder() + .idShort("BillOfMaterial") + .description(new LangString("An example bill of material submodel for the test application", "en-us")) + .description(new LangString("Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .build()) + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .idType(KeyType.IRI) + .value("http://acplt.org/SubmodelTemplates/BillOfMaterial") + .build()) + .build()) + .submodelElement(new DefaultEntity.Builder() + .idShort("ExampleEntity") + .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us")) + .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber") + .idType(KeyType.IRI) + .build()) + .build()) + .statement(new DefaultProperty.Builder() + .idShort("ExampleProperty2") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value("http://acplt.org/ValueId/ExampleValue2") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValue2") + .build()) + .build()) + .valueType("string") + .build()) + .statement(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value("http://acplt.org/ValueId/ExampleValueId") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId") + .build()) + .build()) + .valueType("string") + .build()) + .entityType(EntityType.CO_MANAGED_ENTITY) + .build()) + .submodelElement(new DefaultEntity.Builder() + .idShort("ExampleEntity2") + .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us")) + .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber") + .idType(KeyType.IRI) + .build()) + .build()) + .entityType(EntityType.SELF_MANAGED_ENTITY) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET) + .idType(KeyType.IRI) + .value("https://acplt.org/Test_Asset2") + .build()) + .build()) + .build()) + .build(); + } + + public static Submodel createSubmodel3() { + return new DefaultSubmodel.Builder() + .idShort("TestSubmodel") + .description(new LangString("An example submodel for the test application", "en-us")) + .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_Submodel") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel") + .build()) + .build()) + .submodelElement(new DefaultRelationshipElement.Builder() + .idShort("ExampleRelationshipElement") + .category("Parameter") + .description(new LangString("Example RelationshipElement object", "en-us")) + .description(new LangString("Beispiel RelationshipElement Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement") + .idType(KeyType.IRI) + .build()) + .build()) + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.ENTITY) + .value("ExampleEntity") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty2") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .build()) + .submodelElement(new DefaultAnnotatedRelationshipElement.Builder() + .idShort("ExampleAnnotatedRelationshipElement") + .category("Parameter") + .description(new LangString("Example AnnotatedRelationshipElement object", "en-us")) + .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement") + .idType(KeyType.IRI) + .build()) + .build()) + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.ENTITY) + .value("ExampleEntity") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty2") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .annotation(new DefaultProperty.Builder() + .kind(ModelingKind.INSTANCE) + .idShort("ExampleProperty3") + .category("Parameter") + .value("some example annotation") + .valueType("string") + .build()) + .build()) + .submodelElement(new DefaultOperation.Builder() + .idShort("ExampleOperation") + .kind(ModelingKind.TEMPLATE) + .category("Parameter") + .description(new LangString("Example Operation object", "en-us")) + .description(new LangString("Beispiel Operation Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Operations/ExampleOperation") + .idType(KeyType.IRI) + .build()) + .build()) + .inputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty1") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value("http://acplt.org/ValueId/ExampleValueId") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId") + .build()) + .build()) + .valueType("string") + .build()) + .build()) + .outputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty2") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value("http://acplt.org/ValueId/ExampleValueId") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId") + .build()) + .build()) + .valueType("string") + .build()) + .build()) + .inoutputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty3") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value("http://acplt.org/ValueId/ExampleValueId") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId") + .build()) + .build()) + .valueType("string") + .build()) + .build()) + .build()) + .submodelElement(new DefaultCapability.Builder() + .idShort("ExampleCapability") + .category("Parameter") + .description(new LangString("Example Capability object", "en-us")) + .description(new LangString("Beispiel Capability Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Capabilities/ExampleCapability") + .idType(KeyType.IRI) + .build()) + .build()) + .build()) + .submodelElement(new DefaultBasicEvent.Builder() + .idShort("ExampleBasicEvent") + .category("Parameter") + .description(new LangString("Example BasicEvent object", "en-us")) + .description(new LangString("Beispiel BasicEvent Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Events/ExampleBasicEvent") + .idType(KeyType.IRI) + .build()) + .build()) + .observed(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .idType(KeyType.ID_SHORT) + .value("ExampleProperty") + .build()) + .build()) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionOrdered") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value("http://acplt.org/ValueId/ExampleValueId") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId") + .build()) + .build()) + .valueType("string") + .build()) + .value(new DefaultMultiLanguageProperty.Builder() + .idShort("ExampleMultiLanguageProperty") + .category("Constant") + .description(new LangString("Example MultiLanguageProperty object", "en-us")) + .description(new LangString("Beispiel MulitLanguageProperty Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new LangString("Example value of a MultiLanguageProperty element", "en-us")) + .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de")) + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleMultiLanguageValueId") + .build()) + .build()) + .build()) + .value(new DefaultRange.Builder() + .idShort("ExampleRange") + .category("Parameter") + .description(new LangString("Example Range object", "en-us")) + .description(new LangString("Beispiel Range Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Ranges/ExampleRange") + .idType(KeyType.IRI) + .build()) + .build()) + .valueType("int") + .min("0") + .max("100") + .build()) + .ordered(true) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionUnordered") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new DefaultBlob.Builder() + .idShort("ExampleBlob") + .category("Parameter") + .description(new LangString("Example Blob object", "en-us")) + .description(new LangString("Beispiel Blob Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Blobs/ExampleBlob") + .idType(KeyType.IRI) + .build()) + .build()) + .mimeType("application/pdf") + .value(Base64.getDecoder().decode("AQIDBAU=")) + .build()) + .value(new DefaultFile.Builder() + .idShort("ExampleFile") + .category("Parameter") + .description(new LangString("Example File object", "en-us")) + .description(new LangString("Beispiel File Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Files/ExampleFile") + .idType(KeyType.IRI) + .build()) + .build()) + .value("/TestFile.pdf") + .mimeType("application/pdf") + .build()) + .value(new DefaultReferenceElement.Builder() + .idShort("ExampleReferenceElement") + .category("Parameter") + .description(new LangString("Example Reference Element object", "en-us")) + .description(new LangString("Beispiel Reference Element Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE).value( + "http://acplt.org/ReferenceElements/ExampleReferenceElement") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .idType(KeyType.ID_SHORT) + .value("ExampleProperty") + .build()) + .build()) + .build()) + .ordered(false) + .build()) + .build(); + } + + public static Submodel createSubmodel4() { + return new DefaultSubmodel.Builder() + .idShort("Test_Submodel_Mandatory") + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_Submodel_Mandatory") + .build()) + .kind(ModelingKind.TEMPLATE) + .submodelElement(new DefaultRelationshipElement.Builder() + .idShort("ExampleRelationshipElement") + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Mandatory") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Mandatory") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.MULTI_LANGUAGE_PROPERTY) + .value("ExampleMultiLanguageProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .build()) + .submodelElement(new DefaultAnnotatedRelationshipElement.Builder() + .idShort("ExampleAnnotatedRelationshipElement") + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Mandatory") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Mandatory") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.MULTI_LANGUAGE_PROPERTY) + .value("ExampleMultiLanguageProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .build()) + .submodelElement(new DefaultOperation.Builder() + .idShort("ExampleOperation") + .kind(ModelingKind.TEMPLATE) + .build()) + .submodelElement(new DefaultCapability.Builder() + .idShort("ExampleCapability") + .build()) + .submodelElement(new DefaultBasicEvent.Builder() + .idShort("ExampleBasicEvent") + .observed(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Mandatory") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .idType(KeyType.ID_SHORT) + .value("ExampleProperty") + .build()) + .build()) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionOrdered") + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .value(null) + .valueType("string") + .build()) + .value(new DefaultMultiLanguageProperty.Builder() + .idShort("ExampleMultiLanguageProperty") + .build()) + .value(new DefaultRange.Builder() + .idShort("ExampleRange") + .valueType("int") + .min(null) + .max(null) + .build()) + .ordered(true) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionUnordered") + .value(new DefaultBlob.Builder() + .idShort("ExampleBlob") + .mimeType("application/pdf") + .build()) + .value(new DefaultFile.Builder() + .idShort("ExampleFile") + .value(null) + .mimeType("application/pdf") + .build()) + .value(new DefaultReferenceElement.Builder() + .idShort("ExampleReferenceElement") + .build()) + .ordered(false) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionUnordered2") + .ordered(false) + .build()) + .build(); + } + + public static Submodel createSubmodel5() { + return new DefaultSubmodel.Builder() + .idShort("Test_Submodel2_Mandatory") + .kind(ModelingKind.INSTANCE) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_Submodel2_Mandatory") + .build()) + .build(); + } + + public static Submodel createSubmodel6() { + return new DefaultSubmodel.Builder() + .idShort("TestSubmodel") + .description(new LangString("An example submodel for the test application", "en-us")) + .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_Submodel_Missing") + .build()) + .kind(ModelingKind.INSTANCE) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0").build()) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel") + .build()) + .build()) + .submodelElement(new DefaultRelationshipElement.Builder() + .idShort("ExampleRelationshipElement") + .category("Parameter") + .description(new LangString("Example RelationshipElement object", "en-us")) + .description(new LangString("Beispiel RelationshipElement Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement") + .idType(KeyType.IRI) + .build()) + .build()) + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.MULTI_LANGUAGE_PROPERTY) + .value("ExampleMultiLanguageProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .build()) + .submodelElement(new DefaultAnnotatedRelationshipElement.Builder() + .idShort("ExampleAnnotatedRelationshipElement") + .category("Parameter") + .description(new LangString("Example AnnotatedRelationshipElement object", "en-us")) + .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement") + .idType(KeyType.IRI) + .build()) + .build()) + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.MULTI_LANGUAGE_PROPERTY) + .value("ExampleMultiLanguageProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .annotation(new DefaultProperty.Builder() + .kind(ModelingKind.INSTANCE) + .idShort("ExampleProperty") + .category("Parameter") + .value("some example annotation") + .valueType("string") + .build()) + .build()) + .submodelElement(new DefaultOperation.Builder() + .idShort("ExampleOperation") + .kind(ModelingKind.TEMPLATE) + .category("Parameter") + .description(new LangString("Example Operation object", "en-us")) + .description(new LangString("Beispiel Operation Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Operations/ExampleOperation") + .idType(KeyType.IRI) + .build()) + .build()) + .inputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty1") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .qualifier(new DefaultQualifier.Builder() + .valueType("string") + .type("http://acplt.org/Qualifier/ExampleQualifier") + .build()) + .value("exampleValue") + .valueType("string") + .build()) + .build()) + .outputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty2") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .qualifier(new DefaultQualifier.Builder() + .valueType("string") + .type("http://acplt.org/Qualifier/ExampleQualifier") + .build()) + .value("exampleValue") + .valueType("string") + .build()) + .build()) + .inoutputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty3") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .qualifier(new DefaultQualifier.Builder() + .valueType("string") + .type("http://acplt.org/Qualifier/ExampleQualifier") + .build()) + .value("exampleValue") + .valueType("string") + .build()) + .build()) + .build()) + .submodelElement(new DefaultCapability.Builder() + .idShort("ExampleCapability") + .category("Parameter") + .description(new LangString("Example Capability object", "en-us")) + .description(new LangString("Beispiel Capability Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Capabilities/ExampleCapability") + .idType(KeyType.IRI) + .build()) + .build()) + .build()) + .submodelElement(new DefaultBasicEvent.Builder() + .idShort("ExampleBasicEvent") + .category("Parameter") + .description(new LangString("Example BasicEvent object", "en-us")) + .description(new LangString("Beispiel BasicEvent Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Events/ExampleBasicEvent") + .idType(KeyType.IRI) + .build()) + .build()) + .observed(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .idType(KeyType.ID_SHORT) + .value("ExampleProperty") + .build()) + .build()) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionOrdered") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .qualifier(new DefaultQualifier.Builder() + .valueType("string") + .type("http://acplt.org/Qualifier/ExampleQualifier") + .build()) + .value("exampleValue") + .valueType("string") + .build()) + .value(new DefaultMultiLanguageProperty.Builder() + .idShort("ExampleMultiLanguageProperty") + .category("Constant") + .description(new LangString("Example MultiLanguageProperty object", "en-us")) + .description(new LangString("Beispiel MulitLanguageProperty Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new LangString("Example value of a MultiLanguageProperty element", "en-us")) + .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de")) + .build()) + .value(new DefaultRange.Builder() + .idShort("ExampleRange") + .category("Parameter") + .description(new LangString("Example Range object", "en-us")) + .description(new LangString("Beispiel Range Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Ranges/ExampleRange") + .idType(KeyType.IRI) + .build()) + .build()) + .valueType("int") + .min("0") + .max("100") + .build()) + .ordered(true) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionUnordered") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new DefaultBlob.Builder() + .idShort("ExampleBlob") + .category("Parameter") + .description(new LangString("Example Blob object", "en-us")) + .description(new LangString("Beispiel Blob Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Blobs/ExampleBlob") + .idType(KeyType.IRI) + .build()) + .build()) + .mimeType("application/pdf") + .value(Base64.getDecoder().decode("AQIDBAU=")) + .build()) + .value(new DefaultFile.Builder() + .idShort("ExampleFile") + .category("Parameter") + .description(new LangString("Example File object", "en-us")) + .description(new LangString("Beispiel File Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Files/ExampleFile") + .idType(KeyType.IRI) + .build()) + .build()) + .value("/TestFile.pdf") + .mimeType("application/pdf") + .build()) + .value(new DefaultReferenceElement.Builder() + .idShort("ExampleReferenceElement") + .category("Parameter") + .description(new LangString("Example Reference Element object", "en-us")) + .description(new LangString("Beispiel Reference Element Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/ReferenceElements/ExampleReferenceElement") + .idType(KeyType.IRI) + .build()) + .build()) + .value(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value("https://acplt.org/Test_Submodel_Missing") + .idType(KeyType.IRI) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL_ELEMENT_COLLECTION) + .value("ExampleSubmodelCollectionOrdered") + .idType(KeyType.ID_SHORT) + .build()) + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .idType(KeyType.ID_SHORT) + .value("ExampleProperty") + .build()) + .build()) + .build()) + .ordered(false) + .build()) + .build(); + } + + public static Submodel createSubmodel7() { + return new DefaultSubmodel.Builder() + .idShort("TestSubmodel") + .description(new LangString("An example submodel for the test application", "en-us")) + .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_Submodel_Template") + .build()) + .kind(ModelingKind.INSTANCE) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel") + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .submodelElement(new DefaultRelationshipElement.Builder() + .idShort("ExampleRelationshipElement") + .category("Parameter") + .description(new LangString("Example RelationshipElement object", "en-us")) + .description(new LangString("Beispiel RelationshipElement Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .build()) + .submodelElement(new DefaultAnnotatedRelationshipElement.Builder().idShort("ExampleAnnotatedRelationshipElement") + .category("Parameter") + .description(new LangString("Example AnnotatedRelationshipElement object", "en-us")) + .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .first(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .second(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .value("ExampleProperty") + .idType(KeyType.ID_SHORT) + .build()) + .build()) + .build()) + .submodelElement(new DefaultOperation.Builder() + .idShort("ExampleOperation") + .kind(ModelingKind.TEMPLATE) + .category("Parameter") + .description(new LangString("Example Operation object", "en-us")) + .description(new LangString("Beispiel Operation Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Operations/ExampleOperation") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .inputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(null) + .valueType("string") + .build()) + .build()) + .outputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(null) + .valueType("string") + .build()) + .build()) + .inoutputVariable(new DefaultOperationVariable.Builder() + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(null) + .valueType("string") + .build()) + .build()) + .build()) + .submodelElement(new DefaultCapability.Builder() + .idShort("ExampleCapability") + .category("Parameter") + .description(new LangString("Example Capability object", "en-us")) + .description(new LangString("Beispiel Capability Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Capabilities/ExampleCapability") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .build()) + .submodelElement(new DefaultBasicEvent.Builder() + .idShort("ExampleBasicEvent") + .category("Parameter") + .description(new LangString("Example BasicEvent object", "en-us")) + .description(new LangString("Beispiel BasicEvent Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Events/ExampleBasicEvent") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .observed(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.PROPERTY) + .idType(KeyType.ID_SHORT) + .value("ExampleProperty") + .build()) + .build()) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionOrdered") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(new DefaultProperty.Builder() + .idShort("ExampleProperty") + .category("Constant") + .description(new LangString("Example Property object", "en-us")) + .description(new LangString("Beispiel Property Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Properties/ExampleProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(null) + .valueType("string") + .build()) + .value(new DefaultMultiLanguageProperty.Builder() + .idShort("ExampleMultiLanguageProperty") + .category("Constant") + .description(new LangString("Example MultiLanguageProperty object", "en-us")) + .description(new LangString("Beispiel MulitLanguageProperty Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE).value( + "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .build()) + .value(new DefaultRange.Builder() + .idShort("ExampleRange") + .category("Parameter") + .description(new LangString("Example Range object", "en-us")) + .description(new LangString("Beispiel Range Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Ranges/ExampleRange") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .valueType("int") + .min(null) + .max("100") + .build()) + .value(new DefaultRange.Builder() + .idShort("ExampleRange2") + .category("Parameter") + .description(new LangString("Example Range object", "en-us")) + .description(new LangString("Beispiel Range Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Ranges/ExampleRange") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .valueType("int") + .min("0") + .max(null) + .build()) + .ordered(true) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionUnordered") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(new DefaultBlob.Builder() + .idShort("ExampleBlob") + .category("Parameter") + .description(new LangString("Example Blob object", "en-us")) + .description(new LangString("Beispiel Blob Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Blobs/ExampleBlob") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .mimeType("application/pdf") + .build()) + .value(new DefaultFile.Builder() + .idShort("ExampleFile") + .category("Parameter") + .description(new LangString("Example File object", "en-us")) + .description(new LangString("Beispiel File Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/Files/ExampleFile") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .value(null) + .mimeType("application/pdf") + .build()) + .value(new DefaultReferenceElement.Builder() + .idShort("ExampleReferenceElement") + .category("Parameter") + .description(new LangString("Example Reference Element object", "en-us")) + .description(new LangString("Beispiel Reference Element Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/ReferenceElements/ExampleReferenceElement") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .build()) + .ordered(false) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .idShort("ExampleSubmodelCollectionUnordered2") + .category("Parameter") + .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us")) + .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de")) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered") + .idType(KeyType.IRI) + .build()) + .build()) + .kind(ModelingKind.TEMPLATE) + .ordered(false) + .build()) + .build(); + } + + public static ConceptDescription createConceptDescription1() { + return new DefaultConceptDescription.Builder() + .idShort("TestConceptDescription") + .description(new LangString("An example concept description for the test application", "en-us")) + .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_ConceptDescription") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .isCaseOf(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription") + .build()) + .build()) + .build(); + } + + public static ConceptDescription createConceptDescription2() { + return new DefaultConceptDescription.Builder() + .idShort("Test_ConceptDescription_Mandatory") + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_ConceptDescription_Mandatory") + .build()) + .build(); + } + + public static ConceptDescription createConceptDescription3() { + return new DefaultConceptDescription.Builder() + .idShort("TestConceptDescription1") + .description(new LangString("An example concept description for the test application", "en-us")) + .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de")) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("https://acplt.org/Test_ConceptDescription_Missing") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .build(); + } + + public static ConceptDescription createConceptDescription4() { + return new DefaultConceptDescription.Builder() + .idShort("TestSpec_01") + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier("http://acplt.org/DataSpecifciations/Example/Identification") + .build()) + .administration(new DefaultAdministrativeInformation.Builder() + .version("0.9") + .revision("0") + .build()) + .isCaseOf(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ReferenceElements/ConceptDescriptionX") + .build()) + .build()) + .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString("Test Specification", "de")) + .preferredName(new LangString("TestSpecification", "en-us")) + .dataType(DataTypeIEC61360.REAL_MEASURE) + .definition(new LangString("Dies ist eine Data Specification für Testzwecke", "de")) + .definition(new LangString("This is a DataSpecification for testing purposes", "en-us")) + .shortName(new LangString("Test Spec", "de")) + .shortName(new LangString("TestSpec", "en-us")) + .unit("SpaceUnit") + .unitId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/Units/SpaceUnit") + .build()) + .build()) + .sourceOfDefinition("http://acplt.org/DataSpec/ExampleDef") + .symbol("SU") + .valueFormat("string") + .value("TEST") + .levelType(LevelType.MIN) + .levelType(LevelType.MAX) + .valueList(new DefaultValueList.Builder() + .valueReferencePairTypes(new DefaultValueReferencePair.Builder() + .value("http://acplt.org/ValueId/ExampleValueId") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId") + .build()) + .build()) + // TODO valueType + .build()) + .valueReferencePairTypes(new DefaultValueReferencePair.Builder() + .value("http://acplt.org/ValueId/ExampleValueId2") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .idType(KeyType.IRI) + .value("http://acplt.org/ValueId/ExampleValueId2") + .build()) + .build()) + // TODO valueType + .build()) + .build()) + .build()) + .build()) + .build(); + } + + public static AssetAdministrationShellEnvironment createEnvironment() { + return new DefaultAssetAdministrationShellEnvironment.Builder() + .assetAdministrationShells(Arrays.asList( + createAAS1(), + createAAS2(), + createAAS3(), + createAAS4())) + .submodels(Arrays.asList( + createSubmodel1(), + createSubmodel2(), + createSubmodel3(), + createSubmodel4(), + createSubmodel5(), + createSubmodel6(), + createSubmodel7())) + .conceptDescriptions(Arrays.asList( + createConceptDescription1(), + createConceptDescription2(), + createConceptDescription3(), + createConceptDescription4())) + .build(); + } + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java new file mode 100644 index 000000000..821894a06 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java @@ -0,0 +1,475 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import java.util.Arrays; + +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation; +import io.adminshell.aas.v3.model.impl.DefaultAsset; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; +import io.adminshell.aas.v3.model.impl.DefaultConceptDescription; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultIdentifier; +import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; + +public class AASSimple { + + private static final String DOCUMENT_DEF = "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann."; + private static final String ISO15519_1_2010 = "[ISO15519-1:2010]"; + private static final String DOKUMENT = "Dokument"; + private static final String DOCUMENT = "Document"; + private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document"; + private static final String ACTUAL_ROTATIONSPEED_WITH_WHICH_THE_MOTOR_OR_FEEDINGUNIT_IS_OPERATED = "Actual rotationspeed with which the motor or feedingunit is operated"; + private static final String AKTUELLE_DREHZAHL_MITWELCHER_DER_MOTOR_ODER_DIE_SPEISEINHEIT_BETRIEBEN_WIRD = "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird"; + private static final String ACTUAL_ROTATION_SPEED = "ActualRotationSpeed"; + private static final String ACTUALROTATIONSPEED = "Actualrotationspeed"; + private static final String AKTUELLE_DREHZAHL = "AktuelleDrehzahl"; + private static final String _1_MIN = "1/min"; + private static final String HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895 = "http://customer.com/cd/1/1/18EBD56F6B43D895"; + private static final String ROTATION_SPEED = "RotationSpeed"; + private static final String MAX_ROTATE_DEF_EN = "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated"; + private static final String MAX_ROTATE_DEF_DE = "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf"; + private static final String _0173_1_05_AAA650_002 = "0173-1#05-AAA650#002"; + private static final String MAX_ROTATIONSPEED = "Max.rotationspeed"; + private static final String MAX_DREHZAHL = "max.Drehzahl"; + private static final String _0173_1_02_BAA120_008 = "0173-1#02-BAA120#008"; + private static final String PROPERTY = "PROPERTY"; + private static final String MAX_ROTATION_SPEED = "MaxRotationSpeed"; + private static final String DIGITAL_FILE_DEFINITION = "A file representing the document version. In addition to the mandatory PDF file, other files can be specified."; //"Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden."; + private static final String DIGITALE_DATEI = "DigitaleDatei"; + private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile"; + private static final String DIGITAL_FILE = "DigitalFile"; + private static final String SPRACHABHÄNGIGER_TITELDES_DOKUMENTS = "SprachabhängigerTiteldesDokuments."; + private static final String TITEL = "Titel"; + private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title"; + private static final String TITLE = "Title"; + private static final String SERVO_DC_MOTOR = "ServoDCMotor"; + private static final String HTTPS_GITHUB_COM_ADMIN_SHELL_IO_BLOB_MASTER_VERWALTUNGSSCHALE_DETAIL_PART1_PNG = "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png"; + private static final String IMAGE_PNG = "image/png"; + private static final String THUMBNAIL = "thumbnail"; + private static final String HTTP_CUSTOMER_COM_SYSTEMS_IO_T_1 = "http://customer.com/Systems/IoT/1"; + private static final String QJ_YG_PGGJWKI_HK4_RR_QI_YS_LG = "QjYgPggjwkiHk4RrQiYSLg=="; + private static final String DEVICE_ID = "DeviceID"; + private static final String HTTP_CUSTOMER_COM_SYSTEMS_ERP_012 = "http://customer.com/Systems/ERP/012"; + private static final String _538FD1B3_F99F_4A52_9C75_72E9FA921270 = "538fd1b3-f99f-4a52-9c75-72e9fa921270"; + private static final String EQUIPMENT_ID = "EquipmentID"; + private static final String HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY = "http://customer.com/assets/KHBVZJSQKIY"; + // AAS + public static final String AAS_ID = "ExampleMotor"; + public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168"; + + // SUBMODEL_TECHNICAL_DATA + public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = MAX_ROTATION_SPEED; + public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData"; + public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184"; + public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID = "0173-1#01-AFZ615#016"; + public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY = _0173_1_02_BAA120_008; + public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY = "Parameter"; + public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000"; + public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer"; + + // SUBMODEL_DOCUMENTATION + private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation"; + private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152"; + private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT; + private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT = "OperatingManual"; + private static final String SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE; + private static final String SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT = TITLE; + private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUE = "OperatingManual"; + private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE = "langString"; + private static final String SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE; + private static final String SUBMODEL_DOCUMENTATION_FILE_ID_SHORT = "DigitalFile_PDF"; + private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf"; + private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf"; + + // SUBMODEL_OPERATIONAL_DATA + private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData"; + private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935"; + private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895; + private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = ROTATION_SPEED; + private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "Variable"; + private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370"; + private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer"; + + public AASSimple() { + } + + public static final AssetAdministrationShell AAS = createAAS(); + public static final Asset ASSET = createAsset(); + public static final Submodel SUBMODEL_TECHNICAL_DATA = createSubmodelTechnicalData(); + public static final Submodel SUBMODEL_OPERATIONAL_DATA = createSubmodelOperationalData(); + public static final Submodel SUBMODEL_DOCUMENTATION = createSubmodelDocumentation(); + public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = createConceptDescriptionTitle(); + public static final ConceptDescription CONCEPT_DESCRIPTION_DIGITALFILE = createConceptDescriptionDigitalFile(); + public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = createConceptDescriptionMaxRotationSpeed(); + public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = createConceptDescriptionRotationSpeed(); + public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = createConceptDescriptionDocument(); + public static final AssetAdministrationShellEnvironment ENVIRONMENT = createEnvironment(); + + public static AssetAdministrationShell createAAS() { + return new DefaultAssetAdministrationShell.Builder() + .idShort(AAS_ID) + .identification( + new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier(AAS_IDENTIFIER) + .build()) + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.ASSET) + .value(HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY) + .idType(KeyType.IRI) + .build()) + .build()) + .specificAssetId(new DefaultIdentifierKeyValuePair.Builder() + .key(EQUIPMENT_ID) + .value(_538FD1B3_F99F_4A52_9C75_72E9FA921270) + .externalSubjectId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value(HTTP_CUSTOMER_COM_SYSTEMS_ERP_012) + .idType(KeyType.IRI) + .build()) + .build()) + .build()) + .specificAssetId(new DefaultIdentifierKeyValuePair.Builder() + .key(DEVICE_ID) + .value(QJ_YG_PGGJWKI_HK4_RR_QI_YS_LG) + .externalSubjectId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value(HTTP_CUSTOMER_COM_SYSTEMS_IO_T_1) + .idType(KeyType.IRI) + .build()) + .build()) + .build()) + .defaultThumbnail(new DefaultFile.Builder() + .kind(ModelingKind.INSTANCE) + .idShort(THUMBNAIL) + .mimeType(IMAGE_PNG) + .value(HTTPS_GITHUB_COM_ADMIN_SHELL_IO_BLOB_MASTER_VERWALTUNGSSCHALE_DETAIL_PART1_PNG) + .build()) + .build()) + .submodel(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value(SUBMODEL_TECHNICAL_DATA_ID) + .idType(KeyType.IRI).build()) + .build()) + .submodel( + new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value(SUBMODEL_OPERATIONAL_DATA_ID) + .idType(KeyType.IRI) + .build()) + .build()) + .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder() + .type(KeyElements.SUBMODEL) + .value(SUBMODEL_DOCUMENTATION_ID) + .idType(KeyType.IRI) + .build()) + .build()) + .build(); + } + + public static Asset createAsset() { + return new DefaultAsset.Builder().idShort(SERVO_DC_MOTOR) + .identification(new DefaultIdentifier.Builder() + .idType(IdentifierType.IRI) + .identifier(HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY) + .build()) + .build(); + } + + public static Submodel createSubmodelTechnicalData() { + return new DefaultSubmodel.Builder() + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID) + .idType(KeyType.IRDI) + .build()) + .build()) + .kind(ModelingKind.INSTANCE) + .idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT) + .identification(new DefaultIdentifier.Builder() + .identifier(SUBMODEL_TECHNICAL_DATA_ID) + .idType(IdentifierType.IRI) + .build()) + .submodelElement(new DefaultProperty.Builder() + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.CONCEPT_DESCRIPTION) + .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY) + .idType(KeyType.IRDI) + .build()) + .build()) + .idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT) + .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY) + .value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE) + .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE) + .build()) + .build(); + } + + public static Submodel createSubmodelOperationalData() { + return new DefaultSubmodel.Builder() + .kind(ModelingKind.INSTANCE) + .idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT) + .identification(new DefaultIdentifier.Builder() + .identifier(SUBMODEL_OPERATIONAL_DATA_ID) + .idType(IdentifierType.IRI) + .build()) + .submodelElement(new DefaultProperty.Builder() + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.CONCEPT_DESCRIPTION) + .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY) + .idType(KeyType.IRI) + .build()) + .build()) + .idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT) + .category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY) + .value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE) + .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE) + .build()) + .build(); + } + + public static Submodel createSubmodelDocumentation() { + return new DefaultSubmodel.Builder() + .kind(ModelingKind.INSTANCE) + .idShort(SUBMODEL_DOCUMENTATION_ID_SHORT) + .identification(new DefaultIdentifier.Builder() + .identifier(SUBMODEL_DOCUMENTATION_ID) + .idType(IdentifierType.IRI) + .build()) + .submodelElement(new DefaultSubmodelElementCollection.Builder() + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.CONCEPT_DESCRIPTION) + .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID) + .idType(KeyType.IRI) + .build()) + .build()) + .idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT) + .value(new DefaultProperty.Builder() + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.CONCEPT_DESCRIPTION) + .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID) + .idType(KeyType.IRI) + .build()) + .build()) + .idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT) + .value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE) + .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE) + .build()) + .value(new DefaultFile.Builder() + .kind(ModelingKind.INSTANCE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.CONCEPT_DESCRIPTION) + .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID) + .idType(KeyType.IRI) + .build()) + .build()) + .idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT) + .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE) + .value(SUBMODEL_DOCUMENTATION_FILE_VALUE) + .build()) + .ordered(false) + .allowDuplicates(false) + .build()) + .build(); + } + + public static ConceptDescription createConceptDescriptionTitle() { + return new DefaultConceptDescription.Builder() + .idShort(TITLE) + .identification(new DefaultIdentifier.Builder() + .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE) + .idType(IdentifierType.IRI) + .build()) + .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString(TITLE, "EN")) + .preferredName(new LangString(TITEL, "DE")) + .shortName(new LangString(TITLE, "EN")) + .shortName(new LangString(TITEL, "DE")) + .unit("ExampleString") + .sourceOfDefinition("ExampleString") + .dataType(DataTypeIEC61360.STRING_TRANSLATABLE) + .definition(new LangString(SPRACHABHÄNGIGER_TITELDES_DOKUMENTS, "EN")) + .build()) + .build()) + .build(); + } + + public static ConceptDescription createConceptDescriptionDigitalFile() { + return new DefaultConceptDescription.Builder() + .idShort(DIGITAL_FILE) + .identification(new DefaultIdentifier.Builder() + .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE) + .idType(IdentifierType.IRI) + .build()) + .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent( + new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString(DIGITAL_FILE, "EN")) + .preferredName(new LangString(DIGITAL_FILE, "EN")) + .shortName(new LangString(DIGITAL_FILE, "EN")) + .shortName(new LangString(DIGITALE_DATEI, "DE")) + .unit("ExampleString") + .sourceOfDefinition("ExampleString") + .dataType(DataTypeIEC61360.STRING) + .definition(new LangString(DIGITAL_FILE_DEFINITION, "EN")) + .build()) + .build()) + .build(); + } + + public static ConceptDescription createConceptDescriptionMaxRotationSpeed() { + return new DefaultConceptDescription.Builder() + .idShort(MAX_ROTATION_SPEED).category(PROPERTY) + .administration(new DefaultAdministrativeInformation.Builder() + .version("2") + .revision("2.1") + .build()) + .identification(new DefaultIdentifier.Builder() + .identifier(_0173_1_02_BAA120_008) + .idType(IdentifierType.IRDI) + .build()) + .embeddedDataSpecifications( + Arrays.asList( + new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString(MAX_DREHZAHL, "de")) + .preferredName(new LangString(MAX_ROTATIONSPEED, "en")) + .unit(_1_MIN) + .unitId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value(_0173_1_05_AAA650_002) + .idType(KeyType.IRDI) + .build()) + .build()) + .sourceOfDefinition("ExampleString") + .dataType(DataTypeIEC61360.REAL_MEASURE) + .definition(new LangString(MAX_ROTATE_DEF_DE, "de")) + .definition(new LangString(MAX_ROTATE_DEF_EN, "EN")) + .build()) + .build())) + .build(); + } + + public static ConceptDescription createConceptDescriptionRotationSpeed() { + return new DefaultConceptDescription.Builder() + .idShort(ROTATION_SPEED) + .category(PROPERTY) + .identification(new DefaultIdentifier.Builder() + .identifier(HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895) + .idType(IdentifierType.IRI) + .build()) + .embeddedDataSpecification( + new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent( + new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString(AKTUELLE_DREHZAHL, "DE")) + .preferredName(new LangString(ACTUALROTATIONSPEED, "EN")) + .shortName(new LangString(AKTUELLE_DREHZAHL, "DE")) + .shortName(new LangString(ACTUAL_ROTATION_SPEED, "EN")) + .unit(_1_MIN) + .unitId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .type(KeyElements.GLOBAL_REFERENCE) + .value(_0173_1_05_AAA650_002) + .idType(KeyType.IRDI) + .build()) + .build()) + .sourceOfDefinition("ExampleString") + .dataType(DataTypeIEC61360.REAL_MEASURE) + .definition(new LangString(AKTUELLE_DREHZAHL_MITWELCHER_DER_MOTOR_ODER_DIE_SPEISEINHEIT_BETRIEBEN_WIRD, "DE")) + .definition(new LangString(ACTUAL_ROTATIONSPEED_WITH_WHICH_THE_MOTOR_OR_FEEDINGUNIT_IS_OPERATED, "EN")) + .build()) + .build()) + .build(); + } + + public static ConceptDescription createConceptDescriptionDocument() { + return new DefaultConceptDescription.Builder() + .idShort(DOCUMENT) + .identification(new DefaultIdentifier.Builder() + .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT) + .idType(IdentifierType.IRI) + .build()) + .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString(DOCUMENT, "EN")) + .shortName(new LangString(DOCUMENT, "EN")) + .shortName(new LangString(DOKUMENT, "DE")) + .unit("ExampleString") + .sourceOfDefinition(ISO15519_1_2010) + .dataType(DataTypeIEC61360.STRING) + .definition(new LangString(DOCUMENT_DEF, "EN")) + .build()) + .build()) + .build(); + } + + public static AssetAdministrationShellEnvironment createEnvironment() { + return new DefaultAssetAdministrationShellEnvironment.Builder() + .assetAdministrationShells(createAAS()) + .submodels(createSubmodelTechnicalData()) + .submodels(createSubmodelDocumentation()) + .submodels(createSubmodelOperationalData()) + .conceptDescriptions(createConceptDescriptionTitle()) + .conceptDescriptions(createConceptDescriptionDigitalFile()) + .conceptDescriptions(createConceptDescriptionMaxRotationSpeed()) + .conceptDescriptions(createConceptDescriptionRotationSpeed()) + .conceptDescriptions(createConceptDescriptionDocument()) + .assets(createAsset()) + .build(); + } +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AasUtilsTest.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AasUtilsTest.java new file mode 100644 index 000000000..a670c3b75 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AasUtilsTest.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + + +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Reference; +import org.junit.Assert; +import org.junit.Test; + +public class AasUtilsTest { + + @Test + public void testParseReference() { + Reference reference = AasUtils.parseReference("(Property)[IdShort]Temperature"); + Assert.assertNotNull(reference); + Assert.assertEquals(1, reference.getKeys().size()); + Assert.assertEquals(KeyElements.PROPERTY, reference.getKeys().get(0).getType()); + Assert.assertEquals(KeyType.ID_SHORT, reference.getKeys().get(0).getIdType()); + Assert.assertEquals("Temperature", reference.getKeys().get(0).getValue()); + } +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java new file mode 100644 index 000000000..cde7790b3 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import java.util.List; +import java.util.Objects; + +import io.adminshell.aas.v3.model.*; + +public class CustomProperty implements Property { + + protected List embeddedDataSpecifications; + + protected ModelingKind kind; + + protected Reference semanticId; + + protected String value; + + protected Reference valueId; + + protected String valueType; + + protected List qualifiers; + + protected String category; + + protected List descriptions; + + protected List displayNames; + + protected String idShort; + + protected List extensions; + + protected CustomProperty() { + } + + @Override + public int hashCode() { + return Objects.hash(new Object[] { this.valueType, this.value, this.valueId, this.category, this.descriptions, + this.displayNames, this.idShort, this.qualifiers, this.embeddedDataSpecifications, this.kind, + this.semanticId }); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } else if (obj == null) { + return false; + } else if (this.getClass() != obj.getClass()) { + return false; + } else { + CustomProperty other = (CustomProperty) obj; + return Objects.equals(this.valueType, other.valueType) && Objects.equals(this.value, other.value) + && Objects.equals(this.valueId, other.valueId) && Objects.equals(this.category, other.category) + && Objects.equals(this.descriptions, other.descriptions) + && Objects.equals(this.displayNames, other.displayNames) + && Objects.equals(this.idShort, other.idShort) && Objects.equals(this.qualifiers, other.qualifiers) + && Objects.equals(this.embeddedDataSpecifications, other.embeddedDataSpecifications) + && Objects.equals(this.kind, other.kind) && Objects.equals(this.semanticId, other.semanticId); + } + } + + @Override + final public String getValueType() { + return valueType; + } + + @Override + final public void setValueType(String valueType) { + this.valueType = valueType; + } + + @Override + final public String getValue() { + return value; + } + + @Override + final public void setValue(String value) { + this.value = value; + } + + @Override + final public Reference getValueId() { + return valueId; + } + + @Override + final public void setValueId(Reference valueId) { + this.valueId = valueId; + } + + @Override + final public String getCategory() { + return category; + } + + @Override + final public void setCategory(String category) { + this.category = category; + } + + @Override + final public List getDescriptions() { + return descriptions; + } + + @Override + final public void setDescriptions(List descriptions) { + this.descriptions = descriptions; + } + + @Override + final public List getDisplayNames() { + return displayNames; + } + + @Override + final public void setDisplayNames(List displayNames) { + this.displayNames = displayNames; + } + + @Override + final public String getIdShort() { + return idShort; + } + + @Override + final public void setIdShort(String idShort) { + this.idShort = idShort; + } + + @Override + final public List getQualifiers() { + return qualifiers; + } + + @Override + final public void setQualifiers(List qualifiers) { + this.qualifiers = qualifiers; + } + + @Override + final public List getEmbeddedDataSpecifications() { + return embeddedDataSpecifications; + } + + @Override + final public void setEmbeddedDataSpecifications(List embeddedDataSpecifications) { + this.embeddedDataSpecifications = embeddedDataSpecifications; + } + + @Override + final public ModelingKind getKind() { + return kind; + } + + @Override + final public void setKind(ModelingKind kind) { + this.kind = kind; + } + + @Override + final public Reference getSemanticId() { + return semanticId; + } + + @Override + final public void setSemanticId(Reference semanticId) { + this.semanticId = semanticId; + } + + @Override + public List getExtensions() { + return extensions; + } + + @Override + public void setExtensions(List list) { + this.extensions = list; + } +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java new file mode 100644 index 000000000..99b5e3150 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +public class CustomSubProperty extends CustomProperty { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java new file mode 100644 index 000000000..831517939 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; + +public class CustomSubmodel extends DefaultSubmodel { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java new file mode 100644 index 000000000..c6fd7c680 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; + +public class CustomSubmodel2 extends DefaultSubmodel { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java new file mode 100644 index 000000000..ee121f5ba --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model; + +public class ClassA { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java new file mode 100644 index 000000000..7f3054c50 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model; + +public class ClassB extends ClassA { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java new file mode 100644 index 000000000..4a434dc75 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model; + +public class DummyInterface { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java new file mode 100644 index 000000000..e1143f8b1 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model; + +public interface TypedProperty extends Property { + +} diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java new file mode 100644 index 000000000..724249ac5 --- /dev/null +++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model; + +public interface TypedSubProperty extends TypedProperty { + +} diff --git a/dataformat-json/.gitignore b/dataformat-json/.gitignore new file mode 100644 index 000000000..298ee54de --- /dev/null +++ b/dataformat-json/.gitignore @@ -0,0 +1,30 @@ +.idea/ +log/ +*.log +bin/ +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +.classpath +.project + +testJsonSerialization.json diff --git a/dataformat-json/.mvn/extensions.xml b/dataformat-json/.mvn/extensions.xml new file mode 100644 index 000000000..c8c42ef28 --- /dev/null +++ b/dataformat-json/.mvn/extensions.xml @@ -0,0 +1,7 @@ + + + com.github.gzm55.maven + project-settings-extension + 0.1.1 + + diff --git a/dataformat-json/.mvn/settings.xml b/dataformat-json/.mvn/settings.xml new file mode 100644 index 000000000..4b8c91b87 --- /dev/null +++ b/dataformat-json/.mvn/settings.xml @@ -0,0 +1,14 @@ + + + + snapshots + ids + indasp123! + + + eis-snapshot-repo + ids + indasp123! + + + diff --git a/dataformat-json/LICENSE b/dataformat-json/LICENSE new file mode 100644 index 000000000..a11328b9b --- /dev/null +++ b/dataformat-json/LICENSE @@ -0,0 +1,215 @@ +Copyright (C) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +The JSON Serializer contained in this repository provide the functionalities to +serialize and deserialize instances of the Asset Administration Shell data model +from and to the AAS Java Model library. It is licensed under the Apache License +2.0 (Apache-2.0, see below). +The Model uses the concepts of the document "Details of the Asset +Administration Shell" published on www.plattform-i40.de which is licensed +under Creative Commons CC BY-ND 3.0 DE. + +------------------------------------------------------------------------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Fraunhofer IAIS + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dataformat-json/license-header.txt b/dataformat-json/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/dataformat-json/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/dataformat-json/pom.xml b/dataformat-json/pom.xml new file mode 100644 index 000000000..3eed1637d --- /dev/null +++ b/dataformat-json/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-json + Asset Administration Shell JSON-Serializer + + + + io.admin-shell.aas + dataformat-core + ${revision} + + + io.admin-shell.aas + dataformat-core + ${revision} + tests + test + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.networknt + json-schema-validator + ${json-schema-validator.version} + + + io.github.classgraph + classgraph + ${classgraph.version} + + + pl.pragmatists + JUnitParams + ${junit-params.version} + test + + + org.skyscreamer + jsonassert + ${jsonassert.version} + test + + + diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializer.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializer.java new file mode 100644 index 000000000..11370fca5 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializer.java @@ -0,0 +1,124 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import java.util.List; +import java.util.Map; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.json.JsonMapper; +import com.fasterxml.jackson.databind.module.SimpleAbstractTypeResolver; +import com.fasterxml.jackson.databind.module.SimpleModule; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.Deserializer; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.deserialization.EmbeddedDataSpecificationDeserializer; +import io.adminshell.aas.v3.dataformat.core.deserialization.EnumDeserializer; +import io.adminshell.aas.v3.dataformat.json.modeltype.ModelTypeProcessor; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Referable; + +/** + * Class for deserializing/parsing AAS JSON documents. + */ +public class JsonDeserializer implements Deserializer, ReferableDeserializer { + + protected JsonMapper mapper; + protected SimpleAbstractTypeResolver typeResolver; + protected static Map, com.fasterxml.jackson.databind.JsonDeserializer> customDeserializers = Map.of( + EmbeddedDataSpecification.class, new EmbeddedDataSpecificationDeserializer()); + + public JsonDeserializer() { + initTypeResolver(); + buildMapper(); + } + + protected void buildMapper() { + mapper = JsonMapper.builder() + .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY) + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) + .annotationIntrospector(new ReflectionAnnotationIntrospector()) + .addModule(buildEnumModule()) + .addModule(buildImplementationModule()) + .addModule(buildCustomDeserializerModule()) + .build(); + ReflectionHelper.JSON_MIXINS.entrySet().forEach(x -> mapper.addMixIn(x.getKey(), x.getValue())); + } + + protected SimpleModule buildCustomDeserializerModule() { + SimpleModule module = new SimpleModule(); + customDeserializers.forEach(module::addDeserializer); + return module; + } + + private void initTypeResolver() { + typeResolver = new SimpleAbstractTypeResolver(); + ReflectionHelper.DEFAULT_IMPLEMENTATIONS + .stream() + .filter(x -> !customDeserializers.containsKey(x.getInterfaceType())) + .forEach(x -> typeResolver.addMapping(x.getInterfaceType(), x.getImplementationType())); + } + + protected SimpleModule buildEnumModule() { + SimpleModule module = new SimpleModule(); + ReflectionHelper.ENUMS.forEach(x -> module.addDeserializer(x, new EnumDeserializer<>(x))); + return module; + } + + protected SimpleModule buildImplementationModule() { + SimpleModule module = new SimpleModule(); + module.setAbstractTypes(typeResolver); + return module; + } + + @Override + public AssetAdministrationShellEnvironment read(String value) throws DeserializationException { + try { + return mapper.treeToValue(ModelTypeProcessor.preprocess(value), AssetAdministrationShellEnvironment.class); + } catch (JsonProcessingException ex) { + throw new DeserializationException("error deserializing AssetAdministrationShellEnvironment", ex); + } + } + + @Override + public void useImplementation(Class aasInterface, Class implementation) { + typeResolver.addMapping(aasInterface, implementation); + buildMapper(); + } + + @Override + public T readReferable(String referable, Class outputClass) throws DeserializationException { + try { + return mapper.treeToValue(ModelTypeProcessor.preprocess(referable), outputClass); + } catch (JsonProcessingException ex) { + throw new DeserializationException("error deserializing Referable", ex); + } + } + + @Override + public List readReferables(String referables, Class outputClass) throws DeserializationException { + try { + String parsed = mapper.writeValueAsString(ModelTypeProcessor.preprocess(referables)) ; + return mapper.readValue(parsed,new TypeReference>(){}); + } catch (JsonProcessingException ex) { + throw new DeserializationException("error deserializing list of Referable", ex); + } + } +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSchemaValidator.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSchemaValidator.java new file mode 100644 index 000000000..9be063bed --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSchemaValidator.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.networknt.schema.JsonSchema; +import com.networknt.schema.JsonSchemaFactory; +import com.networknt.schema.SpecVersionDetector; +import com.networknt.schema.ValidationMessage; +import io.adminshell.aas.v3.dataformat.SchemaValidator; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URISyntaxException; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * Class for validating a serialized instance of + * AssetAdministrationShellEnvironment against a json-schema. + */ +public class JsonSchemaValidator implements SchemaValidator { + + private static final String SCHEMA = "/aas.json"; + private final ObjectMapper mapper = new ObjectMapper(); + + public JsonSchemaValidator() { + } + + /** + * validates against default schema + * + * @param serialized AssetAdministrationShellEnvironment, serialized as json + * string + * @return Set of messages to display validation results + */ + @Override + public Set validateSchema(String serialized) { + try { + return validateSchema(serialized, loadDefaultSchema()); + } catch (IOException | URISyntaxException e) { + return Set.of(e.getMessage()); + } + } + + /** + * validates against custom schema + * + * @param serialized AssetAdministrationShellEnvironment, serialized as json + * string + * @param serializedSchema Custom json-schema serialized as String that must + * extend the default aas-schema + * @return Set of messages to display validation results + */ + public Set validateSchema(String serialized, String serializedSchema) { + try { + JsonNode schemaRootNode = mapper.readTree(serializedSchema); + JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersionDetector.detect(schemaRootNode)); + JsonSchema schema = factory.getSchema(schemaRootNode); + JsonNode node = mapper.readTree(serialized); + Set validationMessages = schema.validate(node); + return generalizeValidationMessagesAsStringSet(validationMessages); + } catch (JsonProcessingException e) { + return Set.of(e.getMessage()); + } + } + + private String loadDefaultSchema() throws IOException, URISyntaxException { + return new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(SCHEMA))).lines().collect(Collectors.joining("\n")); + } + + private Set generalizeValidationMessagesAsStringSet(Set messages) { + return messages.stream() + .map(ValidationMessage::getMessage) + .collect(Collectors.toSet()); + } +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSerializer.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSerializer.java new file mode 100644 index 000000000..81109dcba --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/JsonSerializer.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.json.JsonMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.Serializer; +import io.adminshell.aas.v3.dataformat.core.serialization.EnumSerializer; +import io.adminshell.aas.v3.dataformat.json.modeltype.ModelTypeProcessor; +import io.adminshell.aas.v3.dataformat.core.serialization.EmbeddedDataSpecificationSerializer; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Referable; + +import java.util.List; + +/** + * Class for serializing an instance of AssetAdministrationShellEnvironment or Referables to + * JSON. + */ +public class JsonSerializer implements Serializer, ReferableSerializer { + + protected JsonMapper mapper; + + public JsonSerializer() { + buildMapper(); + } + + protected void buildMapper() { + mapper = JsonMapper.builder().enable(SerializationFeature.INDENT_OUTPUT) + .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY) + .serializationInclusion(JsonInclude.Include.NON_NULL) + .addModule(buildEnumModule()) + .addModule(buildCustomSerializerModule()) + .annotationIntrospector(new ReflectionAnnotationIntrospector()) + .build(); + ReflectionHelper.JSON_MIXINS.entrySet().forEach(x -> mapper.addMixIn(x.getKey(), x.getValue())); + } + + protected SimpleModule buildCustomSerializerModule() { + SimpleModule module = new SimpleModule(); + module.addSerializer(EmbeddedDataSpecification.class, new EmbeddedDataSpecificationSerializer()); + return module; + } + + protected SimpleModule buildEnumModule() { + SimpleModule module = new SimpleModule(); + module.addSerializer(Enum.class, new EnumSerializer()); + return module; + } + + @Override + public String write(AssetAdministrationShellEnvironment aasEnvironment) throws SerializationException { + try { + return mapper.writeValueAsString(ModelTypeProcessor.postprocess(mapper.valueToTree(aasEnvironment))); + } catch (JsonProcessingException ex) { + throw new SerializationException("error serializing AssetAdministrationShellEnvironment", ex); + } + } + + @Override + public String write(Referable referable) throws SerializationException { + try { + return mapper.writeValueAsString(ModelTypeProcessor.postprocess(mapper.valueToTree(referable))); + } catch (JsonProcessingException ex) { + throw new SerializationException("error serializing Referable", ex); + } + } + + @Override + public String write(List referables) throws SerializationException { + if(referables.isEmpty()){ + return null; + } + try { + ObjectWriter objectWriter = mapper.writerFor(mapper.getTypeFactory().constructCollectionType(List.class, referables.get(0).getClass())); + String json = objectWriter.writeValueAsString(referables); + return mapper.writeValueAsString(ModelTypeProcessor.postprocess(this.mapper.readTree(json))); + } catch (JsonProcessingException ex) { + throw new SerializationException("error serializing list of Referables", ex); + } + } +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableDeserializer.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableDeserializer.java new file mode 100644 index 000000000..616d07068 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableDeserializer.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.model.Referable; + +import java.util.List; + +/** + * Deserializer Interface for deserialization of referables + */ +public interface ReferableDeserializer { + + /** + * Deserializes a given string into an instance of + * the given Referable + * + * @param referable a string representation of the + * Referable + * @param outputClass most specific class of the given Referable + * @param type of the returned element + * @return an instance of the referable + * @throws DeserializationException + */ + T readReferable(String referable, Class outputClass) throws DeserializationException; + + /** + * Deserializes a given string into an instance of + * a list of the given Referables + * + * @param referables a string representation of an + * array of Referables + * @param outputClass most specific class of the given Referable + * @param type of the returned element + * @return an instance of a list of the referables + * @throws DeserializationException + */ + List readReferables(String referables, Class outputClass) throws DeserializationException; + +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableSerializer.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableSerializer.java new file mode 100644 index 000000000..009429c92 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReferableSerializer.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.model.Referable; + +import java.util.List; + +/** + * Serializer Interface for serialization of referables + */ +public interface ReferableSerializer { + + /** + * Serializes a given instance of a Referable to string + * + * @param referable the referable to serialize + * @return the string representation of the referable + * @throws SerializationException if serialization fails + */ + String write(Referable referable) throws SerializationException; + + /** + * + * @param referables the referables to serialize + * @return the string representation of the list of referables + * @throws SerializationException if serialization fails + */ + String write(List referables) throws SerializationException; + +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospector.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospector.java new file mode 100644 index 000000000..90c0be1a7 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospector.java @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.cfg.MapperConfig; +import com.fasterxml.jackson.databind.introspect.Annotated; +import com.fasterxml.jackson.databind.introspect.AnnotatedClass; +import com.fasterxml.jackson.databind.introspect.AnnotatedMethod; +import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector; +import com.fasterxml.jackson.databind.jsontype.NamedType; +import com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +/** + * This class helps to dynamically decide how to de-/serialize classes and + * properties defined in the AAS model library. + * + * This is equivalent to adding the following annotations + *

    + *
  • to all interfaces defined in the AAS model: + *
      + *
    • @JsonTypeName([interface name]) + *
    • @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "modelType") + *
    • @JsonSubTypes({ + * + * \@Type(value = [sub-interface].class, name = "[sub-interface name]"), ...}) + * for each sub-interface + *
    + *
  • to all getter methods returning any type of Collection<?> defined in the + * AAS model: + *
      + *
    • @JsonInclude(JsonInclude.Include.NON_EMPTY)
    • + *
    + *
+ */ +public class ReflectionAnnotationIntrospector extends JacksonAnnotationIntrospector { + + private static final long serialVersionUID = 1L; + + private static final String MODEL_TYPE_PROPERTY = "modelType"; + private static final String GETTER_PREFIX = "get"; + + @Override + public String findTypeName(AnnotatedClass ac) { + String customType = ReflectionHelper.getModelType(ac.getRawType()); + return customType != null + ? customType + : super.findTypeName(ac); + } + + @Override + public TypeResolverBuilder findTypeResolver(MapperConfig config, AnnotatedClass ac, JavaType baseType) { + String modelType = ReflectionHelper.getModelType(ac.getRawType()); + if (modelType != null) { + TypeResolverBuilder result = _constructStdTypeResolverBuilder(); + result = result.init(JsonTypeInfo.Id.NAME, null); + result.inclusion(JsonTypeInfo.As.PROPERTY); + result.typeProperty(MODEL_TYPE_PROPERTY); + result.typeIdVisibility(false); + return result; + } + return super.findTypeResolver(config, ac, baseType); + } + + @Override + public List findSubtypes(Annotated a) { + if (ReflectionHelper.SUBTYPES.containsKey(a.getRawType()) && !ReflectionHelper.SUBTYPES.get(a.getRawType()).isEmpty()) { + return ReflectionHelper.SUBTYPES.get(a.getRawType()).stream() + .map(x -> new NamedType(x, x.getSimpleName())) + .collect(Collectors.toList()); + } + return super.findSubtypes(a); + } + + @Override + public JsonInclude.Value findPropertyInclusion(Annotated a) { + JsonInclude.Value result = super.findPropertyInclusion(a); + if (result != JsonInclude.Value.empty()) { + return result; + } + if (AnnotatedMethod.class.isAssignableFrom(a.getClass())) { + AnnotatedMethod method = (AnnotatedMethod) a; + if (method.getParameterCount() == 0 + && method.getName().startsWith(GETTER_PREFIX) + && Collection.class.isAssignableFrom(method.getRawReturnType()) + && ReflectionHelper.isModelInterfaceOrDefaultImplementation(method.getDeclaringClass())) { + return result.withValueInclusion(JsonInclude.Include.NON_EMPTY); + } + } + return result; + } + +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlMixin.java new file mode 100644 index 000000000..28b199f35 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.AccessPermissionRule; +import java.util.List; + +public interface AccessControlMixin { + + @JsonProperty("accessPermissionRule") + public List getAccessPermissionRules(); + + @JsonProperty("accessPermissionRule") + public void setAccessPermissionRules(List accessPermissionRules); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlPolicyPointsMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlPolicyPointsMixin.java new file mode 100644 index 000000000..b96b9f0dc --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessControlPolicyPointsMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.PolicyAdministrationPoint; +import io.adminshell.aas.v3.model.PolicyDecisionPoint; +import io.adminshell.aas.v3.model.PolicyEnforcementPoints; + +public interface AccessControlPolicyPointsMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public PolicyAdministrationPoint getPolicyAdministrationPoint(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public PolicyDecisionPoint getPolicyDecisionPoint(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public PolicyEnforcementPoints getPolicyEnforcementPoint(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessPermissionRuleMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessPermissionRuleMixin.java new file mode 100644 index 000000000..7c990e69c --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AccessPermissionRuleMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.PermissionsPerObject; +import io.adminshell.aas.v3.model.SubjectAttributes; +import java.util.List; + +public interface AccessPermissionRuleMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public SubjectAttributes getTargetSubjectAttributes(); + + @JsonProperty("permissionsPerObject") + public List getPermissionsPerObjects(); + + @JsonProperty("permissionsPerObject") + public void setPermissionsPerObjects(List permissionsPerObjects); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AnnotatedRelationshipElementMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AnnotatedRelationshipElementMixin.java new file mode 100644 index 000000000..de29420e9 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AnnotatedRelationshipElementMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.DataElement; +import java.util.List; + +public interface AnnotatedRelationshipElementMixin { + + @JsonProperty("annotation") + public List getAnnotations(); + + @JsonProperty("annotation") + public void setAnnotations(List annotations); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellEnvironmentMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellEnvironmentMixin.java new file mode 100644 index 000000000..7ea6017f5 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellEnvironmentMixin.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import java.util.List; +import java.util.Set; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Submodel; + +public interface AssetAdministrationShellEnvironmentMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Set getAssetAdministrationShells(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public List getSubmodels(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public List getConceptDescriptions(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellMixin.java new file mode 100644 index 000000000..45311e082 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetAdministrationShellMixin.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import io.adminshell.aas.v3.model.AssetInformation; + +public interface AssetAdministrationShellMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public AssetInformation getAssetInformation(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetInformationMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetInformationMixin.java new file mode 100644 index 000000000..eacd53161 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/AssetInformationMixin.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.AssetKind; + +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.Submodel; + +public interface AssetInformationMixin { + + @JsonProperty("thumbnail") + public void setDefaultThumbnail(File value); + + @JsonProperty("thumbnail") + public File getDefaultThumbnail(); + + @JsonProperty("billOfMaterial") + public List getBillOfMaterials(); + + @JsonProperty("billOfMaterial") + public void setBillOfMaterials(List billOfMaterials); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public AssetKind getAssetKind(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BasicEventMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BasicEventMixin.java new file mode 100644 index 000000000..61fdb684b --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BasicEventMixin.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.Reference; + +public interface BasicEventMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Reference getObserved(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobCertificateMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobCertificateMixin.java new file mode 100644 index 000000000..e3e95637c --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobCertificateMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.Reference; +import java.util.List; + +public interface BlobCertificateMixin { + + @JsonProperty("containedExtension") + public List getContainedExtensions(); + + @JsonProperty("containedExtension") + public void setContainedExtensions(List containedExtensions); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobMixin.java new file mode 100644 index 000000000..da5eaad60 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/BlobMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface BlobMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getMimeType(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ConceptDescriptionMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ConceptDescriptionMixin.java new file mode 100644 index 000000000..439036980 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ConceptDescriptionMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Reference; +import java.util.List; + +public interface ConceptDescriptionMixin { + + @JsonProperty("isCaseOf") + public List getIsCaseOfs(); + + @JsonProperty("isCaseOf") + public void setIsCaseOfs(List isCaseOfs); +// +// @JsonProperty("embeddedDataSpecifications") +// public List getEmbeddedDataSpecifications(); +// +// @JsonProperty("embeddedDataSpecifications") +// @JsonDeserialize(using = DataSpecificationDeserializer.class) + + public void setEmbeddedDataSpecifications(List embeddedDataSpecifications); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationIEC61360Mixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationIEC61360Mixin.java new file mode 100644 index 000000000..0f9de8c7f --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationIEC61360Mixin.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.LevelType; +import java.util.List; + +public interface DataSpecificationIEC61360Mixin { + + @JsonProperty("definition") + public List getDefinitions(); + + @JsonProperty("definition") + public void setDefinitions(List definitions); + + @JsonProperty("levelType") + public List getLevelTypes(); + + @JsonProperty("levelType") + public void setLevelTypes(List levelTypes); + + @JsonInclude(JsonInclude.Include.ALWAYS) + @JsonProperty("preferredName") + public List getPreferredNames(); + + @JsonProperty("preferredName") + public void setPreferredNames(List preferredNames); + + @JsonProperty("shortName") + public List getShortNames(); + + @JsonProperty("shortName") + public void setShortNames(List shortNames); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationPhysicalUnitMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationPhysicalUnitMixin.java new file mode 100644 index 000000000..720aa7ac5 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/DataSpecificationPhysicalUnitMixin.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.LangString; +import java.util.List; + +public interface DataSpecificationPhysicalUnitMixin { + + @JsonProperty("conversionFactor") + public List getConversionFactors(); + + @JsonProperty("conversionFactor") + public void setConversionFactors(List conversionFactors); + + @JsonInclude(JsonInclude.Include.ALWAYS) + @JsonProperty("definition") + public List getDefinitions(); + + @JsonProperty("definition") + public void setDefinitions(List definitions); + + @JsonProperty("dinNotation") + public List getDinNotations(); + + @JsonProperty("dinNotation") + public void setDinNotations(List dinNotations); + + @JsonProperty("eceCode") + public List getEceCodes(); + + @JsonProperty("eceCode") + public void setEceCodes(List eceCodes); + + @JsonProperty("eceName") + public List getEceNames(); + + @JsonProperty("eceName") + public void setEceNames(List eceNames); + + @JsonProperty("nistName") + public List getNistNames(); + + @JsonProperty("nistName") + public void setNistNames(List nistNames); + + @JsonProperty("siName") + public List getSiNames(); + + @JsonProperty("siName") + public void setSiNames(List siNames); + + @JsonProperty("siNotation") + public List getSiNotations(); + + @JsonProperty("siNotation") + public void setSiNotations(List siNotations); + + @JsonProperty("registrationAuthorityId") + public List getRegistrationAuthorityIds(); + + @JsonProperty("registrationAuthorityId") + public void setRegistrationAuthorityIds(List registrationAuthorityIds); + + @JsonProperty("supplier") + public List getSuppliers(); + + @JsonProperty("supplier") + public void setSuppliers(List suppliers); + + @JsonInclude(JsonInclude.Include.ALWAYS) + @JsonProperty("unitName") + public List getUnitNames(); + + @JsonProperty("unitName") + public void setUnitNames(List unitNames); + + @JsonInclude(JsonInclude.Include.ALWAYS) + @JsonProperty("unitSymbol") + public List getUnitSymbols(); + + @JsonProperty("unitSymbol") + public void setUnitSymbols(List unitSymbols); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/EntityMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/EntityMixin.java new file mode 100644 index 000000000..f18183d46 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/EntityMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; + +public interface EntityMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public EntityType getEntityType(); + + @JsonProperty("specificAssetIds") + public IdentifierKeyValuePair getExternalAssetId(); + + @JsonProperty("specificAssetIds") + public void setExternalAssetId(IdentifierKeyValuePair externalAssetId); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ExtensionMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ExtensionMixin.java new file mode 100644 index 000000000..6f2d02797 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ExtensionMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface ExtensionMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getName(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FileMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FileMixin.java new file mode 100644 index 000000000..690240dba --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FileMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface FileMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getMimeType(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FormulaMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FormulaMixin.java new file mode 100644 index 000000000..eaed31a52 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/FormulaMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.Reference; +import java.util.List; + +public interface FormulaMixin { + + @JsonProperty("dependsOn") + public List getDependsOns(); + + @JsonProperty("dependsOn") + public void setDependsOns(List dependsOns); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/HasExtensionsMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/HasExtensionsMixin.java new file mode 100644 index 000000000..4662b1f29 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/HasExtensionsMixin.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import io.adminshell.aas.v3.model.Extension; + +public interface HasExtensionsMixin { + + @JsonProperty("extension") + public List getExtensions(); + + @JsonProperty("extension") + public void setExtensions(List extensions); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifiableMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifiableMixin.java new file mode 100644 index 000000000..05c9925a0 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifiableMixin.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.Identifier; + +public interface IdentifiableMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Identifier getIdentification(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierKeyValuePairMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierKeyValuePairMixin.java new file mode 100644 index 000000000..ffb12ddbd --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierKeyValuePairMixin.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +import io.adminshell.aas.v3.model.Reference; + +public interface IdentifierKeyValuePairMixin { + + @JsonProperty("subjectId") + public void setExternalSubjectId(Reference value); + + @JsonInclude(JsonInclude.Include.ALWAYS) + @JsonProperty("subjectId") + public Reference getExternalSubjectId(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getKey(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getValue(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierMixin.java new file mode 100644 index 000000000..5fc9edc90 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/IdentifierMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.IdentifierType; + +public interface IdentifierMixin { + + @JsonProperty("id") + public void setIdentifier(String identifier); + + @JsonProperty("id") + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getIdentifier(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public IdentifierType getIdType(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/KeyMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/KeyMixin.java new file mode 100644 index 000000000..f0be27c34 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/KeyMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; + +public interface KeyMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public KeyType getIdType(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public KeyElements getType(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getValue(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/LangStringMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/LangStringMixin.java new file mode 100644 index 000000000..b1bc57103 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/LangStringMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +public interface LangStringMixin { + + @JsonProperty("text") + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getValue(); + + @JsonProperty("text") + public void setValue(String value); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getLanguage(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/MultiLanguagePropertyMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/MultiLanguagePropertyMixin.java new file mode 100644 index 000000000..7af310128 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/MultiLanguagePropertyMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.LangString; +import java.util.List; + +public interface MultiLanguagePropertyMixin { + + @JsonProperty("value") + public List getValues(); + + @JsonProperty("value") + public void setValues(List values); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ObjectAttributesMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ObjectAttributesMixin.java new file mode 100644 index 000000000..a20280b87 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ObjectAttributesMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.Reference; +import java.util.List; + +public interface ObjectAttributesMixin { + + @JsonProperty("objectAttribute") + public List getObjectAttributes(); + + @JsonProperty("objectAttribute") + public void setObjectAttributes(List objectAttributes); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationMixin.java new file mode 100644 index 000000000..b0e890dde --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationMixin.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.OperationVariable; +import java.util.List; + +public interface OperationMixin { + + @JsonProperty("inputVariable") + public List getInputVariables(); + + @JsonProperty("inputVariable") + public void setInputVariables(List inputVariables); + + @JsonProperty("inoutputVariable") + public List getInoutputVariables(); + + @JsonProperty("inoutputVariable") + public void setInoutputVariables(List inoutputVariables); + + @JsonProperty("outputVariable") + public List getOutputVariables(); + + @JsonProperty("outputVariable") + public void setOutputVariables(List outputVariables); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationVariableMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationVariableMixin.java new file mode 100644 index 000000000..d9122f3de --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/OperationVariableMixin.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.SubmodelElement; + +public interface OperationVariableMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public SubmodelElement getValue(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionMixin.java new file mode 100644 index 000000000..c82109685 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.PermissionKind; +import io.adminshell.aas.v3.model.Reference; + +public interface PermissionMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public PermissionKind getKindOfPermission(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Reference getPermission(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionsPerObjectMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionsPerObjectMixin.java new file mode 100644 index 000000000..b447d0246 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PermissionsPerObjectMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.Permission; +import java.util.List; + +public interface PermissionsPerObjectMixin { + + @JsonProperty("permission") + public List getPermissions(); + + @JsonProperty("permission") + public void setPermissions(List permissions); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyAdministrationPointMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyAdministrationPointMixin.java new file mode 100644 index 000000000..afedb8c3d --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyAdministrationPointMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface PolicyAdministrationPointMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public boolean getExternalAccessControl(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyDecisionPointMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyDecisionPointMixin.java new file mode 100644 index 000000000..115f28814 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyDecisionPointMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface PolicyDecisionPointMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public boolean getExternalPolicyDecisionPoints(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyEnforcementPointsMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyEnforcementPointsMixin.java new file mode 100644 index 000000000..eac02aa60 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyEnforcementPointsMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface PolicyEnforcementPointsMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public boolean getExternalPolicyEnforcementPoint(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyInformationPointsMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyInformationPointsMixin.java new file mode 100644 index 000000000..feb336475 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/PolicyInformationPointsMixin.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.Submodel; +import java.util.List; + +public interface PolicyInformationPointsMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + @JsonProperty("externalInformationPoint") + public boolean getExternalInformationPoints(); + + @JsonProperty("externalInformationPoint") + public void setExternalInformationPoints(boolean externalInformationPoints); + + @JsonProperty("internalInformationPoint") + public List getInternalInformationPoints(); + + @JsonProperty("internalInformationPoint") + public void setInternalInformationPoints(List internalInformationPoints); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/QualifierMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/QualifierMixin.java new file mode 100644 index 000000000..e4424e790 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/QualifierMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface QualifierMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getType(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RangeMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RangeMixin.java new file mode 100644 index 000000000..a70f06086 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RangeMixin.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; + +public interface RangeMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getValueType(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferableMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferableMixin.java new file mode 100644 index 000000000..1721a9104 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferableMixin.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.LangString; +import java.util.List; +import java.util.Set; + +public interface ReferableMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Set getIdShort(); + + @JsonProperty("description") + public List getDescriptions(); + + @JsonProperty("description") + public void setDescriptions(List descriptions); + + @JsonProperty("displayName") + public List getDisplayNames(); + + @JsonProperty("displayName") + public void setDisplayNames(List displayNames); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferenceMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferenceMixin.java new file mode 100644 index 000000000..3790c5111 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ReferenceMixin.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.Key; +import java.util.List; + +public interface ReferenceMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public List getKeys(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RelationshipElementMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RelationshipElementMixin.java new file mode 100644 index 000000000..d0f567a4b --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/RelationshipElementMixin.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.Reference; + +public interface RelationshipElementMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Reference getFirst(); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public Reference getSecond(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SecurityMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SecurityMixin.java new file mode 100644 index 000000000..6c8e41a9d --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SecurityMixin.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.AccessControlPolicyPoints; +import io.adminshell.aas.v3.model.Certificate; +import io.adminshell.aas.v3.model.Reference; +import java.util.List; + +public interface SecurityMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public AccessControlPolicyPoints getAccessControlPolicyPoints(); + + @JsonProperty("certificate") + public List getCertificates(); + + @JsonProperty("certificate") + public void setCertificates(List certificates); + + @JsonProperty("requiredCertificateExtension") + public List getRequiredCertificateExtensions(); + + @JsonProperty("requiredCertificateExtension") + public void setRequiredCertificateExtensions(List requiredCertificateExtensions); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SubmodelElementCollectionMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SubmodelElementCollectionMixin.java new file mode 100644 index 000000000..cf766bc20 --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/SubmodelElementCollectionMixin.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.adminshell.aas.v3.model.SubmodelElement; +import java.util.Collection; + +public interface SubmodelElementCollectionMixin { + + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + public boolean getOrdered(); + + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + public boolean getAllowDuplicates(); + + @JsonProperty("value") + public Collection getValues(); + + @JsonProperty("value") + public void setValues(Collection values); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ValueListMixin.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ValueListMixin.java new file mode 100644 index 000000000..f8a01370a --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/mixins/ValueListMixin.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.mixins; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.adminshell.aas.v3.model.ValueReferencePair; +import java.util.List; + +public interface ValueListMixin { + + @JsonInclude(JsonInclude.Include.ALWAYS) + public List getValueReferencePairTypes(); +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/JsonTreeProcessor.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/JsonTreeProcessor.java new file mode 100644 index 000000000..5413ed17f --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/JsonTreeProcessor.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.modeltype; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import java.util.function.Consumer; + +/** + * Helper class to traverse a JsonNode recursive and applying an operation to + * each node + */ +public class JsonTreeProcessor { + + private final Consumer operator; + + public static void traverse(JsonNode node, Consumer operator) { + new JsonTreeProcessor(operator).traverse(node); + } + + public JsonTreeProcessor(Consumer operator) { + this.operator = operator; + } + + public void traverse(JsonNode node) { + if (null == node.getNodeType()) { + return; + } + switch (node.getNodeType()) { + case ARRAY: + node.elements().forEachRemaining(x -> traverse(x)); + break; + case OBJECT: + operator.accept((ObjectNode) node); + node.elements().forEachRemaining(x -> traverse(x)); + break; + default: + // do nothing + } + } +} diff --git a/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/ModelTypeProcessor.java b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/ModelTypeProcessor.java new file mode 100644 index 000000000..c00ee986c --- /dev/null +++ b/dataformat-json/src/main/java/io/adminshell/aas/v3/dataformat/json/modeltype/ModelTypeProcessor.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json.modeltype; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.ObjectNode; + +/** + * Helper class to deal with nested nature of modelType property in JSON. As + * Jackson can not natively deal with such nested type information, this class + * offers functions to unwrapp the modelType information via the preprocess(...) + * method and wrap it again via postprocess(...). + */ +public class ModelTypeProcessor { + + private static final String MODEL_TYPE = "modelType"; + private static final String MODEL_TYPE_NAME = "name"; + + /** + * Unwrapps type information recursively, e.g. converts + *
+     * "modelType": {
+     *      "name": "Foo"
+     * }
+     * 
to + *
+     * "modelType": "Foo"
+     * 
+ * + * @param json json as string + * @return root node with unwrapped type information + * @throws JsonProcessingException parsing JSON fails + */ + public static JsonNode preprocess(String json) throws JsonProcessingException { + JsonNode result = new ObjectMapper().readTree(json); + JsonTreeProcessor.traverse(result, + x -> { + if (x.get(MODEL_TYPE) != null) { + x.replace(MODEL_TYPE, x.get(MODEL_TYPE).get(MODEL_TYPE_NAME)); + } + }); + return result; + } + + /** + * Wraps type information recursively, e.g. converts + *
+     * "modelType": "Foo"
+     * 
to + *
+     * "modelType": {
+     *      "name": "Foo"
+     * }
+     * 
+ * + * @param node root node + * @return transformed root node + * @throws JsonProcessingException parsing JSON fails + */ + public static JsonNode postprocess(JsonNode node) throws JsonProcessingException { + JsonTreeProcessor.traverse(node, + x -> { + if (x.get(MODEL_TYPE) != null && x.get(MODEL_TYPE).isTextual()) { + ObjectNode nodeModelType = JsonNodeFactory.instance.objectNode(); + nodeModelType.set(MODEL_TYPE_NAME, JsonNodeFactory.instance.textNode(x.get(MODEL_TYPE).asText())); + x.replace(MODEL_TYPE, nodeModelType); + } + }); + return node; + } +} diff --git a/dataformat-json/src/main/resources/aas.json b/dataformat-json/src/main/resources/aas.json new file mode 100644 index 000000000..e21792362 --- /dev/null +++ b/dataformat-json/src/main/resources/aas.json @@ -0,0 +1,1568 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "title": "AssetAdministrationShellEnvironment", + "$id": "http://www.admin-shell.io/schema/json/V3.0RC01", + "type": "object", + "required": [ + "assetAdministrationShells", + "submodels", + "conceptDescriptions" + ], + "properties": { + "assetAdministrationShells": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetAdministrationShell" + } + }, + "submodels": { + "type": "array", + "items": { + "$ref": "#/definitions/Submodel" + } + }, + "conceptDescriptions": { + "type": "array", + "items": { + "$ref": "#/definitions/ConceptDescription" + } + } + }, + "definitions": { + "Referable": { + "allOf": [ + { + "$ref": "#/definitions/HasExtensions" + }, + { + "properties": { + "idShort": { + "type": "string" + }, + "category": { + "type": "string" + }, + "displayName": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "description": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "modelType": { + "$ref": "#/definitions/ModelType" + } + }, + "required": [ + "modelType", + "idShort" + ] + } + ] + }, + "Identifiable": { + "allOf": [ + { + "$ref": "#/definitions/Referable" + }, + { + "properties": { + "identification": { + "$ref": "#/definitions/Identifier" + }, + "administration": { + "$ref": "#/definitions/AdministrativeInformation" + } + }, + "required": [ + "identification" + ] + } + ] + }, + "Qualifiable": { + "type": "object", + "properties": { + "qualifiers": { + "type": "array", + "items": { + "$ref": "#/definitions/Constraint" + } + } + } + }, + "HasSemantics": { + "type": "object", + "properties": { + "semanticId": { + "$ref": "#/definitions/Reference" + } + } + }, + "HasDataSpecification": { + "type": "object", + "properties": { + "embeddedDataSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/EmbeddedDataSpecification" + } + } + } + }, + "HasExtensions": { + "type": "object", + "properties": { + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Extension" + } + } + } + }, + "Extension": { + "allOf": [ + { + "$ref": "#/definitions/HasSemantics" + }, + { + "properties": { + "name": { + "type": "string" + }, + "valueType": { + "type": "string", + "enum": [ + "anyUri", + "base64Binary", + "boolean", + "date", + "dateTime", + "dateTimeStamp", + "decimal", + "integer", + "long", + "int", + "short", + "byte", + "nonNegativeInteger", + "positiveInteger", + "unsignedLong", + "unsignedInt", + "unsignedShort", + "unsignedByte", + "nonPositiveInteger", + "negativeInteger", + "double", + "duration", + "dayTimeDuration", + "yearMonthDuration", + "float", + "gDay", + "gMonth", + "gMonthDay", + "gYear", + "gYearMonth", + "hexBinary", + "NOTATION", + "QName", + "string", + "normalizedString", + "token", + "language", + "Name", + "NCName", + "ENTITY", + "ID", + "IDREF", + "NMTOKEN", + "time" + ] + }, + "value": { + "type": "string" + }, + "refersTo": { + "$ref": "#/definitions/Reference" + } + }, + "required": [ + "name" + ] + } + ] + }, + "AssetAdministrationShell": { + "allOf": [ + { + "$ref": "#/definitions/Identifiable" + }, + { + "$ref": "#/definitions/HasDataSpecification" + }, + { + "properties": { + "derivedFrom": { + "$ref": "#/definitions/Reference" + }, + "assetInformation": { + "$ref": "#/definitions/AssetInformation" + }, + "submodels": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + }, + "views": { + "type": "array", + "items": { + "$ref": "#/definitions/View" + } + }, + "security": { + "$ref": "#/definitions/Security" + } + }, + "required": [ + "assetInformation" + ] + } + ] + }, + "Identifier": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "idType": { + "$ref": "#/definitions/KeyType" + } + }, + "required": [ + "id", + "idType" + ] + }, + "KeyType": { + "type": "string", + "enum": [ + "Custom", + "Irdi", + "Iri", + "IdShort", + "FragmentId" + ] + }, + "AdministrativeInformation": { + "type": "object", + "properties": { + "version": { + "type": "string" + }, + "revision": { + "type": "string" + } + } + }, + "LangString": { + "type": "object", + "properties": { + "language": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "language", + "text" + ] + }, + "Reference": { + "type": "object", + "properties": { + "keys": { + "type": "array", + "items": { + "$ref": "#/definitions/Key" + } + } + }, + "required": [ + "keys" + ] + }, + "Key": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/KeyElements" + }, + "idType": { + "$ref": "#/definitions/KeyType" + }, + "value": { + "type": "string" + } + }, + "required": [ + "type", + "idType", + "value" + ] + }, + "KeyElements": { + "type": "string", + "enum": [ + "Asset", + "AssetAdministrationShell", + "ConceptDescription", + "Submodel", + "AccessPermissionRule", + "AnnotatedRelationshipElement", + "BasicEvent", + "Blob", + "Capability", + "ConceptDictionary", + "DataElement", + "File", + "Entity", + "Event", + "MultiLanguageProperty", + "Operation", + "Property", + "Range", + "ReferenceElement", + "RelationshipElement", + "SubmodelElement", + "SubmodelElementCollection", + "View", + "GlobalReference", + "FragmentReference" + ] + }, + "ModelTypes": { + "type": "string", + "enum": [ + "Asset", + "AssetAdministrationShell", + "ConceptDescription", + "Submodel", + "AccessPermissionRule", + "AnnotatedRelationshipElement", + "BasicEvent", + "Blob", + "Capability", + "ConceptDictionary", + "DataElement", + "File", + "Entity", + "Event", + "MultiLanguageProperty", + "Operation", + "Property", + "Range", + "ReferenceElement", + "RelationshipElement", + "SubmodelElement", + "SubmodelElementCollection", + "View", + "GlobalReference", + "FragmentReference", + "Constraint", + "Formula", + "Qualifier" + ] + }, + "ModelType": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/ModelTypes" + } + }, + "required": [ + "name" + ] + }, + "EmbeddedDataSpecification": { + "type": "object", + "properties": { + "dataSpecification": { + "$ref": "#/definitions/Reference" + }, + "dataSpecificationContent": { + "$ref": "#/definitions/DataSpecificationContent" + } + }, + "required": [ + "dataSpecification" + ] + }, + "DataSpecificationContent": { + "oneOf": [ + { + "$ref": "#/definitions/DataSpecificationIEC61360Content" + }, + { + "$ref": "#/definitions/DataSpecificationPhysicalUnitContent" + } + ] + }, + "DataSpecificationPhysicalUnitContent": { + "type": "object", + "properties": { + "unitName": { + "type": "string" + }, + "unitSymbol": { + "type": "string" + }, + "definition": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "siNotation": { + "type": "string" + }, + "siName": { + "type": "string" + }, + "dinNotation": { + "type": "string" + }, + "eceName": { + "type": "string" + }, + "eceCode": { + "type": "string" + }, + "nistName": { + "type": "string" + }, + "sourceOfDefinition": { + "type": "string" + }, + "conversionFactor": { + "type": "string" + }, + "registrationAuthorityId": { + "type": "string" + }, + "supplier": { + "type": "string" + } + }, + "required": [ + "unitName", + "unitSymbol", + "definition" + ] + }, + "DataSpecificationIEC61360Content": { + "allOf": [ + { + "$ref": "#/definitions/ValueObject" + }, + { + "type": "object", + "properties": { + "dataType": { + "enum": [ + "Date", + "String", + "StringTranslatable", + "RealMeasure", + "RealCount", + "RealCurrency", + "Boolean", + "Url", + "Rational", + "RationalMeasure", + "Time", + "Timestamp", + "IntegerCount", + "IntegerMeasure", + "IntegerCurrency" + ] + }, + "definition": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "preferredName": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "shortName": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "sourceOfDefinition": { + "type": "string" + }, + "symbol": { + "type": "string" + }, + "unit": { + "type": "string" + }, + "unitId": { + "$ref": "#/definitions/Reference" + }, + "valueFormat": { + "type": "string" + }, + "valueList": { + "$ref": "#/definitions/ValueList" + }, + "levelType": { + "type": "array", + "items": { + "$ref": "#/definitions/LevelType" + } + } + }, + "required": [ + "preferredName" + ] + } + ] + }, + "LevelType": { + "type": "string", + "enum": [ + "Min", + "Max", + "Nom", + "Typ" + ] + }, + "ValueList": { + "type": "object", + "properties": { + "valueReferencePairTypes": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/ValueReferencePairType" + } + } + }, + "required": [ + "valueReferencePairTypes" + ] + }, + "ValueReferencePairType": { + "allOf": [ + { + "$ref": "#/definitions/ValueObject" + } + ] + }, + "ValueObject": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "valueId": { + "$ref": "#/definitions/Reference" + }, + "valueType": { + "type": "string", + "enum": [ + "anyUri", + "base64Binary", + "boolean", + "date", + "dateTime", + "dateTimeStamp", + "decimal", + "integer", + "long", + "int", + "short", + "byte", + "nonNegativeInteger", + "positiveInteger", + "unsignedLong", + "unsignedInt", + "unsignedShort", + "unsignedByte", + "nonPositiveInteger", + "negativeInteger", + "double", + "duration", + "dayTimeDuration", + "yearMonthDuration", + "float", + "gDay", + "gMonth", + "gMonthDay", + "gYear", + "gYearMonth", + "hexBinary", + "NOTATION", + "QName", + "string", + "normalizedString", + "token", + "language", + "Name", + "NCName", + "ENTITY", + "ID", + "IDREF", + "NMTOKEN", + "time" + ] + } + } + }, + "Asset": { + "allOf": [ + { + "$ref": "#/definitions/Identifiable" + }, + { + "$ref": "#/definitions/HasDataSpecification" + } + ] + }, + "AssetInformation": { + "allOf": [ + { + "properties": { + "assetKind": { + "$ref": "#/definitions/AssetKind" + }, + "globalAssetId": { + "$ref": "#/definitions/Reference" + }, + "specificAssetIds": { + "type": "array", + "items": { + "$ref": "#/definitions/IdentifierKeyValuePair" + } + }, + "billOfMaterial": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + }, + "thumbnail": { + "$ref": "#/definitions/File" + } + }, + "required": [ + "assetKind" + ] + } + ] + }, + "IdentifierKeyValuePair": { + "allOf": [ + { + "$ref": "#/definitions/HasSemantics" + }, + { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "subjectId": { + "$ref": "#/definitions/Reference" + } + }, + "required": [ + "key", + "value", + "subjectId" + ] + } + ] + }, + "AssetKind": { + "type": "string", + "enum": [ + "Type", + "Instance" + ] + }, + "ModelingKind": { + "type": "string", + "enum": [ + "Template", + "Instance" + ] + }, + "Submodel": { + "allOf": [ + { + "$ref": "#/definitions/Identifiable" + }, + { + "$ref": "#/definitions/HasDataSpecification" + }, + { + "$ref": "#/definitions/Qualifiable" + }, + { + "$ref": "#/definitions/HasSemantics" + }, + { + "properties": { + "kind": { + "$ref": "#/definitions/ModelingKind" + }, + "submodelElements": { + "type": "array", + "items": { + "$ref": "#/definitions/SubmodelElement" + } + } + } + } + ] + }, + "Constraint": { + "type": "object", + "properties": { + "modelType": { + "$ref": "#/definitions/ModelType" + } + }, + "required": [ + "modelType" + ] + }, + "Operation": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "inputVariable": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationVariable" + } + }, + "outputVariable": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationVariable" + } + }, + "inoutputVariable": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationVariable" + } + } + } + } + ] + }, + "OperationVariable": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "$ref": "#/definitions/Blob" + }, + { + "$ref": "#/definitions/File" + }, + { + "$ref": "#/definitions/Capability" + }, + { + "$ref": "#/definitions/ConceptDictionary" + }, + { + "$ref": "#/definitions/Entity" + }, + { + "$ref": "#/definitions/Event" + }, + { + "$ref": "#/definitions/BasicEvent" + }, + { + "$ref": "#/definitions/MultiLanguageProperty" + }, + { + "$ref": "#/definitions/Operation" + }, + { + "$ref": "#/definitions/Property" + }, + { + "$ref": "#/definitions/Range" + }, + { + "$ref": "#/definitions/ReferenceElement" + }, + { + "$ref": "#/definitions/RelationshipElement" + }, + { + "$ref": "#/definitions/SubmodelElementCollection" + } + ] + } + }, + "required": [ + "value" + ] + }, + "SubmodelElement": { + "allOf": [ + { + "$ref": "#/definitions/Referable" + }, + { + "$ref": "#/definitions/HasDataSpecification" + }, + { + "$ref": "#/definitions/HasSemantics" + }, + { + "$ref": "#/definitions/Qualifiable" + }, + { + "properties": { + "kind": { + "$ref": "#/definitions/ModelingKind" + }, + "idShort": { + "type": "string" + } + }, + "required": [ + "idShort" + ] + } + ] + }, + "Event": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + } + ] + }, + "BasicEvent": { + "allOf": [ + { + "$ref": "#/definitions/Event" + }, + { + "properties": { + "observed": { + "$ref": "#/definitions/Reference" + } + }, + "required": [ + "observed" + ] + } + ] + }, + "EntityType": { + "type": "string", + "enum": [ + "CoManagedEntity", + "SelfManagedEntity" + ] + }, + "Entity": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "statements": { + "type": "array", + "items": { + "$ref": "#/definitions/SubmodelElement" + } + }, + "entityType": { + "$ref": "#/definitions/EntityType" + }, + "globalAssetId": { + "$ref": "#/definitions/Reference" + }, + "specificAssetIds": { + "$ref": "#/definitions/IdentifierKeyValuePair" + } + }, + "required": [ + "entityType" + ] + } + ] + }, + "View": { + "allOf": [ + { + "$ref": "#/definitions/Referable" + }, + { + "$ref": "#/definitions/HasDataSpecification" + }, + { + "$ref": "#/definitions/HasSemantics" + }, + { + "properties": { + "containedElements": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + } + } + } + ] + }, + "ConceptDescription": { + "allOf": [ + { + "$ref": "#/definitions/Identifiable" + }, + { + "$ref": "#/definitions/HasDataSpecification" + }, + { + "properties": { + "isCaseOf": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + } + } + } + ] + }, + "Capability": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + } + ] + }, + "Property": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "$ref": "#/definitions/ValueObject" + } + ] + }, + "Range": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "valueType": { + "type": "string", + "enum": [ + "anyUri", + "base64Binary", + "boolean", + "date", + "dateTime", + "dateTimeStamp", + "decimal", + "integer", + "long", + "int", + "short", + "byte", + "nonNegativeInteger", + "positiveInteger", + "unsignedLong", + "unsignedInt", + "unsignedShort", + "unsignedByte", + "nonPositiveInteger", + "negativeInteger", + "double", + "duration", + "dayTimeDuration", + "yearMonthDuration", + "float", + "gDay", + "gMonth", + "gMonthDay", + "gYear", + "gYearMonth", + "hexBinary", + "NOTATION", + "QName", + "string", + "normalizedString", + "token", + "language", + "Name", + "NCName", + "ENTITY", + "ID", + "IDREF", + "NMTOKEN", + "time" + ] + }, + "min": { + "type": "string" + }, + "max": { + "type": "string" + } + }, + "required": [ + "valueType" + ] + } + ] + }, + "MultiLanguageProperty": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LangString" + } + }, + "valueId": { + "$ref": "#/definitions/Reference" + } + } + } + ] + }, + "File": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "value": { + "type": "string" + }, + "mimeType": { + "type": "string" + } + }, + "required": [ + "mimeType" + ] + } + ] + }, + "Blob": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "value": { + "type": "string" + }, + "mimeType": { + "type": "string" + } + }, + "required": [ + "mimeType" + ] + } + ] + }, + "ReferenceElement": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "value": { + "$ref": "#/definitions/Reference" + } + } + } + ] + }, + "SubmodelElementCollection": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "value": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Blob" + }, + { + "$ref": "#/definitions/File" + }, + { + "$ref": "#/definitions/Capability" + }, + { + "$ref": "#/definitions/ConceptDictionary" + }, + { + "$ref": "#/definitions/Entity" + }, + { + "$ref": "#/definitions/Event" + }, + { + "$ref": "#/definitions/BasicEvent" + }, + { + "$ref": "#/definitions/MultiLanguageProperty" + }, + { + "$ref": "#/definitions/Operation" + }, + { + "$ref": "#/definitions/Property" + }, + { + "$ref": "#/definitions/Range" + }, + { + "$ref": "#/definitions/ReferenceElement" + }, + { + "$ref": "#/definitions/RelationshipElement" + }, + { + "$ref": "#/definitions/SubmodelElementCollection" + } + ] + } + }, + "allowDuplicates": { + "type": "boolean" + }, + "ordered": { + "type": "boolean" + } + } + } + ] + }, + "RelationshipElement": { + "allOf": [ + { + "$ref": "#/definitions/SubmodelElement" + }, + { + "properties": { + "first": { + "$ref": "#/definitions/Reference" + }, + "second": { + "$ref": "#/definitions/Reference" + } + }, + "required": [ + "first", + "second" + ] + } + ] + }, + "AnnotatedRelationshipElement": { + "allOf": [ + { + "$ref": "#/definitions/RelationshipElement" + }, + { + "properties": { + "annotation": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Blob" + }, + { + "$ref": "#/definitions/File" + }, + { + "$ref": "#/definitions/MultiLanguageProperty" + }, + { + "$ref": "#/definitions/Property" + }, + { + "$ref": "#/definitions/Range" + }, + { + "$ref": "#/definitions/ReferenceElement" + } + ] + } + } + } + } + ] + }, + "Qualifier": { + "allOf": [ + { + "$ref": "#/definitions/Constraint" + }, + { + "$ref": "#/definitions/HasSemantics" + }, + { + "$ref": "#/definitions/ValueObject" + }, + { + "properties": { + "type": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "Formula": { + "allOf": [ + { + "$ref": "#/definitions/Constraint" + }, + { + "properties": { + "dependsOn": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + } + } + } + ] + }, + "Security": { + "type": "object", + "properties": { + "accessControlPolicyPoints": { + "$ref": "#/definitions/AccessControlPolicyPoints" + }, + "certificate": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/BlobCertificate" + } + ] + } + }, + "requiredCertificateExtension": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + } + }, + "required": [ + "accessControlPolicyPoints" + ] + }, + "Certificate": { + "type": "object" + }, + "BlobCertificate": { + "allOf": [ + { + "$ref": "#/definitions/Certificate" + }, + { + "properties": { + "blobCertificate": { + "$ref": "#/definitions/Blob" + }, + "containedExtension": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + }, + "lastCertificate": { + "type": "boolean" + } + } + } + ] + }, + "AccessControlPolicyPoints": { + "type": "object", + "properties": { + "policyAdministrationPoint": { + "$ref": "#/definitions/PolicyAdministrationPoint" + }, + "policyDecisionPoint": { + "$ref": "#/definitions/PolicyDecisionPoint" + }, + "policyEnforcementPoint": { + "$ref": "#/definitions/PolicyEnforcementPoint" + }, + "policyInformationPoints": { + "$ref": "#/definitions/PolicyInformationPoints" + } + }, + "required": [ + "policyAdministrationPoint", + "policyDecisionPoint", + "policyEnforcementPoint" + ] + }, + "PolicyAdministrationPoint": { + "type": "object", + "properties": { + "localAccessControl": { + "$ref": "#/definitions/AccessControl" + }, + "externalAccessControl": { + "type": "boolean" + } + }, + "required": [ + "externalAccessControl" + ] + }, + "PolicyInformationPoints": { + "type": "object", + "properties": { + "internalInformationPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + }, + "externalInformationPoint": { + "type": "boolean" + } + }, + "required": [ + "externalInformationPoint" + ] + }, + "PolicyEnforcementPoint": { + "type": "object", + "properties": { + "externalPolicyEnforcementPoint": { + "type": "boolean" + } + }, + "required": [ + "externalPolicyEnforcementPoint" + ] + }, + "PolicyDecisionPoint": { + "type": "object", + "properties": { + "externalPolicyDecisionPoints": { + "type": "boolean" + } + }, + "required": [ + "externalPolicyDecisionPoints" + ] + }, + "AccessControl": { + "type": "object", + "properties": { + "selectableSubjectAttributes": { + "$ref": "#/definitions/Reference" + }, + "defaultSubjectAttributes": { + "$ref": "#/definitions/Reference" + }, + "selectablePermissions": { + "$ref": "#/definitions/Reference" + }, + "defaultPermissions": { + "$ref": "#/definitions/Reference" + }, + "selectableEnvironmentAttributes": { + "$ref": "#/definitions/Reference" + }, + "defaultEnvironmentAttributes": { + "$ref": "#/definitions/Reference" + }, + "accessPermissionRule": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPermissionRule" + } + } + } + }, + "AccessPermissionRule": { + "allOf": [ + { + "$ref": "#/definitions/Referable" + }, + { + "$ref": "#/definitions/Qualifiable" + }, + { + "properties": { + "targetSubjectAttributes": { + "type": "array", + "items": { + "$ref": "#/definitions/SubjectAttributes" + }, + "minItems": 1 + }, + "permissionsPerObject": { + "type": "array", + "items": { + "$ref": "#/definitions/PermissionsPerObject" + } + } + }, + "required": [ + "targetSubjectAttributes" + ] + } + ] + }, + "SubjectAttributes": { + "type": "object", + "properties": { + "subjectAttributes": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Blob" + }, + { + "$ref": "#/definitions/File" + }, + { + "$ref": "#/definitions/MultiLanguageProperty" + }, + { + "$ref": "#/definitions/Property" + }, + { + "$ref": "#/definitions/Range" + }, + { + "$ref": "#/definitions/ReferenceElement" + } + ] + }, + "minItems": 1 + } + } + }, + "PermissionsPerObject": { + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/Reference" + }, + "targetObjectAttributes": { + "$ref": "#/definitions/ObjectAttributes" + }, + "permission": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + } + } + }, + "ObjectAttributes": { + "type": "object", + "properties": { + "objectAttribute": { + "type": "array", + "items": { + "$ref": "#/definitions/Property" + }, + "minItems": 1 + } + } + }, + "Permission": { + "type": "object", + "properties": { + "permission": { + "$ref": "#/definitions/Reference" + }, + "kindOfPermission": { + "type": "string", + "enum": [ + "Allow", + "Deny", + "NotApplicable", + "Undefined" + ] + } + }, + "required": [ + "permission", + "kindOfPermission" + ] + } + } +} \ No newline at end of file diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java new file mode 100644 index 000000000..68b98f3bc --- /dev/null +++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.dataformat.Deserializer; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.dataformat.core.CustomProperty; +import io.adminshell.aas.v3.dataformat.core.CustomSubmodel; +import io.adminshell.aas.v3.dataformat.core.CustomSubmodel2; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; + +public class JsonDeserializerTest { + + private static final Logger logger = LoggerFactory.getLogger(JsonDeserializerTest.class); + + @Test + public void testReadFromFile() throws Exception { + new JsonDeserializer().read(JsonSerializerTest.AASFULL_FILE); + } + + @Test + public void testSimpleExample() throws Exception { + AssetAdministrationShellEnvironment env = new JsonDeserializer().read(JsonSerializerTest.AASSIMPLE_FILE); + assertEquals(AASSimple.ENVIRONMENT, env); + } + + @Test + public void testFullExample() throws Exception { + AssetAdministrationShellEnvironment env = new JsonDeserializer().read(JsonSerializerTest.AASFULL_FILE); + assertEquals(AASFull.ENVIRONMENT, env); + } + + @Test + public void testCustomImplementationClass() throws Exception { + String json = new JsonSerializer().write(AASSimple.ENVIRONMENT); + Deserializer deserializer = new JsonDeserializer(); + AssetAdministrationShellEnvironment environment = deserializer.read(json); + checkImplementationClasses(environment, DefaultSubmodel.class, DefaultProperty.class); + deserializer.useImplementation(Submodel.class, CustomSubmodel.class); + deserializer.useImplementation(Property.class, CustomProperty.class); + environment = deserializer.read(json); + checkImplementationClasses(environment, CustomSubmodel.class, CustomProperty.class); + deserializer.useImplementation(Submodel.class, CustomSubmodel2.class); + environment = deserializer.read(json); + checkImplementationClasses(environment, CustomSubmodel2.class, CustomProperty.class); + } + + private void checkImplementationClasses(AssetAdministrationShellEnvironment environment, + Class submodelImpl, Class propertyImpl) { + environment.getSubmodels().forEach(submodel -> { + assertEquals(submodel.getClass(), submodelImpl); + submodel.getSubmodelElements().stream() + .filter(element -> Property.class.isAssignableFrom(element.getClass())) + .forEach(element -> assertEquals(element.getClass(), propertyImpl)); + }); + } +} diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java new file mode 100644 index 000000000..433297ff3 --- /dev/null +++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; + +public class JsonReferableDeserializerTest { + + private static final Logger logger = LoggerFactory.getLogger(JsonReferableDeserializerTest.class); + + @Test + public void testReadAAS() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/assetAdministrationShell.json"); + String expected = Files.readString(fileExpected.toPath()); + AssetAdministrationShell aas = new JsonDeserializer().readReferable(expected, AssetAdministrationShell.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + AssetAdministrationShell aasExpected = environment.getAssetAdministrationShells().get(0); + + assertEquals(aasExpected, aas); + } + + @Test + public void testReadAASs() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/assetAdministrationShellList.json"); + String expected = Files.readString(fileExpected.toPath()); + List aas = new JsonDeserializer().readReferables(expected, AssetAdministrationShell.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + List aasExpected = Arrays.asList(environment.getAssetAdministrationShells().get(0) + ,environment.getAssetAdministrationShells().get(1)) ; + + assertEquals(aasExpected, aas); + } + + @Test + public void testReadSubmodel() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/submodel.json"); + String expected = Files.readString(fileExpected.toPath()); + Submodel submodel = new JsonDeserializer().readReferable(expected,Submodel.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + Submodel submodelExpected = environment.getSubmodels().get(0); + + assertEquals(submodelExpected, submodel); + } + + @Test + public void testReadSubmodels() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/submodelList.json"); + String expected = Files.readString(fileExpected.toPath()); + List submodels = new JsonDeserializer().readReferables(expected,Submodel.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + List submodelsExpected = Arrays.asList(environment.getSubmodels().get(0),environment.getSubmodels().get(1)); + + assertEquals(submodelsExpected, submodels); + } + + @Test + public void testReadSubmodelElement() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/submodelElement.json"); + String expected = Files.readString(fileExpected.toPath()); + SubmodelElement submodelElement = new JsonDeserializer().readReferable(expected,SubmodelElement.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + SubmodelElement submodelElementExpected = environment.getSubmodels().get(0).getSubmodelElements().get(0); + + assertEquals(submodelElementExpected, submodelElement); + } + + @Test + public void testReadSubmodelElements() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/submodelElementList.json"); + String expected = Files.readString(fileExpected.toPath()); + List submodelElements = new JsonDeserializer().readReferables(expected,SubmodelElement.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + List submodelElementsExpected = Arrays.asList( + environment.getSubmodels().get(0).getSubmodelElements().get(0), + environment.getSubmodels().get(0).getSubmodelElements().get(1)); ; + + assertEquals(submodelElementsExpected, submodelElements); + } + + @Test + public void testReadSubmodelElementCollection() throws IOException, DeserializationException { + File fileExpected = new File("src/test/resources/submodelElementCollection.json"); + String expected = Files.readString(fileExpected.toPath()); + SubmodelElementCollection submodelElementCollection = new JsonDeserializer().readReferable(expected,SubmodelElementCollection.class); + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + SubmodelElement submodelElementCollectionExpected = environment.getSubmodels().get(6).getSubmodelElements().get(5); ; + + assertEquals(submodelElementCollectionExpected, submodelElementCollection); + } + +} diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java new file mode 100644 index 000000000..103e5650e --- /dev/null +++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Arrays; +import java.util.List; + +import org.json.JSONException; +import org.junit.Test; +import org.skyscreamer.jsonassert.JSONAssert; +import org.skyscreamer.jsonassert.JSONCompareMode; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class JsonReferableSerializerTest { + + private static final Logger logger = LoggerFactory.getLogger(JsonReferableSerializerTest.class); + + @Test + public void testSerializeAAS() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + AssetAdministrationShell assetAdministrationShell = environment.getAssetAdministrationShells().get(0); + compare("src/test/resources/assetAdministrationShell.json",assetAdministrationShell); + } + + @Test + public void testSerializeAASs() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + compare("src/test/resources/assetAdministrationShellList.json", + environment.getAssetAdministrationShells().get(0), environment.getAssetAdministrationShells().get(1)); + } + + @Test + public void testSerializeSubmodel() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + Submodel submodel = environment.getSubmodels().get(0); + compare("src/test/resources/submodel.json",submodel); + } + + @Test + public void testSerializeSubmodels() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + compare("src/test/resources/submodelList.json", environment.getSubmodels().get(0), environment.getSubmodels().get(1)); + } + + @Test + public void testSerializeSubmodelelement() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + SubmodelElement submodelElement = environment.getSubmodels().get(0).getSubmodelElements().get(0); + compare("src/test/resources/submodelElement.json",submodelElement); + } + + @Test + public void testSerializeSubmodelelements() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + SubmodelElement submodelElement0 = environment.getSubmodels().get(0).getSubmodelElements().get(0); + SubmodelElement submodelElement1 = environment.getSubmodels().get(0).getSubmodelElements().get(1); + compare("src/test/resources/submodelElementList.json",submodelElement0,submodelElement1); + } + + @Test + public void testSerializeSubmodelelementCollection() throws IOException, SerializationException, JSONException { + AssetAdministrationShellEnvironment environment = AASFull.ENVIRONMENT; + SubmodelElement submodelElementCollection = environment.getSubmodels().get(6).getSubmodelElements().get(5); + compare("src/test/resources/submodelElementCollection.json",submodelElementCollection); + } + + private void compare(String filePathForExpected, Referable... referable) throws IOException, SerializationException, JSONException { + File fileExpected = new File(filePathForExpected); + String expected = Files.readString(fileExpected.toPath()); + String actual; + if(referable.length>1){ + actual = new JsonSerializer().write(List.of(referable)); + } else { + actual = new JsonSerializer().write(Arrays.stream(referable).findFirst().get()); + } + logger.info(actual); + + JSONAssert.assertEquals(expected, actual, JSONCompareMode.NON_EXTENSIBLE); + JSONAssert.assertEquals(actual, expected, JSONCompareMode.NON_EXTENSIBLE); + + } + +} diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java new file mode 100644 index 000000000..c562213f1 --- /dev/null +++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Set; + +import org.json.JSONException; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.skyscreamer.jsonassert.JSONAssert; +import org.skyscreamer.jsonassert.JSONCompareMode; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.fasterxml.jackson.core.JsonProcessingException; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; + +public class JsonSerializerTest { + public static final java.io.File AASSIMPLE_FILE = new java.io.File("src/test/resources/jsonExample.json"); + public static final java.io.File AASFULL_FILE = new java.io.File("src/test/resources/test_demo_full_example.json"); + + private static final Logger logger = LoggerFactory.getLogger(JsonSerializerTest.class); + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @Test + public void testSerializeNull() throws JsonProcessingException, IOException, SerializationException { + assertEquals("null", new JsonSerializer().write((AssetAdministrationShellEnvironment) null)); + } + + @Test + public void testWriteToFile() throws JsonProcessingException, IOException, SerializationException { + File file = tempFolder.newFile("output.json"); + new JsonSerializer().write(file, AASSimple.ENVIRONMENT); + assertTrue(file.exists()); + } + + @Test + public void testSerializeEmpty() throws JsonProcessingException, IOException, SerializationException, JSONException { + validateAndCompare(new java.io.File("src/test/resources/empty_aas.json"), new DefaultAssetAdministrationShellEnvironment.Builder().build()); + } + + @Test + public void testSerializeSimpleExample() throws SerializationException, JSONException, IOException { + validateAndCompare(AASSIMPLE_FILE, AASSimple.ENVIRONMENT); + } + + @Test + public void testSerializeFullExample() throws SerializationException, JSONException, IOException { + validateAndCompare(AASFULL_FILE, AASFull.ENVIRONMENT); + } + + private void validateAndCompare(File expectedFile, AssetAdministrationShellEnvironment environment) throws IOException, SerializationException, JSONException { + String expected = Files.readString(expectedFile.toPath()); + String actual = new JsonSerializer().write(environment); + logger.info(actual); + Set errors = new JsonSchemaValidator().validateSchema(actual); + assertTrue(errors.isEmpty()); + JSONAssert.assertEquals(expected, actual, JSONCompareMode.NON_EXTENSIBLE); + JSONAssert.assertEquals(actual, expected, JSONCompareMode.NON_EXTENSIBLE); + } + +} diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonValidationTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonValidationTest.java new file mode 100644 index 000000000..47a033b3a --- /dev/null +++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonValidationTest.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Set; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; + +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; + +@RunWith(JUnitParamsRunner.class) +public class JsonValidationTest { + + private static JsonSchemaValidator validator; + + @BeforeClass + public static void prepareValidator() throws IOException { + validator = new JsonSchemaValidator(); + } + + @Test + @Parameters({"src/test/resources/jsonExample.json", "src/test/resources/test_demo_full_example.json", + "src/test/resources/MotorAAS.json", "src/test/resources/MotorAAS_reduced.json"}) + public void validateValidJson(String file) throws IOException { + String serializedEnvironment = new String(Files.readAllBytes(Paths.get(file))); + Set errors = validator.validateSchema(serializedEnvironment); + System.out.println("Validating: " + file); + assertTrue(errors.isEmpty()); + } + + @Test + @Parameters({"src/test/resources/invalidJsonExample.json"}) + public void validateInvalidJson(String file) throws IOException { + String serializedEnvironment = new String(Files.readAllBytes(Paths.get(file))); + Set errors = validator.validateSchema(serializedEnvironment); + System.out.println("Validating: " + file); + for (String s : errors) { + System.out.println(s); + } + assertEquals(2, errors.size()); + } +} diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java new file mode 100644 index 000000000..658b4cc6e --- /dev/null +++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java @@ -0,0 +1,186 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.List; +import java.util.Map; + +import org.junit.Before; +import org.junit.Test; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.introspect.AnnotatedClass; +import com.fasterxml.jackson.databind.introspect.AnnotatedClassResolver; +import com.fasterxml.jackson.databind.jsontype.NamedType; +import com.fasterxml.jackson.databind.jsontype.TypeDeserializer; +import com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder; +import com.fasterxml.jackson.databind.jsontype.impl.TypeNameIdResolver; + +import io.adminshell.aas.v3.dataformat.core.CustomProperty; +import io.adminshell.aas.v3.dataformat.core.CustomSubProperty; +import io.adminshell.aas.v3.dataformat.core.CustomSubmodel; +import io.adminshell.aas.v3.dataformat.core.CustomSubmodel2; +import io.adminshell.aas.v3.dataformat.json.mixins.ReferenceMixin; +import io.adminshell.aas.v3.model.ClassA; +import io.adminshell.aas.v3.model.ClassB; +import io.adminshell.aas.v3.model.DataElement; +import io.adminshell.aas.v3.model.DummyInterface; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.TypedProperty; +import io.adminshell.aas.v3.model.TypedSubProperty; + +//review AAS-134: some basic, rather simple tests would be helpful to understand/document the cases for which the introspector is build for +//also some javadoc could help +public class ReflectionAnnotationIntrospectorTest { + + private static ReflectionAnnotationIntrospector introspector; + private static ObjectMapper mapper; + + @Before + public void setUp() throws Exception { + introspector = new ReflectionAnnotationIntrospector(); + mapper = new ObjectMapper(); + } + + private AnnotatedClass getAnnotatedClass(Class clazz) { + return AnnotatedClassResolver.resolve( + mapper.getSerializationConfig(), + mapper.getTypeFactory().constructFromCanonical(clazz.getName()), + null); + } + + private TypeResolverBuilder getTypeResolver(Class clazz) { + return introspector.findTypeResolver( + mapper.getSerializationConfig(), + getAnnotatedClass(clazz), + mapper.getTypeFactory().constructFromCanonical(clazz.getName())); + } + + @Test + public void testFindTypeNameForClassesWithoutTypeInfo() throws Exception { + List.of(String.class, + Object.class, + Integer.class, + ReflectionAnnotationIntrospectorTest.class, + ReferenceMixin.class, + DummyInterface.class) + .forEach(x -> assertNull(introspector.findTypeName(getAnnotatedClass(x)))); + } + + @Test + public void testFindTypeNameForClassesWithTypeInfo() throws Exception { + Map.of(CustomProperty.class, Property.class, + CustomSubProperty.class, Property.class, + TypedProperty.class, TypedProperty.class, + TypedSubProperty.class, TypedSubProperty.class, + CustomSubmodel.class, Submodel.class, + CustomSubmodel2.class, Submodel.class + ).entrySet() + .forEach(x -> assertEquals( + introspector.findTypeName(getAnnotatedClass(x.getKey())), + x.getValue().getSimpleName())); + } + + @Test + public void testFindTypeResolverForClassesWithoutTypeInfo() throws Exception { + List.of(String.class, + Object.class, + Integer.class, + ReflectionAnnotationIntrospectorTest.class, + ReferenceMixin.class, + DummyInterface.class) + .forEach(x -> { + TypeResolverBuilder typeResolver = getTypeResolver(x); + assertNull(typeResolver); + }); + } + + @Test + public void testFindTypeResolverForClassesWithTypeInfo() throws Exception { + List.of(CustomProperty.class, + CustomSubProperty.class, + TypedProperty.class, + TypedSubProperty.class, + CustomSubmodel.class, + CustomSubmodel2.class + ).forEach(x -> { + TypeResolverBuilder typeResolver = getTypeResolver(x); + assertNotNull(typeResolver); + TypeDeserializer typeDeserializer = typeResolver.buildTypeDeserializer(mapper.getDeserializationConfig(), mapper.getTypeFactory().constructFromCanonical(x.getName()), null); + assertEquals("modelType", typeDeserializer.getPropertyName()); + assertEquals(JsonTypeInfo.As.PROPERTY, typeDeserializer.getTypeInclusion()); + assertEquals(TypeNameIdResolver.class, typeDeserializer.getTypeIdResolver().getClass()); + }); + } + + @Test + public void testFindSubtypesForExternalClasses() throws Exception { + List.of(String.class, + Object.class, + Integer.class, + ReflectionAnnotationIntrospectorTest.class, + ReferenceMixin.class, + DummyInterface.class) + .forEach(x -> { + List subtypes = introspector.findSubtypes(getAnnotatedClass(x)); + assertTrue(subtypes == null || subtypes.isEmpty()); + }); + } + + @Test + public void testFindSubtypesForCustomClassesInModelNamespace() throws Exception { + List.of(ClassA.class, + ClassB.class) + .forEach(x -> { + List subtypes = introspector.findSubtypes(getAnnotatedClass(x)); + assertTrue(subtypes == null || subtypes.isEmpty()); + }); + } + + @Test + public void testFindSubtypesForCustomInterfacesInModelNamespace() throws Exception { + List.of(TypedProperty.class) + .forEach(x -> { + List subtypes = introspector.findSubtypes(getAnnotatedClass(x)); + assertTrue(subtypes != null); + assertTrue(!subtypes.isEmpty()); + }); + } + + @Test + public void testFindSubtypesForInterfacesWithSubtypes() throws Exception { + List.of(SubmodelElement.class, + Referable.class, + DataElement.class, + Identifiable.class) + .forEach(x -> { + List subtypes = introspector.findSubtypes(getAnnotatedClass(x)); + assertTrue(subtypes != null); + assertTrue(!subtypes.isEmpty()); + }); + } + +} diff --git a/dataformat-json/src/test/resources/MotorAAS.json b/dataformat-json/src/test/resources/MotorAAS.json new file mode 100644 index 000000000..4222e45bc --- /dev/null +++ b/dataformat-json/src/test/resources/MotorAAS.json @@ -0,0 +1,528 @@ +{ + "assetAdministrationShells": [ + { + "modelType": { + "name": "AssetAdministrationShell" + }, + "idShort": "ExampleMotor", + "identification": { + "idType": "Iri", + "id": "http://customer.com/aas/9175_7013_7091_9168" + }, + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": { + "keys": [ + { + "type": "Asset", + "value": "http://customer.com/assets/KHBVZJSQKIY", + "idType": "Iri" + } + ] + }, + "specificAssetIds": [ + { + "key": "EquipmentID", + "value": "538fd1b3-f99f-4a52-9c75-72e9fa921270", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/ERP/012", + "idType": "Iri" + } + ] + } + }, + { + "key": "DeviceID", + "value": "QjYgPggjwkiHk4RrQiYSLg==", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/IoT/1", + "idType": "Iri" + } + ] + } + } + ], + "thumbnail": { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "idShort": "thumbnail", + "mimeType": "image/png", + "value": "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png" + } + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "http.//i40.customer.com/type/1/1/7A7104BDAB57E184", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/type/1/1/1A7B62B529F19152", + "idType": "Iri" + } + ] + } + ] + } + ], + "assets": [ + { + "modelType": { + "name": "Asset" + }, + "idShort": "ServoDCMotor", + "identification": { + "idType": "Iri", + "id": "http://customer.com/assets/KHBVZJSQKIY" + } + } + ], + "submodels": [ + { + "modelType": { + "name": "Submodel" + }, + "semanticId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#01-AFZ615#016", + "idType": "Irdi" + } + ] + }, + "kind": "Instance", + "idShort": "TechnicalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/7A7104BDAB57E184" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "0173-1#02-BAA120#008", + "idType": "Irdi" + } + ] + }, + "idShort": "MaxRotationSpeed", + "category": "Parameter", + "value": "5000", + "valueType": "integer" + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "Documentation", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/1A7B62B529F19152" + }, + "submodelElements": [ + { + "modelType": { + "name": "SubmodelElementCollection" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document", + "idType": "Iri" + } + ] + }, + "idShort": "OperatingManual", + "value": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title", + "idType": "Iri" + } + ] + }, + "idShort": "Title", + "value": "OperatingManual", + "valueType": "langString" + }, + { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile", + "idType": "Iri" + } + ] + }, + "idShort": "DigitalFile_PDF", + "mimeType": "application/pdf", + "value": "/aasx/OperatingManual.pdf" + } + ], + "ordered": false, + "allowDuplicates": false + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "OperationalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://customer.com/cd/1/1/18EBD56F6B43D895", + "idType": "Iri" + } + ] + }, + "idShort": "RotationSpeed", + "category": "Variable", + "value": "4370", + "valueType": "integer" + } + ] + } + ], + "conceptDescriptions": [ + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "Title", + "identification": { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://adminshell.io/DataSpecificationTemplates/DataSpecificationIEC61360", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ], + "shortName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ], + "unit": "", + "sourceOfDefinition": "", + "dataType": "StringTranslatable", + "definition": [ + { + "language": "DE", + "text": "SprachabhängigerTiteldesDokuments." + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "DigitalFile", + "identification": { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://adminshell.io/DataSpecificationTemplates/DataSpecificationIEC61360", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "DE", + "text": "DigitaleDatei" + } + ], + "shortName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "DE", + "text": "DigitaleDatei" + } + ], + "unit": "", + "sourceOfDefinition": "", + "dataType": "String", + "definition": [ + { + "language": "DE", + "text": "Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden." + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "MaxRotationSpeed", + "category": "PROPERTY", + "administration": { + "version": "", + "revision": "2" + }, + "identification": { + "idType": "Irdi", + "id": "0173-1#02-BAA120#008" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "de", + "text": "max.Drehzahl" + }, + { + "language": "en", + "text": "Max.rotationspeed" + } + ], + "shortName": [], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "", + "dataType": "RealMeasure", + "definition": [ + { + "language": "de", + "text": "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf" + }, + { + "language": "en", + "text": "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated" + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "RotationSpeed", + "category": "PROPERTY", + "identification": { + "idType": "Iri", + "id": "http://customer.com/cd/1/1/18EBD56F6B43D895" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://adminshell.io/DataSpecificationTemplates/DataSpecificationIEC61360", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "Actualrotationspeed" + } + ], + "shortName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "ActualRotationSpeed" + } + ], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "", + "dataType": "RealMeasure", + "definition": [ + { + "language": "DE", + "text": "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird" + }, + { + "language": "EN", + "text": "Actual rotationspeed with which the motor or feedingunit is operated" + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "Document", + "identification": { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://adminshell.io/DataSpecificationTemplates/DataSpecificationIEC61360", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [], + "shortName": [ + { + "language": "EN", + "text": "Document" + }, + { + "language": "DE", + "text": "Dokument" + } + ], + "unit": "", + "sourceOfDefinition": "[ISO15519-1:2010]", + "dataType": "String", + "definition": [ + { + "language": "DE", + "text": "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann." + } + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/dataformat-json/src/test/resources/MotorAAS_reduced.json b/dataformat-json/src/test/resources/MotorAAS_reduced.json new file mode 100644 index 000000000..5c6b27733 --- /dev/null +++ b/dataformat-json/src/test/resources/MotorAAS_reduced.json @@ -0,0 +1,297 @@ +{ + "assetAdministrationShells": [ + { + "modelType": { + "name": "AssetAdministrationShell" + }, + "idShort": "ExampleMotor", + "identification": { + "idType": "Iri", + "id": "http://customer.com/aas/9175_7013_7091_9168" + }, + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": { + "keys": [ + { + "type": "Asset", + "value": "http://customer.com/assets/KHBVZJSQKIY", + "idType": "Iri" + } + ] + }, + "specificAssetIds": [ + { + "key": "EquipmentID", + "value": "538fd1b3-f99f-4a52-9c75-72e9fa921270", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/ERP/012", + "idType": "Iri" + } + ] + } + }, + { + "key": "DeviceID", + "value": "QjYgPggjwkiHk4RrQiYSLg==", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/IoT/1", + "idType": "Iri" + } + ] + } + } + ], + "thumbnail": { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "idShort": "thumbnail", + "mimeType": "image/png", + "value": "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png" + } + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/type/1/1/7A7104BDAB57E184", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935", + "idType": "Iri" + } + ] + } + ] + } + ], + "assets": [ + { + "modelType": { + "name": "Asset" + }, + "idShort": "ServoDCMotor", + "identification": { + "idType": "Iri", + "id": "http://customer.com/assets/KHBVZJSQKIY" + } + } + ], + "submodels": [ + { + "modelType": { + "name": "Submodel" + }, + "semanticId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#01-AFZ615#016", + "idType": "Irdi" + } + ] + }, + "kind": "Instance", + "idShort": "TechnicalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/7A7104BDAB57E184" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "0173-1#02-BAA120#008", + "idType": "Irdi" + } + ] + }, + "idShort": "MaxRotationSpeed", + "category": "Parameter", + "value": "5000", + "valueType": "integer" + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "OperationalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://customer.com/cd/1/1/18EBD56F6B43D895", + "idType": "Iri" + } + ] + }, + "idShort": "RotationSpeed", + "category": "Variable", + "value": "4370", + "valueType": "integer" + } + ] + } + ], + "conceptDescriptions": [ + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "MaxRotationSpeed", + "category": "PROPERTY", + "administration": { + "version": "", + "revision": "2" + }, + "identification": { + "idType": "Irdi", + "id": "0173-1#02-BAA120#008" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "de", + "text": "max.Drehzahl" + }, + { + "language": "en", + "text": "Max.rotationspeed" + } + ], + "shortName": [], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "", + "dataType": "RealMeasure", + "definition": [ + { + "language": "de", + "text": "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf" + }, + { + "language": "en", + "text": "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated" + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "RotationSpeed", + "category": "PROPERTY", + "identification": { + "idType": "Iri", + "id": "http://customer.com/cd/1/1/18EBD56F6B43D895" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://adminshell.io/DataSpecificationTemplates/DataSpecificationIEC61360", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "Actualrotationspeed" + } + ], + "shortName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "ActualRotationSpeed" + } + ], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "", + "dataType": "RealMeasure", + "definition": [ + { + "language": "DE", + "text": "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird" + }, + { + "language": "EN", + "text": "Actual rotationspeed with which the motor or feedingunit is operated" + } + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/dataformat-json/src/test/resources/assetAdministrationShell.json b/dataformat-json/src/test/resources/assetAdministrationShell.json new file mode 100644 index 000000000..8d7888f3d --- /dev/null +++ b/dataformat-json/src/test/resources/assetAdministrationShell.json @@ -0,0 +1,91 @@ +{ + "idShort": "TestAssetAdministrationShell", + "description": [ + { + "language": "en-us", + "text": "An Example Asset Administration Shell for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Verwaltungsschale für eine Test-Anwendung" + } + ], + "modelType": + { + "name": "AssetAdministrationShell" + }, + "identification": + { + "id": "https://acplt.org/Test_AssetAdministrationShell", + "idType": "Iri" + }, + "administration": + { + "version": "0.9", + "revision": "0" + }, + "derivedFrom": + { + "keys": [ + { + "type": "AssetAdministrationShell", + "idType": "Iri", + "value": "https://acplt.org/TestAssetAdministrationShell2" + } + ] + }, + "assetInformation": + { + "assetKind": "Instance", + "globalAssetId": + { + "keys": [ + { + "type": "Asset", + "idType": "Iri", + "value": "https://acplt.org/Test_Asset" + } + ] + }, + "billOfMaterial": [ + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + } + ] + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "https://acplt.org/Test_Submodel" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "http://acplt.org/Submodels/Assets/TestAsset/Identification" + } + ] + } + ] +} \ No newline at end of file diff --git a/dataformat-json/src/test/resources/assetAdministrationShellList.json b/dataformat-json/src/test/resources/assetAdministrationShellList.json new file mode 100644 index 000000000..31a549f12 --- /dev/null +++ b/dataformat-json/src/test/resources/assetAdministrationShellList.json @@ -0,0 +1,129 @@ +[ + { + "idShort": "TestAssetAdministrationShell", + "description": [ + { + "language": "en-us", + "text": "An Example Asset Administration Shell for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Verwaltungsschale für eine Test-Anwendung" + } + ], + "modelType": { + "name": "AssetAdministrationShell" + }, + "identification": { + "id": "https://acplt.org/Test_AssetAdministrationShell", + "idType": "Iri" + }, + "administration": { + "version": "0.9", + "revision": "0" + }, + "derivedFrom": { + "keys": [ + { + "type": "AssetAdministrationShell", + "idType": "Iri", + "value": "https://acplt.org/TestAssetAdministrationShell2" + } + ] + }, + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": { + "keys": [ + { + "type": "Asset", + "idType": "Iri", + "value": "https://acplt.org/Test_Asset" + } + ] + }, + "billOfMaterial": [ + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + } + ] + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "https://acplt.org/Test_Submodel" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "http://acplt.org/Submodels/Assets/TestAsset/Identification" + } + ] + } + ] + }, + { + "idShort": "Test_AssetAdministrationShell_Mandatory", + "modelType": { + "name": "AssetAdministrationShell" + }, + "identification": { + "id": "https://acplt.org/Test_AssetAdministrationShell_Mandatory", + "idType": "Iri" + }, + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": { + "keys": [ + { + "type": "Asset", + "idType": "Iri", + "value": "https://acplt.org/Test_Asset_Mandatory" + } + ] + } + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "https://acplt.org/Test_Submodel_Mandatory" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "idType": "Iri", + "value": "https://acplt.org/Test_Submodel2_Mandatory" + } + ] + } + ] + } +] \ No newline at end of file diff --git a/dataformat-json/src/test/resources/empty_aas.json b/dataformat-json/src/test/resources/empty_aas.json new file mode 100644 index 000000000..82016af7f --- /dev/null +++ b/dataformat-json/src/test/resources/empty_aas.json @@ -0,0 +1,5 @@ +{ + "assetAdministrationShells": [], + "conceptDescriptions": [], + "submodels": [] +} \ No newline at end of file diff --git a/dataformat-json/src/test/resources/invalidJsonExample.json b/dataformat-json/src/test/resources/invalidJsonExample.json new file mode 100644 index 000000000..2b886d46d --- /dev/null +++ b/dataformat-json/src/test/resources/invalidJsonExample.json @@ -0,0 +1,530 @@ +{ + "assetAdministrationShells": [ + { + "modelType": { + "name": "AssetAdministrationShell" + }, + "idShort": "ExampleMotor", + "identification": { + "id": "http://customer.com/aas/9175_7013_7091_9168" + }, + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": { + "keys": [ + { + "type": "Asset", + "value": "http://customer.com/assets/KHBVZJSQKIY", + "idType": "Iri" + } + ] + }, + "specificAssetIds": [ + { + "key": "EquipmentID", + "value": "538fd1b3-f99f-4a52-9c75-72e9fa921270", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/ERP/012", + "idType": "Iri" + } + ] + } + }, + { + "key": "DeviceID", + "value": "QjYgPggjwkiHk4RrQiYSLg==", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/IoT/1", + "idType": "Iri" + } + ] + } + } + ], + "thumbnail": { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "idShort": "thumbnail", + "mimeType": "image/png", + "value": "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png" + } + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "http.//i40.customer.com/type/1/1/7A7104BDAB57E184", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/type/1/1/1A7B62B529F19152", + "idType": "Iri" + } + ] + } + ] + } + ], + "assets": [ + { + "modelType": { + "name": "Asset" + }, + "idShort": "ServoDCMotor", + "identification": { + "idType": "Iri", + "id": "http://customer.com/assets/KHBVZJSQKIY" + } + } + ], + "submodels": [ + { + "modelType": { + "name": "Submodel" + }, + "semanticId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#01-AFZ615#016", + "idType": "Irdi" + } + ] + }, + "kind": "Instance", + "idShort": "TechnicalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/7A7104BDAB57E184" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "0173-1#02-BAA120#008", + "idType": "Irdi" + } + ] + }, + "idShort": "MaxRotationSpeed", + "category": "Parameter", + "value": "5000", + "valueType": "integer" + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "Documentation", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/1A7B62B529F19152" + }, + "submodelElements": [ + { + "modelType": { + "name": "SubmodelElementCollection" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document", + "idType": "Iri" + } + ] + }, + "idShort": "OperatingManual", + "value": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title", + "idType": "Iri" + } + ] + }, + "idShort": "Title", + "value": "OperatingManual", + "valueType": "langString" + }, + { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile", + "idType": "Iri" + } + ] + }, + "idShort": "DigitalFile_PDF", + "mimeType": "application/pdf", + "value": "/aasx/OperatingManual.pdf" + } + ], + "ordered": false, + "allowDuplicates": false + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "OperationalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://customer.com/cd/1/1/18EBD56F6B43D895", + "idType": "Iri" + } + ] + }, + "idShort": "RotationSpeed", + "category": "Variable", + "value": "4370", + "valueType": "integer" + } + ] + } + ], + "conceptDescriptions": [ + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "Title", + "identification": { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ], + "shortName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ], + "unit": "", + "sourceOfDefinition": "", + "dataType": "StringTranslatable", + "definition": [ + { + "language": "DE", + "text": "SprachabhängigerTiteldesDokuments." + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "DigitalFile", + "identification": { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "DE", + "text": "DigitaleDatei" + } + ], + "shortName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "DE", + "text": "DigitaleDatei" + } + ], + "unit": "", + "sourceOfDefinition": "", + "dataType": "String", + "definition": [ + { + "language": "DE", + "text": "Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden." + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "MaxRotationSpeed", + "category": "PROPERTY", + "administration": { + "version": "", + "revision": "2" + }, + "identification": { + "idType": "Irdi", + "id": "0173-1#02-BAA120#008" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "de", + "text": "max.Drehzahl" + }, + { + "language": "en", + "text": "Max.rotationspeed" + } + ], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "", + "dataType": "RealMeasure", + "definition": [ + { + "language": "de", + "text": "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf" + }, + { + "language": "en", + "text": "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated" + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "RotationSpeed", + "category": "PROPERTY", + "identification": { + "idType": "Iri", + "id": "http://customer.com/cd/1/1/18EBD56F6B43D895" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "Actualrotationspeed" + } + ], + "shortName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "ActualRotationSpeed" + } + ], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "", + "dataType": "RealMeasure", + "definition": [ + { + "language": "DE", + "text": "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird" + }, + { + "language": "EN", + "text": "Actual rotationspeed with which the motor or feedingunit is operated" + } + ] + } + } + ] + }, + { + "idShort": "Document", + "identification": { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + ], + "shortName": [ + { + "language": "EN", + "text": "Document" + }, + { + "language": "DE", + "text": "Dokument" + } + ], + "unit": "", + "sourceOfDefinition": "[ISO15519-1:2010]", + "dataType": "String", + "definition": [ + { + "language": "DE", + "text": "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann." + } + ] + } + } + ] + } + ] +} diff --git a/dataformat-json/src/test/resources/jsonExample.json b/dataformat-json/src/test/resources/jsonExample.json new file mode 100644 index 000000000..77d6e8ca8 --- /dev/null +++ b/dataformat-json/src/test/resources/jsonExample.json @@ -0,0 +1,587 @@ + +{ + "assetAdministrationShells": [ + { + "modelType": + { + "name": "AssetAdministrationShell" + }, + "assetInformation": + { + "assetKind": "Instance", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "http://customer.com/assets/KHBVZJSQKIY" + } + ] + }, + "specificAssetIds": [ + { + "key": "EquipmentID", + "value": "538fd1b3-f99f-4a52-9c75-72e9fa921270", + "subjectId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://customer.com/Systems/ERP/012" + } + ] + } + }, + { + "key": "DeviceID", + "value": "QjYgPggjwkiHk4RrQiYSLg==", + "subjectId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://customer.com/Systems/IoT/1" + } + ] + } + } + ], + "thumbnail": + { + "modelType": + { + "name": "File" + }, + "mimeType": "image/png", + "value": "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png", + "kind": "Instance", + "idShort": "thumbnail" + } + }, + "submodels": [ + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://i40.customer.com/type/1/1/7A7104BDAB57E184" + } + ] + }, + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935" + } + ] + }, + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://i40.customer.com/type/1/1/1A7B62B529F19152" + } + ] + } + ], + "identification": + { + "idType": "Iri", + "id": "http://customer.com/aas/9175_7013_7091_9168" + }, + "idShort": "ExampleMotor" + } + ], + "assets": [ + { + "modelType": + { + "name": "Asset" + }, + "identification": + { + "idType": "Iri", + "id": "http://customer.com/assets/KHBVZJSQKIY" + }, + "idShort": "ServoDCMotor" + } + ], + "conceptDescriptions": [ + { + "modelType": + { + "name": "ConceptDescription" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent": + { + "dataType": "StringTranslatable", + "sourceOfDefinition": "ExampleString", + "unit": "ExampleString", + "definition": [ + { + "language": "EN", + "text": "SprachabhängigerTiteldesDokuments." + } + ], + "preferredName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ], + "shortName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ] + } + } + ], + "identification": + { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title" + }, + "idShort": "Title" + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent": + { + "dataType": "String", + "sourceOfDefinition": "ExampleString", + "unit": "ExampleString", + "definition": [ + { + "language": "EN", + "text": "A file representing the document version. In addition to the mandatory PDF file, other files can be specified." + } + ], + "preferredName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "EN", + "text": "DigitalFile" + } + ], + "shortName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "DE", + "text": "DigitaleDatei" + } + ] + } + } + ], + "identification": + { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile" + }, + "idShort": "DigitalFile" + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent": + { + "dataType": "RealMeasure", + "sourceOfDefinition": "ExampleString", + "unit": "1/min", + "unitId": + { + "keys": [ + { + "idType": "Irdi", + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002" + } + ] + }, + "definition": [ + { + "language": "de", + "text": "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf" + }, + { + "language": "EN", + "text": "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated" + } + ], + "preferredName": [ + { + "language": "de", + "text": "max.Drehzahl" + }, + { + "language": "en", + "text": "Max.rotationspeed" + } + ] + } + } + ], + "administration": + { + "revision": "2.1", + "version": "2" + }, + "identification": + { + "idType": "Irdi", + "id": "0173-1#02-BAA120#008" + }, + "category": "PROPERTY", + "idShort": "MaxRotationSpeed" + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent": + { + "dataType": "RealMeasure", + "sourceOfDefinition": "ExampleString", + "unit": "1/min", + "unitId": + { + "keys": [ + { + "idType": "Irdi", + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002" + } + ] + }, + "definition": [ + { + "language": "DE", + "text": "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird" + }, + { + "language": "EN", + "text": "Actual rotationspeed with which the motor or feedingunit is operated" + } + ], + "preferredName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "Actualrotationspeed" + } + ], + "shortName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "ActualRotationSpeed" + } + ] + } + } + ], + "identification": + { + "idType": "Iri", + "id": "http://customer.com/cd/1/1/18EBD56F6B43D895" + }, + "category": "PROPERTY", + "idShort": "RotationSpeed" + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent": + { + "dataType": "String", + "sourceOfDefinition": "[ISO15519-1:2010]", + "unit": "ExampleString", + "definition": [ + { + "language": "EN", + "text": "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann." + } + ], + "preferredName": [ + { + "language": "EN", + "text": "Document" + } + ], + "shortName": [ + { + "language": "EN", + "text": "Document" + }, + { + "language": "DE", + "text": "Dokument" + } + ] + } + } + ], + "identification": + { + "idType": "Iri", + "id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document" + }, + "idShort": "Document" + } + ], + "submodels": [ + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Irdi", + "type": "GlobalReference", + "value": "0173-1#01-AFZ615#016" + } + ] + }, + "identification": + { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/7A7104BDAB57E184" + }, + "idShort": "TechnicalData", + "submodelElements": [ + { + "modelType": + { + "name": "Property" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Irdi", + "type": "ConceptDescription", + "value": "0173-1#02-BAA120#008" + } + ] + }, + "value": "5000", + "valueType": "integer", + "category": "Parameter", + "idShort": "MaxRotationSpeed" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "identification": + { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/1A7B62B529F19152" + }, + "idShort": "Documentation", + "submodelElements": [ + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document" + } + ] + }, + "idShort": "OperatingManual", + "value": [ + { + "modelType": + { + "name": "Property" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title" + } + ] + }, + "value": "OperatingManual", + "valueType": "langString", + "idShort": "Title" + }, + { + "modelType": + { + "name": "File" + }, + "mimeType": "application/pdf", + "value": "/aasx/OperatingManual.pdf", + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "ConceptDescription", + "value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile" + } + ] + }, + "idShort": "DigitalFile_PDF" + } + ] + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "identification": + { + "idType": "Iri", + "id": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935" + }, + "idShort": "OperationalData", + "submodelElements": [ + { + "modelType": + { + "name": "Property" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "ConceptDescription", + "value": "http://customer.com/cd/1/1/18EBD56F6B43D895" + } + ] + }, + "value": "4370", + "valueType": "integer", + "category": "Variable", + "idShort": "RotationSpeed" + } + ] + } + ] +} diff --git a/dataformat-json/src/test/resources/submodel.json b/dataformat-json/src/test/resources/submodel.json new file mode 100644 index 000000000..1c778145c --- /dev/null +++ b/dataformat-json/src/test/resources/submodel.json @@ -0,0 +1,139 @@ + +{ + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/SubmodelTemplates/AssetIdentification" + } + ] + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "http://acplt.org/Submodels/Assets/TestAsset/Identification" + }, + "idShort": "Identification", + "submodelElements": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "0173-1#02-AAO677#002" + } + ] + }, + "value": "http://acplt.org/ValueId/ACPLT", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ACPLT" + } + ] + }, + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "value": "100", + "valueType": "int" + }, + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier2", + "value": "50", + "valueType": "int" + } + ], + "idShort": "ManufacturerName", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + }, + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "value": "978-8234-234-342", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "978-8234-234-342" + } + ] + }, + "valueType": "string", + "idShort": "InstanceId", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example asset identification submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung" + } + ] +} diff --git a/dataformat-json/src/test/resources/submodelElement.json b/dataformat-json/src/test/resources/submodelElement.json new file mode 100644 index 000000000..7b8693e7d --- /dev/null +++ b/dataformat-json/src/test/resources/submodelElement.json @@ -0,0 +1,60 @@ + +{ + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "0173-1#02-AAO677#002" + } + ] + }, + "value": "http://acplt.org/ValueId/ACPLT", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ACPLT" + } + ] + }, + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "value": "100", + "valueType": "int" + }, + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier2", + "value": "50", + "valueType": "int" + } + ], + "idShort": "ManufacturerName", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] +} diff --git a/dataformat-json/src/test/resources/submodelElementCollection.json b/dataformat-json/src/test/resources/submodelElementCollection.json new file mode 100644 index 000000000..5d477ac9a --- /dev/null +++ b/dataformat-json/src/test/resources/submodelElementCollection.json @@ -0,0 +1,153 @@ +{ + "idShort": "ExampleSubmodelCollectionOrdered", + "category": "Parameter", + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionOrdered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "modelType": + { + "name": "SubmodelElementCollection" + }, + "semanticId": + { + "keys": [ + { + "type": "GlobalReference", + "idType": "Iri", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "kind": "Template", + "value": [ + { + "idShort": "ExampleProperty", + "category": "Constant", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ], + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "type": "GlobalReference", + "idType": "Iri", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "kind": "Template", + "valueType": "string" + }, + { + "idShort": "ExampleMultiLanguageProperty", + "category": "Constant", + "description": [ + { + "language": "en-us", + "text": "Example MultiLanguageProperty object" + }, + { + "language": "de", + "text": "Beispiel MulitLanguageProperty Element" + } + ], + "modelType": + { + "name": "MultiLanguageProperty" + }, + "semanticId": + { + "keys": [ + { + "type": "GlobalReference", + "idType": "Iri", + "value": "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "kind": "Template" + }, + { + "idShort": "ExampleRange", + "category": "Parameter", + "description": [ + { + "language": "en-us", + "text": "Example Range object" + }, + { + "language": "de", + "text": "Beispiel Range Element" + } + ], + "modelType": + { + "name": "Range" + }, + "semanticId": + { + "keys": [ + { + "type": "GlobalReference", + "idType": "Iri", + "value": "http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "kind": "Template", + "valueType": "int", + "max": "100" + }, + { + "idShort": "ExampleRange2", + "category": "Parameter", + "description": [ + { + "language": "en-us", + "text": "Example Range object" + }, + { + "language": "de", + "text": "Beispiel Range Element" + } + ], + "modelType": + { + "name": "Range" + }, + "semanticId": + { + "keys": [ + { + "type": "GlobalReference", + "idType": "Iri", + "value": "http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "kind": "Template", + "valueType": "int", + "min": "0" + } + ], + "ordered": true +} \ No newline at end of file diff --git a/dataformat-json/src/test/resources/submodelElementList.json b/dataformat-json/src/test/resources/submodelElementList.json new file mode 100644 index 000000000..4a2683094 --- /dev/null +++ b/dataformat-json/src/test/resources/submodelElementList.json @@ -0,0 +1,100 @@ +[ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "0173-1#02-AAO677#002" + } + ] + }, + "value": "http://acplt.org/ValueId/ACPLT", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ACPLT" + } + ] + }, + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "value": "100", + "valueType": "int" + }, + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier2", + "value": "50", + "valueType": "int" + } + ], + "idShort": "ManufacturerName", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + }, + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "value": "978-8234-234-342", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "978-8234-234-342" + } + ] + }, + "valueType": "string", + "idShort": "InstanceId", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + } +] diff --git a/dataformat-json/src/test/resources/submodelList.json b/dataformat-json/src/test/resources/submodelList.json new file mode 100644 index 000000000..877701394 --- /dev/null +++ b/dataformat-json/src/test/resources/submodelList.json @@ -0,0 +1,327 @@ +[ + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/SubmodelTemplates/AssetIdentification" + } + ] + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "http://acplt.org/Submodels/Assets/TestAsset/Identification" + }, + "idShort": "Identification", + "submodelElements": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "0173-1#02-AAO677#002" + } + ] + }, + "value": "http://acplt.org/ValueId/ACPLT", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ACPLT" + } + ] + }, + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "value": "100", + "valueType": "int" + }, + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier2", + "value": "50", + "valueType": "int" + } + ], + "idShort": "ManufacturerName", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + }, + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "value": "978-8234-234-342", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "978-8234-234-342" + } + ] + }, + "valueType": "string", + "idShort": "InstanceId", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example asset identification submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/SubmodelTemplates/BillOfMaterial" + } + ] + }, + "administration": + { + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + }, + "idShort": "BillOfMaterial", + "submodelElements": [ + { + "modelType": + { + "name": "Entity" + }, + "entityType": "CoManagedEntity", + "statements": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValue2", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValue2" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty2", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + }, + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + ], + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "idShort": "ExampleEntity", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + }, + { + "modelType": + { + "name": "Entity" + }, + "entityType": "SelfManagedEntity", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "https://acplt.org/Test_Asset2" + } + ] + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "idShort": "ExampleEntity2", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example bill of material submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung" + } + ] + } +] diff --git a/dataformat-json/src/test/resources/test_demo_full_example.json b/dataformat-json/src/test/resources/test_demo_full_example.json new file mode 100644 index 000000000..c10f5f781 --- /dev/null +++ b/dataformat-json/src/test/resources/test_demo_full_example.json @@ -0,0 +1,3078 @@ + +{ + "assetAdministrationShells": [ + { + "modelType": + { + "name": "AssetAdministrationShell" + }, + "assetInformation": + { + "assetKind": "Instance", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "https://acplt.org/Test_Asset" + } + ] + }, + "billOfMaterial": [ + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + } + ] + }, + "derivedFrom": + { + "keys": [ + { + "idType": "Iri", + "type": "AssetAdministrationShell", + "value": "https://acplt.org/TestAssetAdministrationShell2" + } + ] + }, + "submodels": [ + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel" + } + ] + }, + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + }, + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/Submodels/Assets/TestAsset/Identification" + } + ] + } + ], + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_AssetAdministrationShell" + }, + "idShort": "TestAssetAdministrationShell", + "description": [ + { + "language": "en-us", + "text": "An Example Asset Administration Shell for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Verwaltungsschale für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "AssetAdministrationShell" + }, + "assetInformation": + { + "assetKind": "Instance", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "https://acplt.org/Test_Asset_Mandatory" + } + ] + } + }, + "submodels": [ + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Mandatory" + } + ] + }, + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel2_Mandatory" + } + ] + } + ], + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_AssetAdministrationShell_Mandatory" + }, + "idShort": "Test_AssetAdministrationShell_Mandatory" + }, + { + "modelType": + { + "name": "AssetAdministrationShell" + }, + "assetInformation": + { + "assetKind": "Instance", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "https://acplt.org/Test_Asset_Mandatory" + } + ] + } + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_AssetAdministrationShell2_Mandatory" + }, + "idShort": "Test_AssetAdministrationShell2_Mandatory" + }, + { + "modelType": + { + "name": "AssetAdministrationShell" + }, + "assetInformation": + { + "assetKind": "Instance", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "https://acplt.org/Test_Asset_Missing" + } + ] + } + }, + "submodels": [ + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + } + ] + } + ], + "views": [ + { + "modelType": + { + "name": "View" + }, + "idShort": "ExampleView", + "containedElements": [ + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + } + ] + } + ] + }, + { + "modelType": + { + "name": "View" + }, + "idShort": "ExampleView2" + } + ], + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_AssetAdministrationShell_Missing" + }, + "idShort": "TestAssetAdministrationShell", + "description": [ + { + "language": "en-us", + "text": "An Example Asset Administration Shell for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Verwaltungsschale für eine Test-Anwendung" + } + ] + } + ], + "conceptDescriptions": [ + { + "modelType": + { + "name": "ConceptDescription" + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_ConceptDescription" + }, + "idShort": "TestConceptDescription", + "isCaseOf": [ + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example concept description for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-ConceptDescription für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_ConceptDescription_Mandatory" + }, + "idShort": "Test_ConceptDescription_Mandatory" + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_ConceptDescription_Missing" + }, + "idShort": "TestConceptDescription1", + "description": [ + { + "language": "en-us", + "text": "An example concept description for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-ConceptDescription für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "ConceptDescription" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent": + { + "dataType": "RealMeasure", + "sourceOfDefinition": "http://acplt.org/DataSpec/ExampleDef", + "symbol": "SU", + "unit": "SpaceUnit", + "unitId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Units/SpaceUnit" + } + ] + }, + "value": "TEST", + "valueFormat": "string", + "valueList": + { + "valueReferencePairTypes": [ + { + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + } + }, + { + "value": "http://acplt.org/ValueId/ExampleValueId2", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId2" + } + ] + } + } + ] + }, + "definition": [ + { + "language": "de", + "text": "Dies ist eine Data Specification für Testzwecke" + }, + { + "language": "en-us", + "text": "This is a DataSpecification for testing purposes" + } + ], + "levelType": ["Min", "Max"], + "preferredName": [ + { + "language": "de", + "text": "Test Specification" + }, + { + "language": "en-us", + "text": "TestSpecification" + } + ], + "shortName": [ + { + "language": "de", + "text": "Test Spec" + }, + { + "language": "en-us", + "text": "TestSpec" + } + ] + } + } + ], + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "http://acplt.org/DataSpecifciations/Example/Identification" + }, + "idShort": "TestSpec_01", + "isCaseOf": [ + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ReferenceElements/ConceptDescriptionX" + } + ] + } + ] + } + ], + "submodels": [ + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/SubmodelTemplates/AssetIdentification" + } + ] + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "http://acplt.org/Submodels/Assets/TestAsset/Identification" + }, + "idShort": "Identification", + "submodelElements": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "0173-1#02-AAO677#002" + } + ] + }, + "value": "http://acplt.org/ValueId/ACPLT", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ACPLT" + } + ] + }, + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "value": "100", + "valueType": "int" + }, + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier2", + "value": "50", + "valueType": "int" + } + ], + "idShort": "ManufacturerName", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + }, + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "value": "978-8234-234-342", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "978-8234-234-342" + } + ] + }, + "valueType": "string", + "idShort": "InstanceId", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example asset identification submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/SubmodelTemplates/BillOfMaterial" + } + ] + }, + "administration": + { + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + }, + "idShort": "BillOfMaterial", + "submodelElements": [ + { + "modelType": + { + "name": "Entity" + }, + "entityType": "CoManagedEntity", + "statements": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValue2", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValue2" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty2", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + }, + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + ], + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "idShort": "ExampleEntity", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + }, + { + "modelType": + { + "name": "Entity" + }, + "entityType": "SelfManagedEntity", + "globalAssetId": + { + "keys": [ + { + "idType": "Iri", + "type": "Asset", + "value": "https://acplt.org/Test_Asset2" + } + ] + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "idShort": "ExampleEntity2", + "description": [ + { + "language": "en-us", + "text": "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language": "de", + "text": "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example bill of material submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelTemplates/ExampleSubmodel" + } + ] + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_Submodel" + }, + "idShort": "TestSubmodel", + "submodelElements": [ + { + "modelType": + { + "name": "RelationshipElement" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/RelationshipElements/ExampleRelationshipElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleRelationshipElement", + "first": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + }, + { + "idType": "IdShort", + "type": "Entity", + "value": "ExampleEntity" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty2" + } + ] + }, + "description": [ + { + "language": "en-us", + "text": "Example RelationshipElement object" + }, + { + "language": "de", + "text": "Beispiel RelationshipElement Element" + } + ] + }, + { + "modelType": + { + "name": "AnnotatedRelationshipElement" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleAnnotatedRelationshipElement", + "first": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + }, + { + "idType": "IdShort", + "type": "Entity", + "value": "ExampleEntity" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty2" + } + ] + }, + "annotation": [ + { + "modelType": + { + "name": "Property" + }, + "kind": "Instance", + "value": "some example annotation", + "valueType": "string", + "category": "Parameter", + "idShort": "ExampleProperty3" + } + ], + "description": [ + { + "language": "en-us", + "text": "Example AnnotatedRelationshipElement object" + }, + { + "language": "de", + "text": "Beispiel AnnotatedRelationshipElement Element" + } + ] + }, + { + "modelType": + { + "name": "Operation" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Operations/ExampleOperation" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleOperation", + "inoutputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty3", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "inputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty1", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "outputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty2", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "description": [ + { + "language": "en-us", + "text": "Example Operation object" + }, + { + "language": "de", + "text": "Beispiel Operation Element" + } + ] + }, + { + "modelType": + { + "name": "Capability" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Capabilities/ExampleCapability" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleCapability", + "description": [ + { + "language": "en-us", + "text": "Example Capability object" + }, + { + "language": "de", + "text": "Beispiel Capability Element" + } + ] + }, + { + "modelType": + { + "name": "BasicEvent" + }, + "observed": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Events/ExampleBasicEvent" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleBasicEvent", + "description": [ + { + "language": "en-us", + "text": "Example BasicEvent object" + }, + { + "language": "de", + "text": "Beispiel BasicEvent Element" + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionOrdered", + "ordered": true, + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionOrdered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "value": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "http://acplt.org/ValueId/ExampleValueId", + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleValueId" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + }, + { + "modelType": + { + "name": "MultiLanguageProperty" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "valueId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ValueId/ExampleMultiLanguageValueId" + } + ] + }, + "category": "Constant", + "idShort": "ExampleMultiLanguageProperty", + "value": [ + { + "language": "en-us", + "text": "Example value of a MultiLanguageProperty element" + }, + { + "language": "de", + "text": "Beispielswert für ein MulitLanguageProperty-Element" + } + ], + "description": [ + { + "language": "en-us", + "text": "Example MultiLanguageProperty object" + }, + { + "language": "de", + "text": "Beispiel MulitLanguageProperty Element" + } + ] + }, + { + "modelType": + { + "name": "Range" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "max": "100", + "min": "0", + "valueType": "int", + "category": "Parameter", + "idShort": "ExampleRange", + "description": [ + { + "language": "en-us", + "text": "Example Range object" + }, + { + "language": "de", + "text": "Beispiel Range Element" + } + ] + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionUnordered", + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionUnordered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "value": [ + { + "modelType": + { + "name": "Blob" + }, + "mimeType": "application/pdf", + "value": "AQIDBAU=", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Blobs/ExampleBlob" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleBlob", + "description": [ + { + "language": "en-us", + "text": "Example Blob object" + }, + { + "language": "de", + "text": "Beispiel Blob Element" + } + ] + }, + { + "modelType": + { + "name": "File" + }, + "mimeType": "application/pdf", + "value": "/TestFile.pdf", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Files/ExampleFile" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleFile", + "description": [ + { + "language": "en-us", + "text": "Example File object" + }, + { + "language": "de", + "text": "Beispiel File Element" + } + ] + }, + { + "modelType": + { + "name": "ReferenceElement" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ReferenceElements/ExampleReferenceElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleReferenceElement", + "value": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "description": [ + { + "language": "en-us", + "text": "Example Reference Element object" + }, + { + "language": "de", + "text": "Beispiel Reference Element Element" + } + ] + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Teilmodell für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Template", + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_Submodel_Mandatory" + }, + "idShort": "Test_Submodel_Mandatory", + "submodelElements": [ + { + "modelType": + { + "name": "RelationshipElement" + }, + "idShort": "ExampleRelationshipElement", + "first": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Mandatory" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Mandatory" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "MultiLanguageProperty", + "value": "ExampleMultiLanguageProperty" + } + ] + } + }, + { + "modelType": + { + "name": "AnnotatedRelationshipElement" + }, + "idShort": "ExampleAnnotatedRelationshipElement", + "first": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Mandatory" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Mandatory" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "MultiLanguageProperty", + "value": "ExampleMultiLanguageProperty" + } + ] + } + }, + { + "modelType": + { + "name": "Operation" + }, + "kind": "Template", + "idShort": "ExampleOperation" + }, + { + "modelType": + { + "name": "Capability" + }, + "idShort": "ExampleCapability" + }, + { + "modelType": + { + "name": "BasicEvent" + }, + "observed": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Mandatory" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "idShort": "ExampleBasicEvent" + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "idShort": "ExampleSubmodelCollectionOrdered", + "ordered": true, + "value": [ + { + "modelType": + { + "name": "Property" + }, + "valueType": "string", + "idShort": "ExampleProperty" + }, + { + "modelType": + { + "name": "MultiLanguageProperty" + }, + "idShort": "ExampleMultiLanguageProperty" + }, + { + "modelType": + { + "name": "Range" + }, + "valueType": "int", + "idShort": "ExampleRange" + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "idShort": "ExampleSubmodelCollectionUnordered", + "value": [ + { + "modelType": + { + "name": "Blob" + }, + "mimeType": "application/pdf", + "idShort": "ExampleBlob" + }, + { + "modelType": + { + "name": "File" + }, + "mimeType": "application/pdf", + "idShort": "ExampleFile" + }, + { + "modelType": + { + "name": "ReferenceElement" + }, + "idShort": "ExampleReferenceElement" + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "idShort": "ExampleSubmodelCollectionUnordered2" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_Submodel2_Mandatory" + }, + "idShort": "Test_Submodel2_Mandatory" + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Instance", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelTemplates/ExampleSubmodel" + } + ] + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_Submodel_Missing" + }, + "idShort": "TestSubmodel", + "submodelElements": [ + { + "modelType": + { + "name": "RelationshipElement" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/RelationshipElements/ExampleRelationshipElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleRelationshipElement", + "first": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "MultiLanguageProperty", + "value": "ExampleMultiLanguageProperty" + } + ] + }, + "description": [ + { + "language": "en-us", + "text": "Example RelationshipElement object" + }, + { + "language": "de", + "text": "Beispiel RelationshipElement Element" + } + ] + }, + { + "modelType": + { + "name": "AnnotatedRelationshipElement" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleAnnotatedRelationshipElement", + "first": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "MultiLanguageProperty", + "value": "ExampleMultiLanguageProperty" + } + ] + }, + "annotation": [ + { + "modelType": + { + "name": "Property" + }, + "kind": "Instance", + "value": "some example annotation", + "valueType": "string", + "category": "Parameter", + "idShort": "ExampleProperty" + } + ], + "description": [ + { + "language": "en-us", + "text": "Example AnnotatedRelationshipElement object" + }, + { + "language": "de", + "text": "Beispiel AnnotatedRelationshipElement Element" + } + ] + }, + { + "modelType": + { + "name": "Operation" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Operations/ExampleOperation" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleOperation", + "inoutputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "exampleValue", + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "valueType": "string" + } + ], + "category": "Constant", + "idShort": "ExampleProperty3", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "inputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "exampleValue", + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "valueType": "string" + } + ], + "category": "Constant", + "idShort": "ExampleProperty1", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "outputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "exampleValue", + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "valueType": "string" + } + ], + "category": "Constant", + "idShort": "ExampleProperty2", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "description": [ + { + "language": "en-us", + "text": "Example Operation object" + }, + { + "language": "de", + "text": "Beispiel Operation Element" + } + ] + }, + { + "modelType": + { + "name": "Capability" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Capabilities/ExampleCapability" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleCapability", + "description": [ + { + "language": "en-us", + "text": "Example Capability object" + }, + { + "language": "de", + "text": "Beispiel Capability Element" + } + ] + }, + { + "modelType": + { + "name": "BasicEvent" + }, + "observed": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Events/ExampleBasicEvent" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleBasicEvent", + "description": [ + { + "language": "en-us", + "text": "Example BasicEvent object" + }, + { + "language": "de", + "text": "Beispiel BasicEvent Element" + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionOrdered", + "ordered": true, + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionOrdered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "value": [ + { + "modelType": + { + "name": "Property" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value": "exampleValue", + "valueType": "string", + "qualifiers": [ + { + "modelType": + { + "name": "Qualifier" + }, + "type": "http://acplt.org/Qualifier/ExampleQualifier", + "valueType": "string" + } + ], + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + }, + { + "modelType": + { + "name": "MultiLanguageProperty" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "category": "Constant", + "idShort": "ExampleMultiLanguageProperty", + "value": [ + { + "language": "en-us", + "text": "Example value of a MultiLanguageProperty element" + }, + { + "language": "de", + "text": "Beispielswert für ein MulitLanguageProperty-Element" + } + ], + "description": [ + { + "language": "en-us", + "text": "Example MultiLanguageProperty object" + }, + { + "language": "de", + "text": "Beispiel MulitLanguageProperty Element" + } + ] + }, + { + "modelType": + { + "name": "Range" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "max": "100", + "min": "0", + "valueType": "int", + "category": "Parameter", + "idShort": "ExampleRange", + "description": [ + { + "language": "en-us", + "text": "Example Range object" + }, + { + "language": "de", + "text": "Beispiel Range Element" + } + ] + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionUnordered", + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionUnordered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "value": [ + { + "modelType": + { + "name": "Blob" + }, + "mimeType": "application/pdf", + "value": "AQIDBAU=", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Blobs/ExampleBlob" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleBlob", + "description": [ + { + "language": "en-us", + "text": "Example Blob object" + }, + { + "language": "de", + "text": "Beispiel Blob Element" + } + ] + }, + { + "modelType": + { + "name": "File" + }, + "mimeType": "application/pdf", + "value": "/TestFile.pdf", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Files/ExampleFile" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleFile", + "description": [ + { + "language": "en-us", + "text": "Example File object" + }, + { + "language": "de", + "text": "Beispiel File Element" + } + ] + }, + { + "modelType": + { + "name": "ReferenceElement" + }, + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ReferenceElements/ExampleReferenceElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleReferenceElement", + "value": + { + "keys": [ + { + "idType": "Iri", + "type": "Submodel", + "value": "https://acplt.org/Test_Submodel_Missing" + }, + { + "idType": "IdShort", + "type": "SubmodelElementCollection", + "value": "ExampleSubmodelCollectionOrdered" + }, + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "description": [ + { + "language": "en-us", + "text": "Example Reference Element object" + }, + { + "language": "de", + "text": "Beispiel Reference Element Element" + } + ] + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Teilmodell für eine Test-Anwendung" + } + ] + }, + { + "modelType": + { + "name": "Submodel" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelTemplates/ExampleSubmodel" + } + ] + }, + "administration": + { + "revision": "0", + "version": "0.9" + }, + "identification": + { + "idType": "Iri", + "id": "https://acplt.org/Test_Submodel_Template" + }, + "idShort": "TestSubmodel", + "submodelElements": [ + { + "modelType": + { + "name": "RelationshipElement" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/RelationshipElements/ExampleRelationshipElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleRelationshipElement", + "first": + { + "keys": [ + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "description": [ + { + "language": "en-us", + "text": "Example RelationshipElement object" + }, + { + "language": "de", + "text": "Beispiel RelationshipElement Element" + } + ] + }, + { + "modelType": + { + "name": "AnnotatedRelationshipElement" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleAnnotatedRelationshipElement", + "first": + { + "keys": [ + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "second": + { + "keys": [ + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "description": [ + { + "language": "en-us", + "text": "Example AnnotatedRelationshipElement object" + }, + { + "language": "de", + "text": "Beispiel AnnotatedRelationshipElement Element" + } + ] + }, + { + "modelType": + { + "name": "Operation" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Operations/ExampleOperation" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleOperation", + "inoutputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "inputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "outputVariable": [ + { + "value": + { + "modelType": + { + "name": "Property" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + } + } + ], + "description": [ + { + "language": "en-us", + "text": "Example Operation object" + }, + { + "language": "de", + "text": "Beispiel Operation Element" + } + ] + }, + { + "modelType": + { + "name": "Capability" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Capabilities/ExampleCapability" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleCapability", + "description": [ + { + "language": "en-us", + "text": "Example Capability object" + }, + { + "language": "de", + "text": "Beispiel Capability Element" + } + ] + }, + { + "modelType": + { + "name": "BasicEvent" + }, + "observed": + { + "keys": [ + { + "idType": "IdShort", + "type": "Property", + "value": "ExampleProperty" + } + ] + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Events/ExampleBasicEvent" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleBasicEvent", + "description": [ + { + "language": "en-us", + "text": "Example BasicEvent object" + }, + { + "language": "de", + "text": "Beispiel BasicEvent Element" + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionOrdered", + "ordered": true, + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionOrdered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "value": [ + { + "modelType": + { + "name": "Property" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "valueType": "string", + "category": "Constant", + "idShort": "ExampleProperty", + "description": [ + { + "language": "en-us", + "text": "Example Property object" + }, + { + "language": "de", + "text": "Beispiel Property Element" + } + ] + }, + { + "modelType": + { + "name": "MultiLanguageProperty" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "category": "Constant", + "idShort": "ExampleMultiLanguageProperty", + "description": [ + { + "language": "en-us", + "text": "Example MultiLanguageProperty object" + }, + { + "language": "de", + "text": "Beispiel MulitLanguageProperty Element" + } + ] + }, + { + "modelType": + { + "name": "Range" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "max": "100", + "valueType": "int", + "category": "Parameter", + "idShort": "ExampleRange", + "description": [ + { + "language": "en-us", + "text": "Example Range object" + }, + { + "language": "de", + "text": "Beispiel Range Element" + } + ] + }, + { + "modelType": + { + "name": "Range" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "min": "0", + "valueType": "int", + "category": "Parameter", + "idShort": "ExampleRange2", + "description": [ + { + "language": "en-us", + "text": "Example Range object" + }, + { + "language": "de", + "text": "Beispiel Range Element" + } + ] + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionUnordered", + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionUnordered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "value": [ + { + "modelType": + { + "name": "Blob" + }, + "mimeType": "application/pdf", + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Blobs/ExampleBlob" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleBlob", + "description": [ + { + "language": "en-us", + "text": "Example Blob object" + }, + { + "language": "de", + "text": "Beispiel Blob Element" + } + ] + }, + { + "modelType": + { + "name": "File" + }, + "mimeType": "application/pdf", + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/Files/ExampleFile" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleFile", + "description": [ + { + "language": "en-us", + "text": "Example File object" + }, + { + "language": "de", + "text": "Beispiel File Element" + } + ] + }, + { + "modelType": + { + "name": "ReferenceElement" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/ReferenceElements/ExampleReferenceElement" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleReferenceElement", + "description": [ + { + "language": "en-us", + "text": "Example Reference Element object" + }, + { + "language": "de", + "text": "Beispiel Reference Element Element" + } + ] + } + ] + }, + { + "modelType": + { + "name": "SubmodelElementCollection" + }, + "kind": "Template", + "semanticId": + { + "keys": [ + { + "idType": "Iri", + "type": "GlobalReference", + "value": "http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "category": "Parameter", + "idShort": "ExampleSubmodelCollectionUnordered2", + "description": [ + { + "language": "en-us", + "text": "Example SubmodelElementCollectionUnordered object" + }, + { + "language": "de", + "text": "Beispiel SubmodelElementCollectionUnordered Element" + } + ] + } + ], + "description": [ + { + "language": "en-us", + "text": "An example submodel for the test application" + }, + { + "language": "de", + "text": "Ein Beispiel-Teilmodell für eine Test-Anwendung" + } + ] + } + ] +} diff --git a/dataformat-rdf/license-header.txt b/dataformat-rdf/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/dataformat-rdf/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/dataformat-rdf/pom.xml b/dataformat-rdf/pom.xml new file mode 100644 index 000000000..7d3e358bc --- /dev/null +++ b/dataformat-rdf/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-rdf + Asset Administration Shell RDF-Serializer + + + + io.admin-shell.aas + dataformat-core + ${revision} + + + org.apache.jena + jena-arq + ${jena.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + test + + + diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/FallbackSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/FallbackSerializer.java new file mode 100644 index 000000000..fa9a89608 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/FallbackSerializer.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import java.io.IOException; +import java.util.Map; + +public class FallbackSerializer extends StdSerializer> { + + + public FallbackSerializer() { + this(null); + } + + public FallbackSerializer(Class clazz) { + super(clazz); + } + + + @Override + public void serialize(Map value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeString(value.toString()); + } + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/IgnoreTypeMixIn.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/IgnoreTypeMixIn.java new file mode 100644 index 000000000..2b5be453e --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/IgnoreTypeMixIn.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import com.fasterxml.jackson.annotation.JsonIgnoreType; + +@JsonIgnoreType +public class IgnoreTypeMixIn { +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDModule.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDModule.java new file mode 100644 index 000000000..58410189b --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDModule.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import com.fasterxml.jackson.databind.module.SimpleModule; + +import io.adminshell.aas.v3.dataformat.rdf.custom.BigDecimalSerializer; +import io.adminshell.aas.v3.dataformat.rdf.custom.XMLGregorianCalendarDeserializer; +import io.adminshell.aas.v3.dataformat.rdf.custom.XMLGregorianCalendarSerializer; +import io.adminshell.aas.v3.model.LangString; + +import java.math.BigDecimal; +import java.net.URI; +import java.util.Map; + + +import javax.xml.datatype.XMLGregorianCalendar; + + +/** + * Jackson module which provides support for JSON-LD serialization + */ +public class JsonLDModule extends SimpleModule { + + + public JsonLDModule(Map idMap) { + super(); + + setSerializerModifier(new JsonLDSerializerModifier(idMap)); + + addSerializer(XMLGregorianCalendar.class, new XMLGregorianCalendarSerializer()); + addDeserializer(XMLGregorianCalendar.class, new XMLGregorianCalendarDeserializer()); + addSerializer(BigDecimal.class, new BigDecimalSerializer()); + + addSerializer(URI.class, new UriSerializer()); + addSerializer(LangString.class, new LangStringSerializer()); + } + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializer.java new file mode 100644 index 000000000..744a290bc --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializer.java @@ -0,0 +1,196 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.WritableTypeId; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import com.fasterxml.jackson.databind.ser.BeanSerializer; +import com.fasterxml.jackson.databind.ser.std.BeanSerializerBase; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.math.BigInteger; +import java.util.*; +import java.util.stream.Stream; + + +public class JsonLDSerializer extends BeanSerializer { + + private final Logger logger = LoggerFactory.getLogger(JsonLDSerializer.class); + + private static int currentRecursionDepth = 0; + + static final Map contextItems = new HashMap<>(); + + private final Map idMap; + + JsonLDSerializer(BeanSerializerBase src, Map idMap) { + super(src); + this.idMap = Objects.requireNonNullElseGet(idMap, HashMap::new); + } + + + + @Override + public void serializeWithType(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer) throws IOException { + gen.setCurrentValue(bean); + + currentRecursionDepth++; + gen.writeStartObject(); + + if (currentRecursionDepth == 1) { + Map filteredContext = new HashMap<>(); + filterContextWrtBean(bean, filteredContext); + gen.writeObjectField("@context", filteredContext); + //gen.writeStringField("@context", "https://jira.iais.fraunhofer.de/stash/projects/ICTSL/repos/ids-infomodel-commons/raw/jsonld-context/3.0.0/context.jsonld"); // only add @context on top level + + } + + if(idMap.containsKey(bean)) + { + gen.writeStringField("@id", idMap.get(bean)); + } + else + { + String randomUri = "https://admin-shell.io/autogen/" + bean.getClass().getSimpleName() + "/" + UUID.randomUUID(); + idMap.put(bean, randomUri); + gen.writeStringField("@id", randomUri); + } + + WritableTypeId typeIdDef = _typeIdDef(typeSer, bean, JsonToken.START_OBJECT); + String resolvedTypeId = typeIdDef.id != null ? typeIdDef.id.toString() : typeSer.getTypeIdResolver().idFromValue(bean); + if (resolvedTypeId != null) { + gen.writeStringField(typeIdDef.asProperty, resolvedTypeId); + } + if (_propertyFilterId != null) { + serializeFieldsFiltered(bean, gen, provider); + } else { + serializeFields(bean, gen, provider); + } + gen.writeEndObject(); + currentRecursionDepth--; + } + + + private void filterContextWrtBean(Object bean, Map filteredContext) { + //Some default entries for AAS + filteredContext.put("aas", "https://admin-shell.io/aas/3/0/RC01/"); + filteredContext.put("iec61360", "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/"); + filteredContext.put("phys_unit", "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/"); + + if(bean == null || bean.getClass().getName().equals("com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl") || bean.getClass().getName().equals("org.apache.jena.ext.xerces.jaxp.datatype.XMLGregorianCalendarImpl") || bean.getClass() == BigInteger.class) return; // XMLGregorianCalendarImpl causes infinite recursion + + //Check if RdfResource or TypedLiteral is used. They contain a field called "type" which can reference to any namespace + //Therefore it is vital to also check the value of the type field for prefixes that need to be included in the context + if(bean.getClass().getSimpleName().equals("LangString")) + { + //LangString is of type rdf:langString, so this must be present + filteredContext.put("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); + } + contextItems.forEach((p, u) -> { + JsonTypeName typeNameAnnotation = bean.getClass().getAnnotation(JsonTypeName.class); + if(typeNameAnnotation != null && typeNameAnnotation.value().contains(p)) { + filteredContext.put(p, u); + } + Stream.of(bean.getClass().getMethods()).forEach(m -> { + JsonProperty propertyAnnotation = m.getAnnotation(JsonProperty.class); + if(propertyAnnotation != null && propertyAnnotation.value().contains(p)) { + filteredContext.put(p, u); + } + }); + }); + Stream.of(bean.getClass().getMethods()).forEach(m -> { + // run though all properties and check annotations. These annotations should contain the prefixes + JsonProperty prop = m.getAnnotation(JsonProperty.class); + if(prop != null) + { + for(Map.Entry entry : contextItems.entrySet()) + { + if(prop.value().startsWith(entry.getKey())) + { + filteredContext.put(entry.getKey(), entry.getValue()); + break; + } + } + } + }); + // run through fields recursively + for(Field f : getAllFields(new HashSet<>(), bean.getClass())) { + + if(Collection.class.isAssignableFrom(f.getType())) + { + try { + if(f.getType().getName().startsWith("java.") && !f.getType().getName().startsWith("java.util")) continue; + boolean accessible = f.isAccessible(); + f.setAccessible(true); + Collection c = (Collection) f.get(bean); + if(c == null) { + continue; + } + for(Object o : c) + { + filterContextWrtBean(o, filteredContext); + } + f.setAccessible(accessible); + } + catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + + if (f.getType().isPrimitive() || f.getType().isEnum() || f.getType().isArray() + || f.getType().getName().contains("java.") + || f.getType().getName().contains("javax.")) continue; + + try { + boolean wasAccessible = f.isAccessible(); + f.setAccessible(true); + filterContextWrtBean(f.get(bean), filteredContext); + f.setAccessible(wasAccessible); + } catch (IllegalAccessException ignored) { + //logger.error("setting accessible failed"); //We can catch that here, as IllegalReflectiveAccess cannot occur on our own packages + } + + //f.trySetAccessible(wasAccessible); + + } + + } + + /** + * This function retrieves a set of all available fields of a class, including inherited fields + * @param fields Set to which discovered fields will be added. An empty HashSet should do the trick + * @param type The class for which fields should be discovered + * @return set of all available fields + */ + private static Set getAllFields(Set fields, Class type) { + fields.addAll(Arrays.asList(type.getDeclaredFields())); + + if (type.getSuperclass() != null) { + getAllFields(fields, type.getSuperclass()); + } + + return fields; + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializerModifier.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializerModifier.java new file mode 100644 index 000000000..3159c7ebe --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLDSerializerModifier.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + + +import com.fasterxml.jackson.databind.BeanDescription; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializationConfig; +import com.fasterxml.jackson.databind.ser.BeanSerializerModifier; +import com.fasterxml.jackson.databind.ser.std.BeanSerializerBase; + +import java.util.Map; + + +public class JsonLDSerializerModifier extends BeanSerializerModifier { + + private final Map idMap; + + public JsonLDSerializerModifier(Map idMap) { + this.idMap = idMap; + } + + @Override + public JsonSerializer modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer serializer) { + if (serializer instanceof BeanSerializerBase) { + return new JsonLDSerializer((BeanSerializerBase) serializer, idMap); + } else { + return serializer; + } + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLdEnumSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLdEnumSerializer.java new file mode 100644 index 000000000..0e3007396 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/JsonLdEnumSerializer.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.dataformat.rdf; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import io.adminshell.aas.v3.model.annotations.IRI; + +import java.io.IOException; + +public class JsonLdEnumSerializer extends JsonSerializer> { + + + @Override + public void serialize(Enum value, JsonGenerator gen, SerializerProvider provider) throws IOException { + //Generated Enum classes of the admin shell have @IRI annotations, which need to be used to provide proper RDF + if(value.getClass().isEnum() && value.getClass().getName().startsWith("io.adminshell.aas.")) + { + //Try to get annotation value to get the IRI used in the ontology + if(value.getClass().getAnnotation(IRI.class) != null && value.getClass().getAnnotation(IRI.class).value().length > 0) + { + gen.writeStartObject(); + gen.writeStringField("@type", value.getClass().getAnnotation(IRI.class).value()[0]); + + //Try to extract exact IRI of the enum value, if present + try { + var annotation = value.getClass().getField(value.name()).getAnnotation(IRI.class); + if(annotation != null && annotation.value().length > 0) + { + gen.writeStringField("@id", annotation.value()[0]); + } + else + { + //Didn't find an @IRI annotation - fall back to using class annotation + field name + gen.writeStringField("@id", translate(value.getClass(), value.name())); + } + } + //Should be impossible + catch (NoSuchFieldException e) + { + //Didn't find an @IRI annotation - fall back to using class annotation + field name + gen.writeStringField("@id", translate(value.getClass(), value.name())); + } + gen.writeEndObject(); + } + else + { + gen.writeString(translate(value.getClass(), value.name())); + } + + + } else { + provider.findValueSerializer(Enum.class).serialize(value, gen, provider); + } + } + + + + public static String translate(Class enumClass, String input) { + String[] iriValues = enumClass.getAnnotation(IRI.class).value(); + String result = ""; + if(iriValues.length > 0) + { + result = iriValues[0]; + if(!result.endsWith("/")) + { + result += "/"; + } + } + result += input; + return result; + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/LangStringSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/LangStringSerializer.java new file mode 100644 index 000000000..983002e7c --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/LangStringSerializer.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import java.io.IOException; + + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import io.adminshell.aas.v3.model.LangString; + +public class LangStringSerializer extends StdSerializer { + + + public LangStringSerializer() { + this(null); + } + + public LangStringSerializer(Class clazz) { + super(clazz); + } + + + @Override + public void serialize(LangString value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + if(value.getLanguage() != null && !value.getLanguage().isEmpty()) + { + gen.writeStringField("@language", value.getLanguage()); + } + else + { + gen.writeStringField("@type", "rdf:langString"); + } + gen.writeStringField("@value", value.getValue()); + gen.writeEndObject(); + } + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Parser.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Parser.java new file mode 100644 index 000000000..b6baa4187 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Parser.java @@ -0,0 +1,1169 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.annotations.IRI; +import io.adminshell.aas.v3.model.annotations.KnownSubtypes; +import org.apache.jena.datatypes.DatatypeFormatException; +import org.apache.jena.query.*; +import org.apache.jena.rdf.model.*; +import org.apache.jena.riot.Lang; +import org.apache.jena.riot.RDFDataMgr; +import org.apache.jena.riot.RDFLanguages; +import org.apache.jena.riot.RiotException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.datatype.DatatypeConfigurationException; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.Duration; +import javax.xml.datatype.XMLGregorianCalendar; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.lang.reflect.*; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.ZonedDateTime; +import java.time.format.DateTimeParseException; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * Internal class to handle the parsing of JSON-LD into java objects + * @author maboeckmann + */ +class Parser { + + private final Logger logger = LoggerFactory.getLogger(Parser.class); + + private static final URI blankNodeIdPropertyUri = URI.create("https://admin-shell.io/aas/blankNodeId"); + + static Map knownNamespaces = new HashMap<>(); + + /** + * Main internal method for creating a java object from a given RDF graph and a URI of the object to handle + * @param inputModel Model on which queries are to be evaluated from which information can be retrieved + * @param objectUri URI of the object to be handled + * @param targetClass Variable containing the class which should be returned + * @param Class which should be returned + * @return Object of desired class, filled with the values extracted from inputModel + * @throws IOException thrown if the parsing fails + */ + private T handleObject(Model inputModel, String objectUri, Class targetClass) throws IOException { + try { + + //if(!targetClass.getSimpleName().endsWith("Impl")) //This would not work for "TypedLiteral", "RdfResource" and so on + //Check whether we are dealing with an instantiable class (i.e. no interface and no abstract class) + boolean currentObjectIsBlankNode = false; + if (targetClass.isInterface() || Modifier.isAbstract(targetClass.getModifiers())) { + //We don't know the desired class yet (current targetClass is not instantiable). This is only known for the root object + ArrayList> implementingClasses = getImplementingClasses(targetClass); + String queryString; + //Get a list of all "rdf:type" statements in our model + //In case of a blank node, the "object URI" will just be a string and no valid URI. In that case, we need a different query syntax + try { + new URL(objectUri); + } + catch (MalformedURLException e) + { + currentObjectIsBlankNode = true; + } + if(currentObjectIsBlankNode) + { + //Object is a blank node, so the subject URI cannot be used + queryString = "SELECT ?type { ?s <" + blankNodeIdPropertyUri + "> \"" + objectUri + "\" ; a ?type . }"; + } + else + { + //Not a blank node, so we can work with the subject URI + queryString = "SELECT ?type { BIND(<" + objectUri + "> AS ?s). ?s a ?type . }"; + } + Query query = QueryFactory.create(queryString); + QueryExecution queryExecution = QueryExecutionFactory.create(query, inputModel); + ResultSet resultSet = queryExecution.execSelect(); + + if (!resultSet.hasNext()) { + queryExecution.close(); + throw new IOException("Could not extract class of child object. ID: " + objectUri); + } + + //Class candidateClass = null; + + String fullName = "No triple present indicating type."; + while (resultSet.hasNext()) { + QuerySolution solution = resultSet.nextSolution(); + fullName = solution.get("type").toString(); + + //Expected URI is something like https://w3id.org/idsa/core/ClassName (and we want ClassName) + String className = fullName.substring(fullName.lastIndexOf('/') + 1); + + //Some namespaces use "#" instead of "/" + if (className.contains("#")) { + className = className.substring(className.lastIndexOf("#") + 1); + } + + for (Class currentClass : implementingClasses) { + //Is this class instantiable? + if (!currentClass.isInterface() && !Modifier.isAbstract(currentClass.getModifiers())) { + //candidateClass = currentClass; + if (currentClass.getSimpleName().equals(className) || currentClass.getSimpleName().equals(Serializer.implementingClassesNamePrefix + className + Serializer.implementingClassesNameSuffix)) { + targetClass = (Class) currentClass; + break; + } + } + } + } + queryExecution.close(); + //Did we find "the" class, i.e. instantiable and name matches? + if (targetClass.isInterface() || Modifier.isAbstract(targetClass.getModifiers())) { + //No, the current targetClass cannot be instantiated. Do we have a candidate class? + //if (candidateClass != null) { + throw new IOException("Did not find an instantiable class for " + objectUri + " matching expected class name (" + targetClass.getSimpleName() + "). Object has type: " + fullName); + //targetClass = (Class) candidateClass; + //} + } + } + + //Enums have no constructors + if(targetClass.isEnum()) + { + return handleEnum(targetClass, objectUri); + } + + //Get constructor (which is package private for our classes) and make it accessible + Constructor constructor = targetClass.getDeclaredConstructor(); + constructor.setAccessible(true); + + //Instantiate new object, which will be returned at the end + T returnObject = constructor.newInstance(); + + //Get methods + Method[] methods = returnObject.getClass().getDeclaredMethods(); + + //Store methods in map. Key is the name of the RDF property without ids prefix + Map methodMap = new HashMap<>(); + + //Get all relevant methods (setters, but not for label, comment or external properties) + Arrays.stream(methods).filter(method -> { + String name = method.getName(); + //Filter out irrelevant methods + return name.startsWith("set") && !name.equals("setProperty") && !name.equals("setComment") && !name.equals("setLabel") && !name.equals("setId"); + }).forEach(method -> { + //Remove "set" part + String reducedName = method.getName().substring(3); + + //Turn first character to lower case + char[] c = reducedName.toCharArray(); + c[0] = Character.toLowerCase(c[0]); + String finalName = new String(c); + methodMap.put(finalName, method); + + }); + + //There is no "setId" method in our CodeGen generated classes, so we get the field + /* TODO: No "id" field yet + Field idField = returnObject.getClass().getDeclaredField("id"); + + //Store whether or not it was accessible, so that we can undo making it accessible + boolean wasAccessible = idField.isAccessible(); + idField.setAccessible(true); + + //Set the ID of the object to be identical with the objectUri parameter + idField.set(returnObject, new URI(objectUri)); + idField.setAccessible(wasAccessible); + */ + + //Is this a trivial class with 0 fields? If so, the generated query would be "SELECT { }", which is illegal + if(methodMap.isEmpty()) + { + return returnObject; + } + + + //A list which stores all those parameter names which may occur only once (i.e. those occurring in the GROUP BY clause) + List groupByKeys = new ArrayList<>(); + + StringBuilder queryStringBuilder = new StringBuilder(); + + for(Map.Entry entry : knownNamespaces.entrySet()) + { + queryStringBuilder.append("PREFIX ").append(entry.getKey()); + if(!entry.getKey().endsWith(":")) + { + queryStringBuilder.append(":"); + } + queryStringBuilder.append(" <").append(entry.getValue()).append(">\n"); + } + queryStringBuilder.append("SELECT"); + methodMap.forEach((key1, value) -> { + //Is the return type some sort of List? + if (Collection.class.isAssignableFrom(value.getParameterTypes()[0])) { + boolean isTypedLiteral = false; + //Yes, it is assignable multiple times. Concatenate multiple values together using some delimiter + try { + //ArrayLists are generics. We need to extract the name of the generic parameter as string and interpret that + String typeName = extractTypeNameFromCollection(value.getGenericParameterTypes()[0]); + + if (typeName.endsWith("LangString")) + isTypedLiteral = true; + } catch (IOException e) { + e.printStackTrace(); + } + if (isTypedLiteral) { + queryStringBuilder.append(" (GROUP_CONCAT(CONCAT('\"',?").append(key1).append(",'\"@', lang(?").append(key1).append("));separator=\"||\") AS ?").append(key1).append("sLang) "); + } + queryStringBuilder.append(" (GROUP_CONCAT(?").append(key1).append(";separator=\"||\") AS ?").append(key1).append("s) "); + + //Additional case for blank nodes + queryStringBuilder.append(" (GROUP_CONCAT(?").append(key1).append("Blank;separator=\"||\") AS ?").append(key1).append("sBlank) "); + + + } else { + //No, it's not a list. No need to aggregate + queryStringBuilder.append(" ?").append(key1); + //We will have to GROUP BY this variable though... + groupByKeys.add(key1); + } + }); + //Start the "WHERE" part - Fuseki does not expect the "WHERE" keyword, but just an "{" + queryStringBuilder.append(" { "); + + //In case of blank nodes, we can't work with the subject URI + if(currentObjectIsBlankNode) + { + queryStringBuilder.append("?s <").append(blankNodeIdPropertyUri).append("> \"").append(objectUri).append("\" ;"); + } + else + { + queryStringBuilder.append(" <").append(objectUri).append(">"); + } + + //Make sure that the object is of the correct type + //This is particularly relevant in case of all fields being optional -- then one could simply parse a random object + queryStringBuilder.append(" a ").append(wrapIfUri(targetClass.getAnnotation(IRI.class).value()[0])).append(". "); + + for (Map.Entry entry : methodMap.entrySet()) { + //Is this a field which is annotated by NOT NULL? + //Attempt to find a field matching the setter method name + //E.g. for "setSomething", we search for a field with name "_something" (IDS way) and "something" + Field field = getFieldByName(targetClass, entry.getKey()); + + + //In AAS, every field is optional, as there are no validation annotations in the model + queryStringBuilder.append(" OPTIONAL {"); + + if(currentObjectIsBlankNode) + { + queryStringBuilder.append(" ?s "); + } + else { + queryStringBuilder.append(" <").append(objectUri).append("> "); //subject, as passed to the function + } + //For the field, get the JsonAlias annotation (present for all classes generated by the CodeGen tool) + //Find the annotation value containing a colon and interpret this as "prefix:predicate" + boolean foundAnnotation = false; + if(field.getAnnotation(IRI.class) != null) { + Optional currentAnnotation = Arrays.stream(field.getAnnotation(IRI.class).value()).map(this::wrapIfUri).filter(annotation -> annotation.contains(":")).findFirst(); + currentAnnotation.ifPresent(queryStringBuilder::append); + foundAnnotation = true; + } + if(!foundAnnotation) + { + logger.warn("Failed to retrieve JsonAlias for field " + field + ". Assuming aas:" + entry.getKey()); + queryStringBuilder.append("aas:").append(entry.getKey()); + } + //if(isBlank(?entry.getKey(), use value of artificial, use original value) + queryStringBuilder.append(" ?").append(entry.getKey()).append(" ."); //object + + //In case of the object being a blank node, we construct a second result variable with the blank node id + queryStringBuilder.append("OPTIONAL { ?").append(entry.getKey()).append(" <").append(blankNodeIdPropertyUri).append("> ?").append(entry.getKey()).append("Blank . } "); + + queryStringBuilder.append("} "); + } + + + queryStringBuilder.append(" } "); + + //Do we need to group? We do, if there is at least one property which can occur multiple times + //We added all those properties, which may only occur once, to the groupByKeys list + if (!groupByKeys.isEmpty()) { + queryStringBuilder.append("GROUP BY"); + for (String key : groupByKeys) { + queryStringBuilder.append(" ?").append(key); + } + } + + String queryString = queryStringBuilder.toString(); + + StringBuilder queryForOtherProperties = new StringBuilder(); + //Query for all unknown properties and their values + //Select properties and values only + + if(!targetClass.equals(LangString.class)) { //LangString has no additional properties map. Skip this step + + //CONSTRUCT { ?s ?p ?o } { ?s ?p ?o. FILTER(?p NOT IN (list of ids properties)) } + for (Map.Entry entry : knownNamespaces.entrySet()) { + queryForOtherProperties.append("PREFIX ").append(entry.getKey()); + if (!entry.getKey().endsWith(":")) { + queryForOtherProperties.append(":"); + } + queryForOtherProperties.append(" <").append(entry.getValue()).append(">\n"); + } + + + //Respect ALL properties and values + queryForOtherProperties.append(" SELECT ?p ?o { <").append(objectUri).append("> ?p ?o .\n"); + + //Exclude known properties + queryForOtherProperties.append("FILTER (?p NOT IN (rdf:type"); + + //Predicates usually look like: .append("ids:").append(entry.getKey()) + for (Map.Entry entry : methodMap.entrySet()) { + queryForOtherProperties.append(", "); + + Field field = getFieldByName(targetClass, entry.getKey()); + Optional currentAnnotation = Arrays.stream(field.getAnnotation(IRI.class).value()).filter(annotation -> annotation.contains(":")).filter(s -> s.length() > 1).findFirst(); + if (currentAnnotation.isPresent()) { + queryForOtherProperties.append(wrapIfUri(currentAnnotation.get())); + } else { + logger.warn("Failed to retrieve JsonAlias for field " + field + ". Assuming aas:" + entry.getKey()); + queryForOtherProperties.append("aas:").append(entry.getKey()); + } + } + + queryForOtherProperties.append(")). } "); + + + //Now that we searched for all "known properties", let's search for all unrecognized content and append it to a generic properties map + + Query externalPropertiesQuery = QueryFactory.create(queryForOtherProperties.toString()); + QueryExecution externalPropertiesQueryExecution = QueryExecutionFactory.create(externalPropertiesQuery, inputModel); + ResultSet externalPropertiesResultSet = externalPropertiesQueryExecution.execSelect(); + + // now as all declared instances and classes are treated, which are also represented in the respective java + // dependency, take care about the ones within foreign namespaces and add those to the 'properties' field + // note that not all models (e.g. AAS) have such methods. In case they do not exist, skip adding external properties + + try { + Method setProperty = returnObject.getClass().getDeclaredMethod("setProperty", String.class, Object.class); + Method getProperties = returnObject.getClass().getDeclaredMethod("getProperties"); + + while (externalPropertiesResultSet.hasNext()) { + QuerySolution externalPropertySolution = externalPropertiesResultSet.next(); + + HashMap currentProperties = (HashMap) getProperties.invoke(returnObject); + + //Avoid NullPointerException + if (currentProperties == null) { + currentProperties = new HashMap<>(); + } + + String propertyUri = externalPropertySolution.get("p").toString(); + + //Does this key already exist? If yes, we need to store the value as array to not override them + if (currentProperties.containsKey(propertyUri)) { + //If it is not an array list yet, turn it into one + if (!(currentProperties.get(propertyUri) instanceof ArrayList)) { + ArrayList newList = new ArrayList<>(); + newList.add(currentProperties.get(propertyUri)); + currentProperties.put(propertyUri, newList); + } + } + + //Literals and complex objects need to be handled differently + //Literals can be treated as flat values, whereas complex objects require recursive calls + if (externalPropertySolution.get("o").isLiteral()) { + Object o = handleForeignLiteral(externalPropertySolution.getLiteral("o")); + //If it is already an ArrayList, add new value to it + if (currentProperties.containsKey(propertyUri)) { + ArrayList currentPropertyArray = ((ArrayList) currentProperties.get(propertyUri)); + currentPropertyArray.add(o); + setProperty.invoke(returnObject, propertyUri, currentPropertyArray); + } + //Otherwise save as new plain value + else { + setProperty.invoke(returnObject, propertyUri, o); + } + } else { + //It is a complex object. Distinguish whether or not we need to store as array + HashMap subMap = handleForeignNode(externalPropertySolution.getResource("o"), new HashMap<>(), inputModel); + subMap.put("@id", externalPropertySolution.getResource("o").getURI()); + if (currentProperties.containsKey(propertyUri)) { + ArrayList currentPropertyArray = ((ArrayList) currentProperties.get(propertyUri)); + currentPropertyArray.add(subMap); + setProperty.invoke(returnObject, propertyUri, currentPropertyArray); + } else { + setProperty.invoke(returnObject, propertyUri, subMap); + } + } + } + externalPropertiesQueryExecution.close(); + } + catch (NoSuchMethodException ignored) + { + //Method does not exist, skip + } + } + + + + Query query; + try { + query = QueryFactory.create(queryString); + } + catch (QueryParseException e) + { + logger.error(queryString); + throw e; + } + + //Evaluate query + QueryExecution queryExecution = QueryExecutionFactory.create(query, inputModel); + ResultSet resultSet = queryExecution.execSelect(); + + + if (!resultSet.hasNext()) { + queryExecution.close(); + //no content... + return returnObject; + } + + //SPARQL binding present, iterate over result and construct return object + while (resultSet.hasNext()) { + QuerySolution querySolution = resultSet.next(); + + //Check if there are fields which have more values than allowed + if (resultSet.hasNext()) { + String value1 = "", value2 = "", parameterName = ""; + QuerySolution querySolution2 = resultSet.next(); + Iterator varNamesIt = querySolution2.varNames(); + while(varNamesIt.hasNext()) + { + String varName = varNamesIt.next(); + if(querySolution.contains(varName)) + { + if(!querySolution.get(varName).equals(querySolution2.get(varName))) + { + parameterName = varName; + value1 = querySolution.get(varName).toString(); + value2 = querySolution2.get(varName).toString(); + break; + } + } + } + if(!value1.isEmpty()) + { + throw new IOException(objectUri + " has multiple values for " + parameterName + ", which is not allowed. Values are: " + value1 + " and " + value2); + } + throw new IOException("Multiple bindings for SPARQL query which should only have one binding. Input contains multiple values for a field which may occur only once."); + } + + //No value occurs more often than allowed + for (Map.Entry entry : methodMap.entrySet()) { + + //What is this method setting? Get the expected parameter type and check whether it is some complex sub-object and whether this is a list + Class currentType = entry.getValue().getParameterTypes()[0]; + + String sparqlParameterName = entry.getKey(); + + if (Collection.class.isAssignableFrom(currentType)) { + sparqlParameterName += "s"; //plural form for the concatenated values + } + if(!querySolution.contains(sparqlParameterName)) + { + sparqlParameterName += "Blank"; //If not present, try to go with the option for blank nodes instead + //TODO: Note: This would not yield full results yet in case some of the values are encapsulated + // in blank nodes and some are not, for the same property + } + if (querySolution.contains(sparqlParameterName)) { + String currentSparqlBinding = querySolution.get(sparqlParameterName).toString(); + + boolean objectIsBlankNode = querySolution.get(sparqlParameterName).isResource() && querySolution.get(sparqlParameterName).asNode().isBlank(); + String blankNodeId = ""; + //If the object is a blank node, we will struggle to make follow-up queries starting at the blank node as subject + //For that case, we add some artificial identifiers here + if(objectIsBlankNode) { + blankNodeId = querySolution.get(sparqlParameterName).asNode().getBlankNodeId().toString(); + } + if (currentType.isEnum()) { + //Two possibilities: + //1: The URI of the enum value is given directly e.g. ?s ?p + //2: The URI of the enum value is encapsulated in a blank node, e.g. + // ?s ?p [ a demo:myEnum, demo:enumValue ] + if(objectIsBlankNode) + { + + Query innerEnumQuery = QueryFactory.create("SELECT ?type { ?s <" + blankNodeIdPropertyUri + "> + \"" + blankNodeId + "\" ; a ?type } "); + QueryExecution innerEnumQueryExecution = QueryExecutionFactory.create(innerEnumQuery, inputModel); + ResultSet innerEnumQueryExecutionResultSet = innerEnumQueryExecution.execSelect(); + + //Only throw this if there is no successful execution + IOException anyIOException = null; + boolean oneSuccessfulEnumFound = false; + while(innerEnumQueryExecutionResultSet.hasNext()) + { + try { + entry.getValue().invoke(returnObject, handleEnum(currentType, innerEnumQueryExecutionResultSet.next().get("type").toString())); + oneSuccessfulEnumFound = true; + break; //Stop after the first successful execution + } + catch (IOException e) //There might be errors, if multiple types are present, see example above + { + anyIOException = e; + } + } + //If nothing worked, but something failed (i.e. there exists a problematic element, but no proper element), we throw an exception + if(anyIOException != null && !oneSuccessfulEnumFound) + throw new IOException("Could not parse Enum. ", anyIOException); + innerEnumQueryExecution.close(); + } + else { + entry.getValue().invoke(returnObject, handleEnum(currentType, currentSparqlBinding)); + } + continue; + } + + + //There is a binding. If it is a complex sub-object, we need to recursively call this function + if (Collection.class.isAssignableFrom(currentType)) { + //We are working with ArrayLists. + //Here, we need to work with the GenericParameterTypes instead to find out what kind of ArrayList we are dealing with + String typeName = extractTypeNameFromCollection(entry.getValue().getGenericParameterTypes()[0]); + if (isArrayListTypePrimitive(entry.getValue().getGenericParameterTypes()[0])) { + if (typeName.endsWith("LangString")) { + try { + currentSparqlBinding = querySolution.get(sparqlParameterName + "Lang").toString(); + } catch (NullPointerException e) { + //logger.warn("Failed to retrieve localized/typed values of " + currentSparqlBinding + ". Make sure that namespaces used in this property are known and valid. Proceeding without localized values and interpreting as string."); + //logger.warn("Query was: " + queryString); + //logger.warn("Attempted to fetch: " + sparqlParameterName + "Lang"); + } + } + ArrayList list = new ArrayList<>(); + //Two pipes were used as delimiter above + //Introduce set to deduplicate + Set allElements = new HashSet<>(Arrays.asList(currentSparqlBinding.split("\\|\\|"))); + for (String s : allElements) { + Literal literal; + //querySolution.get(sparqlParameterName). + if (s.endsWith("@")) { + s = s.substring(2, s.length() - 3); + literal = ResourceFactory.createStringLiteral(s); + } else if (s.startsWith("\\")) { + //turn something like \"my Desc 1\"@en to "my Desc 1"@en + s = s.substring(1).replace("\\\"@", "\"@"); + literal = ResourceFactory.createLangLiteral(s.substring(1, s.lastIndexOf("@") - 1), s.substring(s.lastIndexOf("@") + 1)); + } else { + literal = ResourceFactory.createPlainLiteral(s); + } + + //Is the type of the ArrayList some built in Java primitive? + + if (builtInMap.containsKey(typeName)) { + //Yes, it is. We MUST NOT call Class.forName(name)! + list.add(handlePrimitive(builtInMap.get(typeName), literal, null)); + } else { + //Not a Java primitive, we may call Class.forName(name) + list.add(handlePrimitive(Class.forName(typeName), literal, s)); + } + } + entry.getValue().invoke(returnObject, list); + } else { + //List of complex sub-objects, such as a list of Resources in a ResourceCatalog + ArrayList list = new ArrayList<>(); + Set allElements = new HashSet<>(Arrays.asList(currentSparqlBinding.split("\\|\\|"))); + for (String s : allElements) { + if (Class.forName(typeName).isEnum()) { + list.add(handleEnum(Class.forName(typeName), s)); + } else { + list.add(handleObject(inputModel, s, Class.forName(typeName))); + } + } + entry.getValue().invoke(returnObject, list); + } + } + + //Not an ArrayList of objects expected, but rather one object + else { + //Our implementation of checking for primitives (i.e. also includes URLs, Strings, XMLGregorianCalendars, ...) + if (isPrimitive(currentType)) { + + Literal literal = null; + try { + literal = querySolution.getLiteral(sparqlParameterName); + } catch (Exception ignored) { + } + + entry.getValue().invoke(returnObject, handlePrimitive(currentType, literal, currentSparqlBinding)); + + } else { + //Not a primitive object, but a complex sub-object. Recursively call this function to handle it + if (objectIsBlankNode) { + entry.getValue().invoke(returnObject, handleObject(inputModel, blankNodeId, entry.getValue().getParameterTypes()[0])); + } else { + + entry.getValue().invoke(returnObject, handleObject(inputModel, currentSparqlBinding, entry.getValue().getParameterTypes()[0])); + } + } + } + } + + } + } + queryExecution.close(); + + return returnObject; + } catch (NoSuchMethodException | NullPointerException | IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchFieldException | URISyntaxException | DatatypeConfigurationException | ClassNotFoundException e) { + throw new IOException("Failed to instantiate desired class (" + targetClass.getName() + ")", e); + } + } + + /** + * This function wraps a URI with "<" ">", if needed, to avoid errors about "unknown namespace http(s):" + * @param input Input URI, possibly a prefixed value + * @return If this is a full URI, starting with http or https, the URI will be encapsulated in "<" ">" + */ + private String wrapIfUri(String input) + { + if(input.startsWith("http://") || input.startsWith("https://")) + { + return "<" + input + ">"; + } + else { + return input; + } + } + + private Object handleForeignLiteral(Literal literal) throws URISyntaxException { + if(literal.getLanguage() != null && !literal.getLanguage().equals("")) + { + return new LangString(literal.getValue().toString(), literal.getLanguage()); + } + //If not, does it have some datatype URI? + //else if(literal.getDatatypeURI() != null && !literal.getDatatypeURI().equals("")) + //{ + // return new TypedLiteral(literal.getString(), new URI(literal.getDatatypeURI())); + //} + //If both is not true, add it as normal string + else + { + return literal.getString(); + } + } + + private HashMap handleForeignNode(RDFNode node, HashMap map, Model model) throws IOException, URISyntaxException { + //Make sure it is not a literal. If it were, we would not know the property name and could not add this to the map + //Literals must be handled "one recursion step above" + if(node.isLiteral()) + { + throw new IOException("Literal passed to handleForeignNode. Must be non-literal RDF node"); + } + + //Run SPARQL query retrieving all information (only one hop!) about this node + String queryString = "SELECT ?s ?p ?o { BIND(<" + node.asNode().getURI() + "> AS ?s) . ?s ?p ?o . } "; + Query query = QueryFactory.create(queryString); + QueryExecution queryExecution = QueryExecutionFactory.create(query, model); + ResultSet resultSet = queryExecution.execSelect(); + + + + //Handle outgoing properties of this foreign node + while(resultSet.hasNext()) + { + QuerySolution querySolution = resultSet.next(); + + String propertyUri = querySolution.get("p").toString(); + + if(map.containsKey(propertyUri)) { + //If it is not an array list yet, turn it into one + if (!(map.get(propertyUri) instanceof ArrayList)) { + ArrayList newList = new ArrayList<>(); + newList.add(map.get(propertyUri)); + map.put(propertyUri, newList); + } + } + + //Check the type of object we have. If it is a literal, just add it as "flat value" to the map + if(querySolution.get("o").isLiteral()) + { + //Handle some small literal. This function will turn this into a TypedLiteral if appropriate + Object o = handleForeignLiteral(querySolution.getLiteral("o")); + if(map.containsKey(propertyUri)) + { + map.put(querySolution.get("p").toString(), ((ArrayList)map.get(propertyUri)).add(o)); + } + else + { + map.put(querySolution.get("p").toString(), o); + } + } + + //If it is not a literal, we need to call this function recursively. Create new map for sub object + else + { + //logger.info("Calling handleForeignNode for " + querySolution.getResource("o").toString()); + if(querySolution.getResource("s").toString().equals(querySolution.getResource("o").toString())) + { + logger.warn("Found self-reference on " + querySolution.getResource("s").toString() + " via predicate " + querySolution.getResource("p").toString() + " ."); + continue; + } + HashMap subMap = handleForeignNode(querySolution.getResource("o"), new HashMap<>(), model); + subMap.put("@id", querySolution.getResource("o").getURI()); + if(map.containsKey(propertyUri)) + { + map.put(querySolution.get("p").toString(), ((ArrayList)map.get(propertyUri)).add(subMap)); + } + else { + map.put(querySolution.get("p").toString(), subMap); + } + } + } + queryExecution.close(); + return map; + } + + + /** + * Utility function, used to obtain the field corresponding to a setter function + * @param targetClass Class object in which we search for a field + * @param fieldName Guessed name of the field to search for + * @return Field object matching the name (possibly with leading underscore) + * @throws NoSuchFieldException thrown, if no such field exists + */ + private Field getFieldByName(Class targetClass, String fieldName) throws NoSuchFieldException { + try { + return targetClass.getDeclaredField("_" + fieldName); + } catch (NoSuchFieldException e) { + try { + return targetClass.getDeclaredField(fieldName); + } catch (NoSuchFieldException e2) { + try { + return targetClass.getDeclaredField("_" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1)); + } + catch (NoSuchFieldException e3) + { + throw new NoSuchFieldException("Failed to find field which is set by method " + fieldName); + } + } + } + } + + /** + * Internal function to create a single enum object from a given desired class and a URL + * @param enumClass The enum class + * @param url The URL of the enum value + * @param Enum class + * @return Value of enumClass matching the input URL + * @throws IOException thrown if no matching enum value could be found + */ + private T handleEnum(Class enumClass, String url) throws IOException { + if (!enumClass.isEnum()) { + throw new RuntimeException("Non-Enum class passed to handleEnum function."); + } + T[] constants = enumClass.getEnumConstants(); + if(url.contains("/")) + { + url = url.substring(url.lastIndexOf("/") + 1); + } + for (T constant : constants) { + //We artificially added some underscores in the AAS ontology. TODO: This might be a bit dangerous for other ontologies, which really contain underscores in enum names + if (url.equalsIgnoreCase(constant.toString()) || url.equalsIgnoreCase(constant.toString().replace("_", ""))) { + return constant; + } + } + throw new IOException("Failed to find matching enum value for " + url + " . Available enums are: " + Arrays.stream(constants).map(Object::toString).collect(Collectors.joining(", "))); + } + + /** + * Function for handling a rather primitive object, i.e. not a complex sub-object (e.g. URI, TypedLiteral, GregorianCalendar values, ...) + * @param currentType Input Class (or primitive) + * @param literal Value as literal (can be null in some cases) + * @param currentSparqlBinding Value as SPARQL Binding (can be null in some cases) + * @return Object of type currentType + * @throws URISyntaxException thrown, if currentType is URI, but the value cannot be parsed to a URI + * @throws DatatypeConfigurationException thrown, if currentType is XMLGregorianCalendar or Duration, but parsing fails + * @throws IOException thrown, if no matching "simple class" could be found + */ + private Object handlePrimitive(Class currentType, Literal literal, String currentSparqlBinding) throws URISyntaxException, DatatypeConfigurationException, IOException { + //Java way of checking for primitives, i.e. int, char, float, double, ... + if (currentType.isPrimitive()) { + if (literal == null) { + throw new IOException("Trying to handle Java primitive, but got no literal value"); + } + //If it is an actual primitive, there is no need to instantiate anything. Just give it to the function + switch (currentType.getSimpleName()) { + case "int": + return literal.getInt(); + case "boolean": + return literal.getBoolean(); + case "long": + return literal.getLong(); + case "short": + return literal.getShort(); + case "float": + return literal.getFloat(); + case "double": + return literal.getDouble(); + case "byte": + return literal.getByte(); + } + } + + //Check for the more complex literals + + //URI + if (URI.class.isAssignableFrom(currentType)) { + return new URI(currentSparqlBinding); + } + + //String + if (String.class.isAssignableFrom(currentType)) { + return currentSparqlBinding; + } + + //XMLGregorianCalendar + if (XMLGregorianCalendar.class.isAssignableFrom(currentType)) { + //Try parsing this as dateTimeStamp (most specific). If seconds / timezone is missing, DatatypeFormatException will be thrown + try { + return DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.from(ZonedDateTime.parse(literal.getValue().toString()))); + } + catch (DatatypeFormatException | DateTimeParseException ignored) + { + //Not a valid dateTimeStamp. Try parsing just to Date + try { + Date date = new SimpleDateFormat().parse(literal.getValue().toString()); + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(date); + return DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar); + } + catch (ParseException | DateTimeParseException | DatatypeFormatException e2) + { + //Do NOT use literal.getValue(), as that can already cause yet another DatatypeFormatException + throw new IOException("Could not turn " + literal.getString() + " into " + literal.getDatatypeURI(), e2); + } + } + } + + //TypedLiteral + if (LangString.class.isAssignableFrom(currentType)) { + //Either a language tagged string OR literal with type. Only one allowed + if (!literal.getLanguage().equals("")) { + return new LangString(literal.getValue().toString(), literal.getLanguage()); + } + return new LangString(currentSparqlBinding); + } + + //BigInteger + if (BigInteger.class.isAssignableFrom(currentType)) { + return new BigInteger(literal.getString()); + } + + //BigDecimal + if (BigDecimal.class.isAssignableFrom(currentType)) { + return new BigDecimal(literal.getString()); + } + + //byte[] + if (byte[].class.isAssignableFrom(currentType)) { + return currentSparqlBinding.getBytes(); + } + + //Duration + if (Duration.class.isAssignableFrom(currentType)) { + return DatatypeFactory.newInstance().newDuration(currentSparqlBinding); + } + + throw new IOException("Unrecognized primitive type: " + currentType.getName()); + } + + /** + * This list contains all primitive Java types + */ + private final Map> builtInMap = new HashMap<>(); + { + builtInMap.put("int", Integer.TYPE); + builtInMap.put("long", Long.TYPE); + builtInMap.put("double", Double.TYPE); + builtInMap.put("float", Float.TYPE); + builtInMap.put("bool", Boolean.TYPE); + builtInMap.put("char", Character.TYPE); + builtInMap.put("byte", Byte.TYPE); + builtInMap.put("void", Void.TYPE); + builtInMap.put("short", Short.TYPE); + } + + private boolean isArrayListTypePrimitive(Type t) throws IOException { + String typeName = extractTypeNameFromCollection(t); + + try { + //Do not try to call Class.forName(primitive) -- that would throw an exception + if (builtInMap.containsKey(typeName)) return true; + return isPrimitive(Class.forName(typeName)); + } catch (ClassNotFoundException e) { + throw new IOException("Unable to retrieve class from generic", e); + } + } + + private String extractTypeNameFromCollection(Type t) throws IOException { + String typeName = t.getTypeName(); + if (!typeName.startsWith("java.util.ArrayList<") && !typeName.startsWith("java.util.List<") && !typeName.startsWith("java.util.Collection<")) { + throw new IOException("Illegal argument encountered while interpreting type parameter"); + } + //"" or super instead of extends + if(typeName.contains("?")) + { + //last space is where we want to cut off (right after the "extends"), as well as removing the last closing braces + return typeName.substring(typeName.lastIndexOf(" ") + 1, typeName.length() - 1); + } + //No extends + else + { + return typeName.substring(typeName.indexOf("<") + 1, typeName.indexOf(">")); + } + } + + private boolean isPrimitive(Class input) throws IOException { + //Collections are not simple + if (Collection.class.isAssignableFrom(input)) { + throw new IOException("Encountered collection in isPrimitive. Use isArrayListTypePrimitive instead"); + } + + //check for: plain/typed literal, XMLGregorianCalendar, byte[], RdfResource + //covers int, long, short, float, double, boolean, byte + if (input.isPrimitive()) return true; + + return (URI.class.isAssignableFrom(input) || + String.class.isAssignableFrom(input) || + XMLGregorianCalendar.class.isAssignableFrom(input) || + LangString.class.isAssignableFrom(input) || + BigInteger.class.isAssignableFrom(input) || + BigDecimal.class.isAssignableFrom(input) || + byte[].class.isAssignableFrom(input) || + Duration.class.isAssignableFrom(input)); + } + + /** + * Entry point to this class. Takes an RDF Model and a desired target class (can be an interface) + * @param rdfModel RDF input to be parsed + * @param targetClass Desired target class (something as abstract as "Message.class" is allowed) + * @param Desired target class + * @return Object of desired target class, representing the values contained in input message + * @throws IOException if the parsing of the message fails + */ + T parseMessage(Model rdfModel, Class targetClass) throws IOException { + addArtificialBlankNodeLabels(rdfModel); + ArrayList> implementingClasses = getImplementingClasses(targetClass); + + // Query to retrieve all instances in the input graph that have a class assignment + // Assumption: if the class name (?type) is equal to the target class, this should be the + // instance we actually want to parse + String queryString = "SELECT ?id ?type { ?id a ?type . }"; + Query query = QueryFactory.create(queryString); + QueryExecution queryExecution = QueryExecutionFactory.create(query, rdfModel); + ResultSet resultSet = queryExecution.execSelect(); + + if (!resultSet.hasNext()) { + throw new IOException("Could not extract class from input message"); + } + + Map> returnCandidates = new HashMap<>(); + + while (resultSet.hasNext()) { + QuerySolution solution = resultSet.nextSolution(); + String fullName = solution.get("type").toString(); + String className = fullName.substring(fullName.lastIndexOf('/') + 1); + + //In case of hash-namespaces + if(className.contains("#")) { + className = className.substring(className.lastIndexOf("#")); + } + + //For legacy purposes... + if (className.startsWith("ids:") || className.startsWith("aas:")) { + className = className.substring(4); + } + + for (Class currentClass : implementingClasses) { + if (currentClass.getSimpleName().equals(Serializer.implementingClassesNamePrefix + className + Serializer.implementingClassesNameSuffix)) { + returnCandidates.put(solution.get("id").toString(), currentClass); + } + } + //if (returnCandidates.size() > 0) break; + } + queryExecution.close(); + + if (returnCandidates.size() == 0) { + throw new IOException("Could not transform input to an appropriate implementing class for " + targetClass.getName()); + } + + //At this point, we parsed the model and know to which implementing class we want to parse + //Check if there are several options available + if(returnCandidates.size() > 1) + { + String bestCandidateId = null; + Class bestCandidateClass = null; + long bestNumRelations = -1L; + for(Map.Entry> entry : returnCandidates.entrySet()) + { + String determineBestCandidateQueryString = "CONSTRUCT { ?s ?p ?o . ?o ?p2 ?o2 . ?o2 ?p3 ?o3 . ?o3 ?p4 ?o4 . ?o4 ?p5 ?o5 . }" + + " WHERE {" + + " BIND(<" + entry.getKey() + "> AS ?s). ?s ?p ?o ." + + " OPTIONAL {?o ?p2 ?o2 . OPTIONAL {?o2 ?p3 ?o3 . OPTIONAL {?o3 ?p4 ?o4 . OPTIONAL {?o4 ?p5 ?o5 . } } } } }"; + Query determineBestCandidateQuery = QueryFactory.create(determineBestCandidateQueryString); + QueryExecution determineBestCandidateQueryExecution = QueryExecutionFactory.create(determineBestCandidateQuery, rdfModel); + long graphSize = determineBestCandidateQueryExecution.execConstruct().size(); + if(graphSize > bestNumRelations) + { + bestNumRelations = graphSize; + bestCandidateId = entry.getKey(); + bestCandidateClass = entry.getValue(); + } + + determineBestCandidateQueryExecution.close(); + + } + logger.debug("The RDF graph contains multiple objects which can be parsed to " + targetClass.getSimpleName() + ". Determined " + bestCandidateId + " as best candidate."); + return (T) handleObject(rdfModel, bestCandidateId, bestCandidateClass); + } + + //We only reach this spot, if there is exactly one return candidate. Let's return it + Map.Entry> singularEntry = returnCandidates.entrySet().iterator().next(); + return (T) handleObject(rdfModel, singularEntry.getKey(), singularEntry.getValue()); + + } + + + /** + * Entry point to this class. Takes a message and a desired target class (can be an interface) + * @param message Object to be parsed. Note that the name is misleading: One can also parse non-message IDS objects with this function + * @param targetClass Desired target class (something as abstract as "Message.class" is allowed) + * @param Desired target class + * @return Object of desired target class, representing the values contained in input message + * @throws IOException if the parsing of the message fails + */ + T parseMessage(String message, Class targetClass) throws IOException { + Model model = readMessage(message); + return parseMessage(model, targetClass); + } + + /** + * Entry point to this class. Takes a message and a desired target class (can be an interface) + * @param message Object to be parsed. Note that the name is misleading: One can also parse non-message IDS objects with this function + * @param targetClass Desired target class (something as abstract as "Message.class" is allowed) + * @param serializationFormat Input RDF format + * @param Desired target class + * @return Object of desired target class, representing the values contained in input message + * @throws IOException if the parsing of the message fails + */ + T parseMessage(String message, Class targetClass, Lang serializationFormat) throws IOException { + Model model = readMessage(message, serializationFormat); + return parseMessage(model, targetClass); + } + + /** + * Reads a message into an Apache Jena model, guessing the input language. + * Note: Guessing the language may cause some error messages during parsing attempts + * + * @param message Message to be read + * @return The model of the message + */ + private Model readMessage(String message) throws IOException { + + List supportedLanguages = new ArrayList<>( + Arrays.asList( + RDFLanguages.JSONLD, //JSON-LD first + RDFLanguages.TURTLE, //N-TRIPLE is a subset of Turtle + RDFLanguages.RDFXML + )); + + for (Lang lang : supportedLanguages) { + try { + return readMessage(message, lang); + } catch (IOException ignored) { + } + } + throw new IOException("Could not parse string as any supported RDF format (JSON-LD, Turtle/N-Triple, RDF-XML)."); + } + + /** + * Reads a message into an Apache Jena model, guessing the input language. + * Note: Guessing the language may cause some error messages during parsing attempts + * + * @param message Message to be read + * @param language The RDF serialization of the input. Supported formats are JSON-LD, N-Triple, Turtle, and RDF-XML + * @return The model of the message + */ + private Model readMessage(String message, Lang language) throws IOException { + + Model targetModel = ModelFactory.createDefaultModel(); + + try { + RDFDataMgr.read(targetModel, new ByteArrayInputStream(message.getBytes()), language); + } + catch (RiotException e) + { + throw new IOException("Failed to parse input as " + language, e); + } + return targetModel; + } + + /** + * Get a list of all subclasses (by JsonSubTypes annotation) which can be instantiated + * @param someClass Input class of which implementable subclasses need to be found + * @return ArrayList of instantiable subclasses + */ + ArrayList> getImplementingClasses(Class someClass) { + ArrayList> result = new ArrayList<>(); + KnownSubtypes subTypeAnnotation = someClass.getAnnotation(KnownSubtypes.class); + if (subTypeAnnotation != null) { + KnownSubtypes.Type[] types = subTypeAnnotation.value(); + for (KnownSubtypes.Type type : types) { + result.addAll(getImplementingClasses(type.value())); + } + } + if (!someClass.isInterface() && !Modifier.isAbstract(someClass.getModifiers())) { + result.add(Serializer.customImplementationMap.getOrDefault(someClass, someClass)); + } + return result; + } + + private void addArtificialBlankNodeLabels(Model m) + { + //Get all blank nodes + Query q = QueryFactory.create("SELECT DISTINCT ?s { ?s ?p ?o . FILTER(isBlank(?s)) } "); + QueryExecution qe = QueryExecutionFactory.create(q, m); + ResultSet rs = qe.execSelect(); + List statementsToAdd = new ArrayList<>(); + while(rs.hasNext()) + { + QuerySolution qs = rs.next(); + statementsToAdd.add(ResourceFactory.createStatement(qs.get("?s").asResource(), + ResourceFactory.createProperty(blankNodeIdPropertyUri.toString()), + ResourceFactory.createStringLiteral(qs.get("?s").toString()))); + } + qe.close(); + m.add(statementsToAdd); + } + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Serializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Serializer.java new file mode 100644 index 000000000..1166d3499 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/Serializer.java @@ -0,0 +1,307 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.Deserializer; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.rdf.custom.ReflectiveMixInResolver; +import io.adminshell.aas.v3.dataformat.rdf.preprocessing.JsonPreprocessor; +import io.adminshell.aas.v3.dataformat.rdf.preprocessing.TypeNamePreprocessor; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import org.apache.jena.rdf.model.Model; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.riot.Lang; +import org.apache.jena.riot.RDFDataMgr; +import org.apache.jena.riot.RDFLanguages; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.*; + +public class Serializer implements io.adminshell.aas.v3.dataformat.Serializer, Deserializer { + + private static final ObjectMapper mapper = new ObjectMapper(); + private final List preprocessors; + private final Logger logger = LoggerFactory.getLogger(Serializer.class); + + public static String implementingClassesNamePrefix = "Default"; + public static String implementingClassesNameSuffix = ""; + + static Map, Class> customImplementationMap = new HashMap<>(); + + private static boolean charsetWarningPrinted = false; + + public Serializer() { + mapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL); + mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY); + mapper.setMixInResolver(new ReflectiveMixInResolver()); + + preprocessors = new ArrayList<>(); + this.addPreprocessor(new TypeNamePreprocessor()); + + if(!Charset.defaultCharset().equals(StandardCharsets.UTF_8) && !charsetWarningPrinted) + { + charsetWarningPrinted = true; + logger.warn("Standard Charset is set to " + Charset.defaultCharset() + " - expecting " + StandardCharsets.UTF_8 + ". Some characters might not be displayed correctly.\nThis warning is only printed once"); + } + + //Default namespaces for AAS + addKnownNamespace("xsd", "http://www.w3.org/2001/XMLSchema#"); + addKnownNamespace("owl", "http://www.w3.org/2002/07/owl#"); + addKnownNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); + addKnownNamespace("aas", "https://admin-shell.io/aas/3/0/RC01/"); + addKnownNamespace("iec61360", "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/"); + addKnownNamespace("phys_unit", "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/"); + + } + + /** + * Serializes an object to an RDF representation. In order to support RDF, the input instance must be + * annotated using AAS Metamodel annotations. Default format is Turtle (TTL). + * + * @param instance the instance to be serialized + * @return RDF serialization of the provided object graph + * @throws IOException if the serialization fails + */ + public String serialize(Object instance) throws IOException { + return serialize(instance, RDFLanguages.TTL, new HashMap<>()); + } + + /** + * Serializes an object to an RDF representation of a given RDF serialization format. In order to support RDF, the + * input instance must be annotated using AAS Metamodel annotations. + * + * @param instance the instance to be serialized + * @param format the RDF format to be returned (only RDFLanguages.TTL, RDFLanguages.JSONLD, RDFLanguages.RDFXML) + * @return RDF serialization of the provided object graph + * @throws IOException if the serialization fails + */ + public synchronized String serialize(Object instance, Lang format) throws IOException { + return serialize(instance, format, new HashMap<>() ); + } + + + //Synchronized is required for thread safety. Without it, context elements might be missing in case of multiple simultaneous calls to this function + public synchronized String serialize(Object instance, Lang format, Map idMap) throws IOException { + if (format != RDFLanguages.JSONLD && format != RDFLanguages.TURTLE && format != RDFLanguages.RDFXML) { + throw new IOException("RDFFormat " + format + " is currently not supported by the serializer."); + } + mapper.registerModule(new JsonLDModule(idMap)); + String jsonLD = (instance instanceof Collection) + ? serializeCollection((Collection) instance) + : mapper.writerWithDefaultPrettyPrinter().writeValueAsString(instance); + if (format == RDFLanguages.JSONLD) return jsonLD; + else return convertJsonLdToOtherRdfFormat(jsonLD, format); + } + + private String serializeCollection(Collection collection) throws IOException { + String lineSep = System.lineSeparator(); + StringBuilder jsonLDBuilder = new StringBuilder(); + + if (collection.isEmpty()) { + jsonLDBuilder.append("[]"); + } else { + jsonLDBuilder.append("["); + jsonLDBuilder.append(lineSep); + for (Object item : collection) { + jsonLDBuilder.append(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(item)); + jsonLDBuilder.append(","); + jsonLDBuilder.append(lineSep); + } + int lastComma = jsonLDBuilder.lastIndexOf(","); + jsonLDBuilder.replace(lastComma, lastComma + 1, ""); + jsonLDBuilder.append("]"); + } + jsonLDBuilder.append(lineSep); + + return jsonLDBuilder.toString(); + } + + public String convertJsonLdToOtherRdfFormat(String jsonLd, Lang format) { + Model model = ModelFactory.createDefaultModel(); + RDFDataMgr.read(model, new ByteArrayInputStream(jsonLd.getBytes()), RDFLanguages.JSONLD); + + ByteArrayOutputStream os = new ByteArrayOutputStream(); + RDFDataMgr.write(os, model, format); + return os.toString(); + } + + public String serializePlainJson(Object instance) throws JsonProcessingException { + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(instance); + } + + /** + * Inverse method of "serialize" + * + * @param serialization JSON(-LD) string + * @param valueType class of top level type + * @param deserialized type + * @return an object representing the provided JSON(-LD) structure + * @throws DeserializationException thrown, if deserialization fails, e.g. because the input is not valid RDF + */ + public T deserialize(String serialization, Class valueType) throws DeserializationException { + try { + return new Parser().parseMessage(serialization, valueType); + } + catch (IOException e) + { + throw new DeserializationException("Failed to deserialize input.", e); + } + } + + /** + * Inverse method of "serialize" + * + * @param serialization JSON(-LD) string + * @param valueType class of top level type + * @param serializationFormat RDF input format + * @param deserialized type + * @return an object representing the provided JSON(-LD) structure + * @throws DeserializationException thrown, if deserialization fails, e.g. because the input is not valid RDF + */ + public T deserialize(String serialization, Class valueType, Lang serializationFormat) throws DeserializationException { + try { + return new Parser().parseMessage(serialization, valueType, serializationFormat); + } + catch (IOException e) + { + throw new DeserializationException("Failed to deserialize input.", e); + } + } + + /** + * Inverse method of "serialize" + * + * @param rdfModel Input RDF Model to be turned into an Instance of the IDS Java classes + * @param valueType class of top level type + * @param deserialized type + * @return an object representing the provided JSON(-LD) structure + * @throws DeserializationException thrown, if deserialization fails, e.g. because the input is not valid RDF + */ + public T deserialize(Model rdfModel, Class valueType) throws DeserializationException { + try { + return new Parser().parseMessage(rdfModel, valueType); + } + catch (IOException e) + { + throw new DeserializationException("Failed to deserialize input.", e); + } + } + + /** + * Allows to add further known namespaces to the message parser. Allows parsing to Java objects with JsonSubTypes annotations with other prefixes than "ids:". + * @param prefix Prefix to be added + * @param namespaceUrl URL of the prefix + */ + public static void addKnownNamespace(String prefix, String namespaceUrl) + { + Parser.knownNamespaces.put(prefix, namespaceUrl); + JsonLDSerializer.contextItems.put(prefix, namespaceUrl); + } + + /** + * Method to add a preprocessor for deserialization. + *

+ * Important note: The preprocessors are executed in the same order they were added. + * + * @param preprocessor the preprocessor to add + */ + public void addPreprocessor(JsonPreprocessor preprocessor) { + preprocessors.add(preprocessor); + } + + /** + * Method to add a preprocessor for deserialization. + *

+ * Important note: The preprocessors are executed in the same order they were added. + * + * @param preprocessor the preprocessor to add + * @param validate set whether the preprocessors output should be checked by RDF4j + */ + public void addPreprocessor(JsonPreprocessor preprocessor, boolean validate) { + preprocessor.enableRDFValidation(validate); + addPreprocessor(preprocessor); + } + + /** + * remove a preprocessor if no longer needed + * + * @param preprocessor the preprocessor to remove + */ + public void removePreprocessor(JsonPreprocessor preprocessor) { + preprocessors.remove(preprocessor); + } + + @Override + public String write(AssetAdministrationShellEnvironment aasEnvironment) throws SerializationException { + try { + return serialize(aasEnvironment); + } + catch (IOException e) + { + throw new SerializationException("Failed to serialize environment.", e); + } + } + + public String write(AssetAdministrationShellEnvironment aasEnvironment, Lang format) throws SerializationException { + return write(aasEnvironment, format, new HashMap<>()); + } + + public String write(AssetAdministrationShellEnvironment aasEnvironment, Lang format, Map idMap) throws SerializationException { + try { + return serialize(aasEnvironment, format, idMap); + } + catch (IOException e) + { + throw new SerializationException("Failed to serialize environment.", e); + } + } + @Override + public AssetAdministrationShellEnvironment read(String value) throws DeserializationException { + try { + return new Parser().parseMessage(value, AssetAdministrationShellEnvironment.class); + } + catch (IOException e) + { + throw new DeserializationException("Could not deserialize to environment.", e); + } + } + + public AssetAdministrationShellEnvironment read(String value, Lang serializationFormat) throws DeserializationException { + try { + return new Parser().parseMessage(value, AssetAdministrationShellEnvironment.class, serializationFormat); + } + catch (IOException e) + { + throw new DeserializationException("Could not deserialize to environment.", e); + } + } + + @Override + public void useImplementation(Class aasInterface, Class implementation) { + customImplementationMap.put(aasInterface, implementation); + //throw new NotImplementedException("Custom implementation support not yet implemented"); + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/UriSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/UriSerializer.java new file mode 100644 index 000000000..282991150 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/UriSerializer.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import java.io.IOException; +import java.net.URI; + + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonStreamContext; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +public class UriSerializer extends StdSerializer { + + + public UriSerializer() { + this(null); + } + + public UriSerializer(Class clazz) { + super(clazz); + } + + + @Override + public void serialize(URI value, JsonGenerator gen, SerializerProvider provider) throws IOException { + String serializedUri = value.toString(); + // String idPattern = "{\"@id\": \"" + serializedUri + "\"}"; + JsonStreamContext context = gen.getOutputContext(); + if (context.getCurrentName() != null && context.getCurrentName().contains("@id")) { + gen.writeString(serializedUri); + } else { + gen.writeStartObject(); + gen.writeStringField("@id", serializedUri); + gen.writeEndObject(); + } + } + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/BigDecimalSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/BigDecimalSerializer.java new file mode 100644 index 000000000..ee9aac7ab --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/BigDecimalSerializer.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.custom; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import java.io.IOException; +import java.math.BigDecimal; + +public class BigDecimalSerializer extends StdSerializer { + + public BigDecimalSerializer() { + this(null); + } + + public BigDecimalSerializer(Class clazz) { + super(clazz); + } + + @Override + public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + gen.writeStringField("@value", value.toString()); + gen.writeStringField("@type", "http://www.w3.org/2001/XMLSchema#decimal"); + gen.writeEndObject(); + } +} \ No newline at end of file diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/JsonLdEnumMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/JsonLdEnumMixin.java new file mode 100644 index 000000000..b19dfb934 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/JsonLdEnumMixin.java @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.custom; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.adminshell.aas.v3.dataformat.rdf.JsonLdEnumSerializer; + +@JsonSerialize(using = JsonLdEnumSerializer.class) +public class JsonLdEnumMixin { +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/LangStringMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/LangStringMixin.java new file mode 100644 index 000000000..b2fdc09d2 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/LangStringMixin.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.custom; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +import io.adminshell.aas.v3.model.AccessPermissionRule; + +import java.util.List; + +@JsonTypeName("rdf:langString") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface LangStringMixin { + @JsonProperty("@value") + public List getValue(); + + @JsonProperty("@language") + public List getLanguage(); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/ReflectiveMixInResolver.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/ReflectiveMixInResolver.java new file mode 100644 index 000000000..275a3e6ba --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/ReflectiveMixInResolver.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.custom; + +import com.fasterxml.jackson.databind.introspect.ClassIntrospector; + +public class ReflectiveMixInResolver implements ClassIntrospector.MixInResolver { + + @Override + public Class findMixInClassFor(Class cls) { + if (cls.isEnum()) + { + return JsonLdEnumMixin.class; + } + try { + return Class.forName("io.adminshell.aas.v3.dataformat.rdf.mixins." + cls.getSimpleName() + "Mixin"); + } + catch (ClassNotFoundException ignored) + { + return null; + } + } + + @Override + public ClassIntrospector.MixInResolver copy() { + return new ReflectiveMixInResolver(); + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarDeserializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarDeserializer.java new file mode 100644 index 000000000..aaed0f3e0 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarDeserializer.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.custom; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +import javax.xml.datatype.DatatypeConfigurationException; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.XMLGregorianCalendar; +import java.io.IOException; +import java.time.ZonedDateTime; +import java.util.GregorianCalendar; + +public class XMLGregorianCalendarDeserializer extends StdDeserializer { + + public XMLGregorianCalendarDeserializer() { + this(XMLGregorianCalendar.class); + } + + public XMLGregorianCalendarDeserializer(Class clazz) { + super(clazz); + } + + @Override + public XMLGregorianCalendar deserialize(JsonParser p, DeserializationContext context) throws IOException { + XMLGregorianCalendar xgc = null; + try { + xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.from(ZonedDateTime.parse(p.getValueAsString()))); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + return xgc; + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarSerializer.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarSerializer.java new file mode 100644 index 000000000..f86b6bf25 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/custom/XMLGregorianCalendarSerializer.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.custom; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import javax.xml.datatype.XMLGregorianCalendar; +import java.io.IOException; +import java.text.SimpleDateFormat; + +public class XMLGregorianCalendarSerializer extends StdSerializer { + + public XMLGregorianCalendarSerializer() { + this(null); + } + + public XMLGregorianCalendarSerializer(Class clazz) { + super(clazz); + } + + @Override + public void serialize(XMLGregorianCalendar value, JsonGenerator gen, SerializerProvider provider) throws IOException { + SimpleDateFormat xsdDateTimeStampFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + xsdDateTimeStampFormat.setCalendar(value.toGregorianCalendar()); + String xsdDateTimeStampFormatted = xsdDateTimeStampFormat.format(value.toGregorianCalendar().getTime()); + gen.writeStartObject(); + gen.writeStringField("@value", xsdDateTimeStampFormatted); + gen.writeStringField("@type", "http://www.w3.org/2001/XMLSchema#dateTimeStamp"); + gen.writeEndObject(); + + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlMixin.java new file mode 100644 index 000000000..f47c35790 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlMixin.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AccessPermissionRule; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:AccessControl") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AccessControlMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule") + List getAccessPermissionRules(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule") + void setAccessPermissionRules(List accessPermissionRules); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableSubjectAttributes") + Reference getSelectableSubjectAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableSubjectAttributes") + void setSelectableSubjectAttributes(Reference selectableSubjectAttributes); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes") + Reference getDefaultSubjectAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes") + void setDefaultSubjectAttributes(Reference defaultSubjectAttributes); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions") + Reference getSelectablePermissions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions") + void setSelectablePermissions(Reference selectablePermissions); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions") + Reference getDefaultPermissions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions") + void setDefaultPermissions(Reference defaultPermissions); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableEnvironmentAttributes") + Reference getSelectableEnvironmentAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableEnvironmentAttributes") + void setSelectableEnvironmentAttributes(Reference selectableEnvironmentAttributes); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultEnvironmentAttributes") + Reference getDefaultEnvironmentAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultEnvironmentAttributes") + void setDefaultEnvironmentAttributes(Reference defaultEnvironmentAttributes); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlPolicyPointsMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlPolicyPointsMixin.java new file mode 100644 index 000000000..221ba03d0 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessControlPolicyPointsMixin.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.PolicyAdministrationPoint; +import io.adminshell.aas.v3.model.PolicyDecisionPoint; +import io.adminshell.aas.v3.model.PolicyEnforcementPoints; +import io.adminshell.aas.v3.model.PolicyInformationPoints; + +@JsonTypeName("aas:AccessControlPolicyPoints") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AccessControlPolicyPointsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyAdministrationPoint") + PolicyAdministrationPoint getPolicyAdministrationPoint(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyAdministrationPoint") + void setPolicyAdministrationPoint(PolicyAdministrationPoint policyAdministrationPoint); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyDecisionPoint") + PolicyDecisionPoint getPolicyDecisionPoint(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyDecisionPoint") + void setPolicyDecisionPoint(PolicyDecisionPoint policyDecisionPoint); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyEnforcementPoint") + PolicyEnforcementPoints getPolicyEnforcementPoint(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyEnforcementPoint") + void setPolicyEnforcementPoint(PolicyEnforcementPoints policyEnforcementPoint); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyInformationPoints") + PolicyInformationPoints getPolicyInformationPoints(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyInformationPoints") + void setPolicyInformationPoints(PolicyInformationPoints policyInformationPoints); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessPermissionRuleMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessPermissionRuleMixin.java new file mode 100644 index 000000000..a728329c7 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AccessPermissionRuleMixin.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.PermissionsPerObject; +import io.adminshell.aas.v3.model.SubjectAttributes; + +import java.util.List; + +@JsonTypeName("aas:AccessPermissionRule") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AccessPermissionRuleMixin extends ReferableMixin, QualifiableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/permissionsPerObject") + List getPermissionsPerObjects(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/permissionsPerObject") + void setPermissionsPerObjects(List permissionsPerObjects); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/targetSubjectAttributes") + SubjectAttributes getTargetSubjectAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/targetSubjectAttributes") + void setTargetSubjectAttributes(SubjectAttributes targetSubjectAttributes); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AdministrativeInformationMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AdministrativeInformationMixin.java new file mode 100644 index 000000000..70742db5b --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AdministrativeInformationMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:AdministrativeInformation") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AdministrativeInformationMixin extends HasDataSpecificationMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation/version") + String getVersion(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation/version") + void setVersion(String version); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation/revision") + String getRevision(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation/revision") + void setRevision(String revision); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AnnotatedRelationshipElementMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AnnotatedRelationshipElementMixin.java new file mode 100644 index 000000000..4ab6fb5a9 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AnnotatedRelationshipElementMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.DataElement; + +import java.util.List; + +@JsonTypeName("aas:AnnotatedRelationshipElement") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AnnotatedRelationshipElementMixin extends RelationshipElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AnnotatedRelationshipElement/annotation") + List getAnnotations(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AnnotatedRelationshipElement/annotation") + void setAnnotations(List annotations); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellEnvironmentMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellEnvironmentMixin.java new file mode 100644 index 000000000..19324da06 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellEnvironmentMixin.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Submodel; + +import java.util.List; + +@JsonTypeName("aas:AssetAdministrationShellEnvironment") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AssetAdministrationShellEnvironmentMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/assetAdministrationShells") + List getAssetAdministrationShells(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/assetAdministrationShells") + void setAssetAdministrationShells(List assetAdministrationShells); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/conceptDescriptions") + List getConceptDescriptions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/conceptDescriptions") + void setConceptDescriptions(List conceptDescriptions); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/submodels") + List getSubmodels(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/submodels") + void setSubmodels(List submodels); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellMixin.java new file mode 100644 index 000000000..706821baa --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetAdministrationShellMixin.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.Security; +import io.adminshell.aas.v3.model.View; + +import java.util.List; + +@JsonTypeName("aas:AssetAdministrationShell") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AssetAdministrationShellMixin extends HasDataSpecificationMixin, IdentifiableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/assetInformation") + AssetInformation getAssetInformation(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/assetInformation") + void setAssetInformation(AssetInformation assetInformation); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/derivedFrom") + Reference getDerivedFrom(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/derivedFrom") + void setDerivedFrom(Reference derivedFrom); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/security") + Security getSecurity(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/security") + void setSecurity(Security security); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/submodel") + List getSubmodels(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/submodel") + void setSubmodels(List submodels); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/view") + List getViews(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/view") + void setViews(List views); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetInformationMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetInformationMixin.java new file mode 100644 index 000000000..9429b7147 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetInformationMixin.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:AssetInformation") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AssetInformationMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/assetKind") + AssetKind getAssetKind(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/assetKind") + void setAssetKind(AssetKind assetKind); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/globalAssetId") + Reference getGlobalAssetId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/globalAssetId") + void setGlobalAssetId(Reference globalAssetId); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/specificAssetId") + List getSpecificAssetIds(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/specificAssetId") + void setSpecificAssetIds(List specificAssetIds); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/billOfMaterial") + List getBillOfMaterials(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/billOfMaterial") + void setBillOfMaterials(List billOfMaterials); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/defaultThumbnail") + File getDefaultThumbnail(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/AssetInformation/defaultThumbnail") + void setDefaultThumbnail(File defaultThumbnail); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetMixin.java new file mode 100644 index 000000000..38f36055d --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/AssetMixin.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:Asset") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface AssetMixin extends HasDataSpecificationMixin, IdentifiableMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BasicEventMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BasicEventMixin.java new file mode 100644 index 000000000..4a6fa8107 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BasicEventMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:BasicEvent") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface BasicEventMixin extends EventMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BasicEvent/observed") + Reference getObserved(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BasicEvent/observed") + void setObserved(Reference observed); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobCertificateMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobCertificateMixin.java new file mode 100644 index 000000000..32cbfedfb --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobCertificateMixin.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:BlobCertificate") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface BlobCertificateMixin extends CertificateMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BlobCertificate/blobCertificate") + Blob getBlobCertificate(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BlobCertificate/blobCertificate") + void setBlobCertificate(Blob blobCertificate); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BlobCertificate/containedExtension") + List getContainedExtensions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BlobCertificate/containedExtension") + void setContainedExtensions(List containedExtensions); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BlobCertificate/lastCertificate") + boolean getLastCertificate(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/BlobCertificate/lastCertificate") + void setLastCertificate(boolean lastCertificate); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobMixin.java new file mode 100644 index 000000000..03222e539 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/BlobMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:Blob") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface BlobMixin extends DataElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Blob/mimeType") + String getMimeType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Blob/mimeType") + void setMimeType(String mimeType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Blob/value") + byte[] getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Blob/value") + void setValue(byte[] value); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CapabilityMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CapabilityMixin.java new file mode 100644 index 000000000..a743d17c6 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CapabilityMixin.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:Capability") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface CapabilityMixin extends SubmodelElementMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CertificateMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CertificateMixin.java new file mode 100644 index 000000000..924c75054 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/CertificateMixin.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.BlobCertificate; +import io.adminshell.aas.v3.model.PolicyAdministrationPoint; + +@JsonTypeName("aas:Certificate") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = BlobCertificate.class) +}) +public interface CertificateMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Certificate/policyAdministrationPoint") + PolicyAdministrationPoint getPolicyAdministrationPoint(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Certificate/policyAdministrationPoint") + void setPolicyAdministrationPoint(PolicyAdministrationPoint policyAdministrationPoint); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConceptDescriptionMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConceptDescriptionMixin.java new file mode 100644 index 000000000..db5d350b5 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConceptDescriptionMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:ConceptDescription") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ConceptDescriptionMixin extends HasDataSpecificationMixin, IdentifiableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ConceptDescription/isCaseOf") + List getIsCaseOfs(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ConceptDescription/isCaseOf") + void setIsCaseOfs(List isCaseOfs); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConstraintMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConstraintMixin.java new file mode 100644 index 000000000..00c63b061 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ConstraintMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Formula; +import io.adminshell.aas.v3.model.Qualifier; + +@JsonTypeName("aas:Constraint") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = Formula.class), + @JsonSubTypes.Type(value = Qualifier.class) +}) +public interface ConstraintMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataElementMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataElementMixin.java new file mode 100644 index 000000000..34a6c59a4 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataElementMixin.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +@JsonTypeName("aas:DataElement") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = File.class), + @JsonSubTypes.Type(value = Blob.class), + @JsonSubTypes.Type(value = MultiLanguageProperty.class), + @JsonSubTypes.Type(value = Property.class), + @JsonSubTypes.Type(value = Range.class), + @JsonSubTypes.Type(value = ReferenceElement.class) +}) +public interface DataElementMixin extends SubmodelElementMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationContentMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationContentMixin.java new file mode 100644 index 000000000..84d98210a --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationContentMixin.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:DataSpecificationContent") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface DataSpecificationContentMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationIEC61360Mixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationIEC61360Mixin.java new file mode 100644 index 000000000..1adfbebd0 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationIEC61360Mixin.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +import java.util.List; + +@JsonTypeName("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface DataSpecificationIEC61360Mixin extends DataSpecificationContentMixin { + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/dataType") + DataTypeIEC61360 getDataType(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/dataType") + void setDataType(DataTypeIEC61360 dataType); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/definition") + List getDefinitions(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/definition") + void setDefinitions(List definitions); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/levelType") + List getLevelTypes(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/levelType") + void setLevelTypes(List levelTypes); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/preferredName") + List getPreferredNames(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/preferredName") + void setPreferredNames(List preferredNames); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/shortName") + List getShortNames(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/shortName") + void setShortNames(List shortNames); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/sourceOfDefinition") + String getSourceOfDefinition(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/sourceOfDefinition") + void setSourceOfDefinition(String sourceOfDefinition); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/symbol") + String getSymbol(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/symbol") + void setSymbol(String symbol); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/unit") + String getUnit(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/unit") + void setUnit(String unit); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/unitId") + Reference getUnitId(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/unitId") + void setUnitId(Reference unitId); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueFormat") + String getValueFormat(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueFormat") + void setValueFormat(String valueFormat); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/value") + void setValue(String value); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueList") + ValueList getValueList(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueList") + void setValueList(ValueList valueList); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueId") + Reference getValueId(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueId") + void setValueId(Reference valueId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationMixin.java new file mode 100644 index 000000000..0df978077 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.DataSpecificationContent; + +@JsonTypeName("https://admin-shell.io/aas/3/0/RC01/DataSpecification") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface DataSpecificationMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/DataSpecification/dataSpecificationContent") + public DataSpecificationContent getDataSpecificationContent(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/DataSpecification/dataSpecificationContent") + public void setDataSpecificationContent(DataSpecificationContent dataSpecificationContent); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationPhysicalUnitMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationPhysicalUnitMixin.java new file mode 100644 index 000000000..14aab18aa --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/DataSpecificationPhysicalUnitMixin.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.LangString; + +import java.util.List; + +@JsonTypeName("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface DataSpecificationPhysicalUnitMixin extends DataSpecificationContentMixin { + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/conversionFactor") + String getConversionFactor(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/conversionFactor") + void setConversionFactor(String conversionFactor); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/definition") + List getDefinitions(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/definition") + void setDefinitions(List definitions); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/dinNotation") + String getDinNotation(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/dinNotation") + void setDinNotation(String dinNotation); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/eceCode") + String getEceCode(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/eceCode") + void setEceCode(String eceCode); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/eceName") + String getEceName(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/eceName") + void setEceName(String eceName); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/nistName") + String getNistName(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/nistName") + void setNistName(String nistName); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/siName") + String getSiName(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/siName") + void setSiName(String siName); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/siNotation") + String getSiNotation(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/siNotation") + void setSiNotation(String siNotation); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/registrationAuthorityId") + String getRegistrationAuthorityId(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/registrationAuthorityId") + void setRegistrationAuthorityId(String registrationAuthorityId); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/supplier") + String getSupplier(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/supplier") + void setSupplier(String supplier); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/unitName") + String getUnitName(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/unitName") + void setUnitName(String unitName); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/unitSymbol") + String getUnitSymbol(); + + @JsonProperty("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/unitSymbol") + void setUnitSymbol(String unitSymbol); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EmbeddedDataSpecificationMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EmbeddedDataSpecificationMixin.java new file mode 100644 index 000000000..f797a6bd4 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EmbeddedDataSpecificationMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:EmbeddedDataSpecification") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface EmbeddedDataSpecificationMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecification") + Reference getDataSpecification(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecification") + void setDataSpecification(Reference dataSpecification); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecificationContent") + DataSpecificationContent getDataSpecificationContent(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecificationContent") + void setDataSpecificationContent(DataSpecificationContent dataSpecificationContent); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EntityMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EntityMixin.java new file mode 100644 index 000000000..43e861980 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EntityMixin.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.SubmodelElement; + +import java.util.List; + +@JsonTypeName("aas:Entity") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface EntityMixin extends SubmodelElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/globalAssetId") + Reference getGlobalAssetId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/globalAssetId") + void setGlobalAssetId(Reference globalAssetId); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/specificAssetId") + IdentifierKeyValuePair getSpecificAssetId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/specificAssetId") + void setSpecificAssetId(IdentifierKeyValuePair specificAssetId); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/entityType") + EntityType getEntityType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/entityType") + void setEntityType(EntityType entityType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/statement") + List getStatements(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Entity/statement") + void setStatements(List statements); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventElementMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventElementMixin.java new file mode 100644 index 000000000..d59a017d7 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventElementMixin.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:EventElement") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface EventElementMixin extends SubmodelElementMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMessageMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMessageMixin.java new file mode 100644 index 000000000..d6134c10c --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMessageMixin.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:EventMessage") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface EventMessageMixin extends SubmodelElementMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMixin.java new file mode 100644 index 000000000..4a3b3d1df --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/EventMixin.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.BasicEvent; + +@JsonTypeName("aas:Event") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = BasicEvent.class) +}) +public interface EventMixin extends SubmodelElementMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ExtensionMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ExtensionMixin.java new file mode 100644 index 000000000..80f9a1616 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ExtensionMixin.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:Extension") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ExtensionMixin extends HasSemanticsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/name") + String getName(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/name") + void setName(String name); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/valueType") + String getValueType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/valueType") + void setValueType(String valueType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/value") + void setValue(String value); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/refersTo") + Reference getRefersTo(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Extension/refersTo") + void setRefersTo(Reference refersTo); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FileMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FileMixin.java new file mode 100644 index 000000000..fb17d3bc5 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FileMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:File") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface FileMixin extends DataElementMixin, SubmodelElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/File/mimeType") + String getMimeType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/File/mimeType") + void setMimeType(String mimeType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/File/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/File/value") + void setValue(String value); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FormulaMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FormulaMixin.java new file mode 100644 index 000000000..5b2ce2398 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/FormulaMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:Formula") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface FormulaMixin extends ConstraintMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Formula/dependsOn") + List getDependsOns(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Formula/dependsOn") + void setDependsOns(List dependsOns); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasDataSpecificationMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasDataSpecificationMixin.java new file mode 100644 index 000000000..025bc6673 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasDataSpecificationMixin.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +import java.util.List; + +@JsonTypeName("aas:HasDataSpecification") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = Submodel.class), + @JsonSubTypes.Type(value = AdministrativeInformation.class), + @JsonSubTypes.Type(value = Asset.class), + @JsonSubTypes.Type(value = AssetAdministrationShell.class), + @JsonSubTypes.Type(value = View.class), + @JsonSubTypes.Type(value = ConceptDescription.class), + @JsonSubTypes.Type(value = SubmodelElement.class) +}) +public interface HasDataSpecificationMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification") + List getEmbeddedDataSpecifications(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification") + void setEmbeddedDataSpecifications(List embeddedDataSpecifications); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasExtensionsMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasExtensionsMixin.java new file mode 100644 index 000000000..ecd339eac --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasExtensionsMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Extension; + +import java.util.List; + +@JsonTypeName("aas:HasExtensions") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface HasExtensionsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension") + List getExtensions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension") + void setExtensions(List extensions); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasKindMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasKindMixin.java new file mode 100644 index 000000000..526a11f22 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasKindMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; + +@JsonTypeName("aas:HasKind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = Submodel.class), + @JsonSubTypes.Type(value = SubmodelElement.class) +}) +public interface HasKindMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasKind/kind") + ModelingKind getKind(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasKind/kind") + void setKind(ModelingKind kind); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasSemanticsMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasSemanticsMixin.java new file mode 100644 index 000000000..899904758 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/HasSemanticsMixin.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +@JsonTypeName("aas:HasSemantics") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = Submodel.class), + @JsonSubTypes.Type(value = IdentifierKeyValuePair.class), + @JsonSubTypes.Type(value = View.class), + @JsonSubTypes.Type(value = SubmodelElement.class), + @JsonSubTypes.Type(value = Qualifier.class), + @JsonSubTypes.Type(value = Extension.class) +}) +public interface HasSemanticsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasSemantics/semanticId") + Reference getSemanticId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/HasSemantics/semanticId") + void setSemanticId(Reference semanticId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifiableMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifiableMixin.java new file mode 100644 index 000000000..64d137748 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifiableMixin.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +@JsonTypeName("aas:Identifiable") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = Submodel.class), + @JsonSubTypes.Type(value = Asset.class), + @JsonSubTypes.Type(value = AssetAdministrationShell.class), + @JsonSubTypes.Type(value = ConceptDescription.class) +}) +public interface IdentifiableMixin extends ReferableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifiable/administration") + AdministrativeInformation getAdministration(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifiable/administration") + void setAdministration(AdministrativeInformation administration); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifiable/identification") + Identifier getIdentification(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifiable/identification") + void setIdentification(Identifier identification); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierKeyValuePairMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierKeyValuePairMixin.java new file mode 100644 index 000000000..f5eb00cc6 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierKeyValuePairMixin.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:IdentifierKeyValuePair") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface IdentifierKeyValuePairMixin extends HasSemanticsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/key") + String getKey(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/key") + void setKey(String key); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/value") + void setValue(String value); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/externalSubjectId") + Reference getExternalSubjectId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/externalSubjectId") + void setExternalSubjectId(Reference externalSubjectId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierMixin.java new file mode 100644 index 000000000..851a21ada --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/IdentifierMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.IdentifierType; + +@JsonTypeName("aas:Identifier") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface IdentifierMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifier/identifier") + String getIdentifier(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifier/identifier") + void setIdentifier(String identifier); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifier/idType") + IdentifierType getIdType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Identifier/idType") + void setIdType(IdentifierType idType); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/KeyMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/KeyMixin.java new file mode 100644 index 000000000..8aaecc9b8 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/KeyMixin.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; + +@JsonTypeName("aas:Key") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface KeyMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Key/idType") + KeyType getIdType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Key/idType") + void setIdType(KeyType idType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Key/type") + KeyElements getType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Key/type") + void setType(KeyElements type); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Key/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Key/value") + void setValue(String value); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/MultiLanguagePropertyMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/MultiLanguagePropertyMixin.java new file mode 100644 index 000000000..7ddbffba1 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/MultiLanguagePropertyMixin.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:MultiLanguageProperty") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface MultiLanguagePropertyMixin extends DataElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty/value") + List getValues(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty/value") + void setValues(List values); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty/valueId") + Reference getValueId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty/valueId") + void setValueId(Reference valueId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ObjectAttributesMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ObjectAttributesMixin.java new file mode 100644 index 000000000..a08d71780 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ObjectAttributesMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:ObjectAttributes") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ObjectAttributesMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ObjectAttributes/objectAttribute") + List getObjectAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ObjectAttributes/objectAttribute") + void setObjectAttributes(List objectAttributes); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationMixin.java new file mode 100644 index 000000000..cc10174dc --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationMixin.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.OperationVariable; + +import java.util.List; + +@JsonTypeName("aas:Operation") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface OperationMixin extends SubmodelElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Operation/inputVariable") + List getInputVariables(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Operation/inputVariable") + void setInputVariables(List inputVariables); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Operation/inoutputVariable") + List getInoutputVariables(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Operation/inoutputVariable") + void setInoutputVariables(List inoutputVariables); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Operation/outputVariable") + List getOutputVariables(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Operation/outputVariable") + void setOutputVariables(List outputVariables); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationVariableMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationVariableMixin.java new file mode 100644 index 000000000..0329517fe --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/OperationVariableMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.SubmodelElement; + +@JsonTypeName("aas:OperationVariable") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface OperationVariableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/OperationVariable/value") + SubmodelElement getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/OperationVariable/value") + void setValue(SubmodelElement value); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionMixin.java new file mode 100644 index 000000000..472814183 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.PermissionKind; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:Permission") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PermissionMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Permission/kindOfPermission") + PermissionKind getKindOfPermission(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Permission/kindOfPermission") + void setKindOfPermission(PermissionKind kindOfPermission); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Permission/permission") + Reference getPermission(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Permission/permission") + void setPermission(Reference permission); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionsPerObjectMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionsPerObjectMixin.java new file mode 100644 index 000000000..08286ceb7 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PermissionsPerObjectMixin.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.ObjectAttributes; +import io.adminshell.aas.v3.model.Permission; +import io.adminshell.aas.v3.model.Referable; + +import java.util.List; + +@JsonTypeName("aas:PermissionsPerObject") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PermissionsPerObjectMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/object") + Referable getObject(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/object") + void setObject(Referable object); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/permission") + List getPermissions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/permission") + void setPermissions(List permissions); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/targetObjectAttributes") + ObjectAttributes getTargetObjectAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/targetObjectAttributes") + void setTargetObjectAttributes(ObjectAttributes targetObjectAttributes); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyAdministrationPointMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyAdministrationPointMixin.java new file mode 100644 index 000000000..d0e7f883b --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyAdministrationPointMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AccessControl; + +@JsonTypeName("aas:PolicyAdministrationPoint") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PolicyAdministrationPointMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint/localAccessControl") + AccessControl getLocalAccessControl(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint/localAccessControl") + void setLocalAccessControl(AccessControl localAccessControl); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint/externalAccessControl") + boolean getExternalAccessControl(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint/externalAccessControl") + void setExternalAccessControl(boolean externalAccessControl); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyDecisionPointMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyDecisionPointMixin.java new file mode 100644 index 000000000..77ae5f372 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyDecisionPointMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:PolicyDecisionPoint") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PolicyDecisionPointMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyDecisionPoint/externalPolicyDecisionPoints") + boolean getExternalPolicyDecisionPoints(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyDecisionPoint/externalPolicyDecisionPoints") + void setExternalPolicyDecisionPoints(boolean externalPolicyDecisionPoints); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyEnforcementPointsMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyEnforcementPointsMixin.java new file mode 100644 index 000000000..987c08845 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyEnforcementPointsMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:PolicyEnforcementPoints") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PolicyEnforcementPointsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyEnforcementPoints/externalPolicyEnforcementPoint") + boolean getExternalPolicyEnforcementPoint(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyEnforcementPoints/externalPolicyEnforcementPoint") + void setExternalPolicyEnforcementPoint(boolean externalPolicyEnforcementPoint); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyInformationPointsMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyInformationPointsMixin.java new file mode 100644 index 000000000..9ac4a21c1 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PolicyInformationPointsMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:PolicyInformationPoints") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PolicyInformationPointsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints/externalInformationPoints") + boolean getExternalInformationPoints(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints/externalInformationPoints") + void setExternalInformationPoints(boolean externalInformationPoints); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints/internalInformationPoint") + List getInternalInformationPoints(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints/internalInformationPoint") + void setInternalInformationPoints(List internalInformationPoints); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PropertyMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PropertyMixin.java new file mode 100644 index 000000000..ec1f4edb9 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/PropertyMixin.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:Property") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface PropertyMixin extends DataElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Property/valueType") + String getValueType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Property/valueType") + void setValueType(String valueType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Property/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Property/value") + void setValue(String value); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Property/valueId") + Reference getValueId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Property/valueId") + void setValueId(Reference valueId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifiableMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifiableMixin.java new file mode 100644 index 000000000..4de552e0a --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifiableMixin.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AccessPermissionRule; +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; + +import java.util.List; + +@JsonTypeName("aas:Qualifiable") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = AccessPermissionRule.class), + @JsonSubTypes.Type(value = Submodel.class), + @JsonSubTypes.Type(value = SubmodelElement.class) +}) +public interface QualifiableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier") + List getQualifiers(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier") + void setQualifiers(List qualifiers); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifierMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifierMixin.java new file mode 100644 index 000000000..296ce1b3c --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/QualifierMixin.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:Qualifier") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface QualifierMixin extends ConstraintMixin, HasSemanticsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/type") + String getType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/type") + void setType(String type); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/valueType") + String getValueType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/valueType") + void setValueType(String valueType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/value") + void setValue(String value); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/valueId") + Reference getValueId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Qualifier/valueId") + void setValueId(Reference valueId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RangeMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RangeMixin.java new file mode 100644 index 000000000..9b23d9190 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RangeMixin.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeName("aas:Range") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface RangeMixin extends DataElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Range/valueType") + String getValueType(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Range/valueType") + void setValueType(String valueType); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Range/max") + String getMax(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Range/max") + void setMax(String max); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Range/min") + String getMin(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Range/min") + void setMin(String min); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferableMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferableMixin.java new file mode 100644 index 000000000..bb9481535 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferableMixin.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +import java.util.List; + +@JsonTypeName("aas:Referable") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = AccessPermissionRule.class), + @JsonSubTypes.Type(value = Identifiable.class), + @JsonSubTypes.Type(value = View.class), + @JsonSubTypes.Type(value = SubmodelElement.class) +}) +public interface ReferableMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/category") + String getCategory(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/category") + void setCategory(String category); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/description") + List getDescriptions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/description") + void setDescriptions(List descriptions); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/displayName") + List getDisplayNames(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/displayName") + void setDisplayNames(List displayNames); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/idShort") + String getIdShort(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Referable/idShort") + void setIdShort(String idShort); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceElementMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceElementMixin.java new file mode 100644 index 000000000..996136f22 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceElementMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:ReferenceElement") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ReferenceElementMixin extends DataElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ReferenceElement/value") + Reference getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ReferenceElement/value") + void setValue(Reference value); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceMixin.java new file mode 100644 index 000000000..c6bad0b76 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ReferenceMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Key; + +import java.util.List; + +@JsonTypeName("aas:Reference") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ReferenceMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Reference/key") + List getKeys(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Reference/key") + void setKeys(List keys); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RelationshipElementMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RelationshipElementMixin.java new file mode 100644 index 000000000..9face0988 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/RelationshipElementMixin.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:RelationshipElement") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = AnnotatedRelationshipElement.class) +}) +public interface RelationshipElementMixin extends SubmodelElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/RelationshipElement/first") + Reference getFirst(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/RelationshipElement/first") + void setFirst(Reference first); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/RelationshipElement/second") + Reference getSecond(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/RelationshipElement/second") + void setSecond(Reference second); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SecurityMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SecurityMixin.java new file mode 100644 index 000000000..a3dc1705d --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SecurityMixin.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.AccessControlPolicyPoints; +import io.adminshell.aas.v3.model.Certificate; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:Security") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface SecurityMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Security/accessControlPolicyPoints") + AccessControlPolicyPoints getAccessControlPolicyPoints(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Security/accessControlPolicyPoints") + void setAccessControlPolicyPoints(AccessControlPolicyPoints accessControlPolicyPoints); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Security/certificate") + List getCertificates(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Security/certificate") + void setCertificates(List certificates); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Security/requiredCertificateExtension") + List getRequiredCertificateExtensions(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Security/requiredCertificateExtension") + void setRequiredCertificateExtensions(List requiredCertificateExtensions); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubjectAttributesMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubjectAttributesMixin.java new file mode 100644 index 000000000..3079af3aa --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubjectAttributesMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.DataElement; + +import java.util.List; + +@JsonTypeName("aas:SubjectAttributes") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface SubjectAttributesMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubjectAttributes/subjectAttribute") + List getSubjectAttributes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubjectAttributes/subjectAttribute") + void setSubjectAttributes(List subjectAttributes); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementCollectionMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementCollectionMixin.java new file mode 100644 index 000000000..eb8a65920 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementCollectionMixin.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.SubmodelElement; + +import java.util.Collection; + +@JsonTypeName("aas:SubmodelElementCollection") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface SubmodelElementCollectionMixin extends SubmodelElementMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/allowDuplicates") + boolean getAllowDuplicates(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/allowDuplicates") + void setAllowDuplicates(boolean allowDuplicates); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/ordered") + boolean getOrdered(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/ordered") + void setOrdered(boolean ordered); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/value") + Collection getValues(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/value") + void setValues(Collection values); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementMixin.java new file mode 100644 index 000000000..9d8ce2372 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelElementMixin.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.*; + +@JsonTypeName("aas:SubmodelElement") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = RelationshipElement.class), + @JsonSubTypes.Type(value = DataElement.class), + @JsonSubTypes.Type(value = File.class), + @JsonSubTypes.Type(value = Event.class), + @JsonSubTypes.Type(value = Capability.class), + @JsonSubTypes.Type(value = Entity.class), + @JsonSubTypes.Type(value = EventElement.class), + @JsonSubTypes.Type(value = EventMessage.class), + @JsonSubTypes.Type(value = Operation.class), + @JsonSubTypes.Type(value = SubmodelElementCollection.class) +}) +public interface SubmodelElementMixin extends ReferableMixin, QualifiableMixin, HasDataSpecificationMixin, HasKindMixin, HasSemanticsMixin { + +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelMixin.java new file mode 100644 index 000000000..4dc5f29bf --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/SubmodelMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.SubmodelElement; + +import java.util.List; + +@JsonTypeName("aas:Submodel") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface SubmodelMixin extends QualifiableMixin, HasDataSpecificationMixin, IdentifiableMixin, HasKindMixin, HasSemanticsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Submodel/submodelElement") + List getSubmodelElements(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/Submodel/submodelElement") + void setSubmodelElements(List submodelElements); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueListMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueListMixin.java new file mode 100644 index 000000000..bd44d62d6 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueListMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.ValueReferencePair; + +import java.util.List; + +@JsonTypeName("aas:ValueList") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ValueListMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ValueList/valueReferencePairTypes") + List getValueReferencePairTypes(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ValueList/valueReferencePairTypes") + void setValueReferencePairTypes(List valueReferencePairTypes); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueReferencePairMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueReferencePairMixin.java new file mode 100644 index 000000000..4b5e7aebc --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ValueReferencePairMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +@JsonTypeName("aas:ValueReferencePair") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ValueReferencePairMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ValueReferencePair/value") + String getValue(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ValueReferencePair/value") + void setValue(String value); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ValueReferencePair/valueId") + Reference getValueId(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/ValueReferencePair/valueId") + void setValueId(Reference valueId); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ViewMixin.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ViewMixin.java new file mode 100644 index 000000000..5c094d2c6 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/mixins/ViewMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.mixins; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import io.adminshell.aas.v3.model.Reference; + +import java.util.List; + +@JsonTypeName("aas:View") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type") +public interface ViewMixin extends ReferableMixin, HasDataSpecificationMixin, HasSemanticsMixin { + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/View/containedElement") + List getContainedElements(); + + @JsonProperty("https://admin-shell.io/aas/3/0/RC01/View/containedElement") + void setContainedElements(List containedElements); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/BasePreprocessor.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/BasePreprocessor.java new file mode 100644 index 000000000..85b232021 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/BasePreprocessor.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.preprocessing; + + +import org.apache.jena.rdf.model.Model; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.riot.RDFDataMgr; +import org.apache.jena.riot.RDFLanguages; + + +import java.io.ByteArrayInputStream; +import java.io.IOException; + +/** + * basic implementation of {@code JsonPreprocessor} that encapsulates validation. + * By default, validation is disabled for performance reasons (@context has to be downloaded each time). + */ +public abstract class BasePreprocessor implements JsonPreprocessor { + + private boolean validate = false; + + + @Override + public final String preprocess(String input) throws IOException { + String result = preprocess_impl(input); + if(validate) { + Model m = ModelFactory.createDefaultModel(); + RDFDataMgr.read(m, new ByteArrayInputStream(result.getBytes()), RDFLanguages.JSONLD); + } + return result; + } + + abstract String preprocess_impl(String input) throws IOException; + + @Override + public void enableRDFValidation(boolean validate) { + this.validate = validate; + } +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/JsonPreprocessor.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/JsonPreprocessor.java new file mode 100644 index 000000000..8b7e46f91 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/JsonPreprocessor.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.preprocessing; + +import java.io.IOException; + +/** + * Interface for JSON-LD preprocessors which should transform JSON-LD inputs + * before they are deserialized by Jackson. + * + * Implementations used at the same time must not interfere with each other. + */ +public interface JsonPreprocessor { + + /** + * preprocessing method + * @param input of the transformation, the original JSON-LD + * @return the transformation´s result + * @throws IOException if preprocessing fails, e.g. because the input is not valid RDF + */ + public String preprocess(String input) throws IOException; + + /** + * specify wheter the transformation's result should be validated to + * be parsable by RDF4j + * @param validate enable/disable switch + */ + public void enableRDFValidation(boolean validate); +} diff --git a/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/TypeNamePreprocessor.java b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/TypeNamePreprocessor.java new file mode 100644 index 000000000..1fc7fe107 --- /dev/null +++ b/dataformat-rdf/src/main/java/io/adminshell/aas/v3/dataformat/rdf/preprocessing/TypeNamePreprocessor.java @@ -0,0 +1,194 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf.preprocessing; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; + +public class TypeNamePreprocessor extends BasePreprocessor { + + private static final Map prefixes; + + static { + prefixes = new HashMap<>(); + prefixes.put("ids:", "https://w3id.org/idsa/core/"); + prefixes.put("idsc:", "https://w3id.org/idsa/code/"); + prefixes.put("info:", "http://www.fraunhofer.de/fraunhofer-digital/infomodell#"); + prefixes.put("kdsf:", "http://kerndatensatz-forschung.de/version1/technisches_datenmodell/owl/Basis#"); + } + + @Override + String preprocess_impl(String input) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + Map inMap = mapper.readValue(input, Map.class); + Map outMap = unifyTypeURIPrefix(inMap); + return mapper.writeValueAsString(outMap); + } + + + private Map unifyTypeURIPrefix(Map in) { + Map out = new LinkedHashMap<>(); + in.forEach((k,v) -> { + if(v instanceof String && k instanceof String && k.equals("@type")) { + + + // if key is @type and value is a string: add 'ids:' if no other namespace at the value + AtomicReference modifiableValue = new AtomicReference<>((String) v); + prefixes.forEach((p, u) -> modifiableValue.set(modifiableValue.get().replace(u, p))); // replace full URI with prefix + if(! (modifiableValue.get().startsWith("ids:") + || modifiableValue.get().startsWith("idsc:") + || modifiableValue.get().startsWith("info:") + || modifiableValue.get().startsWith("kdsf:") + || modifiableValue.get().startsWith("xsd:") + || modifiableValue.get().startsWith("http://") + || modifiableValue.get().startsWith("https://"))) { + modifiableValue.set("ids:".concat(modifiableValue.get())); // default to ids prefix for backwards compatibility + } + out.put(k, modifiableValue.get()); + + + } else if(v instanceof Map) { + AtomicReference modifiableKey = new AtomicReference<>((String) k); + + prefixes.forEach((prefix, uri) -> modifiableKey.set(modifiableKey.get().replace(uri, prefix))); // replace full URI with prefix + if(! (modifiableKey.get().startsWith("ids:") + || modifiableKey.get().startsWith("info:") + || modifiableKey.get().startsWith("kdsf:") + || modifiableKey.get().startsWith("http://") + || modifiableKey.get().startsWith("https://") + || modifiableKey.get().startsWith("@context"))) { + modifiableKey.set("ids:".concat(modifiableKey.get())); // default to ids prefix for backwards compatibility + } + + + // shorten an @id Map + if (((Map) v).containsKey("@id") && ((Map) v).keySet().size() == 1) { + Map idMap = new LinkedHashMap<>(); + idMap.put(k, ((Map) v).get("@id")); + + out.putAll(unifyTypeURIPrefix(idMap)); + + } else if (((Map) v).containsKey("@value") && + ((Map) v).containsKey("@type")) + { + if( ((Map) v).get("@type").toString().contains("dateTime") ) + { + + // shorten an @value Map with xsd:dateTimes + Object date = ((Map) v).get("@value"); + out.put(modifiableKey, date); + } + else if(((Map) v).get("@type").toString().equals("xsd:integer")) + { + int value = Integer.parseInt(((Map) v).get("@value").toString()); + out.put(modifiableKey, value); + } + else { //Do the same as below + out.put(modifiableKey, unifyTypeURIPrefix((Map) v)); + } + + } else { + + out.put(modifiableKey, unifyTypeURIPrefix((Map) v)); + + + } + + } else if(v instanceof ArrayList) { + + + AtomicReference modifiableKey = new AtomicReference<>((String) k); + prefixes.forEach((p, u) -> modifiableKey.set(modifiableKey.get().replace(u, p))); // replace full URI with prefix + if(! (modifiableKey.get().startsWith("ids:") + || modifiableKey.get().startsWith("info:") + || modifiableKey.get().startsWith("kdsf:") + || modifiableKey.get().startsWith("http://") + || modifiableKey.get().startsWith("https://"))) { + modifiableKey.set("ids:".concat(modifiableKey.get())); // default to ids prefix for backwards compatibility + } + + Iterator iter = new ArrayList((ArrayList) v).iterator(); //making a copy of the old array so the iterator does not get confused by the element deletions + while (iter.hasNext()) { + Object child = iter.next(); + if (child instanceof Map && ((Map) child).containsKey("@id") && ((Map) child).keySet().size() == 1) { + ((ArrayList) v).remove(child); + ((ArrayList) v).add(((Map) child).get("@id")); + } + } + + out.put(modifiableKey, unifyTypeURIPrefix((ArrayList) v)); // TODO: What happens with an Array inside the Array? + + + } else { + + + AtomicReference modifiableKey = new AtomicReference<>((String) k); + prefixes.forEach((p, u) -> modifiableKey.set(modifiableKey.get().replace(u, p))); // replace full URI with prefix + if(! (modifiableKey.get().startsWith("ids:") + || modifiableKey.get().startsWith("info:") + || modifiableKey.get().startsWith("kdsf:") + || modifiableKey.get().startsWith("http://") + || modifiableKey.get().startsWith("https://") + || modifiableKey.get().startsWith("@"))) { + //in the context definition, a pair might look like this: "ids" : "http://www.someURL.com" + //Here, we start with "ids", not "ids:". So we also need to check that the key is not contained in our prefixes + if(!prefixes.containsKey(modifiableKey.get() + ":")) { + modifiableKey.set("ids:".concat(modifiableKey.get())); // default to ids prefix for backwards compatibility + } + } + + out.put(modifiableKey, v); // modify nothing if not @type or a map + } + }); + return out; + } + + + private ArrayList unifyTypeURIPrefix(ArrayList in) { + ArrayList out = new ArrayList<>(); + + Iterator iter = in.iterator(); + + while (iter.hasNext()) { + Object v = iter.next(); + if(v instanceof Map) { + + + if (!((Map) v).isEmpty()) + out.add( unifyTypeURIPrefix((Map) v)); + + + } else if (v instanceof String) { + + out.add(v); // modify nothing if not @type or a map + } else { + out.add(v); + } + } + return out; + } + + + + +} diff --git a/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/ParserTest.java b/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/ParserTest.java new file mode 100644 index 000000000..4330dd4b3 --- /dev/null +++ b/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/ParserTest.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.model.*; +import org.apache.jena.riot.RDFLanguages; +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; + +public class ParserTest { + + @Test + public void parseAASEnvironmentTest() throws IOException, DeserializationException { + String aasEnvAsString = SerializerUtil.readResourceToString("example-from-serializer.jsonld"); + AssetAdministrationShellEnvironment aasEnv = new Serializer().read(aasEnvAsString); + Assert.assertEquals(1, aasEnv.getSubmodels().size()); + Assert.assertEquals(1, aasEnv.getAssetAdministrationShells().get(0).getDescriptions().size()); + Assert.assertEquals(2, aasEnv.getAssetAdministrationShells().get(0).getDisplayNames().size()); + + Assert.assertEquals("de", aasEnv.getAssetAdministrationShells().get(0).getDisplayNames().get(0).getLanguage()); + Assert.assertEquals("en", aasEnv.getAssetAdministrationShells().get(0).getDisplayNames().get(1).getLanguage()); + Assert.assertNull(aasEnv.getAssetAdministrationShells().get(0).getDescriptions().get(0).getLanguage()); + + + } + + @Test + public void parseAllSchemaExamplesTest() throws IOException, DeserializationException { + Serializer serializer = new Serializer(); + //These work + + + serializer.deserialize(SerializerUtil.readResourceToString("AAS_Reference_shortExample.ttl"), AssetAdministrationShell.class, RDFLanguages.TURTLE); + serializer.deserialize(SerializerUtil.readResourceToString("AAS_Reference_shortExample.nt"), AssetAdministrationShell.class, RDFLanguages.NTRIPLES); + serializer.deserialize(SerializerUtil.readResourceToString("Asset_Example.nt"), Asset.class, RDFLanguages.NTRIPLES); + serializer.deserialize(SerializerUtil.readResourceToString("Asset_Example.ttl"), Asset.class, RDFLanguages.TURTLE); + serializer.deserialize(SerializerUtil.readResourceToString("AssetAdministrationShell_Example.ttl"), AssetAdministrationShell.class, RDFLanguages.TURTLE); + //serializer.deserialize(SerializerUtil.readResourceToString("Complete_Example.ttl"), AssetAdministrationShell.class, RDFLanguages.TURTLE); + serializer.deserialize(SerializerUtil.readResourceToString("KapitalVerwaltungsschaleExample.ttl"), Property.class, RDFLanguages.TURTLE); + serializer.deserialize(SerializerUtil.readResourceToString("Overall-Example.nt"), AssetAdministrationShell.class, RDFLanguages.NTRIPLES); + serializer.deserialize(SerializerUtil.readResourceToString("ReferenceExample.ttl"), AssetAdministrationShell.class, RDFLanguages.TURTLE); + serializer.deserialize(SerializerUtil.readResourceToString("Submodel_SubmodelElement_Example.ttl"), Submodel.class, RDFLanguages.TURTLE); + + + + //The following examples do not work yet, as they are semantically problematic + //serializer.deserialize(SerializerUtil.readResourceToString("Submodel_SubmodelElement_shortExample.ttl"), Reference.class, RDFLanguages.TURTLE); + //serializer.deserialize(SerializerUtil.readResourceToString("Submodel_SubmodelElement_shortExample.nt"), Reference.class, RDFLanguages.NTRIPLES); + } + +} diff --git a/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerTest.java b/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerTest.java new file mode 100644 index 000000000..b63ade422 --- /dev/null +++ b/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerTest.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.*; +import org.apache.jena.riot.RDFLanguages; +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class SerializerTest { + + //TODO: Optional: Prefixes instead of full URIs + //TODO: Optional: Do not serialize empty collections + + @Test + public void serializeEnvironment() throws IOException { + AssetAdministrationShell aas = new DefaultAssetAdministrationShell.Builder() + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .build()) + .description(new LangString("This is a test AAS")) + .displayName(new LangString("Display Name 1", "en")) + .displayName(new LangString("Anzeigename 2@de")) + .build(); + Submodel submodel = new DefaultSubmodel.Builder() + .description(new LangString("My Submodel")) + .displayNames(new ArrayList<>( + Arrays.asList( + new LangString("First Submodel Element name"), + new LangString("Second Submodel Element name")))) + .category("Example category") + .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder() + .dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.IRI).value("https://example.org") + .build()) + .build()) + .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.RATIONAL) + .build()) + .build()) + .build(); + List aasList = new ArrayList<>(Collections.singletonList(aas)); + AssetAdministrationShellEnvironment aasEnv = new DefaultAssetAdministrationShellEnvironment.Builder() + .assetAdministrationShells(aasList) + .submodels(submodel) + .build(); + String output = new Serializer().serialize(aasEnv, RDFLanguages.JSONLD); + //System.out.println(output); + Assert.assertTrue(output.contains("@context")); + Assert.assertTrue(output.contains("rdf:")); + + //AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = new Serializer().deserialize(output, AssetAdministrationShellEnvironment.class); + //System.out.println(assetAdministrationShellEnvironment.getAssetAdministrationShells().get(0).getDescriptions().get(0).getValue()); + } +} diff --git a/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerUtil.java b/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerUtil.java new file mode 100644 index 000000000..a4dc6e603 --- /dev/null +++ b/dataformat-rdf/src/test/java/io/adminshell/aas/v3/dataformat/rdf/SerializerUtil.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.rdf; + + +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; + +import org.apache.commons.io.IOUtils; + +/** + * Helper class for Serializer Tests + * + * @author sbader + * + */ +public class SerializerUtil { + + public static String readResourceToString(String resourceName) throws IOException { + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + InputStream is = classloader.getResourceAsStream(resourceName); + StringWriter writer = new StringWriter(); + IOUtils.copy(is, writer, "UTF-8"); + return writer.toString(); + } + + public static String stripWhitespaces(String input) { + return input.replaceAll("\\s+", ""); + } + +} diff --git a/dataformat-rdf/src/test/resources/AAS_Reference_shortExample.nt b/dataformat-rdf/src/test/resources/AAS_Reference_shortExample.nt new file mode 100644 index 000000000..f5c9bad9a --- /dev/null +++ b/dataformat-rdf/src/test/resources/AAS_Reference_shortExample.nt @@ -0,0 +1,20 @@ + . + + _:genid1 . +_:genid1 . +_:genid1 _:genid2 . +_:genid2 . +_:genid2 _:genid3 . +_:genid3 . +_:genid3 _:genid4 . +_:genid4 . +_:genid4 . +_:genid3 "http://customer.com/assets/KHBVZJSQKIY"^^ . +_:genid3 . + . + + _:genid5 . +_:genid5 . +_:genid5 "http://customer.com/aas/9175_7013_7091_9168"^^ . +_:genid5 _:genid6 . +_:genid6 . diff --git a/dataformat-rdf/src/test/resources/AAS_Reference_shortExample.ttl b/dataformat-rdf/src/test/resources/AAS_Reference_shortExample.ttl new file mode 100644 index 000000000..79d7b93de --- /dev/null +++ b/dataformat-rdf/src/test/resources/AAS_Reference_shortExample.ttl @@ -0,0 +1,54 @@ +@prefix : . +@prefix aas: . +@prefix dash: . +@prefix dc: . +@prefix dcterms: . +@prefix dul: . +@prefix foaf: . +@prefix geo: . +@prefix om: . +@prefix obda: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix ssn: . +@prefix sto: . +@prefix skos: . +@prefix vann: . +@prefix vcard: . +@prefix void: . +@prefix xml: . +@prefix xsd: . + + + rdf:type ; + [ + a ; + "http://customer.com/aas/9175_7013_7091_9168"^^xsd:string ; + ; + ] ; + "9175_7013_7091_9168"^^xsd:string ; + [ + a ; + [ + a ; + [ + a ; + ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + + ] + ] ; + ; + ] +. + + rdf:type ; + [ + a ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + ; + ] ; + "KHBVZJSQKIY"^^xsd:string ; +. diff --git a/dataformat-rdf/src/test/resources/AssetAdministrationShell_Example.ttl b/dataformat-rdf/src/test/resources/AssetAdministrationShell_Example.ttl new file mode 100644 index 000000000..29a58149a --- /dev/null +++ b/dataformat-rdf/src/test/resources/AssetAdministrationShell_Example.ttl @@ -0,0 +1,91 @@ +@prefix aas: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + + + + rdf:type ; + "ExampleMotor"^^xsd:string ; + rdfs:label "ExampleMotor"^^xsd:string ; + "A very short description of the AAS instance.@en" ; + rdfs:comment "A very short description of the AAS instance."^^xsd:string ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + [ + a , + ] + ] + ] + ] ; + + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/F13E8576F6488342"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/7A7104BDAB57E184"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/instance/AC69B1CB44F07935"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/1A7B62B529F19152"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + "http://customer.com/aas/9175_7013_7091_9168"^^xsd:string ; + [ + a , + ] ; + ] ; + "CONSTANT"^^xsd:string . diff --git a/dataformat-rdf/src/test/resources/Asset_Example.nt b/dataformat-rdf/src/test/resources/Asset_Example.nt new file mode 100644 index 000000000..e6577b0cc --- /dev/null +++ b/dataformat-rdf/src/test/resources/Asset_Example.nt @@ -0,0 +1,25 @@ + . + + "ServoDCMotor"^^. + "ServoDCMotor"^^. + + _:genid1 . +_:genid1 . +_:genid1 "http://customer.com/Asset:KHBVZJSQKIY"^^ . +_:genid1 _:genid2 . +_:genid2 . +_:genid2 . + + + _:genid3 . +_:genid3 . +_:genid3 _:genid4 . +_:genid4 . +_:genid4 . +_:genid4 . +_:genid3 "http://i40.customer.com/type/1/1/F13E8576F6488342"^^ . +_:genid3 . +_:genid3 . + + . + . diff --git a/dataformat-rdf/src/test/resources/Asset_Example.ttl b/dataformat-rdf/src/test/resources/Asset_Example.ttl new file mode 100644 index 000000000..c48c8dbbf --- /dev/null +++ b/dataformat-rdf/src/test/resources/Asset_Example.ttl @@ -0,0 +1,33 @@ +@prefix aas: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + + + rdf:type ; + "ServoDCMotor"^^xsd:string ; + rdfs:label "ServoDCMotor"^^xsd:string ; + [ + a ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/1/1/F13E8576F6488342"^^xsd:string ; + [ + a , + ] + ] + ]; + +. diff --git a/dataformat-rdf/src/test/resources/Complete_Example.ttl b/dataformat-rdf/src/test/resources/Complete_Example.ttl new file mode 100644 index 000000000..c4e6e79f1 --- /dev/null +++ b/dataformat-rdf/src/test/resources/Complete_Example.ttl @@ -0,0 +1,1393 @@ +@prefix aas: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + +# Asset Administration Shell + + rdf:type ; + "ExampleMotor"^^xsd:string ; + rdfs:label "ExampleMotor"^^xsd:string ; + "A very short description of the AAS instance.@en" ; + rdfs:comment "A very short description of the AAS instance."^^xsd:string ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + [ + a , + ] + ] + ] + ] ; + + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/F13E8576F6488342"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/7A7104BDAB57E184"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/instance/AC69B1CB44F07935"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/1A7B62B529F19152"^^xsd:string ; + [ + a , + ] + ] + ]; + [ + a ; + "http://customer.com/aas/9175_7013_7091_9168"^^xsd:string ; + [ + a , + ] ; + ] ; + "CONSTANT"^^xsd:string ; +. + +# Asset + + rdf:type ; + "ServoDCMotor"^^xsd:string ; + rdfs:label "ServoDCMotor"^^xsd:string ; + [ + a ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/1/1/F13E8576F6488342"^^xsd:string ; + [ + a , + ] + ] + ]; + +. + +# Submodel + + "Identification"^^xsd:string ; + rdfs:label "Identification"^^xsd:string ; + "CONSTANT"^^xsd:string ; + "Identification from Manufacturer"@en ; + "Hersteller-Identifikation"@de ; + rdfs:comment "Identification from Manufacturer"@en ; + rdfs:comment "Hersteller-Identifikation"@de ; + [ + a ; + "http://i40.customer.com/type/F13E8576F6488342"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#01-ADN198#009"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "Manufacturer"^^xsd:string ; + "Manufacturer"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-AAO677#002"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-AAO677#002"^^xsd:string + ] + ] + ]; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "GLN"^^xsd:string ; + "GLN"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-AAY812#001"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-AAY812#001"^^xsd:string + ] + ] + ]; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "ProductDesignation"^^xsd:string ; + "ProductDesignation"^^xsd:string ; + a [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-AAW338#001"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-AAW338#001"^^xsd:string + ] + ] + ]; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "SerialNumber"^^xsd:string ; + "SerialNumber"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-AAM556#002"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-AAM556#002"^^xsd:string + ] + ] + ]; +. + +# Submodel + + "TechnicalData"^^xsd:string ; + rdfs:label "TechnicalData"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + "http://i40.customer.com/type/7A7104BDAB57E184"^^xsd:string ; + [ + a , + ] ; + ] ; + ; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "MaxRotationSpeed"^^xsd:string ; + "MaxRotationSpeed"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-BAA120#008"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-BAA120#008"^^xsd:string + ] + ] + ]; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "MaxTorque"^^xsd:string ; + "MaxTorque"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-BAE098#004"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-BAE098#004"^^xsd:string + ] + ] + ]; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "CoolingType"^^xsd:string ; + "CoolingType"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-BAE122#006"^^xsd:string ; + [ + a , + ] + ] + + ]; + "0173-1#02-BAE122#006"^^xsd:string + ] + ] + ]; +. + +# Submodel + + "Documentation"^^xsd:string ; + rdfs:label "Documentation"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + " [ + a , + ] ; + ] ; + ; + a [ + a ; + [ + a ; + rdf:subject ; + "OperatingManual"^^xsd:string ; + rdfs:label "OperatingManual"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + [ + a ; + rdf:subject ; + rdfs:label "DocumentId"^^xsd:string ; + "xsd:string" ; + "3 608 870 A47"^^xsd:string ; + "DocumentId"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentId/Val"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "DocumentClassId"^^xsd:string ; + "xsd:string" ; + "03-02"^^xsd:string ; + "DocumentClassId"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentClassification/ClassId"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "DocumentClassName"^^xsd:string ; + "xsd:string" ; + "Operation"@en, "Bedienung"@de ; + "DocumentClassName"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentClassification/ClassName"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "DocumentClassificationSystem"^^xsd:string ; + "xsd:string" ; + "VDI2770:2018"^^xsd:string ; + "DocumentClassificationSystem"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentClassification/ClassificationSystem"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "OrganizationName"^^xsd:string ; + "xsd:string" ; + "CUSTOMER"^^xsd:string ; + "OrganizationName"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Organization/OrganizationName"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "OrganizationOfficialName"^^xsd:string ; + "xsd:string" ; + "CUSTOMER GmbH"^^xsd:string ; + "OrganizationOfficialName"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Organization/OrganizationOfficialName"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "Title"^^xsd:string ; + "xsd:string" ; + "Operating Manual"^^xsd:string ; + "Title"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "Language"^^xsd:string ; + "xsd:string" ; + "en-US"^^xsd:string ; + "Language"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentVersion/Language"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + [ + a ; + rdf:subject ; + rdfs:label "DigitalFile_PDF"^^xsd:string ; + "xsd:string" ; + "/aasx/OperatingManual.pdf"^^xsd:string ; + "DigitalFile_PDF"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/escription/Title"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + ]; + "false"^^xsd:boolean ; + "false"^^xsd:boolean ; + ] + ]; +. + +# Submodel + rdf:type aas:Submodel ; + "OperationalData"^^xsd:string ; + rdfs:label "OperationalData"^^xsd:string ; + "CONSTANT"^^xsd:string ; + [ + a ; + "http://i40.customer.com/instance/AC69B1CB44F07935"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#01-AFZ615#016"^^xsd:string ; + [ + a , + ] + ] + ] ; + ; + a [ + a ; + [ + a ; + rdf:subject ; + "RotationSpeed"^^xsd:string ; + rdfs:label "RotationSpeed"^^xsd:string ; + "VARIABLE"^^xsd:string ; + ; + "xsd:string" ; + "4370"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://customer.com/cd/18EBD56F6B43D895"^^xsd:string ; + [ + a , + ] + ] + ] ; + ] ; + [ + a ; + rdf:subject ; + "Torque"^^xsd:string ; + rdfs:label "Torque"^^xsd:string ; + "VARIABLE"^^xsd:string ; + ; + "xsd:string" ; + "117.4"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://customer.com/cd/18EBD56F6B43D896"^^xsd:string ; + [ + a , + ] + ] + ] + ] + ] +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "Document"^^xsd:string ; + rdfs:label "Document"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Document"@en, "Dokument"@de ; + "Document"@en ; + "[ISO 15519-1:2010]"^^xsd:string ; + "Entity"^^xsd:string ; + "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DocumentIdValue"^^xsd:string ; + rdfs:label "DocumentIdValue"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentId/Val"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Document Id"@en, "Dokument Id"@de ; + "DocumentId"@en ; + "String"^^xsd:string ; + "die eigentliche Identifikationsnummer."@de ; + ] ; +. + + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DocumentClassId"^^xsd:string ; + rdfs:label "DocumentClassId"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentClassification/ClassId"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Document Class Id"@en, "Dokument Class Id"@de ; + "DocumentClassId"@en ; + "String"^^xsd:string ; + "Eindeutige ID der Klasse in einer Klassifikation."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DocumentClassName"^^xsd:string ; + rdfs:label "DocumentClassName"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentClassification/ClassName"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Document Class Name"@en, "Dokument Class Name"@de ; + "DocumentClassName"@en ; + "StringTranslatable"^^xsd:string ; + "Liste von sprachabhängigen Namen zur ClassId."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "ClassificationSystem"^^xsd:string ; + rdfs:label "ClassificationSystem"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentClassification/ClassificationSystem"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Classification System"@en, "Klassifikationssystem"@de ; + "DocumentClassificationSystem"@en ; + "String"^^xsd:string ; + "Eindeutige Kennung für ein Klassifikationssystem. Für Klassifikationen nach VDI 2770 muss 'VDI2770:2018' verwenden werden."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "OrganizationName"^^xsd:string ; + rdfs:label "OrganizationName"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Organization/OrganizationName"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "organization name"@en, "gebräuchliche Bezeichnung für Organisatio"@de ; + "OrganizationName"@en ; + "String"^^xsd:string ; + "Die gebräuchliche Bezeichnung für die Organisation."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "OrganizationOfficialName"^^xsd:string ; + rdfs:label "OrganizationOfficialName"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Organization/OrganizationOfficialName"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "official name of the organization"@en, "offizieller Name der Organisation"@de ; + "OrganizationOfficialName"@en ; + "String"^^xsd:string ; + "Der offizielle Name der Organisation."@de ; + ] ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-AAO677#002"^^xsd:string ; + [ + a , + ] + ] + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DocumentVersion"^^xsd:string ; + rdfs:label "DocumentVersion"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentVersion"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Document Version"@en, "Version des Dokuments"@de ; + "DocumentVersion"@en ; + "String"^^xsd:string ; + "Zu jedem Dokument muss eine Menge von mindestens einer Dokumentenversion existieren. Es können auch mehrere Dokumentenversionen ausgeliefert werden."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DocumentVersion"^^xsd:string ; + rdfs:label "Language"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentVersion/Language"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Language"@en, "Sprache"@de ; + "Language"@en ; + "String"^^xsd:string ; + "Eine Liste der im Dokument verwendeten Sprachen."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "Title"^^xsd:string ; + rdfs:label "Title"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Titel"@en, "Titel"@de ; + "Titel"@en ; + "StringTranslatable"^^xsd:string ; + "Sprachabhängiger Titel des Dokuments."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "Date"^^xsd:string ; + rdfs:label "Date"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/LifeCycleStatus/SetDate"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Set Date"@en ; + "SetDate"@en ; + "Date"^^xsd:string ; + "Datum und Uhrzeit, an dem der Status festgelegt wurde. Es muss das Datumsformat „YYYY-MM-dd“ verwendet werden (Y = Jahr, M = Monat, d = Tag, siehe ISO 8601)."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DocumentVersionIdValue"^^xsd:string ; + rdfs:label "DocumentVersionIdValue"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/DocumentVersionId/Val"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "DocumentVersionIdValue"@en ; + "DocumentVersionIdValue"@en ; + "String"^^xsd:string ; + "Verschiedene Versionen eines Dokuments müssen eindeutig identifizierbar sein. Die DocumentVersionId stellt eine innerhalb einer Domäne eindeutige Versionsidentifikationsnummer dar."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "DigitalFile"^^xsd:string ; + rdfs:label "DigitalFile"^^xsd:string ; + [ + a ; + "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Digital File"@en ; + "DigitalFile"@en ; + "File"^^xsd:string ; + "Eine Datei, die die DocumentVersion repräsentiert. Neben der obligatorischen PDF/A Datei können weitere Dateien angegeben werden."@de ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "MaxRotationSpeed"^^xsd:string ; + rdfs:label "MaxRotationSpeed"^^xsd:string ; + "PROPERTY"^^xsd:string ; + [ + a ; + "0173-1#02-BAA120#008"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Max. rotation speed"@en, "max. Drehzahl"@de ; + "1/min"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#05-AAA650#002"^^xsd:string ; + ; + ] + ] ; + "IntegerMeasure"^^xsd:string ; + "Höchste zulässige Drehzahl, mit welcher der Motor oder die Speiseinheit betrieben werden darf"@de, "Greatest permissible rotation speed with which the motor or feeding unit may be operated"@en ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "MaxTorque"^^xsd:string ; + rdfs:label "MaxTorque"^^xsd:string ; + "PROPERTY"^^xsd:string ; + [ + a ; + "0173-1#02-BAE098#004"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Max. torque"@en, "max. Drehmomen"@de ; + "Nm"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#05-AAA212#003"^^xsd:string ; + ; + ] + ] ; + "RealMeasure"^^xsd:string ; + "Größtes mechanisch zulässiges Drehmoment, welches der Motor an der Abtriebswelle abgeben kann"@de, "Greatest permissible mechanical torque which the motor can pass on at the drive shaft"@en ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "RotationSpeed"^^xsd:string ; + rdfs:label "RotationSpeed"^^xsd:string ; + "PROPERTY"^^xsd:string ; + [ + a ; + "http://customer.com/cd/18EBD56F6B43D895/RotationSpeed"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Actual rotation speed"@en, "Aktuelle Drehzahl"@de ; + "1/min"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#05-AAA650#002"^^xsd:string ; + ; + ] + ] ; + "IntegerMeasure"^^xsd:string ; + "Aktuelle Drehzahl, mit welcher der Motor oder die Speiseinheit betrieben wird."@de, "Actual rotation speed with which the motor or feeding unit is operated."@en ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "Torque"^^xsd:string ; + rdfs:label "Torque"^^xsd:string ; + "PROPERTY"^^xsd:string ; + [ + a ; + "http://customer.com/cd/18EBD56F6B43D896"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Torque"@en, "Drehmoment"@de ; + "Nm"^^xsd:string ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#05-AAA212#003"^^xsd:string ; + ; + ] + ] ; + "RealMeasure"^^xsd:string ; + "Aktuelles Drehmoment, welches der Motor an der Abtriebswelle abgibt."@de, "Actual mechanical torque which the motor passes on at the drive shaft."@en ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "CoolingType"^^xsd:string ; + rdfs:label "CoolingType"^^xsd:string ; + [ + a ; + "0173-1#02-BAE122#006"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "Cooling type"@en, "Art der Kühlung"@de ; + "String"^^xsd:string ; + "Zusammenfassung verschiedener Kühlarten, um für Suchmerkmale zu einer begrenzten Auswahl zu kommen."@de, "Summary of various types of cooling, for use as search criteria that limit a selection"@en ; + ] ; +. + +# ConceptDescription + rdf:type aas:ConceptDescription ; + "BAB657"^^xsd:string ; + rdfs:label "BAB657"^^xsd:string ; + "Value"^^xsd:string ; + [ + a ; + "0173-1#07-BAB657#003"^^xsd:string ; + [ + a , + ] ; + ] ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360"^^xsd:string ; + ; + ] + ] + ] ; + [ + a ; + "open circuit, external cooling"@en, "offener Kreis, Fremdkühlung"@de ; + "String"^^xsd:string ; + ] ; +. diff --git a/dataformat-rdf/src/test/resources/KapitalVerwaltungsschaleExample.ttl b/dataformat-rdf/src/test/resources/KapitalVerwaltungsschaleExample.ttl new file mode 100644 index 000000000..16c7411fe --- /dev/null +++ b/dataformat-rdf/src/test/resources/KapitalVerwaltungsschaleExample.ttl @@ -0,0 +1,36 @@ +@prefix aas: . +@prefix dash: . +@prefix dc: . +@prefix dcterms: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix vann: . +@prefix xsd: . +@base . + + +_:MaxRotationSpeed + a [ + a ; + "xsd:integer" ; + "5000"^^xsd:integer ; + ]; + "MaxRotationSpeed"^^xsd:string ; + "PARAMETER"^^xsd:string ; + ; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#02-BAA120#008"^^xsd:string ; + [ + a , + ] + ] + ] ; +. diff --git a/dataformat-rdf/src/test/resources/Overall-Example.nt b/dataformat-rdf/src/test/resources/Overall-Example.nt new file mode 100644 index 000000000..7a0c6faf3 --- /dev/null +++ b/dataformat-rdf/src/test/resources/Overall-Example.nt @@ -0,0 +1,83 @@ + . + "ExampleMotor"^^ . + "ExampleMotor"^^ . + "CONSTANT"^^ . + "A very short description of the AAS instance.@en". + "A very short description of the AAS instance."^^. + _:genid1 . +_:genid1 . +_:genid1 _:genid2 . +_:genid2 . +_:genid2 _:genid3 . +_:genid3 . +_:genid3 _:genid4 . +_:genid4 . +_:genid3 "http://customer.com/assets/KHBVZJSQKIY"^^ . +_:genid3 . + _:genid5 . +_:genid5 . +_:genid5 "http://customer.com/aas/9175_7013_7091_9168"^^ . +_:genid5 _:genid6 . +_:genid6 . + + . + "ServoDCMotor"^^. + "ServoDCMotor"^^. + _:genid7 . +_:genid7 . +_:genid7 "http://customer.com/Asset:KHBVZJSQKIY"^^ . +_:genid7 _:genid8 . +_:genid8 . + _:genid9 . +_:genid9 . +_:genid9 _:genid10 . +_:genid10 . +_:genid10 . +_:genid9 "http://i40.customer.com/type/1/1/F13E8576F6488342"^^ . +_:genid9 . + . + . + + "Identification"^^ . + "Identification"^^ . + "Hersteller-Identifikation"@en . + "Hersteller-Identifikation"@de . + "Identification from Manufacturer"@en . + "Hersteller-Identifikation"@de . + _:genid11 . +_:genid11 . +_:genid11 _:genid12 . +_:genid12 . +_:genid12 . +_:genid12 "Manufacturer"^^ . +_:genid12 "Manufacturer"^^ . +_:genid12 _:genid13 . +_:genid13 . +_:genid13 . +_:genid13 _:genid14 . +_:genid14 . +_:genid14 _:genid15 . +_:genid15 . +_:genid15 _:genid16 . +_:genid16 . +_:genid15 "http://i40.customer.com/type/F13E8576F6488342/Manufacturer"^^ . +_:genid15 _:genid17 . +_:genid17 . +_:genid13 "http://i40.customer.com/type/F13E8576F6488342/Manufacturer"^^ . + _:genid18 . +_:genid18 _:genid19 . +_:genid19 . +_:genid19 _:genid20 . +_:genid20 . +_:genid20 _:genid21 . +_:genid21 . +_:genid20 "0173-1#01-ADN198#009"^^ . +_:genid20 _:genid22 . +_:genid22 . + "CONSTANT"^^ . + _:genid23 . +_:genid23 . +_:genid23 "http://i40.customer.com/type/F13E8576F6488342"^^ . +_:genid23 _:genid24 . +_:genid24 . + . diff --git a/dataformat-rdf/src/test/resources/ReferenceExample.ttl b/dataformat-rdf/src/test/resources/ReferenceExample.ttl new file mode 100644 index 000000000..daae1e740 --- /dev/null +++ b/dataformat-rdf/src/test/resources/ReferenceExample.ttl @@ -0,0 +1,21 @@ +@prefix xsd: . + +# 1) Reference with KeyElements + a ; + [ + a ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://customer.com/assets/KHBVZJSQKIY"^^xsd:string ; + [ + a , + ] + ] + ] + ] ; +. diff --git a/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_Example.ttl b/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_Example.ttl new file mode 100644 index 000000000..6f31865f4 --- /dev/null +++ b/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_Example.ttl @@ -0,0 +1,83 @@ +@prefix : . +@prefix aas: . +@prefix dash: . +@prefix dc: . +@prefix dcterms: . +@prefix dul: . +@prefix foaf: . +@prefix geo: . +@prefix om: . +@prefix obda: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix ssn: . +@prefix sto: . +@prefix skos: . +@prefix vann: . +@prefix vcard: . +@prefix void: . +@prefix xml: . +@prefix xsd: . + + + + rdf:type aas:Submodel ; + rdfs:label "Identification"^^xsd:string ; + "Identification"^^xsd:string ; + "CONSTANT"^^xsd:string ; + #-------------------------------- + # 1) Reference Element with Keys + [ + a ; + [ + a ; + [ + a + ] ; + "https://wikipedia.org/wiki/Unique_Identification_Number"^^xsd:string ; + [ + a + ] + ]; + [ + a ; + [ + a + ] ; + "0173-1#01-ADN198#009"^^xsd:string ; + [ + a + ] + ] + ]; + + + # 2) LangStringSets + "Identification from Manufacturer"@en , "Hersteller-Identifikation"@de ; + rdfs:comment "Identification from Manufacturer"@en ; + rdfs:comment "Hersteller-Identifikation"@de ; + + [ + a ; + "http://i40.customer.com/type/F13E8576F6488342"^^xsd:string ; + [ + a + ] ; + ] ; + + # 3) SubmodelElement + a [ + a ; + [ + a ; + rdf:subject ; # a) URI starting at latest known Element (Submodel URI) + rdf:subject ; # b) URI constructed as proposed in the OpenAPI + rdfs:label "Manufacturer"^^xsd:string ; + "Manufacturer"^^xsd:string ; + "CONSTANT"^^xsd:string ; + + ] + ] + . diff --git a/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.nt b/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.nt new file mode 100644 index 000000000..65c3ae230 --- /dev/null +++ b/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.nt @@ -0,0 +1,48 @@ + "Identification"^^ . + "Identification"^^ . + "Hersteller-Identifikation"@en . + "Hersteller-Identifikation"@de . + "Identification from Manufacturer"@en . + "Hersteller-Identifikation"@de . + _:genid1 . +_:genid1 . +_:genid1 _:genid2 . +_:genid2 . +_:genid2 . +_:genid2 "Manufacturer"^^ . +_:genid2 "Manufacturer"^^ . +_:genid2 _:genid3 . +_:genid3 . +_:genid3 . +_:genid3 _:genid4 . +_:genid4 . +_:genid4 _:genid5 . +_:genid5 . +_:genid5 _:genid6 . +_:genid6 . +_:genid6 . +_:genid5 "http://i40.customer.com/type/F13E8576F6488342/Manufacturer"^^ . +_:genid5 _:genid7 . +_:genid7 . +_:genid7 . +_:genid3 "http://i40.customer.com/type/F13E8576F6488342/Manufacturer"^^ . + _:genid8 . +_:genid8 _:genid9 . +_:genid9 . +_:genid9 _:genid10 . +_:genid10 . +_:genid10 _:genid11 . +_:genid11 . +_:genid11 . +_:genid10 "0173-1#01-ADN198#009"^^ . +_:genid10 _:genid12 . +_:genid12 . +_:genid12 . + "CONSTANT"^^ . + _:genid13 . +_:genid13 . +_:genid13 "http://i40.customer.com/type/F13E8576F6488342"^^ . +_:genid13 _:genid14 . +_:genid14 . +_:genid14 . + . diff --git a/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.ttl b/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.ttl new file mode 100644 index 000000000..85df18a04 --- /dev/null +++ b/dataformat-rdf/src/test/resources/Submodel_SubmodelElement_shortExample.ttl @@ -0,0 +1,81 @@ +@prefix : . +@prefix aas: . +@prefix dash: . +@prefix dc: . +@prefix dcterms: . +@prefix dul: . +@prefix foaf: . +@prefix geo: . +@prefix om: . +@prefix obda: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix ssn: . +@prefix sto: . +@prefix skos: . +@prefix vann: . +@prefix vcard: . +@prefix void: . +@prefix xml: . +@prefix xsd: . + + + + + rdfs:label "Identification"^^xsd:string ; + "Identification"^^xsd:string ; + "Identification from Manufacturer"@en , "Hersteller-Identifikation"@de ; + rdfs:comment "Identification from Manufacturer"@en ; + rdfs:comment "Hersteller-Identifikation"@de ; + a [ + a ; + [ + a ; + rdf:subject ; + rdfs:label "Manufacturer"^^xsd:string ; + "Manufacturer"^^xsd:string ; + a [ + a ; + "xsd:string" ; + [ + a ; + [ + a ; + [ + a , + ] ; + "http://i40.customer.com/type/F13E8576F6488342/Manufacturer"^^xsd:string ; + [ + a , + ] + ] + + ]; + "http://i40.customer.com/type/F13E8576F6488342/Manufacturer"^^xsd:string + ] + ] + ]; + [ + a ; + [ + a ; + [ + a , + ] ; + "0173-1#01-ADN198#009"^^xsd:string ; + [ + a , + ] + ] + ] ; + [ + a ; + "http://i40.customer.com/type/F13E8576F6488342"^^xsd:string ; + [ + a , + ] ; + ] ; + "CONSTANT"^^xsd:string ; + . diff --git a/dataformat-rdf/src/test/resources/example-from-serializer.jsonld b/dataformat-rdf/src/test/resources/example-from-serializer.jsonld new file mode 100644 index 000000000..0a2cfb801 --- /dev/null +++ b/dataformat-rdf/src/test/resources/example-from-serializer.jsonld @@ -0,0 +1,77 @@ +{ + "@context" : { + "aas" : "https://admin-shell.io/aas/3/0/RC01/", + "rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "phys_unit" : "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/", + "iec61360" : "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/" + }, + "@id" : "https://admin-shell.io/autogen/31208fc0-2024-4533-a3a8-102eab30b8fc", + "@type" : "aas:AssetAdministrationShellEnvironment", + "https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/assetAdministrationShells" : [ { + "@id" : "https://admin-shell.io/autogen/ad00d860-9995-4fd8-badb-466c507d2793", + "@type" : "aas:AssetAdministrationShell", + "https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/assetInformation" : { + "@id" : "https://admin-shell.io/autogen/f34ed149-f568-47fd-aaad-93e3d66260d2", + "@type" : "aas:AssetInformation", + "https://admin-shell.io/aas/3/0/RC01/AssetInformation/assetKind" : "aas:AssetKind/INSTANCE", + "https://admin-shell.io/aas/3/0/RC01/AssetInformation/billOfMaterial" : [ ], + "https://admin-shell.io/aas/3/0/RC01/AssetInformation/specificAssetId" : [ ] + }, + "https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/submodel" : [ ], + "https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/view" : [ ], + "https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification" : [ ], + "https://admin-shell.io/aas/3/0/RC01/Referable/description" : [ { + "@type" : "rdf:langString", + "@value" : "This is a test AAS" + } ], + "https://admin-shell.io/aas/3/0/RC01/Referable/displayName" : [ { + "@language" : "en", + "@value" : "Display Name 1" + }, { + "@language" : "de", + "@value" : "Anzeigename 2" + } ] + } ], + "https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/conceptDescriptions" : [ ], + "https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/submodels" : [ { + "@id" : "https://admin-shell.io/autogen/8e5e5058-b969-4ec4-abc1-5b9d87c84d40", + "@type" : "aas:Submodel", + "https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification" : [ { + "@id" : "https://admin-shell.io/autogen/3f625f89-e744-487f-98c6-4fec1e2743e9", + "@type" : "aas:EmbeddedDataSpecification", + "https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecification" : { + "@id" : "https://admin-shell.io/autogen/cb1f585b-060b-4132-bbac-ef83bb3f9cb8", + "@type" : "aas:Reference", + "https://admin-shell.io/aas/3/0/RC01/Reference/key" : [ { + "@id" : "https://admin-shell.io/autogen/75b6ec66-74eb-4c2c-bab4-550a51e12ff6", + "@type" : "aas:Key", + "https://admin-shell.io/aas/3/0/RC01/Key/idType" : "aas:KeyType/IRI", + "https://admin-shell.io/aas/3/0/RC01/Key/value" : "https://example.org" + } ] + }, + "https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecificationContent" : { + "@id" : "https://admin-shell.io/autogen/734ac4cf-2b9d-450a-bcba-23f21fd9625b", + "@type" : "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360", + "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/dataType" : "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataTypeIEC61360/RATIONAL", + "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/definition" : [ ], + "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/levelType" : [ ], + "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/preferredName" : [ ], + "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/shortName" : [ ] + } + } ], + "https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier" : [ ], + "https://admin-shell.io/aas/3/0/RC01/Referable/category" : "Example category", + "https://admin-shell.io/aas/3/0/RC01/Referable/description" : [ { + "@type" : "rdf:langString", + "@value" : "My Submodel" + } ], + "https://admin-shell.io/aas/3/0/RC01/Referable/displayName" : [ { + "@type" : "rdf:langString", + "@value" : "First Submodel Element name" + }, { + "@type" : "rdf:langString", + "@value" : "Second Submodel Element name" + } ], + "https://admin-shell.io/aas/3/0/RC01/Submodel/submodelElement" : [ ] + } ] +} diff --git a/dataformat-uanodeset/.factorypath b/dataformat-uanodeset/.factorypath new file mode 100644 index 000000000..6426101f5 --- /dev/null +++ b/dataformat-uanodeset/.factorypath @@ -0,0 +1,3 @@ + + + diff --git a/dataformat-uanodeset/LICENSE b/dataformat-uanodeset/LICENSE new file mode 100644 index 000000000..eb7fe0dd3 --- /dev/null +++ b/dataformat-uanodeset/LICENSE @@ -0,0 +1,215 @@ +Copyright (C) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +The UA NodeSet Serializer contained in this repository provide the functionalities to +serialize and deserialize instances of the Asset Administration Shell data model +from and to the AAS Java Model library. It is licensed under the Apache License +2.0 (Apache-2.0, see below). +The Model uses the concepts of the document "Details of the Asset +Administration Shell" published on www.plattform-i40.de which is licensed +under Creative Commons CC BY-ND 3.0 DE. + +------------------------------------------------------------------------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Fraunhofer IAIS + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dataformat-uanodeset/README.md b/dataformat-uanodeset/README.md new file mode 100644 index 000000000..b8c93d831 --- /dev/null +++ b/dataformat-uanodeset/README.md @@ -0,0 +1,21 @@ +# Java Dataformat UA NodeSet + +## Important Remarks regarding I4AAS NodeSet + +The OPC UA Companion Specification as published by [opcfoundation.org](https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models/opc-ua-for-i4-asset-administration-shell/) currently targets AAS Version 2. Since the core model is build on Version 3, an **unofficial pre-release version I4AAS V3** is used. + +You can find the pre-release UA NodeSet as XML file under /nodeset/i4aas as well as all changes documented in a CSV file. + +## Generated JAXB Classes + +The UA NodeSet de/serializer is based on JAXB annotated classes, generated from 3 XSD files (/nodeset/xsd), which you can also extract from the pom.xml. The execution with id *generate-uatypes-classes* is deactivated since minor manual changes were necessary so that the XML namespaces are set correctly. To prevent overrides, these generated, then adjusted classes for *generate-uatypes-classes* are copy-pasted from /target/generated/src/main/java to /src/main/java If you need to update these classes, consider to change the execution phase to *generate-sources*. + +![generated classes](nodeset/FilesGenerated.png) + +## Implementation Overview + +The basic idea is to use the JAXB classes as intermediate for serialization and deserialization. Since these classes are generated from schema, the generated output is always as good as the JAXB marshaller handles these classes. + +The core logic about the mapping rules according to I4AAS is implemented in the mapping (serialization) or parser (deserialization) packages. + +![overview](nodeset/MappingParser.png) \ No newline at end of file diff --git a/dataformat-uanodeset/license-header.txt b/dataformat-uanodeset/license-header.txt new file mode 100644 index 000000000..5a0954a63 --- /dev/null +++ b/dataformat-uanodeset/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/dataformat-uanodeset/nodeset/FilesGenerated.drawio b/dataformat-uanodeset/nodeset/FilesGenerated.drawio new file mode 100644 index 000000000..42f612410 --- /dev/null +++ b/dataformat-uanodeset/nodeset/FilesGenerated.drawio @@ -0,0 +1 @@ +7Zldb5swFIZ/DZeN+MrXZUKzrV3XRcqm9dYBA+4MRsYkpL9+x4mBEKdNK7VJu6aqWvNywPb7nCOMMRwvKb9ylMU/WICpYZtBaTiXhm1brm0b8tcMVhtlYHU3QsRJoIIaYUYesBJNpRYkwHkrUDBGBcnaos/SFPuipSHO2bIdFjLa7jVDEdaEmY+orv4hgYjVLOx+o3/DJIqrnq3ecHMmQVWwmkkeo4AttyRnYjgeZ0xsWknpYSrNq3zZXPflkbP1wDhOxXMuuOm5TlxG0wfr0rO+0zIMrm4vFIwFooWa8M+pB8LvEfy5BZozLAy7h5LMcMbpPJf/1HTEqvJI4BJGMI5FQkGwoJkLzv5ij1HGQUlZCpHjkFC6IyFKohQOfZgDBn28wFwQcH+kTiQkCGQ342VMBJ5lyJd9LiHXQOOsSAMsp2fWw5I3wOWjFlm18ZCxmCVY8BWEVBeYipVK1qGyZ9mQr0PiLeoVYqSSLarv3PCAhkLyAjw9Dc+VOxrNgAiVjs85tCLZ8opcsARCf60yKJdPQ8i2T42o/1QF6aA+GR+rZ56YT3XjLUA1lQrK3Qxkc+bHOEHQuMQhSQVhaRUIHdex/zG7QZudq6MbHpWcdZjc9egOpm6O0pQJJMANreCu0UIy9SjKc1l5n4moe5ioZR0VqaMh7dyvAe0gyBiRDk4WMNO8glAtoKQ7Acrj2qpDpCiaYzplOVkX9R48NzsBcybk41TnJ5gExQpBSQq9VGtOcx97GG8mp5OUkVwbd1gYEh93YKXq40zknYD5RbIm2Uolw3bM9c/r5EDXbufAoNfRH5nOniRw+m+VBO45CU6cBFbXOnkW6K8e5yw4bhbA6uzUWeA4Gm8cwAu4OmRcxCxiKaKTRt15TjYxN0wiWbO/x0Ks1G4CKgRrZ8amT9nR007CuFjBffxUGqtXNIF4hMXBR5/OhmOKBFm0R/L61aa/SXbKPDgX25sVW72D9W6eu4770Wut/9xac09aa/qWwLnWjlpr72B543Q/erENnlts3ZMW2+BcbKcttnewitQ3ivwyvCjv/YuMFhFJtWyonMwFlvZnmBMYiTR5LU2b470bNVvpEZISV5+trNcx2LHclsHDPbs27h57673WF/gLh80XqPW5re94zuQf \ No newline at end of file diff --git a/dataformat-uanodeset/nodeset/FilesGenerated.png b/dataformat-uanodeset/nodeset/FilesGenerated.png new file mode 100644 index 0000000000000000000000000000000000000000..69b0d5a3b661fde2310f22f0012d0660e0caac88 GIT binary patch literal 74889 zcmeFZXIxX++BZxIf+7$rC|yAWRAiK10-{1dK&c8Oz%YnNCv*r^MWq_)9Syw%l^PO4 zQ4whxz#uL35K8ET&bx8WnPKkdKJV}O_Ix=Xj2qZH>snX+UuEqVcl9(mj+{Nhz`(!( z)w*fGz`)YLz`)ebb_nP9~B*+Ev^ zpz~T5)Ky;wfz=oo|JRS3;I#1n@F%dEl?@A9sEZ@X-R6J&`u%l5 z4Zer|^~4Fqy|p2`@dQKd!H3TcuTj|FRu*&KKODTBrP)3t+IK?4DGcDbB zhMQ}-qxpJVP%fHMlB8jhrz;aar`TNFN7Nca96MT z=Mkma*oWU-YR>J(j;NyezU`Paa|LQ!m27R+(AB`orZ3&ugvz`^`k%(vn?lV-^~dOm zD>LIWoV3lD4R{NQaDf_#sxv}pCMK-hfbJ2;oXG-AGh`R}s&0mf8Wd;3N~?g=9sM)Q zf$Z1knT)|8smt2P1B&Gst@c7_y{U1u=)x)1$azuf`D90%PHUYu=^}H5iWSKgk6Esws2%-CGuq{%LEu?9@?!f_n+OGBPOK1 z2Q?t#E{6TBw)Hnl-6BPb@HTCG^J4%@-C5dxE$#&}98G2977oJjB zDWSzSTymE^Pu0u?nU3E)z=I96^>xaEqQ&53GUqe@TVB`~jXF)F zp!n_{I(I2EtwSMWQp3A`$ca`v@~M|@zL_n`1~-e_JgBOCA=!)yQm%?uM_teAcBf&^(*~6)JEjK7=>KdfmZjdzJ zw<`>hf?;~@X9)R7YfId)(qX$kvAHI;s1)9QY3FcY%Ap)_Z=a`=^ANFPxSp3;H4#5b za@QV;551}}i-#L4jB}SlRDvAZC04I&OcBEYPDf!VVI>05ausN)uyZA!n(q6nxd|D(es$E1?UE*3yX}A;IRcWlzWy>wyB6J0F!|Pv_gTlOa5&-PfRfDW zasXvPSdZ_-Lb$P}_9ny{zWrkSqhjXq&OjS}P=n?~jyp)!pgz+~sXCd~H^)#Ow2?zK z;5#~~L8O~J>SlS`uR7wLHCR-RSIlx6zWPV-XwTf%lL5ryWserk#Gy?qX%+gOKICy>APS zKVLHc9Wz5jj~qQ5>i?=k8dZ9Hu$mIX8R@_HHT8Ae#XRk$`~4A4?lIDnWg3%78Qy$+ zlPx_eX(vw$BE{&rW?!Qw%(#oaf_z@}A)0>A#pe26nV8?In^CRjDHvO zcfDx6?h;iTh5K%cWpmI1V?SEBeOX0zicSu_8zhG#$wc|P#-EohI;#kxEuB6Afcso& z(vx8mx|$ITQC=3jNV(*ov>o0d`BDFocv4;N#OUtHHK;XxKDUS9M8ecT0FEl|zMB-_ z8}MeR)7OrBH&1e^GhlNh%W*?d%DMzJZ~pxHu+K3U(zyami1IEzKk z9}pdXsNywoBe{jOybS@XT;IX2O@21|1?5V=KO#tlTkmR?d$;0SuV}vZPgJ}Zalmn6 zL7RsfW=``doO;^IqLiW1`Ipv=_q)tT6gs8V7x+ZK0-U%6npVX}^G*h5K(gr$QcjwN z8I>!_d&k`I%}=w|gG#>~%Unuid3g5#)o!rcOp1uDcx^wyB%>r5#1jOcyHkOAV`--d>^O^mVrC z%ziFb36ln#ni#%?6|GcPp}j9yrUfv>ZiPV={)!}wATtmaG+tOZZIIrLcj}Kjp3`{_ zg+lZmS9c{i&F;J*8pUV`RKJ7OwsFkJQdaOiIUmlv9m+k`t4qCzf7Ie)=#MF0&+m_{ zXuSscZ1JvjRi_i5I{5|8Fe&%8Yv)5+#7@4*JOL?|$^1cjGS>2P8sIK;?N#{FhHjy} zgJ|v+3h2cJu@PAGwZ>^!o^C;_psERYJ5X3xJF)V!ZF4mltDl@od{uopP^K+&)bF)U z(Ahmg(}mnc!BQ+^3+oNN6~P|^IBx~|%)`Z3oF3C~hday@JsZ2`t1GduOEyzXAsZ6Wz#ko^s1ZW?;>Xp5rIU?g}cBf5;%sM)Sm-!7 zkbUKrb;nLZN>c(`Xe~bTRk^p1zsD5(ekqVHl_Hw*o>~kPO+MQl;#vKX^VGio{%WU) z!p_4q0+!a4tlAmSv7D@AI_theM9dR7*#%tq2JafC@NyTJ=Tk5zK%Ktl_E-M^e$-l! zkjkZuKa*F#Fl`m|etz4a#xt|(vZFm-o!+crt}=!s!Cx)P zp}bJz@x#r}%lGOq@;CqvL^`9Najs|9iQgG7Qv1Np_j;R7HHcLXuLUm-?@zn|&rh zx#NuKv&suDS_~HeML3S@#GLFFnSjjI__@j-w@qy02BybBEBW|J7$x-Cb|8@wgh?xBBsnCPR#AQ}Y zPi?j}Bh7v2_8Vz5p7s&M^SV!s``M@S}eH2}-Mz0v)_N zLF_Mlz70pQ>`*Ji@SdrX-8tnvo9y0^X~PO4NLrPCePzjI7%P{P6VDiz8%%H`zIae% zN2sRZUFh&`>U6u8vfA|0>9AByFm6tKeCzMb3UTTS#~0%{LLItFX9@RSF~uO;h>S6x z{U9-C^VryrQ|XUr>I!&EYl$~+@w?oo*0@qngi0P_QF|Es*2(#P`nB8m8j@ardRG-J zbAyQZG%yn*O{a~e*eGt!%Y_cVJ%L~Z$?DZ-UhyCMr1@~@=W>(ax(DJ(TNiJ{Mpu_u zcpRTwHnyJf&9d54Nt@p8KSZxX%vW^^qAO)ROFoor^8`Idurk(>q=9|-PwRigpIDPU zoNwwGU_fLQMOvUNo3<&g$)dTzELC^k1GB%_qU)GQWZD@ndGR@_k^TB!) zFlhecEo%^%E%jJk?gi7TFrOd^s`LxgUhG!Py|XJtFE@HBi=fzSw7C|x0-g6q?wNvq zCoD|{n@w7kly^p+{zA(@FQjVao-k)L)dXGVlq zn`76EDY8z^f+QpaDoQCU^`AIc{x%N3lcV|e_J_gK#+1hsZZ=)?=Tu5!|b>@qkhSkyNi_nXw~6-#TDPxh!f zQR=|dA@@T(i#wI^RRxxN%a9&vj~)%0P(6wFJln1hl=T9=Yh|P}mg3gB{eI;3-_@2M zfIOFLCAIxNpp|Z3Uc-H>!Qjo5RGlwSd7!4^9^Qc`dQ)k>s`tDjrNdV}pG8wsLx(wg z1qYiRO8gS?%D__1MByglYp1PE+rDs@$$;r0EovtN<`>U@3p}E};B{Ub06z09X;rhn z!fO1fA0_cSN)x*%xbX*rfdU;qkvrb(rCTSz7o6u)^SJ8OGZNDEs>N!?P?)P+uBA9y znE52efX>j7%4-tN>fW)j{YrqV8OTej5SxV|BXgn(i9J1)V)@E%$Kq3qJlq1sL`776^h5iMT%RE8TOfX%AB8()}3AKA=RN;CX zf6y^x`|>ST5ZA>o)sLNJfAIZi7yPYxWrK8N%h4(EzRxE-r3n@-4ns`(!6?tJKyKqr z<5w;~`!zWfWjaJ(){2 z{LB;EJyE|rJerNFOQ_xqW25v{(#1rOdPF&qol6oVTkzFeV4S@-T{4^mnMVzbjWY)e zbY96j5QX?duxg3iYJ-Nvyc5s-b^Pp>DzI^po)JlXp(wWsT||1WoMm%L6IK^VNm8w{ zzhYjMB}sXaO7x7Z$)0zM^piS1q`KDMyEwx22&W~b_n@ZGayvVU%(-V9vtc(l@Zlo> zR<^4E{!l3k1tZL*K9Fi-c2NMQ03mt9^TrtvINzMZDL(g9zg+Cfk3Xth5;5!oTU@XA z7!;B+1ctO0te^r%x8(!6f^Om(>oGrkZ#f05$Gix`>k*C%!VX>JP8f$=?9ivhwSL;Vci9~oer+S1xss~406WB(6E@tjOyjb_6^g1VX9Za#iTGsAoMNLfQ;hC#k>Bo7 zKOCu>OCCEA4%j?SJvw_W6U-Fa!9}Zi-CPL=ox(hFK9WGfKb`K5%;5UW_}SR0guR-? z64RX4ghj$8lX`Z1^oDOqXILuar(C((+TsGYyOuM1}F zYAD{&{$kh4Lnn()pmd4?N~dOqWff5mwN0yRi)%*iul6;&h^{+POT#JY{?8N~u=lCQ zt$RLjcgXPf@E(aqpk1^*>~#kBA#pmYa(tlQ$ve0|w}?iV6F3}Nb$Ag80w-Avd!eEW ze^!sjF1$eELVh2R$6Q~Na==JL$K*n2L(&`17hd>frmjdVYw8sC2Ydi(t3OA$kzFd@ z_VgtBjF%7MESD<&H&yzhO|W$_;|s{8MX{!iQN1riy7?M0bqxw^6_Q9z<`tw%EB{bHt@a++}k`;`b z_l)Ac4;teJa#G{kJ>_+Df$9uxX1r`vb;uzKi17MyWFS+5vZR{W5o$|V@ZpecrlYa?94noUx)G_Q#`pa@>%u*HRA z{=DmI)g$P?7ZT*_qg!-^bt{Sa_@1=abaL2P;**cjc2DAjck9pdKQC5dqj_xt*@7kK ztQ`N)mmVq{=NoG&S`wXWdK-~(9!Qq|^3zung1g@MR8UkeBaT?^RS35?(;uHTq)+}q zGP-D7;pvH#c4Sy5bGV#I%xL0Fw=toQDnyeLyd=J<797iS_f$eg%E<8*4SoGt;J-cc zysPX-PF|$ogU&sbn6-y7MVlYlJC$SBKEL+V#J!s3*$2$tTiWgTF@H}#K@6K^#d^oG zcix`w@9V+EikU*|_X!mR+>9Va_F_M$eCOAnupJLw;iUe?V{3B zI|V(~1(fqWGrYL!(h)RF(;iuVy4d6OPgEz5r|K-` zO`XlhO>eSud-`F9*+z3N+Al@}+KlgB!T(tdX)9F8;Ps)cMqMQ+*nj%Hv~oA)>uQL# zTWbHc9|Nw%euf&&7t;ts%Ql@+E&@kyz==7 z7)0(Zo%sA8Nni_IK6*e&|M~5X#SH2TQFCU_NB;+9fBm?>{9hXW&xilJ{9nxPl@Hl( zBXWALIzjEUHzUy}MACn?5fiWYL80CWN|gkU|9t<247DNvC`NkjUvvu1~LO_DN&IxwMzI$7fl{B)$|{O%bKo zJI+HADi`NL{Z`f`g1m<+Q3+C!eB01==34B<-|7JAE=JWbF|oxRn>q{9$4mna!4a-i zm)7gzwF#0?zY4T}vHaLwsD7MBW-=&VN}zA)5|nHvo%Dy=>m8oE;J?%W(B&hCfwD5_ zjPclT6}PR5F46P1LWm~NmEsqnvPyovX4h7a{<04Ae4FJakFW{dy>0afJW#S;fTn0G z-X}`6UN5RRy_bQ+qIb-+Rn>_)8fCuek`04HywE;VB1|LIv?Sk3t!tC*?mrCZ2s^MS z`?OrViXh%J<}pN^Dm}tM!FDBITT`2eTLPAAO*J^r#1?t}?m0Gi#cTnJGj?UhEyXXy zY^SeRQbZ+x!VE4-i@P`@AmqV+r?eJ-!b3Rmpt*)5ANEMEYAfFO@HpBODJa~6pw)$U z#i$w)NslG0I(kjxmtO*Mmih{{1%SpIH5hoHKyljS{@x1_%KN%Jv}QN%>naS|@nMed zp^czt*fp-BKY_O-RxR%=+1Q9;-YJslnDEkDfS=C~9&!L^dUwqL!akVkD<3M0|%TV87{mNp#wnOE?_K@?Wi< zm&s_J=x{62N${%vH7;;+bHLvU=W>0MAl-xdU)n$HXYmF zE2}R&@M4d;!4PsbL|AyfhxXjb2_O^@x~7%H>2 zP5IC!8E1J$RkVZ3Mw(G?OTIT!5H?)5w$=1dWGM2(+(O=#%S)3d`o}m9{aDc26GOznd@7LM-i9ivrh>QDYY(tL}@yMapg@aBKUU~ynXxeIXm!p zDOl#rO&_7hbDQ<#7wcY)4R)S-5rDk-|`j7h$~`u7f0 zU7R`eVNIHlk9~NNmZAZX|BbBTYU>Bl9nJez6T6Gby%D9`^V6<`JaKDn62&3@r3z3$ z>P!5IZxsg&SOIxU=UDGFlSbIE=}}Dfry!7%U(utxU2(FXf-a@&eZu%Eq=!RFkk3RY zLFTLBL~<*Cn(^xRQLsg&`1%Z_xAT?96A_FnU9d?^Ym+q2=&n$;7dJj*Q&C0JV6*J2 z3{+|NT})g0$jpc-j6qD+q%D{Gs;&J*<82fiS2N{k2V@wcz&_q#J{^jOADuXPL6F1# z&i3cR<(m+>jcviJs zc4Q3Jbnx>dm#(}`T}-ksc=Kay#AWCC*2bCVgvdJigeH^S2V+Bj*QmfrwQ4lnC&a5( z=w^SJ+;^v@fiDqm#JA4z^bd{NBZZEzh4=PvTd$vb$$idOZ|&7oV@`i!zl-Ox!~Cc5 zjh>%1@qZ+=CXXd}X+up}l!$5fB}5ld+4gn={C*SKOcNo|qw)i2!^MiCcEQ8%JttJb@cvC}UH{C}?rzQG z6bUvs{jrHT4F`EWe)1aa^>n_D<+TK6i2pwvtYt{)a&ekcOFCi*PON=>J%;*nF+#`h z6}tH*w?N8E=_;fG9b1I1y1+s@1M0L#7++}4c6JVWhBkfDu1m0d{TN})o15>VwNE^D zrTO=-$3d2NOuyd+RpQh-1hK|ix{?iJY75siBwiI}RHi-hWbE~^t(l=J%JTwuR$TLS z#@m$BC#?;MKG)hRVcn@FF?q~k*e!{XvWcK!h65qo>N69Ja#^=(6!$IYyuBC{ez*>1 za20l#=0d{TZ*fBXwKm=43C=kfve&AG=pg0MDMaSlgopW{^5YJm0mrFJm6uEfrZSEt z8`jHnyfl1Ks;EseRb0D^MJjZD8~q9fSz081w*plb*WU-aT%2@isBW!|H;cZhsW*Sx z#G#^@uRR>!3fCwP{8aPq%e~MpCv<_adzV|>BTGH0f!o9uXoCVvL%5>6Qxqi{9+io} ziJ_H{1T?}y@8Sb8&%1EcTr`ffOkBXyJ94dJ&~&gLn~5qlPZR!`;=Zi-3^FVp z5Z~RyTfX+NgjyEV#7Os76>3UJ0t10cVoy!lbBLQ3&C5-!hxNpkUO!`>Y=h;wR+piR zbg+i&&Ae%{_)`mhP=C=*O+SC+46o$c-9qHdp6*oxcDB$MkWK{v(k-%Pf<>HzgGj)b zS0Jq$`I@1m-QI|0u~YC9uT?dV)nx*Gj`s6g(s2pfF6Ip)X#zsCd1 za_->n{5g8aLb|xJPGjYhoVH(_2xg%)x>-l@>Sj>qqOzryX+W(Ou&u$#M14+PJJrkB z$ySk#8A9l4JfQgjt`vo^mZT-zN^vwVW_gt^VcopI5k z;l=r1MkwT06GT{Di<*k?JFD`h>qrrN(Pxj@wF=L%RZ%>QxcVkELkx29K?~e8#;^`& zL~MHP5-5)rSPbW=L6mtaZNEc@Y3wc(wgYO{Q=_mNb0$P))I$%6Mz{N);_w# zWNrqGGYnwlHdbqbpex(WyT?$0Cy{t(@NoT%hUmtr%5_((LEnjhU9lTOx}ap)c=mKsC`DB6?oqWEhYeJ5^MRc^Y&Tzk~vc?=4|3MBD6xR)DOT1ciW z4X|!;nIZhSlFv|U+FJTql6YTLp^}RJazLB7?&#Q2sQ^>WGNF?WG& zp z+|xAWt|~D-S8Yjbu%oROwR&A9zpXjY$O8PI3JZ+~upFoRy+%%h=5K*6%lsWe47ma~nIZ@ic9D^f%79c>w?eP$t_Nw3X!Z=efkN zs+v99*K`jXVpT2k{+P9nT=PU8dT5y;v_4z={Lr~zHSon#pdc@{kELfnuAi`R$v~Bw z!F$f=hOFkWG$3Q(?KD%y)My`}q-($)7V`#UIEtnbtmg&fY5XQa-N;AZCpMimNlV)d z=l)F8e>s494<_A$W2P0uy|L3vTQW~^+CP>Pw;m3Jk{NbmL@s}3ZQR>){j>q+M+Wo? z{dUEKp6hDXesZq0dX+qJ6><{=c{1f!o}=HA92W02wajNshsjj|`3Pnr$+4ifX+Njr zYpVlt%AelHIBqh82wlC-Ml;ReyR&*_cu}v%vwnAQ%1DA$26vo0a}2T`h;LW;JQG^3 zb2QXHZ#7Y8=^?+T=JwB+1@Vx>MiWizX_2^7|U6n1h? zx%P1olBbbR`%ZV_WYOACL)VX&*G4bo=|j70KH5efjqt>cJWP|qiHrFLl*+yEVAv2o z{92B>;+bktVDzaOfa~)cs=Er8EWSPfPqOF?X?447?NVMwjCbsd>gp^PWSb8r#yr9Y z?O>c|v0hX)>M6*XLEwKWo>Z8V!Y#m=N*?RU1XuM zj`jQ!Gnus>b;Fvq4wh-khtntOn;5|_V&Nt-EZ;>0X%m4jw{DYt*0 zgLe6kJ63?Y`p}8!u7jKV$8wWWKnZOZd6WGBjyaH00QdRR9M(T=}*S4|EK-{P|N{?GJ^!a-}sMrWB?-bZ*)8RpM+k&4Xp8BwfH5O z|Ek4bTJm4D_}faS-{7^F%Ii02dTeqP%{U5-vJ;i-@^hmZSZThZsU2 zC#?j&D#v9;+yFoXySf1f6PqKh-b65J|HM!;-22aX?C6g?D+fT< zGY^rf5C*2V>{r*}O5b?SEtfo53L zX{&`r$e@2YaL9GX>#cuU>OUdj56ODvINvG1%z6&2qWS{I^c`mwM$qk3`Md#qQq=l; z7;MH@sms*r1RX(P`IMg_nPagkM)4z*aZIAGT@KLNwEaUkJ&^?2lQ*iq#Ll9iob& zGU7C~#Qz6JIe*E)%g5p(R(pRig7x1I{G>iWt+m>qPyS_7zgVP}%dmWRGCMiu$frIK zFf8(Gic4*n&U94O1aep}Vw6Ob2L!3Ww0DWx(`tX^@+|;(R-)@EB7=YE3@OL~1U0#b9$Wl{6FB4$APBwi4b0$&DlGBH?IA{yD2PuAn&Vb zz}QJ;2E+2VHB~!-KIfZ<-TyTR@)KCSub|^~c`aJ5k~;^)#MXARUfq?oN#WPilaj+x zy?9|IU~i5p`zs?ml*9NMs)B2F}ybYHt?&Y`@>AW4V_Az zF0b8x5!j|ae1jWX?~#rhMogXT3$9-QxLuokjcabQB1iiKh-@&}-hM8)o&nhL;9{V# zy(Uy}CQ!l-n0tA`M4_IQUh$JhT6H<}Gl*+uB6Hm_kAUu5H@v-a#cMC}xTR@@mr$#tkpeoG^O= zXy3N;DS6)pUog0L3E0*aWdEbzX*?O!Aot$92GDFC_27o)tKEV+*r#X=N71tn#{ieY zxD*-_tQ`-eG-`)|>%_ZgPSEMg^~xUi>C#;MlU4WZ0KVkY#vcM|dlTSGlUtAwRZt{d z0VnYo(9A}FeyO9{p8x0bKKsu*S09rB=9Qj1k6!?uX9AwLjV16hjgT)H@>c*$3Ij`W zhoa8{W|xI#@NLj}Y{1PF0k|=<-2SBS1UCzh%b*7CLF9FymvZ5x)xtf_Er^EDz}_UV zv@csMcYwf-n&iHPumeA&u`-2Rma11SA2<(uq)nW2ILD@{TLrsM?Ad=4Ks2gUjH)<7 z1g0QvLB+Hc^@vp>JF*`hlmZEV|HB0DcZQ8Js+XufP&-fgDv9Z>#R~7Za*gU;nMS$J zSdSF6@T#1Qc%5bHoJ0$0#$EnYlUUXm95 zx<&b(`2_)J&n6(*x?R;QmVGvr0Q>a43hpHW0&4YwEPs2S5m6W=v|c@EOXh_F=lcC^ z;nOOpwZkFf%Vr(a6QGzPWlf^a{@BexNmm4ncHeXT2BxOB|3@tlAQOc#OzZ!)7b;0>LF(PL|Xkx zWOUa~n?|!+x@QS6bVSY2f%;{jn{W3Bic>$K>dao#KJE-N6qyD?-#Jubsf z?PAN^`zUoV;`u|Mi0}cIPb4`u8ka2RtCiT;rop|+u=!@ebMk}jnqMJ$-SX!Fs~hur zMwW2v*x8e#+2->zf=u?!rFnl&F{uDxwq2j}b@q@&Ko6oF+LS#k$Paq-z_1D zzE|NEq}D#js&HHcsH+)NN=CY9;3T*9C4Z_fl8cFS9>u z*yW=dn%C1;-Yp1cjvw+dm9|bH(wMj1<%611ZZjS)F$?P%S&e0>l zIGC3P&a77k0zvcJn=@uqHWszeITWgQ@VUl)8ext0dTy*Z$Vr*WB~+T=O5KP9lGZHQ zVtLX%v^IsL(^n+A=VORDink>7+lf{O=?MtRu6yvqf9?@u8*{%N>o}Bb8?CIs|N0UzfU05Z!)_} z9F8*Tf9nQi8M9M`pDBQqctVs2V3WgRLMP zvVQ;0WI)i=&gNNwj1I%up7q4i2Q30YF&w`k{M>46c>?Zqc^_5Hb(@r6yM7qZHoO0! zZEpM8He=q?q3m&%QUQM|nEqoy zTG#UGdeZ0QBB3(veSH%Ar#?jj5yKUxI*9yl1}zHQ1;aI=!j_(zTu)vv;* zXDLy1?i_XHhPrFs1K)J?+zq6CDQzW?Xe17s&$+qb32MNcl9jFK%4=jjHY9XiHBD-} ze&J~%)bBmoGNIafIw>CT8TQz)hUV)X7AzsgK+L3U?8AtM7Xitf@j9Y=!zutkUSqsl zM*yj~!DoztxxX=exnx{CTA#DHuB4+>eIx>kO+f=Me!2PO-P{Gm{H9d>9XE zkV-oKS0A;>Roe_$?4D8oY z;>bR*?>Yj6Z!?$DXZ1%x`|$_#SNw4wJc+pq*9LD#mc8GYgE9;NuT8l!c!wxG5*Agd zD>b$~?PS}k;@N#Y2Vm<`9}sN!Cqi>TU)bT=D8GF)5W0^_ooQp%2=S>`-rNoyp1@MiqJ}O}6SBW5X>We3pLP)l?MX~9^0R5H%!LU%uGH9E zl&^}Co>A_jwUA>>XXTtcsP1lemGXwlkMjPpb}yB#0PK{`1#CID`?;Dp5OWeyXn}p? zlm!sL{=2~`rdBY3oa!Lr#RC2 zakHohzYz6RcCcL0GK4a5JplciljIoU3NLE|ghv*nQakxk9uL*S+n)iv^jq0^1W!QR zyx<|h37{tyVzAF=QK-s3tg!|N;y#q42$}@YV|lKVdoC!1<_1aRxMBxY6i3@^Kx6!f zJyfJY`A5M^*I62*u265G1Wxo#tw<}(;mgntI!oq^su?_+PU(VtD^`fjk7C>S9B>sgq6NL9kgh>BI;#{uJ`A;r7eGgD#vB+qTo@JnMFIn&i822*`;TJRr z3os?Bh$6Ag?H{kG;#~@pJSui*!d%{o7l5(o<)*_O-qT!Hh`1?I;&}TF47Yp!yhKat z^GUu%R#rHE&k9;OcE4_4SCLj!= z!H{R)X?#eM#emfpmXLlYpnCkHaXb(Xg$lg&q{}s_ z3Due)EsfEvk{Q>GMH`0>LEt=%j$cpZe6!Qyv=^pMRbd%!(I&1l1kPbwe6qQ~So3LK z;DHCsDX2EqW-t}rw+ct8q6S(gMEQ@^k;I;-2Lf@i563Kg%kCVI;RR@3UBBp}9mN)R zQb_988?yl4bp&uFIH3#1!rx%SJkUI-qED!m{PH*2PM6oA*!&WfFyM#;bkfBu9`yrd=pgXyFb|jm~!n!}wi} zHc)c27Eh|XR!wN5aBnsQvaLC11M(&y98-V0eSPsnz>2x|`iMe>C>7qjm)uB&OZiR5gH!G~xCC%QRVVvSx_^-RUiV4XWXmh|du1qGLA)W*wBIRu8bG1z zo<+Pw$LJ`U6F-Ugp18vrR22LnBFKPfBZ900S1m{Sd*Z`-jD?h|9<$ct4ah~rP8~h% zFcRmclAu57d^=24gv*cQU>K;p?;D)X1jNbZ+y-g018P%#adp4#$g&?j7+y($c`n>7 zITYh?<~$DoOzuN^(%Y5Gany5xt`UB7cQP%>P-KI{NDZ!(4X?ntRGmIq zvyHi}#Y4xMb(W4yeYkyLtm$H5 zj^UiK&{Yc|I~gDHzJD3ndHn;3BY$c~-E-$RuYl4V^FAk(LjJ{xOZ%J<)xqy`f?=N% z^%@9gTNVmj*fB_;6A|=u-<$!{U3JxWb>If>S(j5XK2sotVAWFy3 zF~nVaP`~Hi^Lx(u zI&|}&90Ct_Tf6Z}hw8R?%m*>DFQ?m%bG_wHGo%Y4ueopR~0I-vte%<5(aN>Fu{K8t5Qt{EJS(bMX@KB2iv;kc`d?7iq?UD zyF17K*fb-|MosYh1+YoJPo(a7g6mTtoePZE6-1tGwv`HLKub3W-kurMFh`zCyn=!3 zd;WSSxgg}e^XIYgd)ff`x@Y~16Ud6U_UK!vVq_z z#lQ`K6DeTTki%|a-p0#yi3ByYPGyGyt>?DkZlhf4HOcH!O+^7=T;+CR3e1G)$>2bF zv8{Dep$$Yd=t3BS6N5p4;v7KalT96tR`y&21gon;KGaYG{Tc)@#fZ!7$O&S%-1=x( z9eD)pa%MJgQBR!|=U)1ld(Q69E0UQV&{h@2%N)lx?%ny#v%vUo~ z{K|rsGf32!bhFlLS4(5e6Zj|s_08j~ODb+39MwBF7;20$V=Q~p?xqaz{NH$x5D?rY z1#k>TFFRzQoy${T$IE2eUcg;S=M#(5?+K8pRELB1U8nLd1UgEk$qr-?Tk-2}X!_`3 z9xbar6_MzDO>EVZjT{tBqVHWaS1}Xk1l}~^7sufK%a#~5?T>{=cAffu0HEzty5Bcg1K!Vw4Hh7(qjv{fK6>*S zg07nLYi`|E!g>fIxwAO$QRo#+6FmL zf!fe#UO>pkEpQZ1#t#vrL03I?01n2Zd=qhtUAlLWXrueS=jv!|4jB>Q!n5iq|5)Ow zWt!ZNIoIjK?#J;uw#K~x_(EM~&YLuueyqJXLfnQzqt~zu&vbnF8`d5=Sy!YDq)UQk=PDR@$I(@!fifbPpO$fuTh~7=s35+yrP30YU1?~ z3KuY%jb+wnz@2?*OXyjgRERi&RIgH7s5lzUx9jJY^NB1X;HPsNK)SbSP zCHHobPgWEl6{^K`NOXX1rGIN;pW(|@V+8*G*&4PHm&;+jg~6Y?c*!yhO6W;gLnO8b zACRV`s%1f7)lp%P``;b}sf}zmpxY}D>jdRFA=O9sfthSYK90n4C9EqT#GhOV{Ds!y zAv=iP{4jr-U-`WQQ=p|LyV}-Nf?~kP+v2Wx(7Y8pSGOWL4LfdS#e_ z4Jv82He_FgYABWwyj;i!4=ZrNFtO`V&2f=-B3l}Go4SmP;MxkrKF*o{BPlC5ySFZ6 zpfkW-E^Akws<_Chm5l)nWGi}Aj~N<7a@sFRL%VOuQ0UA=V$ zfM(jbbsZEbr)%?$PO7bX$^)eBQUeV6!LywLirc@-sw%C zm{m0~lkm}tC|Oe62XIfQ<%l);^2mth5KF2Y?REx=Jx;aIMph<6rnm;wa09+*yw5!y zA}3go*~8P?r$Ld$?nSL{}V3g z6*(%IJ`9@Skd^>6tVDutKAO|I`)C8~<$?fH8K<`gyjD${%_T(`9F`V84Yod#|^ zw?6dq;@Tm8qiR@xNFZc9w=aDP?Vea_T2-fuvDf(F178$xdw03kM(C9FtC~);Fb_m> zLU9aw9^vgCSk~jVxgv%zY;XJ^Pi!AbTqmzFy8KIKLiEM<#R%*uhx~D*A7m<4tCrw~ z1G?)VH}vGBg`L-f(4D25e|Hwk0|ww4H{Zw>6PL^05m;IBSp<99<^*?cPspArW}z-& z9p%hldi)zreUAEIxe95njmT{M&5~Uveq}RoVd21A$_N{Iv;BjiqDCb*8}sR4{zabI zV3|D{A;s1^OvZ(exX$d1Bve9@(sbhjS)s*Q&+q8Cq`wT#D%d>Pp9yU zZzrr zYaCwqG)=rabw$IZf|$tc9BS#LcTDR}bC2uJuK(8io!(pjziD-KBM=!-iJHDQrOboY zc5%(e`()x`+m~30XAYKg5O>1f);H|16q_Wa#h+;45}Bob`P3*XarDqeKRx_p#E;Fj ziC)pMgiq}gw5JY~@@N9+YQ%&NdgHSB4L2mUgTeJqvlYLSK@L<)`)3!N&AeT;Z6E_u zkZ)ZZPzvG*rHtcW_a&{tJ=Jm`{rp|^ILJAuN2^ztuG&WSH>|;G?R~LOE;w*Srap33 zFkm!0!9aBDk(Y=6?4%hg?X(j0)9L;#B81NUN{r7>?oiccRZFX}9L{OBaReqFJ}PaD zWty<24%aZAIJF24`sTDI1p`2OHMI2zhAN_gLa}DLE3|R@gHYS@5x_C+f8bcyXu@fj zO(L^{37yjDNhw+9#j1zL2S8%$5vorXVX8cnxK;Sz{0W1rwV_0KK)>{`7j>%hEj(834)FAp6nmwbF;(r{I#u@bC-&8aPLek07Z3D(WC+oX6<;3t zaDoe5=Crda_sbt2nd4rNUjMfjfQK|Pmgi1dOnnHnXU(k5;)nJ*J5U;8r$$)2bD}dxllADIbjK^UKq274CW+EQydd#3uVPA#(I8>(CzldE(Yq%inZsDrQ(;KE*8h zmB1Pl{kt1uq@bXP(|JC{C-I{G@X=ZaiX}wa>8v)eIt5C2P(w{@)8UdOxgelbfzT3U zHN94Lc|ZW9M~YP^AgDG7m2paJntPeD=|qyBaD!FHv5~T*g}`ax$xexYYeqhMhDuCIIW4zjoC|A7cS` zOE$By97{Hc#16!*J0i-c+$v+y0VTy<@9eCFXJg@^HmL9vQ{j@DN1>TT#AAKikrB~R zrBmyuu5fSNcRyFfDGv|ZJ-uf)E6pRY^2(p&L5&O~W@$Moit1U_Kn0I3w&0ey4ptCJ z{*DOgM=3$;z*)KEZAlRN^i=VG2PH|GZ~3+4<5XLIjqL`P*Ub)9|@!jH(f zyUV7M!4>hfj^;4)M2czOG_`X2*v+~ba~Ha5*X|*|JN(tA$#|UJqVGnzsdw;3)$v0W zl{2$mC>6okY9=c`I|NN*-E~ytsA^)dPXgCS&eQMK5!n5(u%tW8k+dhc^h5n!WQngr znJR@t0qE}`^Mzno9f?PL5~_ra>hzYeSg{tgYp@*W4t&A}Mx z3t}t|6ZD+}y?L`jZ|lnF(@dRd;sDOov*DHPwHBCpjoR;Ah~0cRX)VXS+WY8e{YuxH z-n!fM*pbige1j*!O`#1V;FdVN@|Cm_B4lMlv})jxkL~b&)V<7aZ#Zm{*VBr(%YzEJ05k6N?V~vUdDoJLkaa+DT!qHw7`Um08C0PGBGRnndoFfqk4+Cq zCvzR#C2-5d{A76k8M37VudwCgO%zVaewViS?CcE+-Tf69%5o^!6l)$F@8EJRFB#Um zqiH-Y&$IYQ_T~E7x%5}d@kFzvTyR9#`A~r7R%)KI8=Y#BSQ3@ z-6(%&eQqi1mFY**t=>1uG?W|o+PSBw#hMG{u{u$dp=KDbiQ06wsSYvfoP`CFmR(rb zrmV`1Xm^nQxfg)!F>1}Zgg_a8D@OL` zo40UH{3aEZ^It2T$fADPUbjf^+o3rCH^?Yj%!!STt!v(YuiQBi=3Cbq^U3ing#ESt zb^XT`z`+8*Tkxi96BILx@8rl%Y>e&n*kM4Aa3kw+zX5N@B@V z-4sl8J10)^2gLh&Aj*=94F=JxH9WeDYL$h4#&2(%(2ZzSM-01M^MB?mg^;D44pqGE z9Tb6{ zlS-d{k=QtydO~fX*a+}_3D4z8oXKN=B+)}%LjjEcXXMil!dga^>o*|8h7Cm1wd>qP z*9p<>>EGxULO*(e4?t}vpl+oAVi12pSrIr&(5bY{UO;=Y#G1-Wb6lUf}-PE{|c!wGXiW60Ww4fy1{B0|KzVz+`!YzuM@jLhynw& zU|sGaUBZH&{GS)h4h7t3>nv($!MxDEf*i(t1}YDh{qMjm0JwJy!Msoj=Q*U9)7_NC z$AE-&!6==4$a-E7XOfoB|I1Red>NmBGkvU3?lDgO2iy0dD|b(GN`jgY8HRuXlI>YT zI94dTVJo=z)sav>-TGHP{f7$wzb1!LmT3%QF@)hffF_^3TmO@gB1!&VCZ`9PzU7?= zf2iZ|86;qKy6b5K0k{0Mt^ZlTVnD!|`bOQLLraaD0n+H>#4(JJMz{Z;HM&C!t3ZGQ zy53kgLkKR8l#n{GmV>$C1?paCku`u z>Yx0x_~byYV%DR-vjb37UM~S^W&w|be`bWiYHPhA#EI-Ngmcn+y<>y^XzLHk3r++4 z(qw-h9TY+;!#SoDdBwN2H-u#Ye<`8a8WrQF2uI+30S-O(Fs2bW2{0J+4+qJCLZ_5I z08j6ngdlBgh$65OkH>-X@1X=4OydTo8PM*!|8EJRP$!mXPv3|T;4cC)df9-d*RSAR zKpQ(WXa#t|=Zz3V@XA*qD3nApz?ianwWmM8yl${VqPjEQCw`AJ@?O-x>skktKJqX_% zgPAA2(i;v_#o9ZwB~m`nmDSv8)kwWMg^79Jegn6H4d*8Mt6k2zuYK>tQr#Hu>T}t5?>pWZv+tnXMXRPAoK&_c{O3OkPDc)!0efbGTyO^48(N0_lPR74`CFtJkT??&cyJB zXzkYfgrSe#I?izYT%lBq*!JD^85-!B$1sXYtV-*|v^_gb&(VX(hYZ~0Dwjv7PW&Ux z+z61;KTb>p$ePp5%7T=*v+#B1Htgt;Q&E68ySJds^^dyxB3L&GR}%YxI#}B&KCrG< zGM1wmB>VtjIh@4o(2|en%I7UgMXxE@`!-lG1qe`r<)(q9$k5U)L9gGf*M;du#NLaI zAuQ~OStsB{8rDwCR=8uc-#MUXPLZGVZ3unZB;F#&p8e-RMm{x$kQ;AV$&UC7O~y^9 z#*$`n4E#ck8hT@Ys*^;V&yWd_$KIivz$nRV-1EaTq=(K(+-TJfhZpLs<&wxA}Z2<8L`XSUQrCRPD@sn%v)3SMK678{CfSmwiESy0p+0)99`sehG6h0gqW-aN zkslBeY~R(v1M)sbp&2MZ6!s5VSw74xrIOTa7&0nI-r%|1qn(zrv58REV1|n z8uVjb#xQ<+!TSjb3_uMs0JUZ~#IMVLWOe`b(62i{apz!zpA3{?auNp6K#0r_gn^=o zDBn+gMy06PqJa8k!rfXTz#1<-18Zbb|4vQpLT}rZbgde9Uh)_U`wV%51|mCY*~Po{ajjNF}c5NFOZ0AU>Fqisy86WqaA%H%~(xlWe2TN*(0Mr6`W zkQF=29b-18rj_W41p1prsiIx}9O9&e2r@!!yAvhG*3V3^ATVCG0hqa%uYMaE{DnFY zl+@2JBHR+xfJUQ81$zxJoDk1lF}X4_f)+|Y1V$;K6<-0(^PCebxW~Th3!QFy{ZlhP zo=WVyXof=|P62u~mTJWJn_>i!t1+YnL-tj_PF^hwzner}uyAIU9pMvPp0s@U9L^;Y zVDWO97}X!Q&VyJ^D!#M5M~?u9Av7=naAga--8B*mPz$(@VjPRrtJK0&pq8E$qtN>N z`2w@UsI=ZYuOi$kA#$#thrE!SEDRFuE*+$`?9ny@t%^!O?kC_9x)Z3a_%Y2eHO!D* zrmS#T4!8@V1m&Kv?%NQn#h)(bQij{7)vJ6TQ8=$(X^y#p>P#;7NZy|l3N!IUiWvw1 zm2dm*0CD{+Y%hAx7ST!?%@wz9hoB8esi)wvTe|;X_$A5^wSJ>uc@$(j5-`NW4 z->tea%rtJM5z2)4#4mq&X{yVrB-E6}Rx2~(nQtzdOLvvmK^YNdzC5LOS60_sMllil zZZve85;@DL#uBo7uKqaWM+$j?mdKL8*tD|r7)FAtDZTN{f=!&bFoZb5Tmy5WLiP#u zmtccBnLXR5{f|&$5)&@1`)>Q=Cw>lVT@)T~n7{=- zIAL2goa;z=U!~w=fDdZKXgfS1m#ysLqj;=f6b0@vH3H`~#y=RPCPlswXTk#fX$O&% zFkqMg1<;NrJ~x!C46xp0>qUtA<5o$7|F}ug;jp zb1@ezUi*-vMKJ-0lajiNDw)~0nmCiQhQu*ovH?Ta9ifWs2vCuu19#{4^t>I0J2 zr4R+!&3NDTCvxhw0ow|PUw<^Jv;Cf&c;QB2G`Yqo7A$#ah#0u{bt!CBq|_|rtPw-C ze;G54de$b)a$o8-(DT5>$@`H&X=2EZB9w=@bZ9mOusk9Ch-sOM>3cQKbv{I^C_$B; zIU+>(*JHV_Ru-4U>Q_&9;iFw;QNBL3is$xjUAdUjP6X(rC5kD4j8#A_Ydc~1&Nw(& zxF&Dq&Lw%{UBavE7r(FMk+?rR$@RSA4LUe@yV^GJ%3&#Pcjyd{*V59#FqXnwwIaYr zrhIV|LtU1=a~Y+=v>Ol0tbfu-N9W890`=)r#@QgSqm4kIcW14M>B(f0x~nEkp1|KA z8-H^#JX6!pZ1DKz@sjswVR(M8CPPo~uuqejiP*xN2|7`{yOMt)xF++P`RzJ$))0Yx zy;qS(nZyP!w)vjJCCmLq)q`__Nb%Ia1(vE}Bs{OnRxGHyGfz!2M<=mGvf$#?;gvw#a2{J$zX^FXGm%I+wgV{zg z*}88F8`d9oCWf>oQnkzy)kD1xCF`O-w8>C&1HW)g{U!yF#U$Bwz$X@B7G}pOO_6|a z{Haw2BSW{t*fKdnW>spJv=OqpyR~pGcTDd4;r&A+-Nq`t5jL#KuV3T(Leqsjcw>9Nh3&y-wzAphWG6`Fz)fD3?Ocm2NSEvL)q zXQi7jDI3I1^UUy=*YCQC7Adn4h0&CLR^?cDm)bB_lbL zBQVA&y6Xavs}0nA^;H`Dto_H=RvWAHO?`oLcM}sw!W(S(T)ue{O(|+T>zfNbwV@Z0 z%wI7sGP@dgeK`p(PQ%(>$b2vL3^T|*rZWiaHzE#u5$bH1JZ!z|TBmnS!0qSwV%X0m z>h*@l<8s=9>^>ThkJGqO+YizrOeGDC|acERKTs9f&nbB@ZUVVcgvmASu9cG#*>b zf36sRPc4$n7!gqwHy4lEd?uaSHL_p&VVo^28O|cPJ}f)++wjq}!H!a{RFhl*Ls?W{ z*?F2ewv*=BSMGxtcQ#?>IF!q-!p2Vfey`5@@^QG6ilD$6b`33UO_n8UuJ zu=@H62AIN5UQfKEtsEr7Y$M2BmP^?=m>}CNV8))#_^I)aO#8#$fB78ET019q>_HCGFq*OxIlficR z8){5PY%pgUYK3cJ<9tidPQj1ON&;^k;G)*-?82+wp{w9ES1~d#QA%}O-)LnG>$KI{ z-kbr^C*wvhjuoUKlF0jT4&k=KhZX4@zx19a73*w|d7&&h%>-gFu{|LZK)_8`>O&%nmw22!+GLVUBXLs~)?0|iM}71Ia| z&^%wVb^Qpu({Ap|?XOa+r@x4K&kgh^`UcNj5_nw^ru){S|5p#HI%oev9KQIWC_MCa zyY1wraQe)|>=)qkVjt5Thotk00mpSnso7U%Lyj*(M@P174KyKn3@_rDKDtu!6~f!1 zZ|v5iY+#~gsv9d}bz~n;J`$EVv_c)8XMb)Hm%u+7v)|6Fb{T00gzd}@IXjjs0>Ifx zBMGz`7aBlPSAbZ$mbnox(B?Ql=U#_csCi}agVVFEsB82BivKcAoNq|n;(BUV)w-N# zz)08|Mr9?A6rhUF=x;#TlbSTK;SI%Owc1597s@hgyQm+!aGmtNw!M%MM|NoDzW$rv zO2kDJ5fHZoN5A$#sOaWU=2|MB))e+7+=~>96fF@G# z;oRBDiPSJAH&ukuw1TKu8!5d5X<{0EMy(T@TNs;1%E>zGDgSu*e8CP8qabGO+pe2U zLhf1hyho@IRdae5&c*2Q(jg)MA8kPA^KmSuJUbl!2qgA^zxw;~{J z9j_u}O5JQKcJS5Q>_#v{*c+};$4gMktM_~c+LqeFi5(~z4#hTw-xR$4p#9>vk%+<1 z__CPAMY{>C;8K#-4@F};C&UsH+{##2uPOrH*&W_+>C6(kq}6-v;h14L3yVne=W6^I z&+L?Edgg(}@V7-Tgf-m{0U%~~7O^O`dGc+dan^J*uxSlfC4!8S9%Sw1U0&N(Pez)U z$cj_ceq{9A2CB3lWc{MY23%}^0zpes6m~q&Uu`{$-a4h;P!`U&L43N=UW`*FU zboiC~1Oq2GbH8mFSJ)$XsdTzH8l+Gp@J0If)lM5JsBwmaJoJ3TuW(~%L?EzF;7C)xN z=2nM0_lMwnFT!9ewhNGHa-2I3xuoY#AMDtJ$m>~iZ% zQ+*$?Q1mk&UXl}9%YUgi+&9_p|H=4~jTgR5?8=$uxE+uCzpw7y8Fp;QSd`mwqxKm# zlbcD7hfPOC6TxoK;f_~6?FU=RbDo49q#8S6OF0pT*lA`Z5(W$^g57{OD3@-93G3}X zKvTo>S=qgR;+JsORs-M;sI(n)sb8&V*UpVh#NZ~sUE!Q;mgq)`$&0O2eEB|GlHvgW z1+bygXlOJ!+Gqp!)y+U0c6Z>N*aenqetM@Dz~C4_{$a#>QH~sG4f}ewfrk{REJ)yI zaFX)>-im`G2d4cTzmphAMuBVE$fOe>$8x7$<#ZItf_gK7g6_7G(YESdi>$f+w-*3x z>`qPGU?apI0uBMNo0$mOCr>FMaXpR&Lxd8H036!nwEYRFC!ignQB5jGXa~}ianKx-I5BJ! z=ld4TLPUZrr2~se(v|uTlZazJ#+A?uu|O%menJ%RX6Y&2IKXXKWK{dVVY2vPhF!%#Iv$A6DFQI= zI2dHH!UkIgjb3T@fY6DM{m`Cls9VbGpGYqS6A$0)yAKjhm1}Zj$HtNnuD_%lgt`$CKM@3(=n9Wx z#6QZoT>xhVIaC024SS&nGVj`awD1cB(sr{ci~fWs~HfWzf+l05%7+$~3(;|S@htXSzqfYs?fhm6Ka zZXpxr>j{B-fTOz7G#8n8B<7)(IEl`2?ds0a_fhB_V^?(G=~3Hsd&eOqCKY0w?O18~L}WGA|@Ks2+>RI!i?D1HVOb6z`Lo-iqai|b?} z8IV~i)e!wW2ZU$&2V^t$acb`%Fo|0W%yRWHo63JL`7;2?qwg7qJN!T>;8^@AZRu@X{n<3merW$R>+`@+QD_1f-h2+n#`< z1U3U|AJr$J3N{}DGcy@U5dqsZA85O#q*hK!c!QU`)8Ib_bH`C22YwS=Cjaeia_~A5 zlK!;Zp6ThSZ|uJ%>q#(qeJ;QQJFOtMk`)Dw z5#}>}n&7(Q7>;eeT+qB)Y2&&m42lBLq|;!*Z1m1+Kb!2zwJ?q->$jILdIIRxSsWQJ z1^I~KU`7caFi_Z^lrd{J=%Egs?js`nrOlU!(IP+pBzR!@>qrkE;&ig&(3OenBSLLV z%HsWJB({N)7NhD(;a2l0uPMjAZc737WMxBWn2W8aumkae=8x#?ki-730Vr$<1!*TF z5P|xilZn`EiApzkjq&952{xdiA;g7kkok@6-IdY=GUfQAvAzmplV@PJbnb=<;k$=M z6W%FYU{LD&G6B#e2^V4!l>?2vD+op1J3$zATP29o@<5w>6d@74<$-K#e59fv%Kaw; z>6*K1xf=>g0BXS|gnp)UTTUNi z{ayQQ>`OCL##?OXENU~iJ5~%*nih5J{*U8|pyGjKNriq9#dlY1+jFFxf>@cXh&EK_ z)aJ{*aw;tl^)C&U19#`lbBvj5H1Z$_k$HP!zdixv!n2Gx3t=e*pshx#+<^oWfcB-J z8qlRi3JNMmlG7ZOvs}LgOrt^=GGJrA`k$|5bGmdDD%rH}K>qlF9#Gb|a_1lbhMVRO zuT-8o?}5D zoU|#uArs8~-&V7PktmRLorFrs{WIFoKo@w9cyq|nETPTaEe2Gwee#=1aT>j{ZiEjl zK~pZ?ZPt-77S|tA$GqvQ?4g8A>u@(y24eP)m-QVDi~U5K*!L?$2vY1BsBo zfW-2dB{yI8$(2;HBx3VvRO5jcIKd4VrI42lcjKFVF_+xU2o2W_Gwgtp3$7PDERdsm zV0h$VR9Hjls5G*6!1}Jmp2K&~<(dD8hX)Ebb)tc&dB}>kPf-oUpw1`yw%aCuKMf64 z4?7?4TT`gP5@PEQ&S-%g=QhCyxK5|rpQdV}a~1~@A;NbzOtz``dOGHp zM*zYaJK$g}GT8MHD$*4rRDbgN{)E`{SxEMYWFx|}97_+y0{N|dAy+Fw4-HmV;WK&R z1VF%~qrqSkH^5+W?oVnT!2@46wf_R{=>aqt?OI*_74BJ`rc|sRG*~EkTAa(bSCpOU zP$0}w`Qx49b_1gY>2xEYk(xfM_y+nvsYbyA`I^3>!AR%mY*)^)^{VRKNk&KONHz6A zORQwTvBJ{lG<+K>G$D=XB>?mui+Pv1mT@p*1f4CHg8B2o=%+1(mrcQ@*H|uv3ec_% z+>3TJJ{aMuzx!h*yNJMPPU0BdRoBAwC^5MJD3LuXP#h+rr{^X)GSmRB3&!E(-F*34 z>h?Vn6!r-jAC%b$r~wUQ{}Oxu!gkl>^Ck-DO;%!+;H;~555Pzy|3(5Ss_gu~ky^;< z@!fLl@ueCJO0(b)D4B$eWN$VLB2dfiJI`C21SNqmtzo%UthY_oR zk<#sABdlVlT3U8d1xdx%i@b`_ui-V)4;a_osDP1rY0m0-9zNcEs00}jDEg%mlIGU> zhlJv#7nC_HKPz@*Z@-QNwd*3l*kG*ET@3>-C` zWGQu#LCIqk0ewzSPmB7zVBG*ElZoNoGBBTtR8D*Cgzg`e0(xvUcx*dbsqgehF zI>IVLo{{4JYBvt`K`GkEFUa6q;_m?6JG`fS67jbYW)9_bp~;}Vd4K+ab51(U<}!v~ z-J&<~efzzg1+m!?`stS6E(}1MGs=~PT&xf(C8>~uwKXQT4)8lm1sn+zKRE9I9ElEa zB(?9*9?hSg@{>uw0EV%0FFAB3u)KfhECTnv>C;=ZJwHdB)P@PT=4=P$fpbAq=VkI>3A{mv^101KfL6&H$uxGqSG^2u4&;-!jn~Rr)>9^MTEl~8 zm=dcIHkmVNg||zqTk-rm?@ViVxVwZS#8p1~48#!?>dn@m#J(b;<=Vnc`eG>ewbKi~ zQK!OeWIV4UF!uolUTjw&Ib!12PcePBgC{a|#z91-g{yoyDzk*8MfD^fa0=A?SkhfW ziXbcf^&*I8x~QYP*;n{L&)Z#&8hH)`W(Do?25G={se)!Q&<;YYS!+Ic?J4C)J_jaj zGrg5Tm~l6D)2Zftv5o-+i%fGmu2z1!<0q6fTr*gwoX8wUQ@xXB({gJPZQ5_`2-E5IWPv^K#ri-HLqs z2TI7yi&XoUy7K_~3-UF<*&PljZ;sabLg>Z$NocHC95QO=B8h>3j-a7mcYNohl%85T?Y|UWXi^iqGtpsL88&WnjP(wB?8Ad-s zazj++LX=x15T33KRczrO#1a>Fy5zV&>77jNi*9bc`Lpe(y<{3I39*3ywro@ZLLX%1 zJ34@8)qMh_yyuQ^eRH04?|%JB;7HS{d;vWZN`03>aWHzE{0f(}%f5TrMM--(*FwvZ z7&K)B(gM17c1u3;wZQ$g7g$=|Au;xlS)NC0AI3^(zvR7lQ~6pQY^69C;ug>i4_vXk zaJgrMfqptF@*I#X`{lwi17@!HhqN)VZJv%N$)r>2BZ45{GnM_;f7ru5i&F!d`NCeh zG{hdBP8DCtv>XKr1a1OXcTV?V2TgK7yf|yGw~8J95V0GF&eYb6uyFjXgm8rgYvnKf z40&|rOk^j&_Mr>B!IX+L^+o)~g?;Wu(tA^>8;wRZ<8me#9`+dqz7fPAFyR!558KbF zoV1Z(3qF!)atiD#)-Oq^f;^KSN=Wqm#u8A6+Z4z%Q0Ql!S6p(=-r!iGnS2lRIB}|;1*wTtGcSxAM}a&{hX9DQ zVE}U6RSP8mJtx)?pSd_Zl;GczPxYIw!>ZN>(sBVH70xwO{H&L$d#%` zqc^x{zOYA`-x(;{e!wNg%(aqogPxcU^i|jsAh-(A|8hI&W6&J%eU$*a$6sfx!$d?tR>MWh5h9U(m}=3ya&F^H?&Ctq+bZM- zi=Nywj8gMa%HkXMOvi?E`ow_iCvuXx7B4IZrnj_Cay1dPTk}vo{Tg|#Wlo4 zPnC#JR*ojg|1d=P)!NH&z4vsK@V}29<=^)rn=GWZHHt{%{J*4|Kbu^ z*NYH`&%zLRQZ7-htIgv(@O*fi2T3^x`_J>=NJ%wqr%=bB-3igP<^mCwvk|XOgH-n< zl4KRy<>A1{{C+$y+9qK71%k{}&TCqo!GagC5 znlwzw+2$gZEWfDAd2Sqtp*o)SUxX6x*2HF=knHPVqXh2k(76UB?`0?cCGQ?WZTK?) z&A{Cvm@w0SCfro4`*zQdw|CJO5xp)S@^L`7;EH!&fWOeBEPRotEwOj!{1SZol^sph zef4xD74Le%)r=SiV-=>`k5Q*GR3*H4hutoXF5X}mRS7N7r(1ovpx*jLu-mP2xG830 zS)w5CG)S^n_!|F;dyN6N`yO&J|0{WTs%RrZ8`&f|Wlb4WJg zI-Fd^{P~zz8-^$8bD)6pEqr}PvhWL;Lt0W+20=HsCWXlX|BA2?geUFnd$+FE+VaZL zzJW5+w3sThkG~?)E_?y?Jyvy#z2oxCk=KUnWS#Ty-TFSGdYJtC6(S&~#igjSNk6m- zp~K`3g%I8I%|8cG9oh6B)z?*XK|vwS0_r$C@*2wt>q~?!pAf(26Eq$k>P6h*1r z*y+r0>j9hanojv?_EEn9t2!HmFH2TRKbVh34FBAlV?-*-ElRC;EE zzH70#v~q+RUtBYvTe~=VI5m1XKK(L4Jw2G}q|IngQ4?!2J{NT{)V-T2IdxMG-~F|W+KV~kYB-`$u^%r6%7nEy;@Cb!`Sy!ZwM|O@s17(oQj!aQA z5v?`K8KIkI9Nu4e6eg*}nWo)N-!4Lm)o$MqE$O}DMVjxNFWT1EJDpN_$mF3@xdFAg z225OC`DQh!p4ADfWgLqti%rsIHI+;Yb>6GG`&V%}1uqt4jagxweA-Mc!r*&60U!I_ zDmw$gpqp+OeKe7U9-5OGs^;eHwHPSV|graTmU6s|BtHN8M zHj~#2y}G|L9V;jZ_^6BD!v4kkn0UarLrqHz`NzK|DVQ zIVv9iE%aDnmjZ3gcaqrPU`xL~lU*$7{*6gtx3zDw165-iV&7B`_sl&TNH#vihF+u; zul5{K7dCg*_m~!?1&^~sV*a1T-rA?|&yw~rb9rAEOO=2u6ZvWTLD$I`0^S@* z{hd(j8(Umyq!gd&)}-xYsl_JG!Ud)FH;5_A!|ZndNv@}^r)Lv_w{GP6^<>bGmBp#m zvMH(VKZh)L#Y5z;t_JQ&q|A=%-pSlDe>pcyep}Ww%7XXvP`@GO;C)2D|I`FJ9{Z!* zFv?K?-9gA{o(l9hvWQQ)45xFyio z%4%VZ+879+9N)IoeNLOJUWSIZ{}>c6TjO68p8audt$yz&IndCq)W241ZBS3!<8;vS znv!#xIcTY3+82u?ofEeC@F>G~Iz8alVo8nCYXcM!;uiwrnCC@kl@cBP__N5X9BDvC zrJrRX6F7G5F=UT+uY2$c|JKN0*N6bg)(L=deWoRjiQT^V0n`b71wDhI@DZ41aStBI z{`9pu54p-&^@7av1R%Dk#%)ODoC;`n?apOWx(1Ye=I*g~-2ne2(KT4mV5ok0*})LV zMGgeb2S)#bQYE9@SpsC;DGCrHn%2wtAg4{_9xzIUA}7c`<)5-t zK1nkgkl8nj?lZNqS`OQ)DglRqT%XAFcZaN*kxwOVE_~|p|E1pvZrSP_D5$N*HBy!= zd{m*`@5>(yk5%5BnF-GfS#1MeZ#UDbY^CM&ysHiVMbh;f55I2NiySgr^}Y`%bWU&z zv-bV2HRPqkb%?2m}u2K zJGT$b%wMN^-8w!7C52iS%j+HjcdKD)9rUK4cK6m_Ppq(o?YHpAxAOm?)h=3QIgOvs z`()_!yen+;)9!kXqEl~Y@yC^qU8WXpGFEqH-Uih&u+-T{8u+}p(dZ!f?yoT0F8thIgJ{SZfc zm}MWUe9a@U>9nJQ@*b{f_lu4S29Z^@q0oT|F;w0#4*kiPIkWDgv0uH`*>g5GPtwS{ zVqm5T-ry!26`o?`(AJkXE~FH_V<#-o5WdrHb1O4+^LxCJ%8$Mg#jzEdbnmZc?f{?F zC-cGLeAmaWn8<6hhpX-4^Y3#DF!Va?-w{Iru7CuL>F%c2TELAD0d8jQP7I+t-CL6Yd1;4S~P6qZsDqrn-E-E^y9y- zJmbQ1PjG(V?J=Z#3~lC#(ya%z6)=xC^lld?SHt7iQ|U?1*C|t;7csN#KLS9>JB(f4 zyr&GqFP6CuSOxUGj#U}5o4hx^J6|X+s5cshi{zRCVqP?EsjPT3NNOrpvyMqGOdqNJ zh0-quLJZgysoPtv#70mSkKI{gwywN0kl4f7YM&sqC~F z&5ihUEyC+LVzz3QL(>mc*Sj@2I?ZlWo2K3Vcss)(lV$o+f88lQo6N1zt&S(MV{$&r z)r)Q(@xq~_+K7m{-=ZGh1yXOnlIl|W<*Z^-jh zUy1>scH_b>ohL_Zbs<=@`xb65a3A9D^b;z4_vPhYW*g9g+}z+a2b_l*tYrfhW`oF~ z{)JFh7+w~CGDBg6)q#EaP57f@SZvN)O7}J@!K6>j~BAJ_3n*=&EZl&U5|C};v3h(n$k7D z!doj|E)lJ(g(4}ZW2V&tY*FH$yY*tuX=>zhYiz2%qB}Whg{n~itPkCt;`DI zue7|J2{$_=Xak}(k{1QEiynq>Jx3ctkQz!>yd&* zY2aCpD&X~4-~%r@u6QY$$3>2(S%T6Ml{UAGm8W1?erqVMfiytCJP#+%dQfLA$Hs!j@Q2}(AG_n18onkJ4wh7r?<%X;oWZ@r z@~5=QsBax6K6!7hNS*1T*XJq! z^_x@ktq_j7KSXV~Ild1|wMUj8oErhJLte-H>&Wxu!dOM#Dh z86HSSD7Be=-%9ey@fk8ZbDP44aW z_%4ey20W^Ao~U6}&~JKgQhkb&{o;#}HgnJ`O(v9St6d|~erL3TRuwgy`C}GGPfVxJ zrn+TR^m3=?bZ+R#Ohb)Osb=Fv&_5@}j4A4IjF(x@$W?p45XB=(Vp3NdH9kT+$n z&F)S-6J(O0TQuQalp|qBmUDAh^tocyipPiHEk^S})qZSG`t_#dlg`IIg>pphN!80f zPr6ZjUzKNp^XspV7Y&^s38d-mex|#Y@;0(hMOxGm8;YH-Tl2P zC*k&`I!kzQ=(DtT4=L=_qFwrBp6qaBZ?ABL{71JGxAswA+3U<@cgyP1=eT}Yh1d=< zy*L(~U9AFXmkHtn5kVO0@RY!*&V}3iADhg|NW6#SfuGTZtnsY>$#jpXDoU*~;4Dul zZ@FS?c`<<%3LvX&d*UT(^@tRO&7^l`g{KAts(AdD`y=i1-BP=gQ3_LKa|QK6+4IL` zo}!muZ0Kw4XJ~L~LoZ*?&fzm4qy=7q*i_>tcu*e>HcedMtXCJGT^ar(|EEZu|NIJ{ZfHW1~jX#mNmXxYb!^e)x zIqHmLo3CHbGVZkdMzE6U+c1 zE&=VCQxoh0!XyHONfgiSKd#YFZC)c-2fuhPlLkxIm+6sYm&ip>jPx&Gw;N~AZBF@3 z`J`;>tX}$bc0F4tggMOW3r|^@d7QTqT%uJoW6d}0Ztog~6zb)h8O+*vn)yq(q8>#` zKbuQ4VfC9FC=c7O{-u;)y52(JU{J;>-Kq4fifVglbT$9CrH!oiZdRP=us$R=_erAT zT8x%-Vz-7^@wHyV(hjhXHeOvYynL&v`X-os-(}YWmTP#f!;hoZxKg3-G&+(?e&a7| zrJV)Z{mj7eD~&wI7jpDhgw(Tub$sPupOIUISLHJ_K431X*SeO=WBez^By0VyaP9+s zJ`3#RtL8cX)r}4~66vLQlb0Pbn}WQ&+HfU76dpwU@Ga{WnM>ZXXYX{A@d?GoiWKVVn1bN`4x*_b77Bt%_V-FKh|IGpzz!=$QyjA_V|ibhs*BW}6=Ocy;a`U?U!|j(n zz#fG|mD#{+hs2s*(Kcy*DX2|V%VDlDL|Ex+C>u+TU zwsob_-)QavU5rj$@ppzv*jN{+ki#Qn4zoHX`p9cHy9U= zR_+#c=NfJps&wi1Kv+Ua^;}n-OJTg3Hm6&^k8~vwYlc0t~T?IB7EP=wXyj9k##ODJVj;Z+LopJx~O8kr>} z$SX~vpZ_>6@*3};T_Vji`D+k(!i@c*BMvOnK~y1xum1R!R#J2!ra;p_q~Gj70%DB}*-%qCNet23vsvj=cOE{dpYtg2J~`H0$uE@h&b| zH70&}I^+*m^Etbjr_#n6>?)=BU5I=MUPeQgO*l+p;i--ry|l=M*^+^!=^BQq^Rp$0 zkI7|p|1mJgheauT-;s4;4SJu0k7oA|hlozaXU~c59kBFbGML!>V!j@WxFN0s4=~Z| z-vJW)>t`GBH?O?hv!~6#sg#+O(hzxhGZ|gkf17iDC`QNK_nTc|_dLXio=a#JqKkM6 z40l>gl`o~vG>5KjIT1HE0yahh+ z_w?7;VluSlNju(waCwuRa^2e;oc>uA?2L2cz>7EKZbTMF8PyoMW4jm@3d+w?Uq-+1yKnu9+a?7z~Q=I;94^xlMFiJs43gyiJM$RcT<3X<;| z+ocO`soEDehxipn&)>HiT-FL&_-bA$(Uh5F-{E!XN^#07wC8ZBaG7}N_)$}r#^WX6 zw8|{i{mRbE%_;0Dd1O-A<=o&#Z@P{Ikc+QzXwAJE3p>AaLgB{#VtZHepSY+d#$D&O z;^&x@gQJxn#%Yk;&Z`ygJFcdpJv(0V(WJVsP0NeI6NjNM!L4=x()lluN3>Az-w$Sa zVtce8*Pl+isDqV6T2ZQnaEsxDviI@S9o~Hr3{I{5%Oy1EN{QP@s^^LI5t}P>hiK%F zv|ZhM2fb|g;>sR!Q;4)(nyHS0hmvS++=rjItPuYa?ytwcUo@zEcB(=D7u9~pKsIw< zC%ad5d?~cEYnM|`bLQ^uMRcJ9*Yg6RdWwpnfvMXUA(hWrlqk^eO3?{dMBt4Da&k)I zjU7T@4~12{SjRl6ylAK?r$XEDkH&gf`AGKiglI@hyMD(KzrL-UyJ{jeEru0V>(GHb zSl<^TG58ApQD*E{b?-L^?JMVsZxbdko|V zc@=ehRC%QVQL8#HAm&)%LkCw|aR`)($anZGNw`oGu<1_TeKxl*&zd2IK3DgAv)`mk zN_AfOVn>rww41dce|65L9Vremb+{7Pc%q93?g}ry^X{}ObR&5AE@!=NY?fQ<(k4&Y zNyehckh}^xb@0k%!DCFa%(xnWa1*q=`WTbn0;EZ{w)7%Jk&G3SH^!EwBUCisg*xVR8@KPUG-hBK;345%M;pW z=E04gT)h3%kvzzxPS&NI6wCcqp^s*uf**_)U%TelQ@1eg>a<5$(*})fxbi1DOyr%eski$Hu~n zg`C8I4blPtDE*8xvH$G1M51gmNW`2^7V)@Y&3Kq>zN(mk_b?;8%~JF~YfJF6#%MN< zK?3x|1A1`&SMSF0y=?nfgMSk{ugie)zxC~?K*+6kFNO0{qMMBU$H#rN%}yRj)p=g2 zM5MvH)2E0eT``I^-}Avufxk-h@xY=u0y~hctPr0lWwajEzY3@T`l}8u>$9xm+GR3l zH=sIiWW~_gqE)wi@|O#LSD1_D>SWdGHzYjFw^AQ01U6e9q0)(2%3CkKA0z+kCdZ)NAh1{lmg+6Jh+J+8NcI$Wp^j#bsv@TuNMh zda?Ej^O`P}f1zd6OgcRObkRm1uNQvQaaCUS@Wm-HtDC1h@`T*t?@7Jfn7Pz^RM=l! zBEQhGWp(mGb!wWe)5Ydd!};pgjSP-QOW-!uSo}2)sSVjC0*-RHj5yD$wmO7E6vn)k zC!oyN^HEG5r$gCGFx?b#iiZ1XsyiLwL>(*89Ls2psgS}9+^--g&0X-+9jUo zydhy%{3FhLeaugmfsT9*(wlIbQ+KW8a7^TO7$gy4=x>4{_U6;9m|(tYI{|U0f#9R2 zr`K!64h=m%cNc5x(Hu3QE^OevS;Ek?R@6(ozR9>UB3x*iG3lH_rJ)?7@H5}qVS?B1 z3X67Rsq-3%dr^dOR6a_hgztQPW%QyQZt3bl3m2K00as92l zZr;Oopfhx2$ivfkk+gu|5B~(L@*0J+6k+Q#+josB^>67p$x$%|PC;4Yn6g~3W z>LuS+ro1bB9y$`|(0;7aj3|oteR!C)*QR$fW-%2Wh6et4(bKfZRb<&pi6~m*72n@80&!#RIYSJojDo*%@Z9<{f&vStpgp@zH#+=13*m zxVy|XmzIx16C`8X!~j8$7R%2)F?io6nJhDqBI?~jHrgwVG7n6dm+zG;vKm8pWfgiij?8w0s`@`kgZC@71gwOp__H1JYhHzKB{u#o2d z$PbSsdTA36vFd6crLp&r)iFp2&?K6yERWn=K7wxowDMbCEss->yB;O;=h-Tqs!0yX zgHDeFHJoQ*==f{{5}rRqL7MWiX3PsUX4%lgr*(ol`y%mTv~f{!uJ;M?kaPEO3{84b zzqS;neT~L$?C!`y(JE689<`~-A!&JSIA*>O-@`vjp``r2ZsUrKy!D+$=~EJ!I^Wcz zs*2cnR@J3N<@Ueo^}lpN{p!pSTDe>>(Y%>JJ^E~=3H;R>w6K&WPRwG4VAt#83-{2T zS`_C#=Uf)9w(~!YjaM^1WPPplN(apZ1t>nDcZK+CTod-93X9(O3X_4kg9y?~UW<6% zp~}K46ZjIF zTO&3 zQr)stSGr?8p~Pwrji;Z)+!=PbFTBWo`K6McPF2zJU{~5N2`8xkw+50x&~1W#;Md+Q z>tQdvC-@AHg`mG~NrDao#rdrTR-dUL3BqLg{{ z3fA^kwKvy?ge40j?B+uQ`pOm4=p!%1iX|&6dIq6!t%Cj&z2@d0=kW6Je?(01``QQg zqMso1h>2$Ta;b3jai7H-jR~zJ{@;}pnsBiNsRH}YL3TBi<BinKJ_@^h> zX^e_8G?VMayXF&O&~hR+CRm1r83Bbi!gZ!fc3!c?rnyGa=kGc&$#)8#zhz}Q67PCV z?cJ)+lG=*e^rNI*yVRtm&c9lnyRzWPH#*QPn^rTYf0;7)bOPJz&k(X>K({TER0k68 zbpt@yeN{N)iBxYQms@nV^ts5>TLnjkOL}7yP>;3B#&Mixa#`l`_^Fo*FVf-)oYf3h zSDW=UgGxIeL1wzE*Ma^u54=3j(1ot%G!u%or$KfGX{E|t`+nGaU{`JucvzXo!qis) zBq@FLnKOSM^h;StE|&~(xe9mK0SOQLcvmYmOOq4tLyRn`j7p*yKD#n+zE9q)$XkNU`$->dVgSE^ zX~o6qMr=SKzsk{8toJ@t2@}UxmgN(zi_NRtlsnMXozSPxgF5_76+_`>a)Kg*@399L zq5fHsmk$@jz5Ld%r!C^7$Q#}k6p}Zkdhef?KyT^2hiE42f3;#J*v>dT^sJ?2O(nhb z%VFuRy|wA#0;w1!C0%tt{U>tpk#PlHSOxwZQ#ya`D9ZbobIBKF&Jdq7o3t}~d?6M3 zd@LsT#rOG%fLy(DZ!L`Lx4N+ddU+;2YVLxU*A8a5&2KWQUmn}aP~`vT5r3a8bJquj zefYYKLY9`?cfLWxT!2!gDU z*e?y4S|gddvIVb_ zD4^DQA6q!2r6W(&m$ywLfRkvCPdVAbDL4J5XXhsd$ai1<<$5rn>Tyj;{`;HGEn8Rjxt%nHDeApyB-e~0~vD?C2CHQ;eru`L&OvPLkX zW}W_3v)0iqYUN#0(kS0W7AmyN~Xn@~H3HM;t%`Jp#W2Jq59_U%Lp| zIVkJAt_3tjY9fieh{=`wH&BMXDVP|eq4vss>4T|=G}&bH@P++Qd2(9U)fOpVnNg|R zj-*0?I=G*{Jb zs~rj%t>)wJ(ISx1uC^seAl2ru;TUQb?e-*O!!wuv3D#I^iwW2$V13kN??oE_$ptVr zBIe*LL`J=_%?whINKJ%J5e}HAHuRq> zw*A*+g+}4qVaS5ezy*u6M!s;6 zLCVb+Vd4@fC%}m(LU?~|tkiKu*TjH@%9uf~^K!5BL;#|;6jr4~|tta}E?byOJv6@n&pu%|R~*V{LaBJBOB z;U6bp``{s3pi0+uJ$VYK8|2Z=w*oERd z1=T^<6ydpk_sG*oWoF-J%XUu;1=f~kEUGV9Im-l5<61~I*X zgAT$LBZ6=MZL$M(6vzxM7{LmF>TGzL%yV&_rh~u03|odeI8ct0G+Upc;WN76AdT(m z5iAbLZJ37buho(53mPxef*phy6gf135}8B`M{UVi28eotJ$j87ez2jPgh$$`@2V8C!hg8w_+DCRU#HR z*z!ZH5n>lvGsDWY?((@nh0zu@AaaEa<#H84LHKtyfr`7}u@Z?ZLiNHnl^Lyf;Fi=% z8s{F!`Meqa^fSUb+p{TN(nHv3kIe^!i6KQ| zzKSaFG*AFo;t3^?=ruKk_8%@~)+t`b%O(6Pg>m zqn0|{hzUr(Z34p5#yD7gw;AdvFmD6(%r+qM*7~Xd9GFU;?pHWi4T|YEfxWs8ZY?AF zAZ$bM3|-oP*mVvB1w86)K|v@X{2lSC(49G%Rt%&zuuB-iQfFTz2*K*0lF`tJ_!!K< zc{{9(y7!gv!OMV_WPJj}YttIN5<}VdYD;(c$QUstG=`cT)NJ`Ycj4Lr?zg=pTB2VT zX76IyS_uFi?|R0u=Otu&T|=F??;2AH_cQ5t2@}Mo(+vA)P`7!jQtha%FB12|7L!;s zERp*3ONl5$U9A}Tt19VUa9$2(nh8um?H$0SlDu~`Ga3Ps`1Q$^Po}`AG+R{U-3jQv z+u+I{fiO+w$mIYu53tiN>pIeqe?cIDo9?F40mqi%lq}Sd6#~LA<(Dml;eG1Bg#jOj zZ*zO9Jo;1sbU-6_D1K=719Z)uEii3k4LgpUShcAx+`ns6Ey|Z6%Um zCH(Gc#U)!GET@L^+tst!LN#dvq8$DL-t{Tri!$X%WEr;!PQ(;82oRqXe<4089 z9G+z)6+swep6~wy75MVUe^G&zFSTzy8lY3eZFGPA)Yc~Pa8F;3-sE-x7L>W{7Y=ay67Y_L9|AYhHWQ87~-nmib zBn+3}Xlq9EWJaG*0Csn!kY=cu79@C;J-ugP2Aq5y6&E-3zM8GtiT^%>pe)Jk6p^Ms zw5XIMNHW9wrzMT+RcpuX@Ob}5xFY}NiV)sX!}(!XV_NC;)m*WvyYg~}MlWC$qK8h` zd*jy%dKzPQI8c8X@1;MHrY1^_z(Z-K1Pbq}v=F!ae-l-Jsez%Hl2EJ2EL^L9T(~D^C zsxRHSPuzn#Xsj9@`pRj3smv>9l#(dpZqGJed!(fPK0ZZsbXpnT)$8$a%@FH@>g+Z< zZXz)6^tdP~X2}2T=A(;WiY)XX$Lh%WK&!Km&i-jN#z^TBAhS`Vp)5Wi5)X_nke{eC z9@K3yibl-7GrGF3?Ho57E-R4EUzYy=1q_^>dapV=6kyThnE;Xrxx382v4Jb9{twu| z+V|xW0+1SJ3l9Y^woVcGScrZJb|J7CB@k2mT{yXA6-d$$sgBR@0Z<{FJOVlDrDdO2 zSH`~X#^d8v$C75_7D!O|v10If+1-Qv5-DP2z2-G1wxl>Dg~Q(|rU20>aXV9Ow!#Ry zzV&wHQvq@Fq-3!|hP^M(tDimB=q%VyUU=#*!>2B&j+3)2`M-ez=S@u9y2|+EI1V%C zkozg6bId?HXCx5vzP8bms3r?(H(Nf29u=fMmV}U60%=Eo@_hU)xl0NMv(*6>T)n^g zfyIeA{DYp(RL-Vn&X*1H4(9mc+C?w-j;-Hlzq0yeTtK2U6|qcQw$vRDnK++F@W3yJ z&6!R67Tx@;^;BPW29{zhkx3~}Ccx41d$>6#TE9%q=?f`S?pV#7JAjDFV5g53{Dw)b zf9tT~0+D>3Eu|I$Drg~;GF9=?DFh^1sWJY$OVeknDH3=nu5-SUSMJX{LNKfG)N#q7;+Bh~iTQX&QQI8z49s@t_dI ze8mWw@WlO#oK^B1t?!Me;)ZA^j=%NwnIN0{GSHJ{%()hI@=TceY*JIHzGqS~d&lLq zXHE|s?JfebqQXSn5lsr=wlK1>heo|JwsDFlPbSxQJCOCAD*mCtHukyBc+db_B9`2; z?wrw^^mfd_VRXjWL^9uOH%YfSf~v^!m@*QeI~D;X(hA!u(ch;8w$Y>{s`AU7&?7X| z1yS(eKK)hASYm%5DN^^^Yj2)w<@i3xWRuh=kwv$cV(P+FKFntOeYX0*)olP(k%%1; z6_{qpli2#>O~^(^9zGVEwCquuRSTNcft*eg@Dr>yrm$ zgA~;f8^v?@uy>!}EqXA_aG8jcTqz&muhKfww8qqMZ2|Li3HlJ@OV_0C;sSA5VP^E{ab&tR5!1df8Gcna~d_k?pGMj2x~P|3;b z3LW`5KHWH!xiQfO|3-A#%iJ^g+h%|+F$%MOf!M220?B9??DSf7ynoEK5yv9?4UuP5 zZ%-QbB(ZfCttC23arhJA_;eDb1`+2);D18|w)|c>R~|Usx)Kmw;58X^4r65h!wXwu z9aMSb<3EVN|HB9b>-V-&HHLb(PP#cDy1!q?q%ePicT;Mtfrj^++Gzc-tYHQRDIT`P z!Z`gB4WbOjltrj+ZuRq;e;h#EP8LHo;!FHm;)BlbO1VSUSf86yT>PUS zX}%BXmsy|LU~5f{*;E)_sE(d2f$PxoU!M3PkhnJ5)8O zhZwPg2f^A5NFz8z+KM13Q&;(0#Azn|x(rliV!38GKg!QNH8(LJPGqPggb%MA$gnqx z(b1SqU1U+3Y~_0sJs%+!9MPHgQpGB81#afHg$9ChJZke6)Rg7j^fM&ZC=ITT^;a?S zXRgzJe@%H!7(1KsK>o!LyHdl1j^B%6cBMGw?`FhGjg+~A^q)l4>hY8BH!ODX9^491 z>wukA*-(MwmXiDn_=8)GcnirzzXma>umx5cKrbFq7~|K%)BX4t5qSDdK4w}Z)H#qa z7H1h-;N*p`t{Ad`5Jl0wV|F+Hw9Di)ORTgk2~KaUu;gDW!K6*IEqiF zG_W9RyYG2~0bC?{vPwJWM_P@kawaarMFPpc0lJX)fdZse1VB(h7Jc1MQA~GdZSVrx zl(){OMaZYhxBvcxjMv7~7wiir&8k@MrwyK7X|??Zt{*v`i-WPe5J8s;9NKswdb4K2 zD2L@(%dEsaSscIGisy2s`RPs_Vr#K>n8u3wWIA5rZR?Weqeh)U(U^g+4PEy5Yu(3r zE)AUWt}v>c09Y&9UTDR5ve^HPo9=X-sjp%v#(0f(yrF;JCf&>3cijftoA!!llUr+F zOQ6~6N8TZ2=h$lm1M@^i6%!mmHL9KsyiV zPY_=u$--eG{CfNt$g`J>0-Y}2E&f=?0DIF(&Hn%bN3HLi9=|x->A-5j2MB=A)Sh?- zc$E;kol(C5fkWy6qgF%lu(1MoBV+6=vS2_Ys;1vi(!0+hc)?;MbdOGL)7WjR^|fp3 z*RV+jilhGrK;Wa~JyPo@R>|cY?RO)WbOA8bC<0VA)^4wOhVp|2$_uc-u7$7A%jEb) zYW<%4mFNYNw`sAi@GdyxrDyNoASL|Zmm4WE!&-Q?>$ItVXR&$GP4g}_Q3Pe5Qpxfz z(4dWG-Xyy04AG{amr=&Mm{6{sdQ+U0jn?E=f?JICjB<6y01qvdMaA*+Hl^NO9rkhR zGs5&c{^f;Wx^4u%H5sp&`^H)sKJ75A-_4w)%bgo0K>1?w2 zV!v&tyiUE3ekEDCT`sZA-0;JM0fhriW}E0sGS)5U8!;zAr9p7pyRS99=>eie)DcHc zlpJD!0@)~sAp$^09wk2?^gBNH`-3p#gM-aQ$OkK1rXB@(1mff&K|_5cgr|PjANfyY zcp&}}B-r-y6ECp-=PO&#bk+#>G=L||(RkDV?7DO47uTaDX7=hCsCAeUd9r>osHj|e zi0G0%lEH{B`8^nlT>fgG_omO{`1eGK+SC18<#UV=PJm6E#YOfZr0N@jnp%HpeHWfS zcK+?RGc|{i_%qtGkvvG|&mf9`lM46CP2XHVS|Uao~w%qoK*l^hQ?kxf;Gn%xKyuZV3<-Z7HUl{j6))a?0HD$S8|gRb?4>6ih+;_6 z?b~jB0~BS1n2!OQ*~oWrf)gJ|oCR4)hJ=$C(HFNubGQsxHV-W)`#-b`R|GSSsn1Ce zc7k(4%(RQwUIJ^uaIMf%=071Egw`$cFkGSd@FxiWs0BhqY;7H%t5apSJ^cR~)McU( zIW#JnP!5s3GshwXw|2{c1k=_c@Z6m5xxa1&)2cRmdr|^7-5Zy8nchI*#5>Dv_-8}eV6RS-4sEB5UKMp>6Cz8x4l({n}`?gP=-Df@Q zS-nK5B~o&3N^brN=VDLg>yagYZk^=0ULU%=*Ucww{Q}08OsVHj2l9HFpV@8?xz&WO zm2tZ1Z9|v-EKcWY)hLFXdbdiTZ(j`uzcF;-q~_Jtfe+*)Q~%SF?Fql5i@f7Vs;P-d zwgIiqfk61RYphZ$KOg<5jIVJkAS4Ccdwq}=Y26N;LMh0C`nb~1!MNKU?+#xkgPA<1 zN2STB=M8x4s5Ydq@k@oT3!v#PbZ5g|Cr4FhdpSw|`F%i*ARCEax1W(BRgJ04qT%18 zP2jT%Enk0?$r1sia~^#5hLSp{P*mIR_bh=`u9P3CFt1#t~r=#^gWKcym zSdkHj;NPZn5V{I<`BXt%y2nsYVA8Yi+e-Atr!=kKM>;^yd)5#;vp@^~^(-QwFmBiB9yq4(s-^3!tZ98LOp`((l!v_(Wf15i~><<)^WgRIad9Z$9`rm5#b`>sPEb zfyJ&C>^1>-U*Ms6VeGOe$KM@Y3PpBQIlv7ht3U=_XHuKR z^@_r&DC7`+pTl!8Xp-orqW*`x(2Y}k+7lbUTsuTDava&i$|2a$MmVMD_J+)0S#uxY zB^5az_(RjE>ZGN){SM%K((&{uAe$r(&9j_+H=lE*UArTA>-QAtf!rte2qGO&zO@qu5Jv{sK&V$3(d_V3N7#mjJcj)eSG~0BYyh=086&D0gFOkY65VlvI`Xn_ z4Ai`z6U-z1(nooaoBd6L_+IRuZ=aE=AaX|yu^=9VXJ!tQ+tI$Dx8Uj+UOn-vggPk7 z+jA5eI$qoJU}dQ0K2LN(7J*ZuL=XB@hMOR}9~Q$i_;yifO+n*KLvpPAv;n)7O{ndRG@S7P+tH>fEN&5zy4_;@xgJSzz6==JMv7vKbO zOuM2PeBT9Ye1$o_kq=SuEG~au!P0E4;3<1WT@$Q8Fa8yLtVy2F#}lt1?WCEq+wZ#` z(L!UzEt6ms{$k3Nh72`J<7w4@S}fAHkEAOIe`hq*2f}32&dQSK0Aae5liaMc^LmSf z4pGbJ&JZNw(37j4*VUS!xjHV!ro@)LCh){QS=Yj+o*R(2SK5K&>Y{P^lM7%&D^)wL z(d`BdGe?>J6~5I$7{=-Sce?c(qB+W!X33wcY_1AdAx9|k3yv^vDvXO$K4A1t|F&{-I+P9{G%T)zDQEqry3&Nqp}IF4z(o*~kOG&{g0Vn(z~*&~3RIVP*4k$=!z^ z(6{KKGWmfDqzC!*ruOf+@YF$b`;a^L1NFdH#KXBFI2fH$zII^}PW~Qp@rjiK&11vs~*^>d-HX_qGq8*?`}ijVhV2AL}+6? z$O>0%%EZ^!s!T4^iaK05(9L?`@-;5w?i9cclk+3 zeA9tI#WS$Ig(I7dPjMK(m;Ow$Kqv~PX|EmZMLBR&Ki>JQ39|PlNJai5pIn`jkwKz_ z$68k0ANk^Wmjyy%wP6qnIJgTc>n{mZ8Y>;w-%lR{WpEL8CC9^?2wdL^N^$vEZHieG z?C0n8nvc@1$1BguX)*equfbXY@swZ@*@GLp#3p=2vG>{gz)fooI`?Rq#S1JEj*zMuyxDl}^PC); zb??pBbs#R_e!oUc0&xu27q_G*JY*HY9M`PLHOvf$mTtK zQz-dDTKxPzY=G#fD&Bs#-8v6`Ly<^^r@u=+JlUEtPHpaVs+J@b6E*x{Ax!&#$Y^h3 zb`YLPG5s=*UtPM_4eW%=Hg}Ph)k0w1m65X*9&FKp>)#l$YpiAXhL6!vrD-$zhRicL z%&5u~!Z|e81J^ul#x6nq9`tBmv`XjZg0?Ny-IO!e#IZakxFc31CnI}el8U`vp-ayX z1&Ya@WC&D)22ysI0x>@H}lnbTsdgk4}n*X5T;mf%Q3Xj` zNs7bG_;~@W)1_s$%U|a;lo@_yGSr#+??-Lweq34?$Al~|_SXdWM$fZg#bbxobT3ki z&<3q0v1!vCdt*Bmtx_50&m~&NB8QwrWS|FI>c}uyW>UdtG{ELrLoA|Aj@BBm$ymx# zE?aVSM7m_XW<*Wh54ik8Ke$hOw7-DAR$~QBDv%6%`#Ey=p*;M}vUY-jB!lJ>8@0;# zGSj@Zqz$>6jEnLGtuj^RDofq?6N?@XY`zDA$|;aA)RgZ)oGE9-&e>(kOR92trN;)s z<3%DOJlsHYWyjXH!sUJiyy9ME6!K=U%SIGcE%T#!AFB5>QATCoo`8r!6jm~q5mosb zEq*=4yz48NHj&2Tt~6G+O-J15Ki+t_R`6-;Z3ww`#B4LFW_9%y1Hl4j-YdYzGa+?u z7x_u>qf*bsyh7ByCSnorhtR1csAqx0VU0zOq~*Cvr_*EsTToxhtktfd%{PQXEEva2 zx94}$udF;PWsz-KUH^(-jB&LiUK!b?aAd8Av!*G?{65<5*&5Uyni93KGV%vTDe&@a z^bKo;_=%wtC|ZzV6J@*pkbq{*UoGLy)3OLo(yYFiVLjqPTtJxAfq&E_JFadHs8E7X z;p0D4FgNu2?kb=iJfHx`gA=?9O8EWLqPZYgvO=m#8cv>Qb2>*H@X;ty#8Whz#}wod z^5W2Tuhx99-oXS_aqEWT2OLUVLIMQU=k#8Yx=twJ1i93lIkDpQm%}&D6L~NTAo9pk zg&02y^rhU=mOCRq9sXnwBHo`1frX+^>BWuf0js@HVGpRQB>IP^g8J6EGG8f8%VAD- zhs?QG3XFe>4F2L4)F(F9=JIgf+W%5YX97cKeOJ7u{PY=LL8M{* z6HN3FMS!1^yGqVm$o5B-?7761XrAU~?cb_&UyZS>vgSM=^<-YbNzbu19{J>1U95s; z$$5V24Ml9cdWnm`*U~q6X(|gSEc>mrSUKMO(b>UF`var7c=wp0V5#-WoRRtWWC2sk za#}>Xb-&}*MyeoOW@{u!A05;~sS6NW?alkANCZOQ0J4(1ggJHD52A2h3LtPvwKxA+ zNr4Epf2X74k9_5Q_x;d*m(O@S+gZJ?T_!?MbaD#8N?#?5q4;5i^}bIyN_Fjo>BcK2 zx0MIIG^I7`tPhNoW|l8~w)inKHwuR2M}>A+MUvh@aKM&pmL2x6;u*@cyni7P8a5=R zuxaJ%PvH)hp#ZXqkg$JOAwWIpG?zun3OOdAdhxNz>ltrVpRs*df5ZmXOn_&C?~vrYFktdP{vhVa9E5r2eHhC{!)Gt!1dw0;S6{ zXLbr9ax@d}=i1;0>0_0nyy|G`p5Dv94pRF&V8KV#o)g#b#uM`5(X$!J+RXzEWJ44f zKLxKhb+cTkO4yU!=0E;vo3cX>_`aLqW-G+OCfun^c_Hl;19p)5C?IJ9$8f& zw#j%K5-<=!{9m64mpKw$L)tJsgm4m&MNqu`XA#DGP+%vSs-Nf%QRL>HTrVInU{|81 z$HHPL^ad0cUv>4^EI0*rDs-CQ8=~^~8Y;sGE|{EMtdl(crg)oHI~lc-!{gVj_&r&R zZMqtU4sA;P;eAYBKDOsaeS3~c79D4q;BU9X7Cbu-Ir26ICS33R`8?5uSl~TtU_vdb zvj@TMqi=o4>lu3?zLBOPmLP$dV5LoCeP?!l%1)Vf4^@fZRQ0Ni zrrpl!R?{~5wpjse<@1k&!AIokywyB&rFdJFhCSomCuhSbq}JtSJg2&b=!aLG6<3+D z4)IWBmm5DXjJ0o_z{nXA58xN?tgK|d5MH}|cYS2hX&1t}6@OS42?zDEvqFrM&iNM- zUaCi8oKyP!;aSeCj$oMVA(wQZwwB^(f(s>6`wtUcm!MAFnYVP`)rf8%RVxJG@Y6S( z6o+&0eV&uEgA`H@f}<~@+X>V+4MyutYN&R6)%UvN!+!udrNe*N<-iMbr%8xKb@pwA zDbte?Ezk1V3;Tn%5AM&CgSz88qta}ySV@hw2tCr9G($Y-Gal>+&)6g>O-n_DDm2c2 z9j-8lvHbdCu7p}qrtwZ**xP_40R_3h)~N+Q3|Gqdv{~EZJPm2Sf;sl%t4&u2w}h7O zAECu4r9_-F{oK)!*q*m!9(8dmG-rwkOr85f4#VJDDY}r)*iRS5C09El;ydae!P$0! zaqSI0d1J6oaVF8RXh`e0%_Q&W4XD{4X{OoiuFRP2JuvEsRY>}5mL*$kYaOQWc;Ray z*M9NbY|MHDVM)D2oq1H}I{nHi?yDe4)Bi4Ndh%^Z>A_iCVYL!S6n_$qT29Xrp7IeQU4e*SuR#%TH$(3xeOp zD1b0wuRMe@eFc$_11sh5#Li~c-Bw)2PKxSXP0|G@B8S5PYWWXmAM1e9x`_y!XTKRn zYnPNoN2Y@pFpSOhdc>WmM@Xe0XcIrH(-c!_NP2%iEu? zTEaYwlho28Ash8VLKIjq^nPgcX+!i(DgBfEbjkK`yOjXuP(|z>?{c(i)EfwUBq55| zmIc+ky;Zp9nYXs~_ykeBOJ15I?E<$|!FNwpjP35zNAB2IMBT%z|EAet+gYdEgqjOC zI#1x=n7j-ZCp?0vA|u6QamHl}9p8!$Pb0;6&yQ^0pK!e(CPB zK!%p&F>cRDsr*%A2jS%YNG?&;9XNN+(rBQ~p`Ggjnvad%d(A#++)9`(mT>H-n4 zp{z=^;gCgi+>jy3k-h8Vx#>B`sSCt(JtUW3T>{Q;48glukL4|T3ZbdxQ(qGJ;ZUB# zp}6z$Xuqyf(r&D1xF1KLNqyIwBA6B)*Cc8PW*kl~S5E7N=)8aQF-^ zf>Sc`rO7-J3FRQb_4bYSOaBZ8eL_`Kjke>|PS7GUW4i7^I(-ZWl%{ERA4NiWBJgyP z;Cs#Mo&XAmqutLtDpHsN;U_Mo#E2c_kM@9u3s5K4ocVrM`W6Hoorl0w>D3M$2tz`> z80FDdm1v2G#6Iv8;H zI*_%ZDpokz?wIhh>HJpQc(Hf*Ub`BjFM&d%5PZZ^#dB#@Rt`S{Y3FfbA?S%8w$>E; z6ceQdaoK3OHaR|?Wx|J)rh|cs%}6kaN?p2iL@U#aI{a+Z#L8)BCBeMmp`U zUkr7#HhOxmTb0rG8il$Cu;>wpb&_m;3xGt%WeTjhC@mk4C(FD0$ctMW5=rPaA#Uax zFvH_o6)m~G2QHq*p9N)pSusu)e8iKTX7QSgWnXJl24Of=AmJRtPPn?6_wOjO0CPAf z#~y_@9vmyOwluMdm-$y-%0i6d3+mZ8c^>l`AGMj?{%2i{(gkFbEMrY#?4pDi)g#&v!`Q}JJf+YeTh^u|g^DcG zSQ3&DDzX!%2{R03n8AD9RFA&D=l#C_zJL7s!-r3E-`9Fx*Lfbtah}8QM1;7+@rFGE z)6ry{SQXo7=)aG8Bx@hU9ujlBfMcSv=|eP_U=|j#zU3RO9@PLWwcngv%ByKOl?L7yGQui`7!-ZpdL?^=qt(pBA3AAq(0FB`g)UMk#4>m)BVuVsn2*9TSiQ9V{L6#@Vsch4v7tzA;X&XRd zIY+JlG;}I5JgN*ppQTx55KX9yf;v?L_(o&xmdh(~|5M(Vjf2>>!=JL#Vz-aK|JdJ$ z(&;0^$~e0D&sD*0#$gYO@1<30*Cg>=gK`m?zv;Tqb<*W3yjQ zDqFk&fXMrIQja<_*jo_HQUg^0*R$5$=K>MYZm3o9da~-x+@x8~u>Osw2hUBN2^;C909c%{wbY$xbxSl_qNlznesxbo*@2%=7h~;MOUuoztxTj)0Eh$^rXMWNuhI_**L6C|1!Bwj`&)En-RFPBHj0K2(KA*-)xy=+{6gb)AJAfh{+d>ipl(_JZq_ zC@zH3*f(!kQ^U-?I^FHkNK%RP9@=v}d=PonW7j3=yh|-U%Xa=LgtPklhUee~#GRSM zsEF4SV-Z?~@gt7HH2yE>AGOH}hwU?^3zZ7ipX!@CFn5x#L=zf(?4oN!|#~g54>0rP?2Fm(6YJN>Ci*R z55$QjV0DiOTjA;xoA1Y;YsDNxjRc1$#8aFk#Hw1+i zeLqKC@VKV0nJ&<@Zon={;8Q?_6xr8f_z^%;pAb}0^mPX+fknK7-}15-<62y-xuIj~ zS+v|Ul%mWX-0A5&_!2uf11b#6roh3s!Y5*mF`Um@&D^;){)pzX^^3~u1FmM;tXtbN zj~Bfyxg`|>J6PN#K7#Y8JK94_LG3a$d8PtY=+4uxJn`HX{K@)e75}B>wOFxv8RqxyBkWCAI3W90!ubBJB(>+gTzNygx7YKVjY} zis)ZYZIt!?XRybf5 z3atFi4}NhRqDJ=!4vhDm4Lp*loPvK~EZA%I?0L^*zA3SnY;w42ap>AOQC3sDbFo5j z0?XE0KA|JH6i6#dtK`0kX!54jzUki~Miq|D&nH>zjLOj@GHY`XEjv4p4>avEFsGLS zcPtp6oZYd+q{nfF!Wany+zb8E>q0Ci^y>jKookg1fEp#p3oTRqsQDLNh7G3Vz5?4M zt@{044KRk|VSBufUXf`kzM`usy!(84G&L5x5m`+MC0JLm%s{3 z=#4Yv(zf;@OK^T}o7u2Mto!(-{jxMH+@D-NP9F`;)A>s#oKiP=WtkQDd|?P%Pt3B2 zWgm*B_L%{IT}13XHg#w2wMN`=zVLxPguPIav%^dCg)Qe3z#bA#NP4&H`G@8@wKy_3 zD1MBT>SrtrbL^(Y%rO_!2~GoKwleEH#zKDFRvocUWTb%Al4S4PQc?b5W)9t}GO4`b zlG`YVnsv_nyy43^&3OiXw6DZNWM1KNXIUtSK4}0rDe5hwR=fL}8Gs_}he#=%BdaLi zYwZo-@c0shLT;$>S1nOc)@ttg&9MoX!;EG-WM30!4auQ5?*KpF z=-nOcIWt~n1G1urDqPD3^c=Y^MEAX0n(V4w7m(}k$v=(}3QjfutBphfhxD~#N%eY! z;=K!kn*5iDqH`bfcAaxviW_n~opcQwfqc^Rz3tX{LDoa1%IEaL+%JQ7zwd5%rH0eF zb1T2$6<4+PzT$@SCxYVatejfFfsxGj1RNOihBsFObyyOhhrCh8_yN)!X9a-xUHfH0 z-S8D4)BHD(*}nfY;q8PPdYf|Wj6af_qAXpNJhMYBs+2Y#MljLOnonvYf&0(A@QR*M z%5eHSbN{CkQ}01tItx6OEAR>t-8JcGBR1Dcv3z-U9z8Z&L(GZg)p77GH4dfaSsIK9WE zK}GxPK?MXkFva_2iZ^fQ(F_%q7hNs^KZHB+n+8$WP4Vpb>F9ur6k@o5MueEqL?F01mGof8aL` zpAVnkv=;)_N>_ljrd2pX^f15^Q7sy;_j7r+U}X63EU;P7w#6XG%wV+I$@bi?dSoT} zd$y^draN;+-}six-rcm4DV>3|2W;1yFz#2lO398_1cU6HiEl|w3raMyk8gNxp5eJk zdQ8X6JEZQx0_39e=@Wq=S_Bi>W66F(Rn~0t8kX(I+GT8uCv9RW7A{k@w=pb;>pf0= zwAp27nH+=|k7+)c0mbxEKV5n+;5k2TJtQIS$8Yu)LRt<$NQ;F+i~AcJ%{p*Y>wxQd zOk8Mn9nOeH3|?XD`rD;F;X_@^E>5h-U1WFs?P1;8V#iJtedrp$pA(!S?JZm>4=ymP z{GI*{jO*F`%6^V@_l%)|sMkN6Xz}aZp1UO_k=8R`g)_QeNP;_R-V1x`@LBZ7%wt!v zXLcW@aN=I1q~ksNUob&8#jSo%KB!-G5MF$`Hqwk(Qx4`Ipy&{=xST>L#SX~X1M-d! zIspXUtuDdDSwT&{sfDSd%LuKzU>Op#3di?(R|&|?y7%iO%|`JGQ$iW}hYKc@Z#6!H z`31H@=)3ad`PN>ax~L$HTg_DbOOBo-Ydk}rk9;&UQJ>^? z(W-PNSHrBi(*%>#4D)Mi1?TyeKH={Q;M5X8tVTK2kDw6vcpMpuaw4HvT~NMG^1a8( z=^gd^^e!73j@Tw7cCu{K=W@ISHh2a9`)~@XCVxw~OGr-t!4Mw`a@Z9=+20 zIIH1=Up^Ks&~|DEC)!2YFDMI+tXcL}9)>MG9nw!qlbUDiXsXrAnWp8QJ^51Tyf)Q< z=9&UyJX1c{)W2+}gB~S4wjM~%IDdhDrHo*`fqT@Ksh@LP5oig%PRp}5bNjhwwp|m7?3Tcg!IEyUt02yvTb>1U+M=TP%X5|$J7Jr6CLTS>A+nfY#2P@ zp7Gf2!toPeNDd9q?yea*D^EMHsOx+?RHwHabFS_uiiTT@qU~#O|61Yr0Z0~ZtvX%| zlS7Fc7XZItZQ~~&!yBdEfAX}m`!3(vg-}DZ?Nwzszxxi`#4L}y!nLgk-c-beZ?vn* zG6vMC+0eHK^gMI>)DSku4srcBaT=S%QBiqf-ZE=t%WseLd+uP%10>87V)Og~LhERV ztEUE;MyZMWGz&BfkYY`Ci{${yCN-M3tHR4;3a^SRpKLeW@$$J3?yY9&1WDeyKACnJ z8r3_RDo#I3aH@2Sl?`HDe`)9l+6@^jDeqfhzz5A#Ah2j&QHOQ+_NY9?Gle-3?8WBS zh6iU#PIuC!3UoVQ&Piq0%eCxB|11rz?Zr%JJ(bX;q)b16ieZ&%&WAQ2IwKj?_xy(L(S zrqoiV&~p_vRft+3$2m3lH+okk`81r9Z{0udOy7S8n-UCDvT!y;q2+?huAJT4@H7;x z8vu2nOCwkur5*b>2#)I!)fx#tUl{}RI{{rFD0%`X*|+nCUt7K%;;WYB`T5a1iVe%B z-wc^@*t6sO-r(f2dSaf?fN6X(g|a(bdFy9L|u^Os-eLe*HQYUa7OKhwQ36-kvKTc zrzW$ptGVV9Z38wS(T;XrgP#&OlAv-?LXal6c)G4bs$A^3VpZDG!Qu3Y%61RUksyS_ z!o|GOk4p1hL2hsAKK0lpMoL&ZfQ$d9tkumNQs9)krT3h=p8)iyxXq9(vKT=d9_(oY zvFDYJ&}@#I{68usMlP9i4f;xyTou?R@8yozDEWX$Tuh4QXi`10p7@T83OL=B=){uY zbEtaEl01+& zyAapet&{3{U=&uiEU)G~A)s`L%3(v>rL8taYoHxj=&y5MN~tQJqE9u4F{(Q-qO4~2 z5H)Yyu`FyR5{3@?d*(dK&}iYzmXp}-ES;p0xjq_x09oZ=kSZ#aHbW9+q5byxI)56e z6_=mak3FtP8<|TMm|TE>&n`FSeEO}zd$pyzPROS=0I@`5DEZ_P_FB-O$`q(b2bgeU z$d6DNd+=PO3`i!n0Gdx#{2b8x`Aw!#{u+oFq?T|TF*g|ME1Mp@n`nz#urgu}>MNxm zJ~RGxFP8wxdck9Cs=0e;QhAH{wIMGtT};1w5~X??dDyw9?!KOBeJIxcfXo1%{JrrauTH*F@rlPtbXaEdLaW}I7D?2jl>(5pLuVq z#x9FuQWFbY-h#NTp6l6;FIIcSP!nTp6&=kCI`T{UXK*itD*fO;A*AC_T-%d(v40Eu zw1LB2{;$>&U6TU-L2oWhpN^$Xmu?q*9qUa7S9;pKgPYp@L*IE=o}Bd34>X1Z>L~!( zkk*pyF6&veJ7nt-4#d8CNNldl3*lI&AjMxk-|^z*kq zO5Maj9Zl)WM^igq%G8!uwZ?9o-Knj{IUwfdh#?^++?JW@s%Bc;8N1(n6HvO_8uZz{ zvukp2DlDR-dD}W#LQfu+rO4FB8zgxzs;_U|Z9<)ilI`bPdZ8}s2Lgf!M)Z^HqX*{S z2mode;#w_jtCz=4S!)7L8JmEsg z{EahsiC3Q~)DZ%7mA1O0iE)j3!jWXWqTeT_}D zhfdo#5sz39-cTHc1f5L{WLecvCzX~({eMJV8OA7RgLqs2G$i~BKf zbaSG?7eQMx+lzsD>Bv6+U>Z(6lebW4FC}zAR^rgK$<%{%PQDvH>R=BICbp3{t#{)&px6zOrV@Fn|PLzcmj# zQzV?J)R&KENekqF}Q@*X(p(1>F>R24xQ;Uw(%y$?-`)Jd)CKa9 zaND8n_SYXI&a-u4Jti8eq8h0?Xl!L6FP{GUtHF|uKb+nKZnXDB;CGP?5BxYIB_OeY z+HbLdz?o#Xzc|<(j5Smy7%|a0=J;i@*su!#RbB2!;>5xFeQEe<8HUwFUK)){^-@>S zc~v!lzyQmiTe18d1KpHLmtxR+dq{mE4piT(>XVge77;8A-*kjg$O_Z`mWqwb{CX10d+qV z?2}bRBh-D64l}C@6nIN|zZOnzP#|K_70C6EkCs6spc|A1v9ul~;8vt@<0!}j*a*e* zhkggU5j*z^1E@?3lBVP}hmzZ7ZHMKr~KdW%x z`W^6c(vU$sfBygKQs1?u8(OO`34u~q2A*cS0LBuGr%Gwnm;luWi@bgmFe(B-AT}b- z`7=O~W9JV>a{n|$k9FcsK|t@Y=q~pJNX*}X#t%kB+Ju_(>_jhp<3nG6=h2rBX+1Bf zxq+phJqgWBjRbeb$^=US7H&;9L|MLqkZj?>iiD)>zmH)x9|J53xBxYwF~`FHYrmln zu6!E&s0ZS5<>iyV6$t;jZofbM-x@e)rmdKSIU~@0=)>NZy6wABU)1CNdUy{7B#yrt z1Kbr9GWX_e`Jep*j|aSe+@=x+V|bGm!O9%-v~(_GvBVA*?;C3{Fb^6q~H(~UH1I(*qZlYrc01 zfIf(?NB~Udn#b16!TUTw$gNJ(zrH{>3k9e|vv0=^{a;=Xs+$YgFy!d}PQ?FC#4kht z|7}Mc-Qx*VZzkPVAk#qWczf*84x|PMxz||4CWla!o}z}>PlYld4bMP#_liYzNmXCH zAp~;5)|kfELbi)9mSXr6F6sf(;(cQSoLO3DJMOw%U39$>)5&U)}uH zCf$YdY^VM68R)n7=yjhiEsBZQe+mb-xFaqP%9TtGW!w5_Rlx8^^SaJ|19OW~yHE^n zYr(IX;EAPMJPQA0&i*>3Q6R;LZ>8T}+#vZb+i2IXe*JEJZDyk!ujVTGm=W{<=#RVA zatVwjnn^dhy&*o(L-xEh$|7M_2{p&3vs^)FHL9>|Ps9hG$SHBS`Yc19vL7geD^Ij< zhbq9^p?Xjn==K=Awmc;dA8eCz2_&BVF$OoMthe>>LTOTD&|N}$t%k?Ao0&hPUs?zy zWJ;N>P+S^ntR~c{Ww)kZe!5|qAvB`fDJOMl-%aZ^I5<^h6o>&A}7k2Ka~WDoJnRLRVbFc0CK zM6@^0U0zB6Up=97QzNj!(tI=9T+C$}Ly`SkkBPl>W0)6usT_MbBw)kI?gyEm`ZuA~ zgf8VGgjy=@Pr|aZe7l-k%%`$RxMHETlUlE631rAB{m6UYhkZ`-G2kdwR0WA(XfUAs zBBe8R>C=?0WHmtMu#BTmRnb}~Jjd8f0rBds<4*YtY4!cvegI79)TA(TXGhg~u)+Mb zz}5lzoPO9+5K`$*hCc7exhs@Pt}4{ptfm#Db*bNdIycHjE_mVz-sui!<06wkp~}8p zB74FPtwQuEYe3fF)QzYXjH;cJ!r0VpTs3GR-%ueu5F*Z)w{2N#P`cIZ09kan#&?{# zp+Gh2`^a~m%+3c;op5e1W=P+s-6E4CUBwkB_q^XWwiR5j+R!nntv5x9(b59a zt>BG>OfTfX9NIVlmypyGbyMxQajJDQ<=9=`UfE+o&SPKTICpbZkL}udRcOXSccX+S zwP(>I0vpGS4@CF#QN75cd|30DdvKC+uZ7^tOxlhoYmGjPvQeHlT<1jl5j&FFV%4s?`c29Nxc;|T{QPsD(hp^q_eTC%XKvIT6LGNTLRYYkzV=HGS zgI9MBU^7YV8K!D{H?Sd0@nwrh(F^VqITn>2wMVoiDWei-EZ}9HnJ*tT${R-Az^2o* zrCt3_wba6K;V{Ml`(WUntvP2fl11{|P9;`NZ@u4v8d(8nlMo?kpUKYmlOo9Es{^JT zk8Cc-)6ky^G+gNKxPina)>)9k4l?=7t3y-+B|UxH4~n1hx7>CqqgsVI`(AUm%d@ATn)gE?P=&SrmLn4C{AA<^Jn>Vt4w7R=6yh)I<3C! z0vk5Vf1SmKyF$(Lr06DDOY=>+UWimSHB0I&+@YnsvAiB}2jj1n&9rUA&22=7Fl*J( z7t@YEme$w)FtdMq#(AgP!fS33=#-YXgmVWYQ34yeoV8(>o>kD;>;3hnT=b{_)rE0> za$VopA?IBZt$HRL7^Jk?R}47uH%JUxJdeFW_ae3}l~ftOkT1Eu>^>(=)&9%7aD9zu z(tIT-hLt3lm=4Fuu_`7C+`|VW{GLD|+&?~_sZExtV6RA?lMLlE{)N-vh=&N%p;q7y zh71?U9>z#h{H?WHzs*|4Vy`2k7?1O>`6!RyWET z)P6YfWqT^sqJOcG6fx9)fAYFT08Wd5o|dWyxvBfuy!Wkb8`L5VbJ3eZqBIQJD^chI zo&ng85RmjnlUj@?48&t931Uf{HD4kSI#Lui)Uu?kcJ#NVAyN54vyS{cUq0tIZfDGa zKdP=G3+14`*;8cphHD8FD8FyJpC=mU>?HCeiLGX*Fhu|!ansA?Gi(C zG4aJGBo*FD_9?uQo}zK9I_~m~2tmvrS<1!VK)ubO2mSrP`zC@ZC%WfP%YoE`Ik2+M zE3Vg?ZQWC`%F2N7#Uj8k^1s5zO&fyDkf9$j0GyG`Qc-VZ;8&v z4_ztXc5L~Y2UQ?QmK_XXwek}y7ZZzejTY?ROyiu?lwOCO54ko$LhkY=uRx){gjn<77F80r?@rHTqcmHiaKl_mKFm ziw0=G0%N(yd;6r+;csW8#KhZu7t&g}jJ+0GXD?JZPR6j6_^b(74sG=m>{&OJ{)(pY ze$rwz8V*e^`=QvqId&{`dvYz&FH!k`J%p~MEhMZISN!9V(zRi zFK|Lw>`i;6mWW;FEzAYZTi#uIoremd`v&ysn2NHl6FYK5cle$bIy4@Y!N$hXiaMfa zqems0Xh`!I2Xf8jzFGt%V4Ya8ul6Cdc3aQ7Im|2khA|xNI9^*gVglH6q}aYapmZn}mmJ6nuIWE1J$;rRv zJ1W9s{Ot*_uYP_$KHzh&&@=Y0cOM1=k>zmzFG zTJi|gpzv;1K++>Ag4ItfdO^EXAvYvHxw$n(cEY18O@juI#ta09f zQU^d5i-K*{{}tT8Ad2*jT!#-56cc7Qp>(K~cEv!v4mwc!9{|tqu3+F(P=?%F3q1Jp zC$#U!o!<}B z!MoTslmBNs&c&d8Lu4^#wWiUZ|GDzi;4;TR=5CJ;oGup|_=hquKT>emIsE?s82%Nz literal 0 HcmV?d00001 diff --git a/dataformat-uanodeset/nodeset/MappingParser.drawio b/dataformat-uanodeset/nodeset/MappingParser.drawio new file mode 100644 index 000000000..c8968dea3 --- /dev/null +++ b/dataformat-uanodeset/nodeset/MappingParser.drawio @@ -0,0 +1 @@ +7VvbcqM4EP0aP4YCBNh+dBLPZSvZSY0rNcm+bMkgY80AYoV8m69fCSRjLHzJrg3OJS9BLSGkc7pb6u6kA27i5WcK0+k9CVDUsc1g2QG3Hdu2Hdvjv4RkVUgs0LcKSUhxIGWlYIR/Iyk0pXSGA5RVBjJCIobTqtAnSYJ8VpFBSsmiOmxCoupXUxgiTTDyYaRLf+CATQtpz+6W8i8Ih1P1ZcvrFz0xVIPlTrIpDMhiQwSGHXBDCWHFU7y8QZFAT+FSvPdpR+96YRQl7JgX5n85fz8+m7efn6/C+/CRLD32/cotZpnDaCY3/AecQy6RVOYLZyuFBt9DKh4FjIh2wPWEJGwk+y3eZnCsYLI4hblgjQ+QggeSYYZJwkURmvCe6ymLIznDmMySAAV3YyWI4BhFX5MvCOafzGWcbQZxstGOIphmeJwvRHyGIn9GMzxH31FWKJWQyt0iytByJ4zWmhyu1ojEiNEVHyJfcCSda4WW7UWpHZYrZdNNzehKIZQaGa6nLknjD5K3F3DoaRwOkzmmJInFlrYp3ID6KDR2q40O0SYGVg0GCiuKIsg4N1VrrcFFfuKBYLETRYFdpcDdApZMJhliGqzrdf53pHsa0oZhNIpwPQK1SriPgJPrYFdDZjQbx7U+5KXw7DdHr4rEGpnWkOjrHnXwxHdq3kQwy/hR9uFTNRJB9+KcqtKZDR4fB39yhR6hM/nU/vv0qZbVnFPdAfGlOlXLrtHBb+Of4p7bPj791uEBGjz3ME1xEu70sRlDKUcoRRTzNeSuTogeyvb1YooZGqXQF+MXPKqputIJXiIVppzoCNsG1jZrkLVrkPXOhqxTgyzlIEbRq0PXdS8NXbWHDQRRwINO2SSUTUlIEhgNS+k1LY5weeaWY+4ISSVYPxFjKwkenDFShZbDRVdP4n3DVc1nOV3euF1WWqt1KxiIOJo3E5KgQvIJiy3n/QHMpvm6Sr7EbvazxTdPZtRH+1CS8DNIQ7TPaRVuQOf/6APx/5Gp3xMwMWAQ44TjEkUGhBk/zbxIXMnGlD+F4mkOjAAyOCE0hqymHzvivZi7M0T1KyO3hq0bXsYo+YVuSERoSdSEs7QlghEOxR3R53zkBilsC/swGsiOGAdBrnB1llpVwlO4Pss9eKaARm0TvCbbrNjeIUM9pW3ax9qm06pt6venoR/hNEN3OPnFO+6/Pa3ernG5TtW4LNM9zrrOdmOz9XuFsYz1FEEqYhNEh3O+00yRoNKnFcU3j2AqD3Y34mONnrutAWPCGIlr+GPCnq/JjPFrEP+KyjibddyrS1G8DEVq3OARFPaRwaNsH6UsMwLiz/IEXVWVOhz9/Oc0OtBViep1XGcZuhY4nq4Ebk8NPL0a6Fnnr85gMOKiXRH2mzHKrlm9jjrdmiPPrDFK+2xGqeePP2oAB/JV/SqHTg2HzaarbD0Be/YiQKE47y9jZTdYBtiF8aWmrGw9/d1QIcCt2qTbOhRAjww/KgEHPat3ca4V6AnqM1cCgFmP0Vt3rECP187mWHdhfKmOFejJ7vPWAl4GUOvFAKCHlg+QZtyH7fKyp89WU8Kg9Lx5kIq5m5TtBcrYqVJmWwedVQN9o/lsoIdzj0ncSr1AHka2aZgbPzzqaood17k4djwN/xYzmuu+C6s2ABk/HcxoglYzmkAP805XbUhzf/mmqw1OxTidulJgo+UG0HtNxtlWuUGlWw4b546/mmvIOPXY932VG7asy2q73ODoEfja9ynXpwQi1K4Q4/0zI6rjqrhXDPgAq5cuy041i0pfj/jVhdPyu7hoyKn52ovZq1/k4o1VnFwrZOzfrk5sJUrrct3dGo04W67b0WP5M2vELco+dGKfToCerhQc1CaVoibt8FGVbLIqafUvoCrp6BmWd1uVtLwaT32iqiRvlv/0VKQOy/8dA8N/AQ== \ No newline at end of file diff --git a/dataformat-uanodeset/nodeset/MappingParser.png b/dataformat-uanodeset/nodeset/MappingParser.png new file mode 100644 index 0000000000000000000000000000000000000000..8ffeda5cc669e59645657eb4f260d713f39ede82 GIT binary patch literal 212961 zcmeFZc|6qX`#;Xu8cHXUiqL|{QY2(8bu44cKK5eBJ{gQ{FjAd1$uhF1LSr|KZ5UIX zh`~r%XD}ru+t{*><@<6@o!|TO{(R57^LzaM`aK@+Kk#78yzcwDujP3?uj{(+nw#qH z;XTaD#>TeC(BP5<8`~}>8ymOnE^gp2gK8yo;0G9P07bB|DIDMVVh_#J31MTCU^BdQ z!79{wdWfe=9_m!O$vD=13?!Uz!eEZD`})4aCpf$tAz=P3dg& z`17888Uy-A-^v-FZ8u8US1uuQU3RYh|KuCnO^spBfArxyie^ER_Q|Fr7P47)Px~WP(Nw3usUElPl!XQ1*5sLkcMldNomr%CqBfm*rkp8k$0VzEB%CJAxGs84SE@C@1k+9ei1Mb z1mufK>l)G;cuViRo3@9!k*be*PEHI5PdmPN>kjucBc?lF`q|d`CDDF-%m?z1dukO9 z(G0i6IW@0+ekyrAkb^ELxZ>hjv*}Cqis9VX-DlzlJvS9kQdJE`2Mz;rzm4_C8U~(R zx0^{aj5);?z1uOL;jdJyJauZk^JhDT|H4@(1vTHy|twhnRTbo6R=9T5p#c(7?Z z6s$uHQKmn!7SSH9)nL=-&`G<|PIE$H6%j0A>*gM2rd=PslY)5@t`7g5^w1OTnKWWR zDfyW}-g!Z)=0tYK6FAJ$p4Pg<8TF(hDaXo2i0oV1fz{6T(Qzix#ZMy`{J}B$#j6qS zY>o#0RUY~XnTV}@tlJ_PLtwMT2Ce&%pPk0XX-EF{yjbE+mm2q92(| zaKi5i#2YPT<<6YZeZ5~NJ+xDu0OQ=9$Q!xHK z8&e+zJNswNC&-3qK9DV!0+%DFn%@ND4%&=kmTefcAx>{m-aS5@E^F8)H~KilJwh>I z?32>%ktYaT8p|UM<&=_sJa1E23yzcw#KpN&~z7iS}CES~34sYP(pc}XxMyZPUG zwGO;i1m$pPTQ+YDky2xF+UJIr>77`kZAG3JZ4Ok4k%|q+Xq~wbiIu^=ioLAw5?3hZtBZ^H z`1wBCHMkl5KvsEo{|#}TYm!+8c<ND`+@5KRju7k*vjdYKIvu;v>Y1`^+(_{} zJK*#))pXV2T2`)AuD;Y;gkEH4Oum91t3|xExcp*Pc)*3LlxxFH5}qh~qK1oDImgCC zQU#PkJ9Tr$6;e_@Y=9DU--+{QDqBn9URcXI%QgBTTsk>5c~={S&S$xN(K!+-cRFwV zihOO-J+Vh3;F%Y9>pFYvFFclv)qon!pvQ8A4n{>86oQ71tg^t;Q0e_jEB%tO@@`It z`IuikSy%E3`v;_Jch4lkKQ=-PiX6}$cenhMYLk|Sz@c*wNTz*9S8Oioh^O13t{cIn zd){`J>Qi=G=E<)GbV^0pl-{@>`toNOp!j&X%d4ykNu0oMhC&ZH1#!uSNC(wg1Wq9I zostoX$`?am$Kn!P67%hiM=%n4QD>rP=Q+C6LqrBc{OG~QQElDwV8clNS5X0zR@A{% zPMK`5qgzLO0m!0Iucr|HfD37H>%`TY4C}!}SUqmGrY&lU8;R4j8_b@2FF@r%Q$riBR^>O(cDsZRXB@Yz&tK21AuUB=2 zqNf~0!^yKGd$aEq^rG|%y+2Uf?Nyczhs7B7z?{K#Nuk*E3TM^Yq%G;tv&gmlGu3i_ z-=4Ou-0)w`M>W>9DD3k+G&O4umxk!Uys9AbL664HVwV$PJ;bi_3}DNb;L;-%oH_yJ zuG@EBLxvy^(i--JBA{YESuAa#n1zvSzs)*=1fjsf^qt z;bt9FPd<0V2J?&2tu&&%wYEPfGAh>rCNgLdL66&bs4?6$Tqw4Mn+J{L;oAni3`L~+&XLO}t=MkW_M*9ySD z$^Rh>TW)9Q+Ca+o?HAYVVx70`nPtlCeMOO!*GtO_BaamK(p(Y7=^Gt6}@6AOGYYT1CEWAx-G*>ecI$~%|bS!W9XC{QRjdk9v*#OVD)@7SZ9yC zOX^tWg0jbV5oNg*Y#BenCEJhStUK0P3PWICIIF#^RCIG@q1>5ZGMXazvR-&@6HW1f zeApvD)1x(1*y+|o3w#*&T8zit5TC1^nHTw}8D#7Ru{PPm)I1OxMlmohd{h*ens5KW+K({A{_5}Nj6-PbhfJGFmLNxuX;$EU#7WbtR(W# zK$ve`{+SFbFLePmVs}DCgk*}Z#Z@_L@Ac|Ue&)wQpWtl`|%bDWoSN=<5+y2eZw&C zX_F{4YV6Ed>N={$^w7AUA2oSW&~m+RSlT)iM>CBI8{))|XS=0rt`HR6Qq0#e*QcgN z?eOUpV+g=EV_)TlWZ3Lsei4PH%UmFCbG=A3FZ`NWV6{JdEAG`1zOIck39}1b)uyW+ zS#CZvhVsCFIIkgO=84EBul0>4<_aW&mQW} ztv3D?#f|h9D)ELm1`{+7B$A1GDOo$uy+E-dgoEL&=!%y^3_PoY@>3`P;arxjRj#^Z z^O}2&>+496=DB^eLq)FUESPuHzHHqKF8HTsQN^G)$+^Sh)sk|7JoHy2uYw?t&)QHa zsqM&s&s&h`Y8RB@lVj)ya>^fTdN4?D@g#(%7hSUkgriv_i@1=^Y&5@dyJA5a6e))U zkU`EHRrYLU0saTj^(@x)By^3QO06Yd{fW8cJYv2-UUJByM@A?zs!RQT=dM^R4(MoUdh2 zd;O;d+61&~Tuzget2964H=TF-tFl2)Gd{JSfk>D+tExbr8XU%iOiw{G$?E! z%f8&z^q`kf-=bC>8(d4`LJgV#>1IgPG*5 zvn>wq5s;|wC(TnGZ!mBq4W7YGD1BWJ^K42id#qR>f08=PP20cf!FXd2m)7B7@}7`8 zU)|GbNuYQRgP5g1^KLB3@(Fq;O%iwb4iHxu@(|@C+H6^p-WC^fMMAI7I%~A}#K_(G zmX&rBsxcc?T~c-mZ2m%4KlTv#S+T<{X*AaD)UvXn^eoX9@Nyh!GtBN{pYtQ8S?(%rIBl#c_ozjj|j-u9q_JY4zPk(uheknBN} z^HfI8sh?0`B+M?~^R>#zyT!L*t#s4%C#T;C^0Zev_B|%er<}oBHyd)@D(ZNdnMn3S zQ1fZeprFafvD9r_8FaR#sd_oyOt#|$=eJvFE%J>lDV9=*j^e;0)s(g?Lvwb3k`;V5 z`!FmCWSKG-5@~ux!}=zKA6ulVcCMu@)LOK9f7M<+mLS=6yRg-`F1nM=G1uy&;V$o& z_E%;csiL$)A{kg~|N2dxy>r52o{lS(8x2iLbLdVU2$w(RyqTZz&jb51)HUf3U@Epp zlXLZx?sh7`dK?Pf2hY0qF(XB5kIrG!%pm~J<5(vNXQ1J~w@YmXt>{VCCKX=9<}dXdNzZ~c z{chc}0_)`&UBO%+jLRlywTKo1o&?y6Qzr9bGL!KyU@z>e8}> z&=>OYEPDXB!(4F>dT2(ci=KEIW@NDC8iljy3n@uscXg5W^79t zHPxQY)my`xRU$w;WWP`lQWAVqqsa**gKfiq33&R#!fi4Heit8W^uG z`LNBb05{V18|=DzQgexjGsAEVj{Efx57N}b20xd>;#=@j(+he6Z9 zq$B7u%7kWuk*67t|JlV_8A1R8E=@kF?e$c!h?|45w?RP7mJ;S9>(h2*RQn&Saf#mP z%q2D0wRSn+wZ^vn`;q4AtlerVaDIBRE{GetF1x)2l3>SLSKAv*RO%KkMEa&A?G>#w zL17;TyNtzi$sBZ$^(i~W%*?0hLyi2}FsE$?pLp9uyD%SXBj(Vaw}yqZhwx_d~KYWHYoDx#_S!mGJCW#eB&GsvY9zwlj2HOm99Taa5@mm zAf3@0$;iXh+D~dK6Q-Fz+fsQSh#*F*lZSs3dmbgE21NJ3AwM675~J=9Z8$CI;;-t< z_m?sQTj$!Um-2eEVQHI&OJx_1h`S7z@f+BspxYB>-vQ+BClPh zIDiyI)k9k8oz+WYsptZXkui#Mg*&_9*;MkI=2#89tgIfx1u$1xgGXGr;wvM|A@ou~ z*^UQX8n;1u9ZNRgTXHviqk4y5a9+5Lc|Z;pm~LGu7kQbc)Y-?4``u;)qkEMmNL!nK z*V+s^jd%S3z=lr#2F}_qx+4O&(=E@)xqWLFu$t6>5z7u0i3e#r%EBu@hUL>#e-5iz zC(FsNvhIV*xH=p55}}h)O)s`LNcbAO-`d-)q+c5Z!VTuG`M-R+4Eg$qLzPn-Pq*`P zaA_V~JS-vfe5Z(GRmT9)MtP5|Q+*DL5dEeg^2I6U z7ciK^fe%M#Vi*r;A8a{>sf%k0Tu5(gr|L7chQ;V>Kb;e1V;APp%RblaLGSY*ymkINFBdl2p075P{_$!P=<8FTvUpM@k)|(Kvp8$T z=2n5NFE>+jBrDJe#$!E1ZuFQk4lzEw&!wmVk5j5;{wz$~*m8_pmZ3aHhYVON!{VEN0H zH3tffgff~+gP#fL9_HJdl^3ZW<@x3CUis0-h1MvC&c_kHUnA1pnC7u|s1Zw`)WF^E z^s_KTZ{iFAh(;&6^>L0Y7js5xrDaj`w=7u*90tufwZ~Dq=U_Z%{A?t#!w+KVV|^-} z*&wp|!2-n)A?`ji4UHLE&lYz<0Hg%}W0l0WX zx4`Yzg+M(Ad2?k(lP$JCDZ+EwelL%}LL1H(+zVU7jc_rc#7eh5KoJ&|=tO`Owd4?% zgV>^~5$~vKB-=WJx6DnlK}PU-u9#4bf6x_A~aY{Qj#f ztJ*)3)A=L3AKM#`Tw9T#?>o*jUU`RIN0#M_pr-p9Lwh|-d-}J^PB!f_OK_d=qpkRe$nRDB z0G9i%#t=gGKSRRuHz2}68g_HxypWlN_0b-a-XR6vhLA79W7w|=E(FFC*KOAXI<`3xIma^JnxoV=UU1dcn8a)vFKC z?VimJ(M{zK)-qKHeN)-9sWH+v7_KQXM1cjYaFc<^WUU943JkY*J3{={puw{iCD)5B z9QV73c=ZV>$71$Q&m?z5a9sLFxuk%@g_~NL4O|2=%W<5mB6#`&Bu!>kb?l0 zt?!@+=+wxP@9vSGs#3TbYq^%U3F&jh75B#bO_O10hBf93cIi}(nUjZCMy$q~80|=C zTQdLhbkf{A!59sW)akVb8zGM@^LLqUKCkWz5u%^HS&uynR7dKreN`A~mCFl`7x16< zaf^k|9`@SkZ|p_dxg@~i7tJj@oiQ*%GpK7Vdn_t~9G7E_zoA-NNs0;O{Ye@YV(8ij z@V$vrWNs%f*92`ajcxV!*qfnLf#E~v$9DKt=xdk*b-6LSIY4PHF^0r}X0Yiv!sTw8 z;vb^w*yf~3h1M6gsySV?PrnKPcID;&dd~`n*!kR<8K+@h8pmoN7)E=>Se3hll&9-) zFq{D%nbB__keGO}{^8TS0*m&eUHM5``!?`u4W zQXV#)>oYnnVbe_zx$jw`D?KflfmuGFM0+JkLA<{c@BQAKBCjLOcPH%*>gn!$7@PC1J3-CIuVd# z-gqq+vi0pOwLewPFNkc>F&ZhT!I}}seAl?qaks_S0WRHP`b73<{T<_%n#tNaI4c?N ziyqOtG{c{6ugLt0f*dXpDDI`~}{n2@FrL(llGbF0Mq`U-+7>8|z$<705PsgMNlogcg(%OB(VX z^@n?M=M#Qni9n?>1n_PL=V~o(xnG}7hZSK&sWN>gB#9$cw7mK26s@?nhR9 zF34uUQmi~SOh6ZKU|r`og(wxjUj=p^XQ!}h!xU_EWSF<|#rZ3RD4^rQLn3}83taK= zRaQP9_EJiOEV)B+x?9BysL*Zvd88cLJHYf038sKP1q%ee7+>iOIR^_E_csPdh1 za)ji1Tpe@7Aw1*VL0GtUy8092=LRfh9)**H!3t^aU;3j?E{!oi|eWGdXJy z!bg>e9kt_wUP#%?lA_5WL8qcRZe))>dFlxIZNm1o;o7!Ig7k`mEUvM#YD)Q(4M)*K z0#Ii=K2H1z_!VVC156=@?p0ywKYI?|FPO!$tw}~NLe|FjgB>IDI87}&q_-nck4{a0 ztgnQiuuDBZC2#(0t>D`!4Ssssf8rqRfd8J! zPx$t~*v5Vo`%MjkPV=()&!E=#MY;ZW6aPq3|2>HxTKpfy^v!uzx`L8{;N*^ODX;m$$x|0fAldw1o!_7*wHVH23SPr(ntioALaFS*(u1usT%Ku z-$z>x=^M0VHS|X7*#33$|7+i9Ow6kz0X#o|7~K=ZEwDZt=NCNC8`48GqYg9eS>8E) z>$CrfqwW$oT{}ASSMIxEOwzr$omF0u2%CN6w^EERTVBK2 zXa7BuhCZ?bGDkUlSN>Xq3fFG$VsO8DBvotY;lyH$=ik?-U0VQDJH5(A)%qb!R}=P| zhkZaH{39Wh9VsdnjSc+x?Eei0`fmUTR70B-V)p$tDZX~_2~loGkQ#68ZuqOf6rjtO zdkeHGG54m`Hm7>@P|PXzK2YaSJ+p~joP8MFAPO`lwg{Srou`NAiKl{0p`G(a^gNOd zhf3=B;v3pn5(PU} zeN%N?mZD3N3Sx4sXo2yfIcI85zz1zIMtFe+$o6+(>w`lFgQ!a(^sjekj4I7Qj=O8; z53h__^*PRtlPUz6m4gb9kv>Rvz|ef@($L>02K==^8#hN3M?dPj*jDRw<;xR}EFuf| z*v;4lf(}uKchPF%6nbIW>TqfLE6I}<8Y7iP^l>VOM)v+%_PGQBwn?fydu9YChWw_D zA9dkj2%OMH7gyd}r&v%wei-PE z!Vt?+HAgH)omi#ob$@BxzZE}8?0`}sNC9kwvhT0x2*2byu&|PE)o%zte)O&{I6{T z?7@$j(kOz9S%3Zzb1xf1o?%P~RNS1s*8Si@iPPFfjS(!{iaIfzy0*gH+&4=AiBJ9^ zrLN#ujU64x3Bb-fj~315{%y+1a{)-#E*ylhUVfL7C8sy~mQ`Y_fQ89*##?}FQ4BWS z648|{J@F+;{^(r?ww$c)-?CAq9AE6gcTN}}H0S~0nAb+|qe4*@m!%ydCJL9msGA0J zU*{zseB^J=B*vL;J^hdkA%6Ip!BD(T zKxxXo%Vlh)*RxJSobuW_XUI8?&#ijbjC^vGQzeNwW2j3;r4I&Me|WCFo7q1uW^mB+ z<zrEAT_H}#dtrFUjo>< zb5s1SvmccjakVEphcmtO`XCERAP+lbo*vL z>ta@oo=B1X#s*PtX-y6zMRGnpG|NYmc0nAM!NEr~PUm~dAZN6 zx$}Y0LkW{d^m;73pWnERyJUkIX&a&XQ!Q`gq2lE-fUYlbjLtOosm?tO4RWXyBVDM{ z)Z+1nYS9yV>sciSXss4d@UuuCdZw2xX0FYKs(KVF$4HrZ1Zf&9$PzpqW>UfG)FqhO zfQ-RI-bNISU4ywp%=8O>n$(o5`NOG)K3K({ z?;{;-zu}}(Tlo#u_-zd%Iy;D@{lD^pBsZ0AC zG}jkF*Xn)b!%=q1?@9L~7w&9(j8)rJJiXISC0#TcXp;}zRA-fn(6COYOwte2jFz(R zq_+L4cj0NpReu*xBf{X-g3@S^6f{vTB?gyik2wipHCHdA(qQjOxguW%lbkt`Hfx7J z4yvqVMyL!UsAF3{RPWy$TnvcE7_eP-5jdgf`%5=LZcXn3qC;kJzBUh)qAB49Ytk$a zFg6Z`8IIyw4W`GEtkFJf1@giZ+**T26L>JN9PgP!eDPoUt4(GyXXvIb2MdNUgG9W9 zK5J2C*^NQ&c7iTUY9A>cjZp;!aAotoNR*Xd_V&DF@R;dHiB_%>{Dfw67F{Y{vR zO6)SLmSZfh_ntvG+LqK>5*Q0>nXK@MMS1mM%fa!#FJ$xB?d(J>lJKL2MOxq>uiS>f z-0wJdYyKyKHU_Y4>6D_6v9kD2YKG9^uid18R2U)t`mLb#_<$O`$cgm9M-_B~QYc?| z71f$=w0)o^WN47#R5rNf$&(F@y@Ki;;U2ca9E(t$8$z>}I2AhP2B zi&K^AeXUo4+F23J1$7L++@qbdu;|{(I^XB89yz34tUPR~Nz?yZ!LacGf+5`u==;8I z`X!JXI&Rr>ML{UkI}#hYxJ%+wmTwKn*-GQ(;+lGlo6+eL;*I-5cg>lR9z}Fo^D(M! zUfRnkrktyVJ)7KiW?;Q=PX{=#9jj|a{o_D~N-0B4sEt-5u58XQe?IrLJYN?spgF$jswjP656P?T45jhYpHgAp_w!ZgAm52U z#zxfU4C&3J7TNez`Kvj~9O9fiUCa3>f{7*O;(67%K>BZiS^iz)nR(unw^GZ`8>3Cb zfUzvFqSIc3xk*i6SPE&~T%qMZ)b{J23$hWwY+TPXS zm`{fwDJfIQ6mcg^?fNI<#gL3_o6@k?Bz4m(gQ2OtjG?C{nAtW92lasJim1#gxyIx% zV)~2(H?n)hN;KT!Lg=wM3D@hQrp_1(vXad};NBPZ7L^@)h(Mct{b*WDzn{^`qS#7pDnO1gdH>T3pSdOxznmDT^FI9#O>Hhf{ z4dJo2s4x@Tq`|ylrEihrcpVe&E(LBZ^!-oFfl$MB|z#G)>+xNveZ42 zB-s*i?~cyBzx62mRTe=?} z1*GPYaLKk?(~~6>BCmU0nJ+NolT=}b&nu{E{&b(DVc+A|$?drBT_9}WTKbK50zNY( zAvwWK7(Cr{nS%4B_&8}qFPqY}#E&*l5+; zs$^HdF>L<&9JUzICop_nTsu!3%$;|SQWL{Sy}8#LEL($`^4eNW(8pu=FnhJl3qLg+ScQ8U7HKcYyvh3SJLX9a=sxxwnWK+gO$JBzCoC7?mH- zeg19!N#Mo>e&*RYPquhqbPM(&omb;Vgw9->#a%`O$2fvnnRyM^H%rPlQL@W_m*f80 zP%phgjywxXW=dQ=@yxQ#V#5|_~}gC_cxYr0|vhwz1tW4PuIl0A5bqgo*{+5 z-RHlJaZfh^R<|k6;qVuS^Kbv~@4v#?cHAiGLJj%fcK5fxvJ`=N=j|5Kfq(y~zk8(U ze~;pCh54^9{9ld&YI7{?M=!unbmss2u}oKyWMX{S_1T3vI{70-)c8YH<~-;G)`>ZN z(i<{9fM1kgHq&237UOmltUUskp(n%ShS_Ptt2Aeo->3ekHn2{@{pn+*eSB3{lPHOJ z&)z`>U(jrV+U4wk5lj2^KPS?kk44PX_x1Tis2G>A`}0M5a@B;2e^6(3lOm+Er%sT{ zIBa=JcZ>3W(MX@UPtr%%aFp>7*)~F7hbi(jl(%1it>|;?Wsg$()bEk145DzAT5i$V zNrIl)Zp~vf>p#K{dIn%LE1gEK`uyPQ(AHcFEA^LCTr}R8#wns=ZkPwAP0AT;xo1=jC)mzYcz z6J{z)*c5^D&|#Jepf7I=^x0QrSWTth=BET7A-}hM@P`4;?9Rq7gFo<^IlTZhRFkoQ zu_~PU5^cugNLb>wmNI8@HdHCij7?Sov@0N)^LkGwF64}iFNnPQgqZD!er#wb3DkR-2e>-8WEXT$Ho+J)X1?S%iCKc zaj#QGEQdKmO}!kJn}8q@*3SGh@Q`xl0i4_=rsME~SL3}z7tJ#cl)8!2%C(B{vJEn< zJu3NDSti*qee=n#fhpke5NQ0AY~II3XD+0vjZ_uWy7~BKCud)#!298W4_wPWnFTdn zTK|Gf)cQd~-m5HY47qK=UVp_g3K%cDN5Xm_9`)W( z1c~k4(4$z`tu=m9hrBBQfBMqZ5EHa*Vd7~ZLH6GagVt-YHe?d&9#@deSeL6d!{7T3 z|5jh~r&5Ug0w^83l^OO&jG4~W-O^4qOekh$$tNi`?TxG{*dxs)#;sW%x%}J0EEZHL zOm#L3WZFJ`?oc1@Af2~zt$pS5VU|i~#Cz4U+#erv@+nDS*R&DbQ@HusU2VA|H0U!E zL}x`GLeQ`55eT|9(MF<;;RHxw+;AWI5UC6VZgUq&N50cEmt}o{J@XymW;!_s7B)Ht z3DCnO>4@dP$nk73&dk$n!zI~CLpXPv*T14tZgm3WQ*Gz(iSV?rs1B7dm8V1rANMR&4SH0U`CdNTH)gQ*&5A z#6-^zBLwtVEodk3)VuZd1>V$HY_6PIvLz+8$&AaT20PP*B#V>g+F_7epEA8q)+V8x zZN_74upS@weEuSurXN1E>%#aYF&~-bA0taWrubD(Eg)xfcF0)rkU}Bskl>2 z5<(jXW#Tphq+GnM0|o^Z!rowQpq{%Jnj{xC2FLIfDI+2-#{IRROm1cf%t96wAwBm; zb$|j)Y_Qh~z~v>98ieKij7M}VIyV>4OZ|6x9|a&0U;V0rOR4-)dmfK>)Ek?=ecpJ) z=C$oS!MLbNTtTv2*+ZPOS*kyMN)=rkfJyu)^Zdx0-1+M~wVmAVdssef!iv_J@jTAf zn5#ZzkeoA3-~?|oXp**@a@A}?%lYA{2aBMZhJt@BOQG+AB7i$5-qEj(aitPHi>$<3 zD|;SA3_3>)xOXx-lo{%6fxThP_w+Eb;VxmOrcZJ=AE+$Tg51Nji6;_LL(&;#H5enw zoI`f^UPg4vMeolMDVv|J3xazV`mhF6D2ZWrWfX+v5x;~*nZiD$vgI6}f9a&?u{H$F zrdS@5CSQ81L4K%Hx8OLedfTaNgoEkg+>l=HXcJ-jm5ZcD7O=FH5uVN%{f+Dc!Dq#x z{MjO}eMVLj90-GE+T?DVva-x6UecMd^#K(o6nARzaGGA|Rr0dwn8y2>%-%IJt-CG; ztN0YQVUcpu4Kp(i3o92Q%wGL7qWd}n*l_$|W9*M8(Iup|XKq6YoZOmIw3NJCEaOC& z1K8F*){}|pGLSOG!En-f_X~{o^E*i=JxkjNGf0b@rp|sKX_4Irfm(=Ol9UWK6P&@5 z+WO9ZJKI_+T4`;-w}|sRrj{xDDr*C!Nlw+unmEv; z1??NwS$TVl{K8!d&8jxu#fVyKS+H>#%)HAW%1f3D8j$-}{2-xaN}YIC>;E7(UBh<9 z6&;^$Jljf7QP_a4LnAe z1!G#0UAxRz1a%GPPN0)3N|vYVfQunUHyKu9F{bXod~UU|_Uc`0 z;C6lhc*>nDY6Fb8cOe`Wh0^-!M&8k^Y681v+A;_2ba0v*_uKfcf+xrFo>R)YZ#?=l zBX=#^xfdvPUbzH!zZ7quZ-6dby19)k9 z!dUj=f!<(roZbTW@F!U8NkMB95~GLY330&G`wu_ekf#fiPq;`ia9SLz7Hiwv_OX`R z!;9Q5A+5EdJnkUX%?@g^3D@)H6@C&SoVy?`vfbTI>ZxVk%R`ScRRwRRl^ea24X9ON zMK>6)OP)?KG8~W|->DgeGANaj(@9;{AYq1`AQqD1}hJAbHc z#=idhbW=jC{>p&t_Ash?LSZNg<&BP4&(R?^v?qA>Y3^;R+X#?N{W4Gymfzu7BP(P< zSjXO5Y*@&|P%JJlX^qvLptQ?u2*Z zfjbbGl~Y|CdLOPf`;Ax#0dRWK+Gr?Y)p-xY+uSXOy9xR}fu{q0l~k*m{N1uMhgTlTTa?z`_PhHqr*G4H zjA6R5=+=chxr(((lc&Lb?y)jSsc8*s8QB8k;HVc1#-Nh}w~Zt{WeVIN!A~jz+aNBg z=-dWWukocl^5mXnh)(y4@vd`6b8b(o#x!UR7ze>XDoFt*b1w(V9OfBjWD&TDos8sr zLD}=UqFqBe<7rPe$(S$~wNrQY&QPOH-T3P4G#D|d#;W`uH`OfbyM6$s#R2LC*FhG9 zma0>1z`M>mWcw}bUjAkiD#?0r&tQ>nQ~gyY(Q}X}TZ}!Q;W@U9SV(IN&M?0$iy4oc zS*|{H`9<3a=uwqeYTvI_{5>>0IyeP{(FyCXjjS6cY7n-5*r %5i@rm z>&OTOo5Z*UK6lUvA)lz}lby{jD|>B(OssTRSF?sGRrJ>o!#YQt{pGf^Tk-xv=`!ee z6Gx;GyntXX+u72UY;2iPK$$t zO?pt{R+4WxkBO}u{Gn+(+@RgBPeo|ZrDD|8H2=#~qS5)8DW}}HNP!1oF4)6~5(d@4 zaIKqSdr;1NeM+z*zkA*1xO2_2w?E3Rhv<}PMTF#xunK#pfqRms!_K;e+5n|~Slg53 z4x!x-5vo;5My=S>m7RQMUd;)%gnR9Fmot~|yYz8bT&Ud?&GZR!IXHO9&c6pSF4j(V zPkZhipeOWrJxaUkjoO;#qA=9IC;;-C{EDvZK{KpJ)gBmM~ zF}e|n9@meRYP6n%$EK0~ZRk)f`lK82+M_M}Q`+@#D70F(Z_>0j zo4pp2)@76v;80k<8(*a1^+6S_A=y=NcghsZe4!cMe3Tq&0v`DN6Ygz!K&*OBjkI_H zXTuI|udf(MH<7IpJq(7(B>I@*LA8HMKr zS!`A=TNsBYyS7VdnWX2uRpk&i!^8H=o^KxfMJEn%>)V;OSyv;HUy zT1l;4sPiWTQa*Z8Ld;*xt_A4a)WAzLw;J_i#rdy~i`7#)I~*@!qM|~e!+?rfLS&cS zu_fElzj6$Yq@F2TcBB?UIw;pM-y7h|9{@fICaQJ+2cRgwwKT(2lqV*>4R(xbeduvzNvrvr*#KVNyOiv&dA4 zchmG^iPkq{KD7~S@Uz9Ri^rk->IimA=ee)i5zF$URXM;Y?c&#D&v#5UkGcXm)sPB- zEqkS^q~+aV_*1?7@~J)9JOC~Q?i^TF`EYx4H`5)w!g(F{02)Ci8;8w%PHGKp5=FtH zBkG>is_GZL?PZDI%hTmhKx;FWmZpEuE~F>AHQvS}>7z5M_q+oJda5jy&RbjhUkNc* zpTkbwMN)=JNr@^W%3(It!Iokmi9gJ2;&=Sz9W@!sE$7qkNp*kf#@vzIpx`Yx$qH)z z8iA$Prn9!_@AY+AodB^~dT0`{J$SGh(3jJlnJCtvN?(K}d&%JD^#5qXI&I>bWpo68 zs>FKXhS-2&xh)G+uc`+HjEqD6z z*dyDtcVD>;@^8Zj(eV{-rl8EChJDLam^${j{n0FEy;+U?8oDg+W6P4 z{pu8F*;ilkQi$>?K_gbLwP(4B)JjX%hUM;j&45|JSGFxKX5N^b3c!pSNj?cE`bE=FWLJPL=LnoA3SRk4a)2!5%LNDPN%Y)nu5O=s(QPUC zppEQaAd5~HRb9D-TUPQ%k@H~#OV1%UOL-dVdu6^i?72DsP}7%e(9i#)((@9y8?I?) zscm%Lhg3ltBU6LIEEUF*`i2zjdmAbCj2y1gy^+4nhJ;tiGJ>A!DB$LbrVJ0KwPZ7* zah_Hf`Sh#&es>3HpeZ5P2cR%E>u=xjhI@Je5>h5MFbn^MFwoxRt5o}e-|J)H&E9%# z>A5pDH#|F)`tUyEV;SvSv_onm20Q|v!%oa)b}ID(Uh-U7_i()w^xia>lwyzAx58<$ z6zaP+F}V3LQhVnTLxrM7V;g5uTi{odTX}##gFJ_=mF0h4NH)5R->PB+SV0_g|uA}?CEsv6I!fAt8-XVF#*P8p)a#d2hG*!!{J~;ZM z$}&$>AyNSz>a0Sz5@vyx@(Pp=G%{5c`+7DSi_IZPWgc0deiqJfe zd9{DSOP}Pakt3l-Yfl}Z(n5J6Q$Pu9RP1AYKubH7{h2=7UJl$xn+Ryda!#2>l-Qr_ z7%3ZI8V3YD6#pvJKj5u`Y--m4*KCX~cvwiCSDHYcfNxxk$AhzFQoVQ##CBD=lvb=gS$*h7B za*BSrbX1Z1JR~yYZWNfPg<}{pXz_h8w7Wxx4AJdN7p7rm-eR&DtBj60Ft(- zJDyoNnmP7B;Dy0Xi5;hDj`_8%H%sTb&Yiy32P_A?FC=3bY3siBh*{^d>S)&D2v6XM z`|#1x$Gm5dr=%k<1C2f!2#t>eP2)Yzy^|?<>&6%@h=CLugG}aacJazWwl$b)tXBH} zf@K{kmDfvQZQm+kDfPs5r;1~=GpjiLm2#5h*$Xw;6f<0hoSo%TqSGfocHpk518JYE z3gJ(H2!98NRo(q|+wJd-TO@uyK&IpxrV8_kLl>--#WZxaJ zFMQFErzsv?)ZOGUfmKWvHo#e#RsSLG0y&e9&SDWMu;L8=Y<$BB#KQ%i8J}(c`Bwdz zgg57Fbmf0jTA?8v3*>qlJJ*zI66>BEH@h7nOBQk1=ror)4; zt&m+wb}HGDeHmkyN+D|qS+eg+c4KR?X5X?6+1D8}V_%>15`Fr7U%%h)xnKA5{Bi$r z|Kp|Un)5o3{e2wgahw_g#K1*L%}0le?lCJ|I)6q5w}J59Qp-SfS?g8sSZ{rgD@?x6 z&9U|VPb))7fuqyso@ZPRHW{LMv6ScuxG7?{#pQAACQ`C@n%i(OD)|(0^U{*;sMgV} zdSw80Rp+44{i*w$kcs1SzjTPFr6*_;xFEj3ke+wq8JKX@O{ zyY-tXQkk?a3e`J-gtu_(UQJi?DP;|Grmj)COVN@0$0#OWjWFnti z6iinAsEkN$vh0abyZg*A*oGf*^?p&h;DpdB(`~nM&^4-(X}_G!q3@*08d1Dk?ymO4 z!My0xVeikX3cx{C9c~W~X#!nJ(K)yKe@QKrc7LJhmk76y{%L{oY)WYg7ds!bT`Aau zh$nj7$)$%1X>wgd_~umuoV>8#y_-KhoV{$0$-8IJ@HFAK;*=hwL>o1f#hS#& zYN#Gd`cdXPRoWYG;4sY5+Lw1P+`$_PbF;%MJcaYyBaLmRCI|w3lc$=H9>P>l_ntS4vKhQE4(?ev|@@Y8nUX@6+Z-a+e zVbKw{XpDkM_V)Ye^3xmdu?|MRCANAC2r&MV8}*?8AB0I)blW)8yuH$kU=y%WHnHak zx9q>tft|utZ+uodg82Ng{|ceKUZMfIe7GT#(9c?D+$Kt)5y=!OQkREv72*x&<~EMc zh4n`^$wWU;aQa}XB+UUj48sZr{R&|;VF))~y%C&l^*vPS6GdS!{MuUcen;xX>`@Jtvl*Q$-P=6L56`6K4k&}-u@*{E%|Dbl=a zR1czQh8oLGEj3+PIOZK!eAPVKxPkH8o`6@R+uW%d61}Yyreny|;~KkOBfYt-5g5a~ zwW8M|w++pknw90>?$jF!TdMXOidAiV=5{criJdsO#eN|dwo}Po1g0w z(HKS7L@ue`5Ja$LMHe!Nf#&Av#jl@^y#-?1_P7!*mN^lAtf7jZ29_Cy=O5iL@vCYq zMv}Z!l4gdh^(k$(HLj9^ zsd#2kgfNir^4kYp?RS4_xZ9(Ny-($dx;_w1^`#nmeN!YbOi>kKk!ACG=~Mm};P2eZ za^4FnNe?IeNOf$J5-IIsOu#(i*(v6o4J?vaGe`fb#$^8JVvO1n)&!S;KP^kpI3rs7 zF;fp7oy(}DcUiM;6|ve%@5P z5FE$F@ls>*Vub$PT^Nm2^t^*N*g$R%NhQ%=Y}}B{x@QaZKt$s_?z84(v)u%`>Niwss1i(8vw>e0H`u zY7mN(p_XrpCqzYm#qdc*Jb?|H_-|hN{P=F9XX|I+E`&Xr%1|ef1Q;u#HA97elQtS{g5gI;>n+oY-qk|l(k$WXd7-)hP!(oj>sQ4>HmX<{T{rez<8=) zEN%{VQ;$c%td)C^2SloChgDIxiy*&h%cu^J{gpZ`Af1M24X%bb9NMp6{vwX7=RBdqQ zsy^ravHS;S(1_JS`@rS@X&E-Kj2rQy$!UT-{m9oa6P+ORM%M2>6I(8*HTbQ3Tk&7m z?y%Tj~uvY)GNIn&@EG3Hx4?G6;AOU!mUB zzjDHVvcrSluCW333FXCW`g9T26KTzUxNXjvuygC;ZxSd?AkN@s`kntLl8%Ch1}_~i zen>}Bz}PFKWD@7R$4oJiaBs}+cVTrj1nMZfeKO(AAI$c*U;o`p>cbBmYm@jspmDxC z`nU#jq=dAUf{|35!G+ECi|Xo6)qPWBybfMQYTdB-@qdu_-)%ep@avF+|I`uw>)%LK zLFn{hu!sFGx4=;VXHop{^wWPv`~K^d4|h=GLj(9R`f`Z!e-QM)mUs&NIT5R~B!mB{ z4*z=UFS>0INBQ6cG>H!%m-DR%u3Rz*s1W4cTd*M-}ssE_%Q37xot6p)ss zqLP$-Nl0C_vfM4%m2QKntXM;%hkuP&enJj)85pc&m)}04rgh$%fQXFszyBdUO&nGm zCnClv?Mp39;L|}uCKY5|AAa~1X)Tg>aCp(Qg$NN@;Ds8b+v%(EG6aOgRMLNbn7<{c zjgxbti;yMoi8=PsTl+KR2Qf0?TcZyY{QSzT*=Ccd=PEN&$l3WhXZ6BXBbRYxlS^dK zrlePhh~Zfx({IRF+w}>jhFcb4PlEov-HzI=={H6IAIAbz%V_L_{X6=8b^kHv{R}{!RJB=^2J0#5hIoDFIHytVLsfxQiv&f_Kp5QdL9U?t8Rv>}l>ssh@l%ikaUH|=qBtfgHW=LrC# zCa50}UJj;RyWlPDL$nJoZc`Gw(-{!f`nJ%9D`8aCr~UK`@YFq4Y1?$7$A&%xL@j3? zpoWL4lBW*U;y_5r$Eb$RwY*8El1@w};$w9#9Jjbe6i%mor&BhJHq7yD3IoS5ZI&$9 z<<9@7U9$N2axgJ_7ORj=ocQ8e!S3g9EzB`4C60Y3IR*CRCgK?k6H-{7vcgfR)_M2C z3CtK?NkJ;qF*;>0WZCs4GhcytRMEqX!Q)|5+%JMmu9 zowQ-hq03%hs2|TO>PoJncsb$(XH&Ih@Ja)UooQkB&)M5l^U(gHWs&Dq*o;nj!Li8Q zxM;g4DLAXD5Our22+7n~e#XEMxvc}#+(Jo#x4v$8C(M&)wjvB2xjf)4sj@owIm|h- z@TPfoJ^IXtT(7_gjh<3^yX!b@c@i?T<38)i9@9KP#kIVy_{+Q?g&1H1qLA=VPy&o5 z0(!tJJ#~hx(1=yd)~wi;z4vlheAq-{8-Ez`h+6z;D`S{*#Bv1Ht8;1Y`H#_&j3r(-*{rK>%u=!Us)6KIP zPfH%RPgRDgGCXj}PpM?zL8`51&fr`Z*97ixJ|FE*+}-d=5meaJOo$!ZnQ~swr#Q7H z$!8&?a8e=5Ro~>C+mNrcn)fKBF(J_Bv#d49*k3@A{??!NtH4$a=IsUo2#Ab<-?&c8 za+1xvW{+&*7}`ZX3jc*#XG=*;U_mjA6Wn>5V$88fJ5PXdv=3*;C|}7=IjNw_PrbPm zs_&P!@a(Q50`+22S;67OCSv-uUl@`+#H+2M@#hD49FK*Rf?)9VMAzNDi?j0Q+b7ms z>gi&)qf$(s$>*z1E8@^F&k|oQteeyYi%M++_k3T;#$hXe=YZhke7~9yIJfJK&XZsF z1gM=yu$V1eTk%O4FUN+zK-(nHn*N6+Ona4E%ccsH)EkOHunM%mY}MPU#hy08;`Fb1 z5-9%J0rkB4R|%Lm{aN)rufB%Xi}3(iCNrshrj}-nCBUPfst!Tc_LqxpX9kQ}oK@0& zMnH6i3^-K6EBVriJ48CZF!Gn}zQGc>%kmYsH*bzM(hOnq*y)~A1^O~bK54F4We@&h z|M43v{`&eTujku)NG*RpjKME19+r{Ga?wINk0fhJQ;Wrqv4J;*D81HyULuv2D;wMO zlw7Rbg+FHTbCTmz7oI^Cv3m$TcV*A90-G!_cMklIAV3e)D-mgdGjOc_hn$9mCpR~i7 zD&*ge`BqAA!iQ6aLn>c_u@EI9drSpXp76Eaf2h1J2Vj%tu!1pA`KLhTn`zVBiN(%` zaFmW4doq5x{;^Gf8!&`&+$HKA)3b%v^CyH?Sl-Z#;T6R=opVCrm&+ua)jB5m1smn> zAj}w8d`x1iQv-?iVDqSl_2>6~t}*pbH>5xGyZw_+{o(PC6PlF z1MiKJ^x8(3e!|9JS2!q8+_QS0l2cbH>b1Vt%Un4tq>5!L(k7Py`}qz0W)&zEr9P1 zjRBp}*j1GLhN^wjzIjnnu<=G4Z)pR*OXSMOEY)Kd}9_0dUQnFSLMj7QRqU`@3f(zGTyI1J8PbV&AM zHxZ=VnAV9)ngdr~+g<&lJ`qX@!qcqnbeAJAaRC4hN~z(0=`j>~3zb0puGkFk1<}3{ zgowx!%2+bTn-8>Y>uX6!X(GvG$VqR+tF%9+KnGqB%ke}sGu}g;3KNJb)FylALV6Cf zj=zD5nkbbrOpvMAE^Wx=FgV-P>Rk+wvvsK#P z{rTF)yX4~$oT(4b#~PlQI#wZL74yLp^`^;dWl;3VsqrUoC8wg%$HDHcN4o5ZsTzQT zf*m~!V>x!DJ5|DVH9EOq^UK+mLnHE`q9I)ve^U6% z7k0Rz*wrd=Yfnj3&{g&wm)q0GtBhBR^-A01RSam|(i(8Z;f{t}TV@YQkfYE)0$dEA)9c{#6OyML6K*cHHlv*f^=)DQqbb>igTKnb|q?5Gi z&#M`WvXOLxmfCTfJL00NxaHX999R7}1FG@!X#oA~<0Ar}K!B!%ZrCvZ!)Ryn`T9uZ z&0aZ-sPOaw6w(z0zF@^b`3L}Bw}CGR=uY7y7UOLf^d22g5(u5R)Upw_%1Ct=@`u$J zk6WFW!|pRDq2sJgBbGne8tK}m&)~LsFv1fCx{{o;38dW}=i~EV+IBUw1tp3ThU7eC z)H3;5DO<5Jfb~w{XO{@8WmB?Ee}$W)8p;H*Y;>9y%xICJFP(*e79rT{Ip%$TeavT_ zRHbn*jfD2lqT7!HQ_r1|qX)506T-p~!Wfyv9-^HuG}zJl>jc0a{X(`QhI!ef zRRDf`sh7{Brl2de{OeK>Uv1olrhsa*pVY=*=Z3Zr@t(2YN}C2K(Kl-#RUrMhD)>An zsAYOde6Za@L!jRC74MD$AQ%eNn>JHHhs^PQV$*2rmoR}7glB!-Cz>7HY;>+k$?rvq_EHHogo)pSv#&{#X^U^vlI08bQzYN|Vy> zgP;6U2K}^uoS!9DsCd5B3o5)ng=8bA;qR%NR$*&V%X4HNXS~?eswvzw&y7F%3ETLu zy`}UG03~h`{lDtNM5~L5pD9@iz9I+nq*VM~paTJC-c{3|c9xtL}H2aYzV_ zl6Y~>vMaz|xPja!skync7bRi+`77)E%aNa&oh7)_ROl8O0&X6N)kr2CJ`l!}Y){10 z*QbRs2X36vL25VLqgIInlMSpm<{7`7U|te9|PdOuBjB*k)ih&xG~ zG$`mK2Bz96b7U?`e9q#C0!o$(6H#9sII2o*ZS8<$q8xSUV`6zhYt+8bj}%%^eJo^T zQ5$ukIrb`J$X|$8l&*RL3{M z*JbRv>=qGA4lF7Y>Va?@?Bu2I)St`(1lsllHW3P(b*NtiO;(?Vb#{YOde}G43L3Tf zZHjt_A?N6axCdGmgGyGo6)?xoR_^WyDl`+r);{OUz(!6R#E-1qQ8269Y^`1kxBU@Y zpAg)w%eifnFSrJn8D*&CXdN#lA{(52aR>jR{Mt?6kAyZ~>t67#c@Ah(Ba83508qrr z89?$#)d$mkuM21m0kl42$G$l2}Jz+{eZZ-1hnr+rh;Cm_*2A zoW)e+2z(ZR$$ZwcC@k(c9zyF$+&(vrzD=ALn`?7!RT`&tn&Ho(g- zh2o}!hvR)4KPEpXPk~wgk2Gqyv$-xkbBsgWPldp zq6JzWkn1>6KR_8o#V7s_q6eG-V%7xUBvUbF4Y(IxQ0jRqE7C~@@Jk{Eku0f|zd$}k zT_K@Q0SLrzIh4u(e~$x%a}aC)S%i!=1kxf(K5JQ!ID>-GiT&+%-%6ZGRQbP~`TvPC z+}fK-0Ro-Z2A>M$c9RPt)%9#Dooa2KnAru3<6ag2d_*p>RC6SgV#p-Q!12p5PV*qq zsTuO6ItH7W2DaetTGFj*sZ=BQke%OseY@`i=c~4H%>!f{r)wsEzmq4mGpp7yHg`r#zhjO08LZ1f+qPx5{yE9Fh5JLV|I`#hK*7PRp~kl6 z8_Uy$3QUy;#?jWao(aw<_Dw%>dX^Hyo=+}N%DU-&9*bG;u=3g(9C6&n)>~HZtj4bX z)OTn(({i;>+xSi92n#sA%n80J#F^k;usdnAYhqr3LyeZL-jQcY#kWaGbtUuWBMT@+ zC#Z7E=dxl=HYW+)N| zTU`>rK7$GD0A1MeAubZFy<(ogzM ztM@eRis$O*1lbSqobfJ?2Ebi!OVTaxE*lS63(Jzgw=ZA{U0X$`PZ!@@u*|QdC5c+? zH)E05+s5C_9TT~pGBFx<PqmB?~N^@AZSh3jNOO476Xu7c}H8}sr`WLqY6@G z?$Rw#ttO2DjY!|9mXgpMa*X0G6qR2q$>p`t1krVuT^b=4o@pisiCQRD6RmXI+S$wqN>RfjI6JP_u zw49^{#PGEFkE1ajLj~UNhW%mxl(_E#5P9P4S;?fiQQwoj9r7#^PJQ5udEe=b#Kq)z zJU6&_F)87bxKJHW&-}{O80QLjged-pP_lY(e$Lu=as_gBH2oE&3QwULyBWN4!h z8A_y46Th>Da>FRghuR<8K%QZ{kug)|#jqL5NbvRD}f#^Br(<$t2PfIoH<<^5g_|~=c znxt=GJo3LX)0j(Z84-RX|gad6e)N!GUV`8 zt3TNWqB$2EGVVNsRn{T27%}GK*Xr_Xw05MOnRgd*eOBQ>dwLI(v zSQGVFv@{AoqGZwcxlNK`F>gFkbzAYXDYNJk%+k;$5LLfE2URN&VMRgEj+?iq2jwVW zWYTLO_MRS^P9}yUe@+SxR_*Oz0!c==@-B;o-x_4R<8)Y@0^I7%ugV#nD0WpKt z6}hUg#lk9bJI~#!Ep*rBe7=-bM;G}EKW5hqQ(%Y|n6v4g2n1l??p-YK@-EAhMi|`c z1mz67prB%2R~&Fvd$| zn{(Mkz`~JvHtM`{5TFd95p?F7Fmm){sug;{gW9Uw1y+1vY=?)5s1Q?lkH{ z+FEG-?mj>1Wky3ChnB19UoN2J-0K3*bwsaJHU~se5_+tEWkC;$363oSb<&W+@V^wh z)mh=6VPuH%tc^omc!HT%^wZnc9MePLA}#W77XuY(^`~`a3iLPf1(N@=R5~8iHJhFw z*%dj4z4Eje`0ZN(nKmF2kzVT|FB9l8G8elS?z}-RXA|n#slaJMiALg@cso8l^kcMd z=q56${)F$z_ta#tL4Gm?HXdz#&ZPFL%}DX2CoR=rXL#X}gQSS+-8(>`_sdf(~97EQiU#P$}qZEdTjU` z((T3)k``<{BOmN}bCu%iq2GB1nIUmM??p>nvvvgDH*12)uoZ?uS_HU?jJP`#nz)El zT`|Yv)Vwykl#O^UmQ)H9cp_eHk-&qbcGtPycf*M0jajzdJq7ZucFS@p@md>(Ck%8B z%0EGT>UtOrl0$hGk9#PhVOZbe%I)tTO3dINc@}Yx;^s$fTRvKDOh!e0)!x1P5xz2L zH=P<~7*?XTW~3t^*u9A|fDdZ|fHPPqkK-#fMQFuh9uj_PsZ<&~Ebsd$g557a^ql$N zH(~IQ*>n9@CaAD~OFep@xK3o7G`j0^qTZ_dj7DC@UDfMJL~Cm=5e*+a0=I z%S5V+#9O%=P9v(}r#9RDB!zQaGo{qfx8`Hz?C4i>6?b) zSFX&7{CLtSWrmWNWggvuyxAhyNOzu62Gs$8I1N<~9(3f?GO24UTv@ zO$$;?zcUV+(GeV50Gisd+Fr@KxV?dD>!gK+%OqTwk4pF1c?P58jYCXDcL;z#1Y10- zDp`RppO;g0LzkJQjkZF#a3-J*1Mn;&i*dN3j^6T?{Dbelw<>SAKkos;6SrN9ml0G3 z0qqxlB3!N4&}}gyJ8xI9$0%eoBY!=@srG7Lv#zTU`78cK?U+9YM)#ly99$&z$~G|# z&H;a|utmnvrg{b2w`u%FMP%4&a&@ z7sIzlFU(V^3`Wm*AEA6D`BH)TO1DWnufWe+iux zUwn(72B$U_;VM9kRN(xVJb|m*#Osj%&m15bFH1MR0^h})zY;{HP6Nx?QQmT zXhlZp+czrfTYy$z!8>jN5qa|fJZ753BQ74NDO3GQ%kx>FbZWM_7}ZSlNY5?O`A>UA z1Rzi0gDN_4PH(LK@d~p-Y<3-dvT-250yfN^u+pKJ03d)L^VbM)_o#00gh#^G(DZUq zz6bxNw#nOOA67rlh11n_qORFS5)kY4jczk=#w%^*Puwv@?X2<|Z77}&!40{+ICKA% zbCbv5AnICAN>Z~!t!!&wbH)hQc-EZRJGd5q>(-&69kBf(q}8L$4fI3UM*~pog!ZwC z4fe{}+r{klDsaZ7z>(ujT~FQ?$ExXq&?vXJ8n(YOQEkx@cfgamK{Jwq+pLsw$Y|+qE?Ts{?;XNX$bGDiB}Z7YpUU zUx@-(oknt{6RiYO6jf4_JcL2XsbNu4ua;D=Lt({_R`Zr^JzlNN%phUCp7o|teCY=x z192%7paD-Sva}1l$b~+-PSmVzgw(fl-*XQY{RXM@>lc?X0@P8U3FJ_-_c{KA8{)Hd zBmGe0=0J{~HEbE+aJLzdUB>Z|xD0Lq z9kJ}EOzN*eR3Ub#{`hsJ&q!*~ms~3H8Ve4y)iAE+i3=|iYljs;F|yLKjbPUv^*ip7hVsTht+Z+o@9w#S3@^MJFnkcxk7%W0YZSjT9lZ%@*H$ayzp zir)sI)T_11q$V3F(&}D0vugS>dg;xN3eF)yBxrm2TUQh90oWu7rvvXungrk|AFQb) zd7+8idUp#IQ9K^x<=msGWf87&ExI>p9cbyJ47e8-s~o^raNG3to%yIq5{vWUSNrre zoZ~8mq3JqMx$n7lxf-0pu!juG}o3IO?+vI+w#9EgFJd%D+^!a$Z`aqJsE|*!9f%EHP z)sjqr=yl|#_lCX_J#ywnL!Cmusk#k{mf;T+1}%z3()AwrkeJ?3hPgK4tDyW!%X}Q9 zw}Dfk*yI;(f_Td7yJsKIrbaP~1qK{PFB?t_Kisi<9qiQPmfEtYFK6HjLjYxT9(=<9 z5U#tfRZ&k;^)_|8)b6;{lj45U`DSfLglt=1K%Nl_E1bC%4Odf)2hBZ)neo2Bm7$}| zS{w)h?(aMDy>=`?{llt!GEy&TJSyI0>~+=EdAcD5^003ufvS2ZS_)Df@2oW6kl-p6 z0=cgI!*CCf_hw}nK9~eB`AzX@j6tRBAVB3dHz98xo1I@(E>N{T=3^w97I(G!%W>XY zZHQ2jMWy^1EHI~|0SB4TqkJ=r)S9M<(M8xR~TTTuc5o+EztkqG?)0;zGtPbiB6 zWXm)pnmaYb{m7%1Wx+-3e16=C3UQG&-C8qA zeDsWO>Nj@*S7ZaO>0LgZPBj=P+7QK~%a@5){%z(|8T)+f1T9CBsJU%?Tc1evhRP0L zh2B)mGCBHsian@SG}jBQ>pzghd}{j<(6Rpr2X zy`@t@dEwDee0}S?%WMNOh477rj6&lAS1>T`-X5W4nE6Houv z8czPD4!3K~;@0hMp4b4RTff5mSUg<@tdbe`B8ro9$f2Y$Iat>piTeRX|8)SWQw2R{ zl{RZndWK{wR2nz93&+4G6%1t~wCdc4o%pjnqdz{erNN`=9f>smlT-H~jT-{t-U}oM zg&=&);hF^#GLNDt2M5L6wBDX{A3f6XY)r>2?y8ef^=OdI?XA0?)=UiSOXxAXW1}I# zFBA<;dTh?FeH;yfU%=hD3;1Mq@9jK#wCgoz{MkkA?yX9U*WT9VlAn~aZTiXUF!TwA z*E?RVL}N3~;{O!Ds6c3bP4OJc$OnLfPoHua4-B0Mt=VbXY*h11S_E!xRJEkij85N1wy0kmi^vU7R1s`KeBiP=Zv}GMc2LsE0mVd)EFBa{4dAE1z?DsT zsm+di&F+kmBa;RBrDOh?BWr#Cq}RtydiVLKI)J?gB5RQ6W>Eh3ckl$M5e3%gXq;Q@^fsnM<_1E3HoP0sgGIxPtq-U0yZ>BVb> z>tg|Gxp%&?v|b6$dE!wE+Z+Og;&N;qgA<4cEso3D`KV&YkuBp)nZAt4h|5N5+0z*- z&D|SUOJ5`46k@7Dht|QUDUYymM27o|W&#EW_4Qe5ode?>>HR6C< zjRELVSh38aHhY3n33b5@su?>Y2TG09Om%FTdf^5eqU5g(W-SK(X!P5Q?WLot=kSl_ zT}i3iG}RU>UTlXVPfKZ@0_KZNxP;e~1Lw_ezW!rx*HT{W-Ju)Gd3RK|h*c zHfq`WV7M8SxZixa2BBnughEk|-Wo;S>Ku?(L#47J0E8^iWz+FlN|A^O_Fg)q01o&% z`FiCFDYpvzDo^~{*C=s_*(|*qh&hp*obv7W2)KdkGgpY&Mby{%?uW1ETWZMgfF8Er zS|13Chi0!HRO5ejwZ^PHY79IllvM2+MOV)_qyvhS>7IgZblSW0?eaG_luA%nXEOLk z97a6WEI_@ZPeV=O>Pp~OSmk)?b}WNcVJN7`zV9ZfDVP^|CC*=>Lzj*x<fP+^Pu~-noZNH5r^Dm%^@5m&ajG{`6AFf)t+`XO1`8`--igRjt4=Nf2P~h>(J($T z$7cQ#^H{6m=xc&2u&@sqeE0^1Ji*e|c;oznCZ4WWxTEl~lP7ue12fJib@Yr3nYloWSGa&_;&Q~Z;)AV3B7F_jXz(fT?!3;ZfDT(yW%5_+$G zx)FQWqIpW;i)?V3p_=~QzNs+359u;(`|2h=))I7Y>0R8?&T(jyD6yFj`xUwV#-z`N z3IV43%e14N)$)H7Cf)$$Z>FJBb<6D(9 zT>wx>Xx2%r4JCsZZaeTSozA@)6zv)YOY8GJ$-g!3qD#o!eq64<1>*;Wg{K`Jajo;(#{cRj_0c-)PK6)kQC(oqG=JJ z^22H6IZNjPXZ2FP($r&vg35$*;3#XsZM(O6Z>w6~wFUH93`xz%tXP1+ATgwA7 z0_7f%$zO#aro99PsF1mc0ZY+TmBQBbi;G_qT%gXR-zoH+x=!}^hbW0-PAJIEyLCbE z%&qWiIuMmKHHi0DxLiM2EEe_k1_)MNcPcq@0rlMk)QN+>Tr(tI&bx#ic6N8rt>Lti zXB=?@^_3?H9;>fu+dcQTM&xDUyVRsS2HZSGr1tPq^A#gIc_;Ufl9~9M)Gax%!D~VHv6x&B=rRLM82hvx_jg*W*!N zucOT{>J#~=nEY`U(6yv2Ii$=k4+bispWS=d(H|h)G($Y>me2SuDCp|Bl5Ovka0D9zgpXv$QIWn#=bayZY1gia^3eRhIV|z z4JU^EMw5(i+aAF)MJ{bGWF!ZH!-Q#llvBM-==#+sw$q?28?XHeXO5 zM5Tep;VNmG;Cx}KYj+F7($mJ0=@PUkxiPEeMc?9wsa!(=R|HoVC>O8JXxMN)x59AE zd2Y#JYS?LpWDbf`-4MvkE%$9Y2wl?WAn9kUk{g|H6Sg9ymFlvwv(rXk6F7ri6(wQj z%~%;dKP}B_PpcL%&nU!Eq7^jJqQ9&ChjIMCm zR~gFf6zHnpB&UYMyQhaiNRj3TzN@=HFXQxK{SIW{oXMuux!GG1XhEzyV+0*(SFz

o&P0n73={UZfMXC@C#$YE% z&JE;A$;qF#CyjfvM=l!x_I<8OUR?X+{d1K$&EpUNO3y;<(@t$b*bQ{(A%Ys`R_=mS z2OH;x{2UCwC;?SLoN}ZJvDUeiW6KqrEdk*lVv>AezLF;zVPZ@du;Tqr%-2{{c-`7N zbakd7#hYOAt8`w8JxK?8ZnP%cD+4ztndCJ`+K?4b>`;D?QbFB*ixsbqA7q9#r9i3d z$#!v3)!k9m+mq47A603wRcn=kVn-Y0sSyEFh0OtGhV087+HF#M?sF0X^@CdZMZLP4 zU+AhX@h65l6KfTOfP76d0=`t%DPo2bf$3jrsdBF?NRWlQ&tst)u;Q;HgR?W_p# zBd3m`muY_@AG~)~)Lux8^wQUL<0XHUyQoY5@(^X*<7odm8sy{u zjxK%iOW4}G97D5}!H(~EX+KQ?Z~)vro+KWO^P|Eh2ZbN0@nLLR+x{T8ZEvvi={q<; zqTg{2tz~MvY_Rsw;fJ_y4~%BmYj3B+y}h2>tjzs=q}0*P2~Mg0KCXH3g20s*BfG05 z9hbEmjWf53tSVP}yZS&Cr%FDE&cHAf?-Zp8G&ayzVfZW3?Jf>U2Ss7%1aZKb;>=+s zKM9neC*HbGMrb*L+;ARr76duhV8@~a{hmhZKFKtvd*{@vBM+i1JS~jHYuhdk9AuY+ zx^hwh<54V~7v<3U(CWr?f)vm6Omc7#Et6YRTg4jD1gKo}uSuv$th{CHEd@v6X=u?= z?;}aFH6Yb;8v8AqAUd;3<(R4W11?*okt8}N5Dv6esY7+0-g+4Ug{6NE|F}Z^pc0X1gB@~y z%@NrSQc@NV@rji;G9NBVg~LJ9<)+`(F1&gx&U49^vhHLanvyf*NG715Y7(kK(`I>|7+Bi8!nuvockdGaZZ(wr$=l!EpfJpi# zg+aUZ@A?pzZXy;mpUQBZ1fRSjzl1Rr-}m$VbB$;2nwJY$9Z3XK3+YjCoq-M0&3b+e^>M2Q<&-L`#dCn z5Z~2P;L+sPL>}*ES~Ei%oj)p^19G6~3EU0pnz1)WL!Gl8c9s$X5*@yRIgn%CeAUGW{_*r8;9 zXJXQCp!1gup^W3eH5q|k^vyNus}SROKtGwr zHnMIFuvdw#7rN)YrBz6@rE@Im)%n3@AJ~JhUNmcqr8dt3GD%xyTmj8_ihws-Uw(io zszac@|JxIGP`Z_ilhFiS8@o`eWOZ=Hd5C?Vz*qfi5llq<&_U@l)s$o4!+1aq?kV@V zLplClD={9taIRml`#2%-6CTi$r~-TW1Y&wPXx9`HbwdS8Yk+tqTr`~lCMoZMNy>^- zriOo#qu+5}oeh-0uFjpv0-vwY0cr1g+@b&|$HyOh_1=lrc`9=suq9f@3o7749H1u3 zOsVlOrX0AymD7NIZJr`t;q{Ci-7-$+PQ$oHH zwAP;jC;t(b@TdMm*z{0a-W@abGeFqYK-eo7wkM!{k?bCyt@eTk)<{dA!Vtt43ZPhB ziLFUl;JuZAM{_L*Hi(H1J~ug5cJ*lS=omO{&!Ok*fGlIGP6JrR9k5B*09F{vQ}&t3 z1?D(a?IPbkCm`ZK4F(UtsHQ3aB5PcT793&mENTZjAbkX^A)FYVaRDfhJfuL&Bv=2; zrqV-%ePEI=0)){6!g{XbX~Fu5GC)rB-8%Qq9K1~ql1~hS8c-m4pg;@e^<7U78IX7# z$m6@t-BY0XQ5`ftlEWe{LNXnPjb>A|bS9yTUzcLgG0#AbXF^XE6uJ4e$lB zg!Z810lF+jdMbSrGK9kMjB7xL z*Z?*3W+=!Igl_|}`-%l*9pV#nz*aejac*L&nGB$JOp7itZ@_cQbl3S-lh^YvL%OsH zMDg$`#Ox!$9E8O8sXYa}*11!MOmPKF$;CXP2TYMY4)&6A(F77=F4bsr^?gUSH`0lB z!4nbo_$z=JF+f6TD`!{!99#Zo-&rj%T3q@}JeYte?i66G#;}SpWSD$liv?VECyB_u z0irH3Lqhp$K;)2Q0wM#TW?e6K)xmm&c%##rnnNDJh^tF0C^2cAopfu)*OQo$&d zc`4Y$OE_zf{J-23RRcK6;}kh}68PmPNLB4IUCw~vteRjp;s|JQzySd_^49HuWx0XI z$IV&O|L)d5&@eJq*4LwyU!g@Cptk9Q9@+Bqz)~1?lzFMS?g9yf#=HftJQw)e;c|gg znSV&w|LrEwxJ$PnG8uuVochmRH=hfD4X2?o64rJxu!r3FyY#?}|6b(MEohX3`2WmJ zfT$XcHG(IvKy7<+AgT)a)3*VBn*rs5r)67k0a8LVN7WT7_aeU|VcGO+2Z2>O8FEHh z6&ZXW3hDx9q_9SS`6EAiXn+Z8aQg^wK+1qECUbXz^0T(zCUh>hdR%hn&~6&o+C@sk z)2YzE)i3b{QR80l(}y$`zys|&6lH1FT^8nxORk2$i-FQsU}Jr0ycuLfMNrtBM}M$C zV7590MlPJ@-tT=$d;_Fa{7K7#=J!J3U>ICzLo)H`{=+MvJJTT8Gm)08+W=_5u-mK6 z1F~v<0AR(IbcQpqSq#-_Gun*?0|)zUai@ zw9f&q8(>Xp|F=HimI5$ulGkhj84Xx*7&50y$@K60|MGzPyv_Ib1eS(S0}nJH4Slcz z0*JwWH0;&~q_x0a%^i}q4v{93Lj0RF;H7?s1*M$Z{}x%d9(cHN%Wq)+;kS^_y`}Fj zmsknDGcZ_EcsOP83>v2*`n{*hJ&lPBzPf{dk-ddv?rw~NI0Z#w5ZNJ=BwYzCq`Sf^ zgX#CT$WB9J_5`>5_d}n#AMg!}GxEAV(%*^vzN6^&oWA#rIssMrSGZ8m0UqL!1UH3G z5SdHf@D_aL9Fv7m%OUIx0#0#O+pkN1pEL;4ToD79h?uZyn}P6+Jk?AoP>rCI1Tny! zkvZxB9!I$)6#osaq@}=q11X^I6B0iIdpbb^CI)4IyvfYPpGnsP8XVmT+TFneiOs;< zRt#+wG95(J{qOwam&sVEAn|a408R$DCnr5lO)Mq=XdXY}Jq5kffEKu#NmTmcZ`S`7 zWBdN>`0u_gAJ!V83pW7>lmjqK2FkA;9X}K zelJN35XQOV!1Dre#ZkAr5c>o{gRAQVi5uVn;7oyWm#tZV`ydW<2(V=tXxP`Ezrh_V zP>u$5uqZVYZ@uf-$Q&VMswX9Af!S$sB0Rk>LU6rAB9@GZ z3A)VzODK(pqL2W{9?%ET;7`by0j)uPpMKBWOH(}{4E+Fj%|^z^levcJ_ItA=4w|v| zJ31Zn+bk~cla9Bp1C$2}P$gIjVVH+QIS&C&9oX%YA<=sj`;_Sd=J&Ybul?4JzvkJ& zyV<9P1Bv!kCC*wN67_Ea%p(EkO;_lOew+0j;2=-ganm1Y%%7oE5M800Ci?Tze~|@( zI}gklCE^bvv5y=XfG@X1?kGS@`tSgq%DEAJFmBwA09%SAn z*$HuGa4|_I31y_Ci%W9}`y&7BBsHr1_k|=D@9po0I~Jvs-Czm|5x&_uBA1~tz-IDR zDmEpRJ(t5mR-yTJj39E`Q{m+8a+yy4uz2naCV@IkIoo|yYglXK>Ak(Uhxu*^Db4I2 zm%8mN6}%W%)xS#x2X|Pp8{ETgarRW75pme=qaHdp5^`#v7rGZf=>2DmM%@N%eFe?( zWZzk;CjniCIODSlp*5S4&MU+Ntm@z*L{)`)#Q}crK>DF*&CU;D`spaAl9XI_iTec3 z9h0#1B|C-s=O0@?@>FrnIx5sFxH|uAIp-OF0xix5ZlgG9>QW3RuZ`Q)4o8nL4xb&~ zbOz&?ti8zy7J)HOFr&tG_qSXAd+r8Ea}Kgow8X8Q{hcd9IT$o~)@};+Y=t%$cqxr1 zsRQ#?)jcq62f3$F@9%(%J8ze>FAU({roc&1aqMv#1WuuoZgi0b986~{;k`V&%AG-B z%#EAU30q;HLf~ALBEhjEYTQo@@BA>=UVW}Y{j<_$A#~wHNech*vwAus5{r^R=|5rj z`}Cw40P=ZioZorzw`M(o8sMA_ZoJsvVb&?I!~Kz4O`x&5J#oTE{~z|=J09!z?;kG7 zNXaO&$;?W2POBshtNkzSn*I zaX;=q?)&k$|M-3%K6IYPalDS#9?!$CmpBwaJ$VBheY&qM(888y$jk9D&Vx1TA}=qpjWW(4DW#Swu%7>uv+knw864@I7Rj~fl*&Di zhMxW$5jV+wN2@DNPHIc1GvP_;u|}0^To_@j+C}I<^bBt~T`F`dq9^Tc0Vx{#QqoG1 z3>7mQOQSL_LmrfN|p{KP6H+&fNTiJ@FJC zkB#!6ShoiZbw)#Tke*z`{zf$0)Cm^3xi0peu`}k05o$Gk7TkXnNW*t~thA`%p8@?Q|Gd zB3oyr#=swIPu%XO%GaJV`m9uL*rglENcWODgkOg7>2zRdC67id591L}ZGd)RY*{jG zmRj_}Fi)dC%o~r6@G4l7W8!Iw`F9d->w`zl-S9hYs}0}`<~m)KgnqijKPOFaxB$2| zsz1pMSq88qeffInzr8F_Kmy9}RzM_u+hV7BpVHD3^*yfXaE*vcXk%5alxvxZ95ahG zsKW{q2HaGTx|T7uH2xu+Noi2G>lV#cGWENsoO6$FC8ur)N+(qE(O?FyciC8=Ha*0c zgA#q*bZdCv-6?k^CgM9a?^4q)eppl4e4D!P;Bk)w&5&h;>P1hdcB4pN3U?C#9%8Cf zQwa)MDkk>J_iboD-E<+Bk3H;K4fhuM`Q|E$o6o5rGBwF+E+pUi)F5pY~e`r=W%#D5Tx%D|tQ;27VR zm0}`+1t%5tF4Et&iwFJ1lJYkyZ~CN1piRoSdr=7L$lRx~ z$DwjGVn3#;1e?`kH++Z$H~O<=6f?NrL&al}R3uZmT;uA(C*B3335(XQnHYdF=?EW= zIKJcLyB4@LdR=LR#x78RfWCTZvLh^Frd%p5*XRWrPl7d|$ZO4n&b{9?*(&j84kz2r z-AL(E&C}GF4Ot>ynCZ0K*Kk26q#5+ppQ0XT38w5S|);Las1>YWVURRAT9maV8&4^l! z<(>Q!m4ed?T+n zP3h=vkSh6b(tkdY`zXS5(~PJ{ymBcnbcKGh*cax8tj9Ha$X|9`P_VWl#_}?R=iE&G z80XI-JvNIDR^Eeo>43)(cPCsz<>Z>aDOO4n-m7NZ6szWW9AR-w=I*)0@WO9uK1Q3X z&L9<$D=M)AsPFUBC$7MGcOtOsi6`Z?@x$I|Z^2@DsD9~~QiMBnd{XYH*-`gS=7 zOdjfiz~j%Z9rX+AhP5|{mEwXJ1<>`b%5UaD1}#L>L( zzW#-of#6698LP^Xb6o)k)-3u2E;#QH2BoSxdv4}Wx0m zVB}zMV;(lyuCr|D2rBvgiAM8ZkOWKcEG>Q-t z67owLvf^;Olf#OvWa&unSsJDi7pEnwL4-2fP1lX2yAYBbA^Svuaee>6kCMse_U-;V zlLPe?3cz_h)6d9$x|EGD{0NkG9MtcM8MUdy&Y#qD-&o9OJ3U<$*&A7SZQY?-+R;_9 z2}RC z3(h4ETKKB|nG=4+5V_cSAO9ka{|MBVR^=IXoKy-U!`X5YkL-WTsI0CZvaimI(x*S0 zh2B*?BkAnYs6fDQBE0dYYsCXo#Tu_hG`FjO1*?+Saa+rQ$>YCn+kRiDN~ue$YE@@))+>Up!?wI3i)`iE-|-XX)J1uik-!>9^VLD0K;r znh`#x4=6w9Y&NBJHbS`FwgkTeG=ou*Rx8?pqs|)JLKHurc}!xCim&(MXOGv4apTlOjYlUi)P{8t!w?04R@1P*54McSslY3l@N5$aIqm(;tWXX+}_Q)K=+mI_|WowR7z}L zz&EwryAM{*en`~ZoA`-94Z?O*k-Vi+mAvsjN7-h9v-i=R;Uw-ZAiwFkhU7P8Ig!x* z-H@FyUKlyhHkgp(qg{t`q)({k!ZYKp{77jg-|?J-e#z_JHc!A646Jp=(%oloVz}4L zyH_`w{-%swirWsYG;*G^eI>Y`A0?)=8J%kL3qe!?t2qyfZprm}T%b$uF&39!jT*bq zv{@ffl40MNIO2Ud`MFo>+-}&OC(oK^0t z+Z2)vX>*r4reKPI6^u_ULJlsPPaybP8v-OX!ElH1abaMpf}p5doQqqWGkVGjrKHaO zg0H}b5LFHMV6MXq;S}Dy7Q@~p4d}9_q22XNuy5NKf=GU%#upn4B{6Ob_do=KBO>lx z)UemTWphly;(X<}!&aU})Ln+-%k*5+Q)YpI40nBu5^^VUWEK~{4g0OeE!#g3+#0^> zzDH$jQsV!u?G!^>%5PRdV!$(5C;sIAzW~t%PUCcw1P>$=3XIk3$WJLix<%XzA%GPL z;4bl=wTlTo`Lm7BJHWfDqAh}LM`U|P#|-`Ky5{1~+I_s0k8AaE=Y1_HmH1_RV+?jH z*p1nyEk*-9!y{&TT$Pmc0*3uF23;E$R@E*kC@-nWSJO*wK1-F`g1IJd`iyd6Owx*e zt|xmUt6j=Z3~i(@z3+~a($~+LBZh1Ytac01BTd60UH6S>f^^*s2X+kI?ikxZ*x~im zd!MP&FM^ulj`sYGaQ3f*1u=&)*qGsY?`z@jPk|r#@%^|axQ@oA8ZMmepT{d|jvnz~ zlVh;^kZ@rkk#%l!%q2W`qN17qYekdzl)0D*X^qddt~#3h?Mi=Tg}|*}1aV`zO%>ze zNyhqJfsxx;xm)afr`*Yu8Dl1s8vU<2jmJhZ(s%VnJjhcY%((7}llA8tU)%+}7J zrABk(Yhzx!K#e!N<4uhZ?ih9fJlBOTvwVi6X6)Bjv$NI!W4s;|@q1`3{R*6_Io*?d zUyzI;(fZ|gz6vs7kUPRA-(V(;`~?u8z?S@HjG7LZ zYe)H>lijDu{eHvpW*-INIipzrbBn_+kN9iW+JA{D0aPXp%e{#iRKTsG)CI*&F{QJL zUQ*pnA09<0Zf2#fm^(^|1ejiL8`vG0htMrj!Fr`x1-u}eCgu=y%Xy8i@nA2+-K!7( zG*d#?`3mH(0$WNHgsz-zEy!Q`9$grbdbS~SXS^__DROd!F$ zB1Flr;4-QClsy6B4crIL^7zZAJM{gy{ZUQt!_Zb`?)c{k?^Tj~J~%osl5@sci9SKw zZG%*PnSTNE4!S0+bI1o>bcy(+WNHhl6rc}bePiN@!EP0JxIfMTUa3$2nNMpH%Qp*B zz1hoTe6(X`zZ7_|1(-W6e5ux9OQhy$Cyi6_;@uvR$WIy=ZgkpE2GXqEk?f0)9HI99 zs?Ih{J~NX~efCSq{MqT!eka+*jM(8C`Q9}E@2dzT5EuV0qlZn&WRsHkcC*M~$S zBh3Dxt>Mrxqg8m!uM2-$L~h~HUU?z)RY;`^BP~JW6^{vU_a6FZ)Ia$PUR7D~o|M<+ zH|(~OP+ipoNHDeShnYicj(pQ=tgo`D+)Jkq%Zn0EE{At;r}zXhkHy_Oq7rzwxDnk& z)6GVBjr6#}ohm`|A@7JVN{lNFF!APLv`_BPjIqC3bYaV5uRZ3u=wF!!*R0O8e~8Le z_EPIQ|1t|mwYM(E(jk&{mY!lM2W6u|+f4|U`ea3w;HB5Hp>p|+7T4GfK+}zXTME@y zFs<{56JHf%$Ap(g1VK5XRAnItItly^Tv>@MGw@- z_mofzZoWzt@lVNIU~S#Dc^L_>t+KaNBGoh5WMVkF=*zftR=greR%=!8zr6V0n!KXf z!I>D%f)8MWB-;XA7>PI#Tu1vUWEghGGmwgE*qiR+%BXW}m2G#R= z=6?FG5;z>)3>+%DUNdc^t7<>U0k@tT>4G5^I=k;SB2^33DfXF%e+~K;AujV4|Ev4B zom&wLEbyzu-rToc`(KmX1jgyv9|e)D0g^*9nJR!^jvSIlN)<)^S9b#F69g^c*sMUt zpU4UK#W9eoej5-Uhm$H{NdDJzEK}URl+5_hzQAR7HmZfvI?-k7gOHZ5Y4kK3rb+eX={bC9@ zy{CTjyI(Jfn?z~UQ?BCb0y}1eV&U)Uoa=vl8jsfgYGWXq<@{AcX#Y&t*gD>RBmIS? z3Nv~JiH$Va6My1UYPf76MC=N_ri&o!z*#1Mf>DP;3_&EIssts`eLqJ)_FGUqSo}8rE1@I|=TAVFXCm1{CdZDzyJ|PJbvYl1 zgk4Iuh0B!>xypz)Pd#)Qbk2y-UdLEBU z!Kv5~$D-S?8~Td=xoJNFMAf?d(7cU&&;Pa^xCQ5*S1rIJMmph^!aM=e?_cArQ3e}p zZt}!6rJ2B~R_5vKff#?COB>*lITa}}Z|y%VGQv?J;Z&+Kd@~SXP(ovt5R1q45LtiZ zwo8AdOTZ^J3PHYJ$)DLT5d2Z2wg{$8hYhGeF^{)U6pTI#BD(Rh62jPjdl=G@;^*W< zC9Z8S7ry2%aEjkwlmTl}rb6CTWWocQV<3MII&g&ws`~$`gyavP4rwu-+K4a4bq%Do z^HubpmVy1F0gV4QwJD+ds8+hlZs?qBMw;UGYwBUp1=M?gJ(upQ04-c>8Yr4GVX^lS z#{CX@-RXLgCXf@h>WTinRh-a)?@n0{`;uDrV1j-9qnnXLHhdHTDX`NI(lkac?B7le zfWAv~GVFRHykC%pwj;P$Vo`kbx&@LbY~h6hb;=)fQZg=tKBK88py7x}7)c@C+6sRL zaE(@QUhb6d^1rW5;0$o$1;A@heZaf`gpmMw)BiE@(&_i#J2c?$$L7T|kc2`s3y8;2 zon~mLibeKl5Y$DF>=?HF)Bu(fU@5I*LYy4t$vw7_<(fUQP7soh)K}Qq_hcejaOq5h z|4$(5jYuAs8N7zrG3K-qkea#Apfizae${D@NW}NUkerI1_=*C(g&Ku@>aj) zGZ`64c-E=jjf~i&BiW~YzvLN$H}Ka>2F(7zQTHynaMsz5LId8^b70JWA%za$O#&s) ze0?g0XpArb1{{8x^Xe5SGX#1ls^CZKZ(?XXfv-8B>hk6ld7}gDR}=Al_SzMH!eR*uj`A@KJ)Ppi08tVt;Z(Pb)sVL@5DrN8fo1o# zfo$?Q#L4)gqYXxl1ImmxH&-kFbbWFo{GAMZBs}JE3~pH&`1|)07)=0v;qAEH7xng- zGu$c%QntQ$R#O4__R}D{ColY>1p!5x7C6=zZ~w_HUjcIBQGQ6gG9C!lG1&sn=blw( z2cA~w>GyGWaRrNEB=Vf!eX{~Yd5`35k0SVp`>c!OU)a3aQ8LWvaRd=mpa4i6dIbK3 zDS{39@)8C}Obq|z=)Sjr^oSh=wfFyj!T)Dy@ZKyRHCDs8$qeEmYXhw9Ry=Db4tEXc z<<)J>XUard$q?_i3mi%z{@*u?^O-JEQ)29P^xuH@_D>hgKFdI}1}}7qkmFQ@00ayP zIG69}Nz*q&`#ggaK~-@7D7_wkQ~MGmxB}R~f>2TBm5UMlBRGFIw2)Doj(>-rZ~HoH)Dj&N-(}qE@I~ zG6gVKlG zcW%m&Mm3VED|Gu;j%y+lI6#CY!>~Xr(p_3*FBsKLX=n#*H${{6TIvH&>hVtFx=nG% z{B0Fm&$@KMjEx@x9V!Kr=2}kyiqhx=!J~F!0wpN@R<8k-x?wo@W}pH9Md|tOZv41C zm)|%8$bNmu+@sq!cpJ1^Q^5|Vzk7ILlyG_Xw6m#iqH&Zb+8qJl@M{C6o4(Qa#RY6* z-o0D+dwN}Sks}hL%M00n_(R`DQPfeahtxy>rCJ9Jac9C+tK4ci7gU+@838T?*b);2 z2T-sx?J(MC1b{hTiuCHUYSB~&e^Zm_Nr{lAoqyy8^W@gW%VF3<3*RQlbag5g1ZvuP z40huHwccZkCzQLX3O*~rSG88q9STrIu@7Ykx+ zKpQlU+;P2ufRRvPD^2^pXObEkl?;?9IsRI7g5hCR?a9iaX0f-4p0mm>oVlmgzz-oj zOd3*jes`AiY6lElkV03KEN`kyh( z`0~>*a83A&F&>`vv36pz`u?pI#)?kvbePfS4&4CI&}$x}fh)x&JMFZa02lQ7O_J|5 z82!ssJ3o117$*0%){+2=Vh}JZ_wKH?;m_qv&uy&*#?dNUkcy6iH0M7+H@bFXH6Mc!Tl zWxR8fVIN({?#a>+yDa5~Ubj*u`xJYiHu1&=)y-x1BWP^Ro-b#AXOGG|3qVRL^4-}i zt6_5MxFG5}cF7R1tXRu>DX~)@*z~MfFa{@XcPJpx491?5F=}KzQ?vzvB-G{H%6-?p zv*`rv4yP#wiA~A+B!)7&q6M!nKRAHTeBdCF>;XKoPhsyHtVN|u2A-xf`suaaNRQv4 zx-`jg&*jaSNdSrn-Mo|1HuH+;v3{27Lwxh@w$a@-zT(_LK;PWOEPd!Qc4n{{W;l?|qRO;H=L>Rtqd2vTKrm7~3jB>4+ zHvl!P8Fa_3*T81rTqC^&$fifCx|>zcV-~qNfDX8ICrVr65q;$aLLmF{!{228z4d#t zPWWWli3bulPY0tn&)s^HLdot=kaKm7-BJ)R#tegJ1lVOD$v%A%cR7!>J?)q@f0e%hVjm+%gchg_q3=KNu&gZo07Eu*}IDR$$ z(w$x&vKbhNio5RhRtjLujQdaxRe~g=YHQhy-??3T0HN~4><<>+&GUeMVyu%U{whhI zvU~c{|4ee&1xBOs*_6DHmOv@9uCv6+aQM}u&tzCj9?Zth!d+*87tTdZ-u_5qQ%ZTK z+}pV614z>#f~SzhmzKjckvGhl=oTpjR>U2Y`_qrnRor4y=JiBFU{h}7H&D&4a{L6m0${aaYXnjm zL2*Fc7p#^JA%p& zFH+OhjZ!r6Sqz-L1?He1P%rxOoKw(s2-a{L`qqy&N1nLLX_(B_2pXY}?Abun>DsCf zZ_EUU>xH=l3GkUUZsHN4m9eI=gnmbfm@!QU>^p;Q#JMQs4}W^X%21u0J`NL$B_I3= zhkz`!TaVIQd~O34#Q=iw>2%Vhux&gX)rJ6xl=G`_W9&q*q_kJVJZ;*Z+o8YSDfz55 zWuIY+Im^+reK}k5qK8@b$C{#2QaVxI)mXh3<1nfytfP)7m*J$ErI_6AJJkl>!MPR{ zmQTX#hg%EAm2i@C4-q22E5xw96V6)xDwPG<@pt;WzerAqAY8Zxzt<}ja-Y+W%lc9^ zw=xLhfW{SI(v8f|^gESJQqc+9KHhpG{_04g018I?hu;boeLh=*A$IJJBti>cUKpuT zE#BK`zl*hw3Q&CW!ppwztq5@_GGE>g)50Z+U%&ZNEGm9Vy)=Cla8rpM<#oJ1=`^}x zKQdYuR1pPz^N95{d%498On&DuU*C|61;c`Bt}-Ss7DSGve8+t;!0 zEvGtO@)JnHSSY4c%6nCq*sJ)f?^d~57!O8?2b)8?1e2c6NM`~4S>(1OotV>eCE=94 zS<|bmqiWX{bC+}gv*dM1W6vt)mU@Du=Q{*h_3f@{q5av#+rO~PSf>{Z>K8#p;Rt<@ z$Wr;hsM>3f1jg;o<|2dPnk*+TamM99L~uAk4RB&K8xkU~iLt0?>_rWH+p z0i>Ii@*46QhSxH^JhaSg*TX3oVcRjV*qT3SB{I1>{YV=Yh5)p@PV zOqO$!V{LQxw(jobQa;yq^qtKvnFH?1rabgkFl?|kki=MN5iC>jXSM+`)AtATT7Ljo zl8Zw(rpFz;xYA1)0Bs#|q`9zlZIbG`vx_9L)#l2q4Pp+b-4ZkKb>^cYqDw0QE;!Ma zvwsZ)DG#>Pq%)#P!s+cFqG`nx9Iqxm8t}|WI5%Tm5|pZOZj$?;ojYJy@Lrwg;Nu5e zhWN~F)}%^+wsFdRI}e`3sz1~A`yB(TG4>ONH=Ee+cz$i`A*Fa&HfAkIB%AycG~S6X z&icpv+$m&Bzo>1#Xd5OSMWAq}Gv33eD@0ws$?6#tDMTa~Y40 z;pbC{+Zo>4`ESgpdh|@HzH7J!pzJ;l3yuK{!7W1n=r`#fi&t)*M6gBp^z+`kW^%%l z;JYzW7fhxXyyx*Dzi#)mkL1P23JZ^)UId$UP{v=f9vCzU>0j!UHTp^j+)(WpnR78{uUS)}jju zd8WEI7bA(}IlH<^!Tn7TFuSOCJAtj1K`NJG08!lYaQ()83THm7AaJ+XXS_hGH^^AJ zSkk70wDHc#tcxkWU*4#fB<;-E7{}OjtH;>hN4FBrJH#Zs$Q2n$*GzeCYYX68)3wxU z*K|$Nd-N`H=%{CKnAL@@WNp(*TAg8uip*CgB`izlExV+uEIYIO>KVQU#r4CK26neP zCEq!NuZ+H>n|tfm?0mUY?_=2;$I;e-2k?)`18={?1m=_dynmpU;VkA`9Jwb6`b5gK zvMGav<`)){V2Asvgu>eA6#AqyueLoue+yEx)iCv3-ZecLXA*wLN;letbG{TM`GS;e z+G`Fl-YSQRI!E<&nC*$tUEy~{A~Hs~+LQZH{n5AjVFKQ$?LuFq(ot{~-d$_^Tzeht z>%!Uk;Uvor zx8ek&YUok5f~}$vyMnxqSDJP<8yC$PVqWNe5xEN3H!t}LLPtufZzw-iT7JosNt?K> zg{OAX&}}ky5HMRT0Nz=vPh2Swl|hxlQ!v9`%jh{lJ_M8fm?ji^$7|ID>mjGiOaf}h zYi~04v~x!WL2`{(XmzUI78jPW)13XJzbd?B@N@YqxSdm%lrFGn*duQMl;3X`w=f`9%v6Sy|6M`{y& z0#W5J6gg{WioiD>WPdgj^P*SBko9tC-avtkA$VOkdb13S^>hw59_2`8Xn zygI6;zfSp_=XrN1#m3Zti@A_b^EqA(yBI?cN#kQ__M%0DfHF(Sc`@>AH|@%?>k7KF zn}RV$aR*fRNaI{|(tcv>Zapz(qjK02j+9;g8ATTbe&ko8=Trh*>o#BK>KTb--$P0i zy}cMH7CXU*>D2iI5PJoNHQbnt%{D;AsUnIn*_qKR22}6!FF)xTI!=<>O$l7i?o}*J z*-i3U3T6P$hM!+A6K$mnW@6B_CM{;yxoB>r-TTeFq7}*$<>e0G zF_PJ`VGK;I2{Wwk6S~KK2w1e{7-=mGwst=;mT29vv2qkFiww@P*s&G9-SxOcY+q|t zRo7>y(@4w_621MUsnAQ0zeln#z!i$BvLQ!vj>|iP zSz#sCm@Z}=ZhOUY;NWq@S8FG3)y2HMCjOx%ytUoPx)~H&;t?Hi^aD|0Y8a6Ma{v3} z!!`;kw$@!G;#MRelkEDMy{ZOsRN$%fX1sL9|DNH+`u6v9gMvL8ftU8FfKkf*yIik0| zUzr`QKKQ;Y{N*>>ohz(Eg6t;>U3|4CY>P7hc>*PIr6Hh{{(lIlJSd-No8NMQYn zerc5aHXV9PC14q#DI~}vNKXU?N*dnC4>Sh+5EgL{1&FyvCtu!42{?bYYB>_YOUJUA z@R>z?eE5uWW+izT0o5>i>l#BAQSfo5Ah%|>oU&LF+5 z7a-26aAxlZ_~t^WSerjl;XPS7km7#k5Hg}iI&LSUb~Dk&T6{j5eFB6@#7A5s%U_MW zJQYT%P@3Yasb?*MV=BVqUG-t(@;?%Z{`3O)=if}x7dbOzzgOxmOuGlcT^O6@AlM@*t>YdPFt6~*gUM*|9;tN5R)^BDh6Z_=)gb{dg+!nZ7qXArWPIN z(}6g>XB{|qpuw03{pbuPUgmD~F&e>oz*i+60$9Cy2u+IsoO9s*T6a)pKmOf|DFNp+ za|s*mS0_yJTHFVCu)<67k?1xy-_BCkO)b|q#e|B?90T#-D*s{WeAqy6;M)R;!{bk$ zuqq5f#>N%_r@BFO;ao5y0uFPdKhG>gau2dLgMd9|wNSm4lU>jz(fdZ733$2T^bgG# z`i4sT@|$)5;@_L8m+REdPL34@s~GYKwK4{6(AZS+Jzs!ab^ji3Be7b};WN|yw)l%0 zN`8~4|HA!5@V2`rRl2qP6k^b|`8R1-b$_r|t4*BFX;yv^G6HE48^lSC_qFMPpSO@8 ztDVq}7;Twfk4kC1VeR`}NDC?;SZ%J;m@}_ket@DAOI$^PpInhhPr|{9TCVQEdqjJDykwoEco$JcA^MJ;VEz{98uzJFFO*`{5`dt+wHJTE69rBbAJeDzke6bzc*^d(Ccenl z=@AWfQLsqgjL0AvcKf2*_5#WGxUxgOD_RRv6L?tBu5tK+(<3b;gst*kb9yNG=`=mS zoA3DoRFpf$wQ&Hz$5d>zO1oU1S81-?j+q9q#?d7%d%GdSqM&t&9GmJn1x#Wnbrs72 zzi>84@BCMlZFdB1xe{c(Y9Ul1Qo}Bwm5I=n2uE85Y{lO0mgBegemQdm6cL=yUG5vZ zd^o%caNOOVYmgT%I(Uend)pwG;@+hyMtW_f#zUmy@4vSulqhaYUzSNP!Q2cvMl1a3 zcIU4s4%M6One6d0YI|(sX}5KB*WFC296m=@#V4gB*EgR9 zKTu``pUdpY<;e53ub3LX=^42Ou1s~NeEygUF8}(_*WF$QOHW8A4~qjNSojVAqvj*H z<=6!?#IZoIk_G?W|=Cu=4SWEIfg4~08PI9%cb@YryR!4{!J-XyR zJVF`ttN1Vsi5N3L?oVi(7!2Py2+_27T!AV0JkSLKQhaF;q?muPjsHm1FGB*MB1CBg zGS()J9YIU4e>=qKQ3hZ`nA-;2XL2a*AU=2JJPCPzTD|Es-H?6a2|fQ5eNXWXO&pTC zkVzS>w_aa1irf%U(%u6#_TV);rt_%;0}{8FjXJP<)ZNRl`T|Das@@&jcBwVtm=F_) z`;7b8W*-hQjjGK%D&ytHMCiZxSMo(blFTf4FEVp6cZNtje8m%KuM>VuW*bnadcq}_ z6gj6fPyl{@W2`>77(y%eSz1Y93Qm5K_FtJMJI#RhEQW^2|5F;xXt;Sz2!Ht}!1+!p zoz^Z|buig_2EP2Q-{dX%u2*?YYMt_AW6)M#hFgOB_7=E*0{~iXakggroyBR_s5!@I z2ck{>Q!;%NfoYDp-#Mz)RyqDRCN&^JTUOPhhMo+a~yqHc0ko*rG zBHZD6SrV3?9`l=N@&WrUE&xo}*|m+JG|S8KSRrIl^IYV*pwK-#%2e)hQ5Cuw*L$Z+zbPrP>%CD= za+28^XrHS)&hDOd$DV(BTXQGn`tcl2)zNS@`CWLo#)Vi;g#D!hJMGG?b-+d+Tx?`= z2G)s~&5TOsK9WQ^v@ZwP0Gc{j?1WpMtB}cu)@L&s_^OF}We)??AW;~F5=fHcu z?Lg`AI#AXRxcW@quXnBSyMG(CmVO#`Bl@o>)xTYo4OWV$<8Pe8v5>440>SGUMo88;pj(IA#*B zQcDxe6PYuQcy$P_PQJ9yWCw?Ex5o%6We@*|al zq9Yy_oT*(a1_-`6AK=Fs`+5NWCPq5)RF>DV_$A6m-UzCplT$k`3YRhXAEIy~^i4TO zgCpp|BRZG?x>oXi+a_!xL2R%Nz zk9hvb(aJ#bJ&xtmuMz09q2vqxf;%?NPG4&l>Zn@yKisfotV>uPvI4OB{YW zj5dw^&g1^%6e|~LFe)kMaqKrXkExfNH#A&?ATH4BaYG)gK)LDF{CpX2db?XU05!@} zkU`l?ft@N69>>~OX83bZT+|tYav+jQh}v=x&_%rML`9{O;rr>2%+*SGT#0`{Q)(iz z-t$q_?UO}0)W<)1^qlJo?GxcxyiKv7FP7wX(O0mLu&!*{^5=hv$=P9-23_;g?!C1P zt*cNX`P4!+QNnAjjMMPCocJF#>BbQR*LiphFnES)cBL{9CCKgZO66`1Xi-dX;blJM z4)PVRs{EMuU#fm_U&xl}bKuD-eU<3?ktT=UEAO;=(cP|%lud;y#zG-Skbm8qTE3bm zU)iU<^t!?J{5<$0H~f!@>Zhti-kus2--$^-%4xrHqsDjVIZ-BL?DAKA2P9Z9XA%?) zjzbdRAZ(aM)=H5m`Z+{jk*Lz1Nu}u12g5J1g^e}MNIv3G2dHE8v0Ftm${i1Wp44+S zpY(DdVtPi*_|#6mG-boyI9^8`B67Qi;hv(8H0nL}Zd2buQr%<1XTa4Bz3X31cGozJ zit}}j^qbjyHJKeZL-g=%I;YmcvD>N_eG=!4@0Frx&U*dh9UUZ^xD4jdDP1VHRLeLx z2SuY(Ce2gRb508eZP46LAvaku7LE~zQVhCp8=g`ddnNDQ;!b1u-a4uG~ zUe8ECFjxp#o%b)iX3lWxb}EVKL=FJDp>d?Tj>k+<>MwnCqzYu;zj5xz>l2R`Fqo>|@LK$KlWO%Z)szs`9Aov)g= z>EknGAilTcv}Ey_#>lg7(O`}@NJ@q9?QG4E(`LJGaSjJ?y zC%Bk%SA>qByh7Ko$lclR47$vQM@&x?4oQMovKqJU3i%C4F{Q%O)H(B6E5^D}W*&D!4<|+1N z79+I`G(KtZI{^1lazpA+Dk7_gA==YkrSylBu(QhIP3gKIrG)Z&`YbRkjqx_tqxX@FyX%#!SG|BlcmTFzfH4{S0 zOrdaK8~j+a;EI7mz>8+^pVS|9P7QhjD^C3Qj(YdcJjCmQaqe{bd>n0aDidQc>4>fq18c^o=Q7}l-s9W0RDLpTakGUtv739jb686 z?>!L;mvjI8(OZzzA+l5gSym}$kP&r7H##3YAe(#&%HAQPoLO^r^o62sY*;__QVOA{PnKPT=3Z?Rwko+K*3 zmHJ9Mm$)eOxNF~5=t0{$o(8VOV;ogWaA*Dk&e(NIX1}Q-?`BiXqZpn7(N6Od$tE5z zZ$1)6n0c3+C8!%lTF06DVw5h3Kr6Bppf$D0|X2q9fqk<=iUtdAUd@@&>T zJO>U(zEuH7e!HY2VVhmanGG06SnXt1j9nepLK(sVZ#*`#DzqleQOr<_Qx5+GyikL%k8f>po^H{`dBJ$2q%tRv>!f0r#d~7>gwii0 zBZdba7NkU5^*-X6(O^CXmvPSoAJmROf_VOH2Qjkpi~n(DJs@}iHBkN{88enYAVJ{W zEr@lR+WV@B(1qs43GAb5*&BRG@t1)7R!qoE5+s|C@c3sF zeM5U3#dFnb8L~IEgoXxM7+a4Y6k@@=odYi4766iw=|>+RzT_?+j!zIjkTv5258M>Y zSCw2E#$B^7dAeq~_i>?wA8|4I<4g&2bQ@7nh=;DbHas6+6l$QlcNic{Y~a=oHSc70dMWlS#vC|IscODEJKdE4lMm+ zmn`olC}(Lzn!}$HXPH_@#1GuH8(AE09BQEE5lzO)Q^b4ZHJPoidok9HA~`Kf?efxw z0WOU;3#N34G(CsQ{c-g9^uzzENv>T-sQfECx0Zq2qqF6K_HGi>6Vm6zqiPM)Pz-ii zE3kz4Ao2ilz2YS|#iaM9LKSZ%=CTY5Zgemcm;crz0?s3nLl(z}BYS!_69(pe4T42p zKpJQKt%U#yaEL4luC&D8tFc`PGrVYc-~bsH0g%FcotQ@jNpbpOR}4y7k3>8h5U)oK zI1zyk1CDz)Y#T}nQXd6tn{Q_0>#7SE$Q6a}ZRYO1gC_>Nt5=J1V@wTr4}z%B9n>L6 z5LRk%HyUrwdUsyDVg>j%oR1Z8L%8T+t=h6IUII#VTtigWAv|_YS&Z>b!UD;!h)ryl zt0qBT8e=q$Hnq8OV+EU@s6oaj!P|T zK=$~&JS~!0+an54Mw?tc$+&5AhRPF!BV3{F{Ru>*=Q(6C!%oND=CW>yM$72owsKkP4gEL@Wli=*@SyS;6eoXNL z$9goK%cnW$B=!GQ;eh;XxVKx*o|)-t6>Gx3)JYqFlJ+{BfN*(XFo;&dd!cNge!=m- z`RzGw@xE8ExTW>vx3Qp&(dp25&}G}90P!FynF*FPlAPJ^Dddf`IFp-C2HAGQtJR+v z0Y=);*Yh6@evjMV_-63PJEH_=>#sjQU(8wr`@zsofB!t9k_JJ_DiW9DhgyK=2!IV( z5Xr7pJ!JsEWx#WGPXbV{Zi1z*Z`pm$^lGUcIlM&xYVzw`78xFyq8iX0Qo>KT{U%%H zl!S&fQo<4}DTJ%fJ~Q7+7Ucwg5)irv`tvBO<_;rrNI^ziv*o=k8om^)6u#lOy5 z)bIiw{>7q65w`FVeiR~T`H5%_kZ5=L&H&VDq0W|Yfr7J3b=p`Q5kg$vVCWKiK&o1S z2>tY8FO*~6SI2aPICa1?;vamMS#^HB#>rfWY*^Rup_Uu)%AI)_CnD=(L@jW1=5L1% zjyW+^b}WjLq0!q^2M*vr0@G4)%D1-pD%iNFBvc3&hCC5W_YL2t%~F(5a=J^7jrL9{ zkN`U3$AB}H~mUO zQhWOj>jC^{tiX22t`mU)W)x|Fn4b{aNu^CgiFX^}dFNXvbV^g~Q7PPdHj@gOsfel( zry5mLLW_R}(m``SUOu~zteqLk`s^R<|0+xNRHtQ%3b`6X%#DnKZ);U z)xQ!&G9T820#b-HB*7(bO@xIP2bNZ(47ZQ5Xz=3I4>v4P_fkDWNRH9d9&Jl%y|SU6 zflbZR1Eym>jZrcaJBJThaS1rM%8#zoXKiJK5;Tq9x5NuMe!cUr0Yx&h2M@Wa=<1C( z^VS$m_=^yseSYGJBDUaXzya41&hYm~LBy(5fz~3mFj8$=T zL7Y|Q$5ei<;~xjo;%4%K9gN~*sQQ;e!G=p#TjJc-Yly%LUL;VA19F#3(g3YKJ%k@G zo6=C>4dW=U0OXG-DnTe-N-!E;;(ekH))u7zM!URz#W>`>p!I5Ke0DB%V>kodwmH2y zB1)B~J2LgoZjCdg4Y;bB+@l|h@jLZJ4WwvLDX9!`Ts$t{D;*LFG9`5t^G0;uQAFpJ z9+3-CLG)|2Txk@OgR>1NHrHdd49;s@4}g6g+2EGLe#VzG`mtDxR&9xnB6F(!GzRu2Dro_{;>N)tM2e04T^fg^ z9+`pA(-A|%1*^|%r%T^>tXH4MXTMRi_!vs;dye!xa-8er`Vhm;uk-`-CcOO}>67_(2G&()@Hc=Uq*eOwBb(!n{I%M`T1KQmq;;-t`*qlJ zJ9(j53+qg=sbCjQ3X4ioVDaZ<*!m%XWnf>45V(T2CG4VbYLlK=p7AVsJ-h5HN@RQg)7Q~FfEDcb={b3MnLdxw32XJl? z;;0HSKb8P)d&|lk%X6~4fVdGhnd=5?!-+8X(X#Hu`E-7Kd1s=~ztI#nLFsrEn_jMEz5{eY!B?mvUz^ zhhOV%VQ-yd7n;qEyBtPq1&QV}bLIl{pasPIATQoH;vx5pp|4ah6NAkuDG#T>y1foD z5J7Y`Q8!o$wEF2=`8m1OzDW0Fo>|6sRm8*nM(qbNEaB4uqnfPxXQ7C`gMbE?3%XYWq}^Fj zJ^J}!g@x=Z5-`ucAV>3S2dSbTfE;y|zDo;)n;5k5dCw~TJ&P( z)Nn-!gdczTk9{Fu=MsPS#T(uV_Ts3AtT{Hybo z^Lou0_GGf9b;a-@P~hRneR=dzqNzs$d0{q84leYTPph&JD-`yH3Il0RjjE|ZI2T1} z`x=SO!EFSswER`!9521O^_R>YNG*HONofD06a>&%BRT=u63g2~yVmX%;9#i2BYId% zNCqGZU-tc7L@#Y|JqWBHKF8d77}BdUAe5_H2S|=U#zbw@_-Qj9$m0ETUSt8N&d@0+ zt;78>T!i!4(ccM-pN>=7`Yu*u2hI79`0@it5AWwAf{sTBI_?Ea%a6!rkE#3crA>|nf9&e+%*W6KLZX% zl%U1~9&xQ`1}`291&)POK@+j?7g!Ml zdk;~;3n}&9>>!uY;%9AJdgErPYc+Gae&{?Tq97#s}cqI&ZCn(f@MBE%m0U&`& zbj8>y6%0cV#U0?+v#<~EQG!q|B+1mUq^H|^8q@UXhOJQm>b##dEpoMFKOtbbw0EaF zAW%lIfG(rG_4)ZPtHXN#GBqwxjF7s2dHU?H?ROLoS0Qi1$^Q80zH(_m)RAOTL*CO; z6aiZ~eB(TXYQw%vrWZ!R3pn%qv*0<9BMyCPh7%x8$?*g@ncW7C>b%P&VmGQ|?f&@1 zJQQz`H<+lFZb#KEokC9IMyyeeGJe4r@xZ0g;)f~D*&wo1fh>SwwIh9EX$81JFw5}} z7zriK<8|?U3zYPaA$bn9E#&|H+e$^Iqdr20dhN(u20SeMPbv>A*w#%Uy2+#%{qEC1 zB|f|fR~%iq_(4dhZIp#>YZ7Cw+;C-9%`Yj}`xHnN>HO%f`s zg|(P&QVl#@>6mn9S^eMqMnzKm@F?UrzWhJAUI^87M{7d+P-r{p``+GXw(p(o5rxu< zH1pROL7445)KZN_j){jH6Y!Y!k0}brG~YV=VC6rLc>#{ef{8AB0>@O?p2Ytjc=a&J zo~`w)?ejy&B|CDeul*BV`@nN=B_&^D|Kv5Y^&wI`=_N^m(PHHf?@Me+Y1 z*1j^Ts_p$+5Jf-%K}A7AC8R|JX)q8$LL>$0E@=)OA}S!Dbc0gT-6bW`NF6!_qz>Kn zK3ngv{`Y=-zubF=V_f&yYp?aheCC{saSthMAr_A)9!RR6g%s;Ek&==5uq23UqIu^Z zpNWe=M?7%feb6~70Uj@{D+s6ss6X8CNVtHOK?3kd+hV(ofmQ)G#FuXR70Evj{%ddk z)Wotx5q^k(|IH9-xE9V{`LqF%I(W1p_tHBHhD*tP{6GbYxpw1sC=wBeHiO0cMnV`z zTkD(jA-J?$$L%12@Z?``FtUdzIaRv>DEk7p-k>7EG8{=vG*1a3^iHqnyjLJbHM&0} zgTm+#a_Z3XNtPAptSGZbf}$+p4e$H?JzYO5Sh3|)Rh>FVEi{}gCHJ3Dn^l@zx$Y04 zR!vL)#$i5*F9}jq5?>zq9qr=<-~laDEti?EVf?YY*Z9v2ylz`}-xf3yL4y$pnC8OR4f!+HK6ec2^=a58tW=F;y=ku|U#6Yb{ z>*5K&Qe*(RkiBs05BBMXgXC~f(`oZ(0Z8J;CSiQOHYTzD7t!zSlLQk4HFBkIYG?lT zKn>)9n^Li%$OF0m{=nw1wRa(8`#F8Z!tLim-%R;alTdp=O~Tw}`r1uVTUHYO4(;FN z2mH`rq`um9Cf5=D+xe(~I-!w2te}Ag!l{8#F&Ei59g6J6^W;Xlo?w8u_??lGh!*b5wZoV)6_Z2(|^$WfUob) z-&kyBM)DS_&Ga0C16+n(U;le&A}uI_c3SOmeM|dW!DkP(w7(L@Fp2}&t^t4FuD1(T zq&WA>zKy{RYQTF7k^9#(fjX+ST*chx554zvobMzA0tQ05y*~$w5w>PnSEePI=rCp2 zg+mDYf6}%q{Wc)zl+_16*r1g8`4Ax0{~OTt3@2jsxl{O#76G5S?F3Q*9Q+-s1Q(iSnaBYmeCB3GYRJ4Z3JuVu8%Kgje-7_sPqgZ zO1yvAu+9Co3$3Q%Gs+;8S;{OPZMNrogG|*ruX-TtJkWc|x`Z?5N7nVX!?hj-K|`syG&p`|E8oQyt^Ve?_i4^ak`WU@QDQ6TWgPmKDC6#w8)wZwaWZj!{`3qV9 zi4;)wK3jdi(ILT-_8>mtHGloc!Bu40|CKTU+_6M`8hN`){Oc;jshBAfMU^mjqS~13 z@Bs&XZYp8c`8iYoFYgZuw449q_}XsGZ$oxJ1&7EfQyUJ05E`oFs5-G9!qCM|HMNi0yzN# z!M);Q<2G zyQ6SG9!@o+7pC^gZjOE1-r(lxQ&5g-3I91`WC#fI02d+(Msqgb=F9~IWByp-mHDSc z?+ktmP}A*BJEFIMgqhJAy;VBK`?iC$Kc&#rEf~EH)#L`*U~=kx8@3fqhvHM4g=_cuCiNhFn{~ zJH8WRXh-=GtRdJka4g63V_|#FXKRj@pi80O%t@IHC0sJ4_dIA|D2ef2k zp4qD{W*gq}$9dQo@m#5j*^8Io3K?Y--x!|ze%Jv#d5<$t&JA2A&T-YZa|)@0yW?LT z?#;y+B9A+`{xrd6yB#DqNT^5{iT1MKEl4%EK!AoCr!I{p^WEHf)o~fn9xWPF#98ZSEP2fQoUZ z921>amUi-o0@DK<&~0TJ11;lFoUGgVo_9Q?`zk<@@VvdDANfg<^tT*045RpLjW->D z@gAu=L-fp&!Ma}ZcY5G~-S0ca%+eMNza-iI3g8WoVRVU7p}mqqgRIa69EH?2D7=E4 z01XpC)rvPpZ(TszF}mx}06uKjWy~b`pkiQq&Z_es?tp?4t zSPhW$x3yxvNOK?^2vETCV?O>sPX3*HMU5+BcO0^v(8^@(~&QWtn z`uEWL!`GF=ZNNCqd?Nf-JDU9q&rC=+mc@D@`wPY)u(;URzR=d{%fUzbH+XIW$E)C5 zHjB)S;ije_`QcRee|n;a8kETM@~BaVl%=xtBk#X@Te$W<4sJS@zL&5OwttY9r;`c5 zYHpUn1oECRvL0^Ba{qcA`Jgbw{`UtRAcqf{xyszqjeJnrfBvAm=Syl^H(Js%%jVPI z3@=aLAa%jI+1HR90d%G#} zHrgaG_l-5x*U=G@C|*P+4*xrUJnOj*-E9oDi9Rx5fhuF-JC6MFG`Ue|$BJ6m_89)c%7>vkDgwdtX}>NF%yvt& ze?F-38cU;3As_S$w6aknSRQ4_;$Hpl#YN;5ZI;YKa>(M|yomazJv$?#nHJ&KQ;?pK z=TmuH_43mvWNB9dz5;R9Y)$v#kfoVcp?0`isNH)}m=b^MWx0T??j2Z3!$%vx3?U>@ zF1cPJ`WIG{bLTuf)!QPZh!Ym{1q|4*$^ZVMPG^1*tb}lFg4Ww?Uj9Eo#e7;iC~qBG ztl)eOE?kGK0w5l;<`sa6FNN^m`X&Ppblp3Z4nd6=GE~t+Jjhv$pX8#HNor&0?`=vQ3sK=OWVm(j8BI=5#E2Z_ET(+92-I4MGYkR#LnYvFNAC4WH!8P|js$KAj44`yk?p{-V z(vEX;B!+Y4Tlcl$)n>}eNPiPw37=!AC2oM=-q)d$sQ!||!zrg$3O$YV?BYiODK0># zT1rsLNfm`~pn{_u*a+d|=VM4Bo$#>+EfEYBe4p{^@0Swj42fyNLGIdM&aSY^`7FB6 z(riDY($o|y=rs5jSKeD6UgG$r7?p$W3OV(*KrLnd7h28hoi=aWBPjn2TEY~bJI6;I zo#?&*D@?m3!l*bgefVplnyE{{ZJ zj^Y+{PG{j$5{j0{VL|7aLfHt2w#X->$qg>QRaA+yacW26wpPyKI`L+uYv6-q8Vm|SCi!l4Hm?kK0bBTmHRYOgltzPXKek{=Y z-)Ms#0v2%x%HCpENew-OLgNC4|niNtOuV3U; zZE00B)IO)@@>7S?sk>FEP0Iro_D^aQfdFUJ$N??o)0>c|38vZJo3VRPwk?jP;elQ| zdkJ`vsnMD0R(TN%c{Y`OuuI9Xyex1hqn-^O3tYdN`8oRPo+V1X<~ zKNs1lE^?twF;u9U|=p8E`HoFiR*=H_4yop1emVT>ut zRhJ~CF(9N*KKAFEzggT#i`M&%`*#TK^W?U}%+M%6VC@~k1h^VsJ%`+lw1T!DNLR^v-qeVY0; ze{-SC?fgT&Q3_w|a83QjnXjiNqzON8o%-hlW`po#3z8dUH11rAjZ z1{=)Wk(p!s3s}sSX&J>J0xWZ6zw{j}m9Nk>SA9XNCe(H7AsESNcDn;|sC+9=A?0se zJ)k0~G*EooFRvgiBo-6{cJ4vXwJ+hwmuhF6W?Kk(KJoJ>kW7t`bEanVLo_$L1z$bL z7OB3BQetM(E;MA8tRL+!N4=Is=Imp~N84M#{pHhe-AvagGzT3hXefpTf$3^;yc>6H z=#L7W0{|6rz&0D+~vJ7sA+O2{=ggv-7X3XTk8DEbqt%T=?gzr1v*_s!>wY{(BPAe zOGLFesXfh`CbgQPEz>X^AbeEfvNQ3PjedEkID4sLy`AliI&`e_-{K2jv-^m`WFhyl zie_7+1Y$JjcKQ(oRPw_zh;A@%P&OdC+=-;1PQ$V4Sm33kc5p#kESc5d*Tw>YOyJ>dURRV+pZdSfj zWG#1X*n80Xs7e~*#|{)DsyUoUla3{fv~P1{8B91HMU5kRzJ7ExvaRXI;MmdkGD;-G z3ZXR(87BBGY8>x{F%rcy=O;|AA!ZD0(tbWoh*nC~aW0AC+h-r60N$C)`*SjG^Lu^9 z&!^9-oS*qFt-W`@B1Ko9))J*}c!kFaDWwgDo6kZD{WLp~4;`WOy^^U3Og$}}tR*-X zMI)y!KYf8Md?z0_ZAN(I>&fJ9Ej=U1ONbDi--T?uETbuifnQc`Q+J@5Ir}Q(uxtnw z-JDIPVqt1zE8;aEedq$#Vq4{7hwb3kbo8>Rj#Qeb<~JQ)+ncVel;&mu@7}KjDJ2x+ zTuD3MLO;|On4@DDvzN~E_v$7dnIV+(daV*YUiAdpF<=oczLp`mlX}~qY5DBsTVFX4 z{n`>d$>KPhn@$TDhAX1=VtX#i3>4F3ehHU!&tH9l*A3dlVJgR8*U&Jkw{$C;uIt}qaWZd$gsxI#fMXD_$wfjwv{Yp-iZX`Zc|4plANDJSp7k}F2ohn5uE1=t0e~z37y<7;ZmRM%;!)T_V7fwrs z(juR6Mm3Js!XAU3=z!AVD;C>FhI>sQb9#w*MqF3YVtft_$ZToiXO)~qo6cCxz?{8h zaL`E;uP3b_F#(CxOS3#BGq7~AOPQ9pq|aXc9QZo#fuy{*AqZS@!MQH2<&L+%yq*DQ zRxxApbYdwt(8@Y~FSpY1yIl8|3=jp|{@#h9^QN+_nB}kBMyer& zHf8j4AdioGX!1^XLJo z$UIBD{yew(^F0l`cmACDS2K(z}E2CU;$^Me( zvRqA*(B7{b6wop~AxxVq7$b6B@qD@U+KXR8GVP~b$?X6tM-Wb#!sJf>J|>ZzW6*K=i9FERPDDKf-4Tan4YSn{|@ z9Rxt0*biK=tPEF`rkC)6J+VN37J(8!AoKBq2u_{3GX<;|HXYLp=3IGMgCHsH)KXd3 z^{BCaFa%m8?D>Vy(%=tqZs)qorb`Q=uO-t_(rE>4O0H@Jx&J3y6QrB z1a`(fxpW3ItWV2wIHYHjc86hHQfFR)KU`f0ooW(5GS?2%BFxP7-R|ZOqUb`;I=4>W z{IRdqT9s)7?r`{(I33rAQ@_IORTJHL5mbej;c)OnM|FoEdnjTc>^a@xL=CQ5VbJGd z$EK#;^;wi!7#AXsI&T2-C}rJJiBU@19@(s(qAdOS-gKozi&xW8 zwyp8DF$;Z7hqyZI&wine%));bXwk-n&RC#QtKkCopRo9zUitZKV~O5Nl6=X6>cNM3 zPb47{$aWt=$<>NySzmQ20I3Ixpw<}#(G9wdeNz+1B~u7?|B;*-W{@+hwYe<-YUu}U z50MQ7BiZ4l>VTZi10nav2!12}@SeOAwwZ5v%VmluR}&tHkpzNs3YQY|uhYy`r{f$z zF|HP(=6w-nH|$~T${=So`PNyey-3U9+Q;kpCA^{+?LAlN7AM{yGKrDDb^CD@jx&_P z<;MC12sxlT7RU$x(0}yFV4LyphSB-M+G+NNLUW{&xsWGxw4I!)+tXDjdUIiFUE)~1wWD(;GUP6U&aQB5Y?PaUm z4uLCClUhdxb0{4KQF^~99CCd7n0zT-^F293a&JvEl1?%%EbA=Eog+v+?(EsS7VsCa;3rb3_ATN9*UNvsgoh+3Peq>@8 ze{hEz-5PUqLy{CNTQ>hy$6ue+_6J)x^b6C_r^&{6;M8tkV}?CL^MM==XwTEzPYp;6 zO@`IJ_46=M^>|QHI{w)FQBzb$$lp)pw5Y|8DM^4~iQ_q{W8-7jim=gshe{^`Js99vIk|>n_hKm$*K>3%cAzaMCJl zq;hJFb(pz=>XNBel^5kJ9DhXj<4&k6nYXbesh&{)nVws8qMqOooVn_9CjKA>8M_uD zg1~tWJj}`0{IdLwV`#?SkxOGhQX$xC55KdcKGy1Fy~BBJ?(%l&_8!yv{7RS{0fuvHcSYp zbHAKuYUoM)k|pYj&J<7XG-CTla_v`+WM;Cn8;B8y?}Z`uJE0n`yOD>VnMPkz`!EkT zT{q~Il%y(zuBC1Pir-}lY36)VRPp@)gCWpZNk>tRHvxst$_nSN@3O?>;?1p9i-Ynh zj(lozC+eYqL5yvv8Q6j%1&W@5vZgMH$(&|8vieC6Qk4?`V+gIz>0`#G4v&y?_ow9V zV*^oq_Is1w@JCHekI;IjvYYTV8ZUrf$r#!dy51qnMoI%Pi!-d#`&AH^W&O&QYcqav?JRo{ z@EClSgtIe2g~VX*^5|l)^v?zB>d_DiOLvJJPQB&}Yak*&OcZo9$0NwG% zDSmeR0uldRyiXgE}_IX?Fz2q^93a1YxL;PWyKs-8wn#^ai zhLp(bK=vm%nA$~4*DVypWcfbsvJu8WgR~gvO4{bB3;sVMYK-c;FnwXn^<>_MipV0Gy((hdJuHYP#;lGn(| z^AB_Tl*@7Z_dQ3%W8*7~0okbTRvV1jn1C!`k< zrGA4oNB%+c>a|g+aw%msA(9lF`tK?2$32R`b)}5Gr{@R+>d1Ux5mHY9R3H5zm04S8 z@3Of`WXj6K zn;Nw8;4Pu8Ml3K|`q`=vtdz*h_w+{LMP{>-Ug-F7m36}IIRfI{AoTmof$qi+-kiLsAd==}%gIVEa zM}4q)$OX8wOHEZJeO_kJQg3jI?oD6qN#~;C6WLy3-sP(9jR`RlU!zLO-{)EmdtTk- zj;k+7`+DPA2NK{F7-g_Wd97!7Cd>-q0NsJF7sF{t|F5st;N}ZouZrk7IQM9gz5{OE zzf;ECatR`sr&~zO36Ka@FwiKm_{1NB0??t%&3IE+eOTclZ|)_OpToxQ)G%GsSx7mud7|8roFM9jD!`7>XMyoU4X06Xw=oA%#A9V-51`Bv0KAJy|$ z@n#vA?icu~2FGxRJYVHQoi;#Q4g2CL@+ei8Hx?b}?yTOw1V+LevL z0)c_*y-9CmXW~1G^=cq&K__s=9TsM;jvr$U)_7;kchv?QCTylJZM+vMR`|p|{Eqop z3I`5ud-II#B*wJlws9(+J&3G0xcy00zm2E?ED~BS{0?6pdm&M|86`K1YaGuv(;GM3}B9?R;Qo+Spxle}|4R!X$0K``Ee4N40}Rq#q<2 zLl_wsExOP0LITGD-hcgr%9{ z0stj4wkhLhn`iQVlPU154;M^ z=yDPwMpO%tDXXo*RP*2@ErTaoPyFZg^Y5w-(v_sxy)9<{^7`lpLt6#X+^mIQO~gxm z&QXx5i5|;e`dD1x#R9qCN|>8N02!A?G_3((Cc;OnM2#7aNlgH&PNmVX<<^t<-sN7{ZRP4=q}fY+DJsgN0CLz z>iqfSGhej5oa!jJjDw{jZYQPQ^I3Zu{Zn_PjKy0!RNc|Y30zdwM5|V~o~xk1^;Ee= zY)U*hp<@cpTn0guYg{+kTg2>o|A4T_s5`k7pQGlIq~qM!X6e>?-0^VCcOsuxN84`4 zXxFX$xKfFG#+%ZM2E6K=;qFQat_~wP0y1RR(vW0vNK9qDgJ53We&jGX)Espm5%*WUToUESF4gE`&&w*k-7=jJb^yj{OrSdwP- zvFc0jvUR}*Af_oD!RMbm`C9%vnaNWLD`zTLPBErLYp1c0yr(EU39O9acWZk-lx{n9 z)Md;pXfRyPI!Asn;SI_Pjy1H+e{C#jNsZy{+Xw-fu!Rh?4{xR5GANiQ;sP`ZgoVWN zsd_nMC%XQgNJf*9@1GN2`F%N>K->CgXbdB*16SMAr&ci7Dh-;cVZNOfQ&&srBKsxC ztC#(t*3aBZ^_>BhA783)dP*d4gusw(3vq_drSn(NeyU*8V~qFYm3SV&0+Cs6&(i(N;Um`AfR!+)Q36yMqFCjNi z?F>g}-=b{(8g&U=?TSuv|z|ADJdhyv)FJ7u)5+mX?p0NC6hq`b#?b(71xN~Jurr28oD8Jwnv-og_|2gx4c22hz3uAw{8EsIjW~#HF5Y=LBm=S zG?W&f|12ee&SJY@L4_USX~T~zd0^{^zaW$=u~tczo(Soo4)zEn#uJlSx7aoydAH)}Ga(I%1# z;oY-=SqqVOjGo=CF}o$6%uYe4_+wTsCs5Mjv&Tu?vhJBZwNHvIRu%ezueB(qXiq6< z$!Mg_ql)I2DJLuoTwOw|VO*Bw7#Inr?211Q=;FuF_my_$(mdGRyc4DoUHoW0zhM>F zi@eIM7GhR#NkJUCd(6Q?UM_@;tD%vUK|14#lOpv~$rpz%X^u;Zl^vrzSqkqnm|T1~ zdutVT@>+3!o+mSrD$K$=H-lw7O`WFn`UpayP26Gg#b5bq)z)9cOZNYmhofVg-e%5N zP41+V?t^6cGy1vpeeBV1BYN-s;3%!d)Te+7$`)6U!dtXgDNc;+g@s4U#kbil?@1F* zZ%f>m@ZZyePUx>%dLk}}=g@nOw5mLDIHrVOFaGQ-V*Mm!|LKq$h%rt73Ovj#Ql2eyV^2O)s^*O}x1EP^GYX$q5ECNp;PH!!6YTl&YjPJ& zUU`URuG-l8)N?QeDVu4@N^XvsY$_1bhT{A57?1Qa%f4?8@F|Z}exgj$;uhq5bmer+h;mkNKmPrvfx_oznJzQhs{-{rkh z!S>`yms6EcN^KKduZ)Z0@v?h*uZ}5A)mfgcu?8f!{ax&XW2deUucGgI z6|9dtDx>3)r&a0Z0`rVqEm~;$v(gEjIc@J8jC9_cd!!};J~Ty zD{mpEc&pRl$e-ybn4rB8rr}z;;GQO=TD4udT-sr&FqvwrEU!cF#|YbuoD*hAU4Oa* zvFWSiyWZhdg3AG*+M8(4h#&!C!41~B8vSIE^+HJ{)r=b3?Zm3Hu@RmFkj?%>;?QsO zTF%Sl@?~oIlIAB}zih(`2((I6OxV_@6E$qO{^5@JrNS}*nIp4DvT@Nv^IY^x>Q4q{(PZO$*DJa<8XD8| zH1cN`9+XU#dit2EgT+xpEQw88q*P}3GZuwZ1?}?#$;s()bkTTJ6%NxgHXUClxoe6ckLUE~#7_7B9>1nv)rhAryPW$O=eb zS6Qf6Vblo@moh3EjC2@7g2RKaxD)M4t)|bW%jnI&+G~FYuOk**RbbNphler(4If>g z&30y5^23mhVf`qxMHmlSE1C2@X&1$_tWEcxr zJyN|y_s@XWm0iHy$bAUJmI?+i*8C(Y-RKqcscim1(+^F$s9RwxO?8@G(ynq|G;|8R z@(p5mRVq!wm09>tB&uRT=bGgPM^_>_{koUR)%^ncw(MrH!v2T5T;*ybyf=bG7O!gL zch&!)(#fQL_8r|u7QU#Hera_rF||WpEhaTx$|fno_3m>3c;+K%YF0nJrJ8pwUg%B< zXp7`ZSLI3&Ff+*dhI6xbX_^ow%1NrtTJob%{S_+uJ>*V%oCABK^dz%iRyDrTg2`J8 zhPL0w<*6y@EYoclwyR)}R|M5Uxv^Iba}JOyXI)@0D>xicNDOQbf(iQf8y>LkPL)6n zR6lBsWyFHMof%B;_VvoTvuqK*HSa4&El1X!^5QSV zgcAw%d@<*oyy15U)Pep0Fbi>-@FE+Isgvl*%>71wDFf$1;hQu+FmA+ahRd1;p(|6v zv*l7?+57EGzWSFldGBcJi0_L4==&ZAOWA@s#073DCSecev?N|z)TYxiW7uQn>mCJO z+(rRm4BabX*$I#QtU|V5DOokgBAuH};Nq`@00h!+kLaHdd+m^w-#ybsHVW$SR5n$( z=Bm%=tbiJOEu{>l-0A$a3m6=oPED5Q0XjL@CJD{AmMWN-mz+iVEG>6V1Q32lEHI?Z zp{SKgFqykIi3wdr;XWUEv+=uEiN6FYA13yFF`|nY!TS9FgPL zapm);A7{<$mnptel*Be7FoWTgc^cBO?^mWXeSdD*aMA27rJY4D5t)XwW%q0aPRYGb zg<0spuLc8pVQoV%W_)RAG!WKujrv|o7{0MeIgm+>ig6_b+*a}*D_vQrc0^O6Yde4O zO&`^-*hz9OZ%1JK&{FW*Wgu3jOSeLJZ-DKQZTe#S<#-2>u=?N4x*2yZQ!yQn z05z|mK%n8$d$tK0n*nb_TEcTh(6yi`C1ic&niz~RL_#}X@!aL-l%#OIXyr4D1lF;P z2vD!4L={&2CKJ&h|Nj*1Nh0PSyN_8&>p*R(? zES8I?S7_B~1xp6M*Ppo`1#8^6OHO$mMEUO@K78ALohGEcMkNn>{S-m)lf;V=f8v-4 znQBNsg4COVjdKyWP!*)t0=*|gXYcGXIy(;VVD;qmNkdnX%Yu#t`;--3CD&Vo?*jj~ zgCQyR=FN)ByjF>7aK&8_^qKYQ8Y{QnP^B>pI{@cx#GnQmN|Qb3UyyFVgjW0Gx-7%sJzLf=zT zg-r&*p@uoN`&~X5w3oN2IQf^9bGZtr@xh=e$(oU%8OicO^{~GtT3O5(#yu@&nf2{r zBmB(y&mEr)H`ISSt=SjQCW#L3Ga(`VV{UTQlxZ5ITTCxSOM*s^j-V)C1RHhEkYYuC zpr9=QBSca@R<+|)^#R}1drrxeRb#roN#OHleZ;5ln4HCPcmEd`fc`Eua@Pys&oSZ? zYa`+~bVdrpcf4E3tf_EVHw9h7 zvg!2KZ4e2`EI~if;YZ&DHUGkXs}hwn(V1^3O9sMk9*#4>w#f(BwQOiA z&h4lafppmPv%g_}JGqAoUnZL$KyL7YocF`b*<}Dh$xBQMdTrW52yqc3ddsjMy)s48 z;kRnwYA2j+^OLxQchpvULHM5~?l&d$ z1si;_={1IQ4-q3I==K$|n95=U_d++sN>w%DieB~cQbKjqz@h$@At42f`~D)W{*vCg z&zB-Nog4ueayj2Uv#;)0n0oU-xdDkR@h{d0qRv4clIMS881Lx1Lb}^6S+e2_C<{NP z<;>%>rcl~ffd#MmnH1QtK2}L)*;XnG9*@D#<2LN1*|vJ>z5(;KsE3mI`fWaf>MOK5 z;npQS&oXh$x&$L%TX*Ho9n*mTW)bI%&3Sutt0H=gkna~wIZ*jU5F-57C)kKBGF&6& zq%b6JXHXFK#;!;fhGs*@5m`d^w;tfqLtfQ!+28ULG`MA#g>t{aA|!rWOnF1@$>SS3 zwomn8D!h>P>&88CWswU8vIsLPeRLf#?ov!4)0ycAqR0GfiVZq=QEa6@1Irc&te=I% zB3GOy8#KtHgO%2SB0Ra6wgJ5^0<#f-6+n4TR-MHen@bRW!6N5vb|2Y<|L_X6e&1p2 zbh};qZzbm$sCsb#0!PReHmG5^*G3nv9tdC*-#Q*B-;Q6%Dia#7#wLCEn)u5zFuuL6 z`+-K$SAtUX$9)X2s_)YTI+ffU%_&@x&%CZkK#xW85{ra{hW7P~4_97)q6zO}@~%5` zA8uIwLYaEQQ~9m20p*s1K=iCtyFliJqoL4reEC3<>YmB<0zyuBDB1mvU^hPUF| zW$4P#dBd%7)0Dbz199w*~<@hvb1;@2WJGQVzo$83m?8Sgj6 z9W-V7D&YlhTpW&wGuV5iwRh>K`V0^-(F`&VB(5cHM7Z!h+lzTDBPC(`Bu;dxO`|%< z+ITsM-DNJZa)i*(pg}H*aeO@zU7^2rAwEc&&xnMc53Yox56hga=&7~-!HtFc?$Rj_ zZxM+(0pUYoBb`|F{P73wCp<__%~18mbnyp${Ul?F{ffUKBryi7%@ylLn{h}=uk(_L zM${rvO7`Frt!bEp@?f0C_FV}&7sG@@2heQ`M-$XXS_0FIGTs-o2bP{N%%$?rF$x(4 zL<$+P+XKzI9_FVNHo4EuI>bzWv+3qf=%0f;n>;#gWWh#YI zDeljSximb7YH*pN7z-Ehn7QjZb(j8JN?o?bj+aLGYwj7M!x<-J z$RyyvvZXq<*Vh!#&NKDC1g->}1a`-9UsAqIn7G?c7OIjtcB>#|iN|}_yq^^xllZ9X zlO|uM(~2i`MP{4Z&Re(etGbxYho2O%>0C~sxV)!$MuE zxvv{g`o&fdE`;m&50u$(yBB_`)QeU+XOqMYIlZ+6D4g^9F6v#_v+*n*7ieYNI%0P1MHQdZMN;~WOP3ZJY3t_S^DiKi z$&QdX_Rz{!l1hqiMTjGKEs`g>jAUZBzU9YNRvqNBj2@6_b#>cy@74$|?`CSmN@iP2 z%Xr0LaJ$E9x)$>Nc_!a^skOy1Cmt@olv#=xQ6jXY>fEl{0q$$KfWl2)R(z@?3q?Nj z2%%2~t^uqi`4&cIKe6{QemTYkY*_o4vU$A%oJY)>V}gTS0S=R|_;s?5gxl0C4B~BR zO1ke6U^c2JXR1d+9qn6ns5l*-NjbVGIvUq(sA|rwEW^c@aRN2;l(!KvY7o|vT?zNG zO$500uLhZqC8aD&3Nvc1uLig|ubr#g@T;0Lh!~eH#HHz&U&}2V`6=RqusVqZYZmqFrfhF zpEnrB>?OziD;fnc9J~1&rZtYHo4Vh3F}MVA zdZl&+p_1biqW3i>rVM{zP4di}hC1Opb6lqi%zAvU>%zN@Ya;F<-q_Xw^R6xrqtzyP z{N|$Eykhy@Yf#3_GR0+j zql4Q4`P@8*%a8HzBnj@?RLwc-+Kt5?33%DL?iaf`t?7<#I82hp@$A<2EXuvt_v8o0 zxi5o>X7*Qf-lpBiD7Mc2SX1d(-EO{7i(WML*2q*w`E$}Q(qF5}%L1>g>_LE8peX8m zHQp|waA9~ZzR?2CRODXh%dWdW)#0Y;mtO3OS03=ac#{3t5$?38n3@hc{STV`AUjIrgitISe@X9$;EY&cd6t)iqmQwNQSY zGC0}X5c5+&kVSISzBgUHa5~QTP)B%6Cn)9U05oZb^{#{ZWj85*R?SJ7M;BN znRFB$(~h6`VSKq1B6IY|vt4fCdy{0{&p#7kVdFHD@<2jkkfC1`QvV3}-i#P+iJYrn z8nxCSa}s-7tE;!(fOt};#9r;U#W4Eh?e^0zXEgE)O!w!?0R3R?I-F~zahZubxINUD zBD9&>MC#lfM3fR&KFM1!8!4ul$Atwu@UIF$JXdlV`4k^#oRW;g3xbd z;>v7bCfTS%z2DCRE|v6JsdFajN~wh=WCZ;vc5W-tZrBx4Vd$S{3T|kQjYzY$>C$1< z#DtVYRw_fB=)%X?biU$`Qnj2r!6<0O?=oe!XA>q`nUq4FXzqcCdCJuzjYA2iyNZ_) z#R6q^l+YysN`b0HJ@zPpTs>I}1{Y2am-1VbXQkt|ZjagHM<%AM3am$T3||_I5Z)PL z{d(Ihe|cQm_%3B$62q@VrT0n4ZpAYA^oR4=N5;_rT{*e>zKq!F`ecNEd@y5vH1jhm z(y5K#%SnBI5Y1Ld-*r!GPjNhfYV(U(H}UZEji`d74oaFV^Dkb;r~CunQ6wkG)U*L* z^wVI|WgaZ-CH%#eFPM$040EBp&J=lg)o0Az{Uu#te9ulW2uc}byG+;&8oBK-SFbS# zp&4c3{P~~UKK4m3NO`h9d+6N7dv7mLX3t7$FEM2zF=d$wOpf@u!?r#w+c)yl@3+kb z*=)_3B$Xu_&96Rrv>I+6w&U0&t4+=L}vo;E%pt*EdySWfUrB&H|^B9&*f32#_46k%vPq`Ri6qGQbR(aSa6XgyEQYxB>Q+ijYAjAE{9qjZjqmtj z!rWmxkGZQ?@qp*adhP{d#V2^fl;?@0l#-AAoLW>z^LnJ%u8X*T?Zlq*)0cUiQB1XD2gRq zuN>R249a)E^Q|CYn9;dFZfLzG=32+eF8jU_vW^ZTN5T*9yX4+It4y9f0aC4X2AT4a z7W$ZxLl-TWl`8eiT}sRcGnB zh((G)r$iL#@RctXulOkoAVf1u-^Dp2Pd9!dH_hsbsT($9()w`E@B`|-&ZhKBE@y~o zo_-c_G}d;!FS;#07xOllM_Ol)o~A@cme^4FE14uY8|F>2{#fNT<+f0GteT_O`+yT3 z-tI2NUbn2^AbezZf4K+yEAwPc4511f{);IT*f?n<7VgRlrDuz%JxFg%?itC=HJLEP zh97-@djbnv4=<6yKw!5?CYDlu@9lO7mqfyVsE9>l7fol5`?z#n!$@b(V)gD&FTI90^w zaZ{4J0Iw>U^l??`#fK2=cTiHB1QECh*E zkp&-#Bpsg9#X+4`u`IhL63+x>xX>1RlURYTe0DN=`xU@6g7&5S`;jutzPOe=sl9ssw0#ZO#`8Z3ioyMSL-eH+eo zGroQa&Nn8g&ib08wxiw0{pmi!tDIKB{ipA}=!nfAT3?~3XdG{9G=dz6N@KTKiT=T3 z8FNV)%Z+O}VetJoIj+O+Ie&3T9P4Dig}6rC};!*qBBGB z&a$oaX1j8+RjkySxw$#d%f*oc)8EK>7UeoSuG6KZ21{ex+hT}@K0@8MqYdZGS=cFp z!3C~N#PEsYAD=ucYhiHWXOGvoG%jliXQxm1IV@}iJRXsZv=^t#-8_Q3cm+p}R^AFb zubCN9W8<6&zPa*>tb%5A=UZ@ZgmcC9^!n?pcj;?lrlVho#^ZYcq~x?Fk+IRXcwy3E zc#7&S-m8@3HX)F_rH6aoo4J^?+`f>#T>}vrH=*x57WTrKepGhC?C9xJI4E+Kd7)(5 zl6<0q!{O^C-Klt(MT6avw}u5T zFlXhj{?oa%bHkon@`96lQEzaE<`jxs`k?Kfk7w_xXA-le zb43pbd1*1gxa?K6z=iX9nwV!HBY*OoxqV$hO7JMJz57esTwd5pZ3D&;us3?){3$8j zKB+DRkL6-lBBl8t{s_-LZ?q)n!88-y0qcEuK0h<}&6Yp}ywR7(Tl z<`DR=E339@W$>zV7s>UVU-8%R5MU%@PW|7LuSEJd0L@D~VgOB#DP#v<{j zA-HkLH(ge`@OZhdOy9ACe{A>vvG?ZTRIlydaES&}sU(VIEQKP3M2T9-5SDo=Nnx31 zEw$LnPEpHPrc|b7%sdYjlFT#9kj%r9DIq-Pcd31M?|aw%d!OTdj`umy!E0Y{+R&#r+M z@YGjgmogZtvmcp>m@mkIFYJT!tI&ulX!Ty%?xsbA&(|9b8jYQ5*qpcKb%JrM8MMf} z1cEyXf}3#U$wt9FFs?;EH3cR0j?_tkXIt;8{M%}}_0=?K|J{i>zCsc%g8Il-1ZAvF z#8+SGHGviEo+ZQ=d1|ghSD5ccRsGXqb_2BGTj7YuKU^kqf|Ct^@>+VnLcy`YH2Iq+%&E7M61NRIg3-$0 z0>7jxa$cHgiBvDRaRcQjkeB>INnZO85LO10cc-_4ue`Vxztd*)*~{LMK~vE0NZ<=D zCGkIEOR>|+>xYjg-3uVD>5~JFaZs^=Rjgnt`s_8*23GJLUy{_J((ue}A~JB*5%}2| zAN}MHY_=RMD~r;1=^u!>w6hTchEXhjQT1XaAhtL@|Et`V%Z7^9fVrcqfy zPTS=$h=enMMU$r%C*1@%oxgHj`56oRV0O{u*#Ia;fSOMjCj*iBf*~1B|4lx-1RkwK z*txmZDJ|ARZz{9Ztxx;J5$Z1Ba?d-&R*=Hf`eo<{;Pk^!@6J2}jFbm*_8snbj=j<& z)!h*){+FZS^xP>Ard);bA6Yp8SkCVH;wMhulN>AGYFAH@Tx#8H0q4rtP_Q-Y z>!C!Y*h|9|Y0M+RhB6{HRQ;%I7g)~DJeU$SP{sHD+M|JOUX6>?HjCg5ya+8PT3+)-6i+4(>L3A`rY;WGA7{O|3!spI# zeqC95MBs}12$GIWqqHoTDnI%0k6qWd1g?B6M}&1P79og(uzp7i^3slf7uJ_02BqP} zKHi4j-eTw9YWnOiJTrIDy4d@qG>5ynUpb}I;v-)WWO`NW*jUDBW(vxufHT|F#Vbxc znbiuHR^Hx$@?RN=Tp4kGv#TefQ!ARU6p<=30ZX!|6b_ z41XTC7H!kAF@xZ4iBHJtPgBxM&DQ0>0j)8c6#TlxvkNY>)ZazmHf4e~viyetEE+e< zOI=?gT@LQ)-_`_(O<%L{LDmJ(3yvyP;xkGoSH3?1upQ26Y`ot<3wucbV6z~E8Haor z1B7_kk{_w6{6#+P8Y{S6~=WaH&s2yf+p zm4O$1ud{vWdT}`O&z*6)@B?X)8G9T_mj^r_#vz<#`v=bIMqY9~&=S~)GJrC-O~=jH z%+sc@@6@xiI3x{a1K*)l`boV-+V|pa3{cZ%(xH zArz+8qOq9tnOeaW?@*3Z`l@b!m>0RPq=av7Uz%_7~kH$2W~eIYjSB@ zGV~%l*Vr{Q=99zIpb~nZd9un?S^LF_r#K|o@n``MPieLbTtL#*7tATx`5PB8&nZX2 zyC>(n%NxEdnLq#5@BCZO`}@Ps1hRkDWSDy8{ndJ#XFQhHLo!pd?kgBS0UQb>>`IL!c197_oOW8*INx}p-;&gno3cEUV%m*PnHn~um# zX41i9gkIl3aKAwNb%=};bhiV;13%o^_5i`-VGd&EWGDb$UR9*p3%RWY>|@TJo;tDE z`78S36SEjAH{DZkqAZ&$?IL*9lCvBAMhz~UD5s%xD%Wzb<3W5o#P&{Tn$n_t$QK;N zO;Lkw$o_I&39bYI?{x?reB47vfQk4#>BKTJO0z05XnDYxG8 zf%%Kjye`Urs>*x_XM<$L5I6pd`Hv1l$d#=qiPTa1v};{kRIp=6n65xW1j}gy-)q$v z+*UnTU^=o{uPqHUx2jo042Id!20YKdPj$6NU+xJle#6EkOLOwd=s<*aGydt|S>!)+ zuv>aQR^FkF#tthdL7^Rxqg~6)4Q8GmTx>>SAB{aHA=UrME^>)DdphNvj&|zEK1!#j z0x6Y%8}5`C0PHDC*}g>TQ@D1Aa_c4FToM&B{0$T+O|;ol8ieLVNblJ6ow5q}(F?#| zbkI_1_2Uw;sUAskeueK6*?Oi}dybzgUPNAdkpkL{OD$55MLW?O#&2ZG7674f^{Vzm zgvJrTxq!P(n-h~E$0jZrc0dlgTgYqj6zDf+6hU-jM_V>55Vn!d#u&^ay3rT<@kdY2 zHL2Yj);s{0wNOU)0P@V6bfv0t3RvpHZ0D#$419N!3AUkd92@1<51@ujxoqS4K1Y4dFt8sJgmjo9qK7h7;K0cKh5Qn5 zAV+NIY^I#fy}gaVp>X7Yc^fF=($=S(MmUm&1TBqA-vsn>8N?ny+RgN6pr|r=L3v}=h^6ubHv>pnVM@8@oR3knYpVPm`% z+1Z5c@UBEI#9>Hs^mzxeSWmTq*(lernc+s3m>&>E-yTn_lMVNAc91p5+hhrlwg2B1 zE(3%sI{t3XvBK?R6OF#z3pGyVjgc#}KURL{5A>egPn>szRXlMhatyPMBo_s~;m|1R-SXZrs5X4X*YCB3(g6m+hv?n704LC{DI1 z@2@_^UwuZf29Gn-dJkE_^CsvfC81=xCFU5?_ z$S;vji)6~(DJh3>#N-pMz@s}3slbd%p6}g>4B8K5g;Zc;S~qd_agLmk9I0&(GZV-g zem?Fgv;nSalDEE+4g^dH>S5X6-l~nqXls=0fQDCXv>PcGvhz` z_DKTaTfg)z>A~ZEeqEDPTVy zyZ!L#diq2RShOa$^DGufu6}x7@5PglV;flsrDq#tcWNEM;I*-gSi7H`39NPUsu>lbKhDFfR$b zfyJx@kBku-bO~Li2d-@+1wSD63>7&$vK=)5)A{9fPNY1<+Hxc1#=hb_r@xkNFW+?F zYsqrPCpMUvg*xJ%4;R|?%S$#nCx8)2(r76_6wxRO@``7lE9ygH=&<(0PWC#)imrv> z8*ukQnfdsFqR5u-I^-=aTcCZaaVfQ1WVs!h_4X-aN7d44&&49tDE#mNmmZd!h6lgk z2KSJeA`9s|1=flD^whC{4LCFifhMD!6j=yBn*R=8+{yeh0)FK!lnJ`q6pW%%I+P_z zfMZL_sh}}5?(4XzwB*E4--!Qf(e79DI=jIKzak8tLpY-V20^f_X-Mu%7uL+oX9Mmb zERR)y<|mjTyGjnYw2xFmr;uswRVvxoXWgQ&3^kIz*;VN;ul&LbIL4lN(zD#!A;ATs zao~0zEr2$Ym|z#V7LH@mhA`Xo3-4+{8fBho!*Y}=nDxq`to-g)4Np}5wN1X3U4`yO6AId%BM zy%H7>3iIAvvRy%-HCv+lmoCrCW8NEZ4zOaajP}wnDkPy!=(Kgkh>Z5u5an&IMT_af zP>DRB{Z@14dO|evUp-G?WvACj3}|qvG%6hNh9z0vdP|hUcQp2J(gQss^-|U)(&H4z zMqY4&KwMysUO_e(ZN{^AWF7)_A{x~pz|H_LA~Dx!Fq+n}b+7mC0eUX(f+CZS9D!9C z5QsywZ+8hC2bV76YS`jdL2E=R1fI{z#~*~*WI%-3r6DC;Q(h#=S(LnOhZYi{@Shd~ zs2u_VU`(Zdg0(bU?yNh&+>I2wz>DrVyPabDFf@=9N@YZEgLlv#?q$@LHOuY^?p0b6 z5tW6X#*w!eT39Y>0Qx)Pu>q$8Y%xy?v)RR-dKh4cV&$HWQi5bC>)&TO7Vh@^x)&9|HM%>;e#?phky-HFXzajgGeb-Qz{K7 zyw6-Qf()1J7Vj}Z9)7^c5#S}in3>6w@3|x62se#$A4BYK0MzC6mG~e00pxtYdIpx0 ziqY6RYAeb9y@#aiQ8B*Z>~iMZshg#l>2G!tnd?0i)gVfz7RV7!3$)4uSBGG+!#qp~1Vo0_ zV1NXPTvaB_?}i?@+bN1rw!cWC$GOS9t(ALQm0x4^&>IpUkrT&4-sC;1-IW(vc$CAP zm!qhDdFGb&5I@6|A!lEF{-yB*hAAt~zDx$2Re@o+Lj-FZ7((wI9c#R{W zidNLCRE~~=Sn56_2$;o9+6Qa&$7zDe@9tnmoV+Vj>Le*#-E)m?$aQ>)CubkTD)FD3 z9nO8bdhQnH?$Bw5sr%l}SLRJy<=*BpOck3ZKcTDBV`JFjfN|&Mu)OcBEdSP%qwlTv zh1M8l>d7z$25Dx7!x_SE6ViU(ruNF+PYgoO%G^GtDGG(wBxA_I^?FEh>Mq16+$m9o z_$&CTEtHtZb1-6r#Ybo8DS&|~2Ql0ym^$)5kt4=kS>zhtA<`xKWtaRy>n4UhA(VDq^JYuuGqf`B)L)7zCNl)$^f4hNe z!%*&&Wg=FlF508+$V|Zud;}kFL|g%IU=H-HNmG~;g2;cv4Qp5DA9x2lDmSB8vd_J> znI@OSTKVu+P{Yk2r(K1i!RhRUf!zyG@Yost!BN2H#b@b8O)(+8Jxln&uf z8v--;l9i3TmKN&lg&ll_LPrWC_^==*?ngLQ6y_xoW=)x#lnWLX={cWlCxvxOm6^t# zInXXuKV;}AO&sgE=Q#0AYd#}VjkB*&_@QfGjeM}2%R?HHy$A#Gu$2u9EXD%NVK4>9 zfao<0g_H$OXsYf)tm_Ia%e>W)(szY~s|wWn8>!41)EtX;GpzD+sH*T_Pq#^V4UzOa zp3>F5qw%Qb%e3k#s$F6OM+2m~M&I#&CwI0`ISNY@8u#L zCoF)da=}9m;#K0 zvfqaY+WmFPJBNdVO~`IJn4@pj`)dgsCUNI8?cL>1Ca%|KCd}q@;i@j~fe{FtIcn2F zB5&1(9XL)=4QY%Ei`xy^l`-3f9H~xc5kn@v-!DG$2p2v7$*I^ zp=Q6#(dWr9MfA>b3)c8S%_}mynBUS3fK>f&%iLC?B*%)~xo>(-6Js2GJx(bfB=VQi zd%V3@bE=M{e_tAUCo)}>o(dNsr8&X}J!^}qBBy~a5VQ|b$>fL;{E`jORZe5!iqHi) zRyRie*6-#3`9-_;CF!Q*$cRL?{M&TSzFLmH5bqob4qsBlYyXHmyJh;Mlr=VD+{wcU z-QV{f65=Cf964&;eJ405D5q&)IKxex-+A>EuHH<3$pgR+w+xw`$$x1(EZv^1`|PpX8FBdFPzqh^Sv~PvGoh;_NdQZv8GUtbNbTHAkFGWW)k^0p~WKvyLq&yLk@c zDJF=giZ{!D7l{+dRXvm<0+yD*)pW1rl-I7xA4xp~N5bqF3Din?=na+KS+hh_xwjZe zZ|v=Jdb=3zIl__(awLyNy!RI{bo zQ2qQ^jYY9fvVL?=;KnYM2mn}`yGp~S_rx+VusgLZI{#LV!A3rIrpEiE7{^L2n@&%Aq0m@-mq>a_v(6fMl7Gmx zCO1spU^=U?iwV>a3I`2oqD&N&i%5Ye_@(2IrPBptwTGOXLGlE;w12HB@(1ud3CJ%- zer*$gj!wc46`e)$W0LWk!R)B~)w}-Fv$NcA9Ysx=&3u^wrBwy+jJn?wr9g@oQcY3a z`Uc)6vked}w|ePMzGw&gBLrB?fM3nuF{gA#<_SDqmFRQ%yZc6iZB*Ak?TJL92-;tE zH6tftevl*r2;3gMix_XSzyb+@P$bWE^UB0`^TG+C5c8FKMWl}+A0c_)Pt#r}d3}}F z1snMem3Wp2LGQW-)?o?Lgx zgK7sm@YA8`%|dG+XARGoK_+8_k2^=L3ZG;ZMxLBLR#jf_IlOLX!qrP_CP-!g5K16Z z-RG)Z!*0@r7H$Kmy_f%$2Kxa>ASy}$rVIhlnS9;AvXKGSa z;n+Ij&y-FrT5^`$ zNY-_WcXd$9+qE%pw}5>M<8w&UUmw7BpCf;6{3{ItZ!ofkfW=qO+Vpc~ETr)GkT~$n zV_I@a2%0_>VZ5yS%t+uV3T-NdXY>^R6{bPBvlE_9R)Gad)Oy1uW26FOd)khD&ksRE zZf_0p{TR$#3z~V{eoA8@vwLPC?jKWRHxk4@EZIxpo4zH6;rQz0 zJ2NwrXKOZCrXH!p?AB-WgnFyYM)2ZPyGwVF&GUEf`REM1WK*61@{$+exmgmffB60^ z4(vD8p0Y=9yNU;(lWpi@KP8Qzf&}f~!Uef($fMElC|}j}y6=y=z@r1rZ@rO6|A0ps zOpa~+?iR@7(h3}d@>*{PQiR-qdrnormoPlNcRv|k+>nD3TDZpj>uku&>Y(iCB<-t% zR2s>b!S6s$Cp>HPrYLef70KR;d?sF8yL=Qpd3s{N7+jHgCJtq%!HZ^R*Cs`Nd=^0h zo1XKKuhW6M!!*?&MgF-X^AYCk#q{no@}JQ^0G>I>OEl?9azfr>11GUs?V&tQ&w6EiyGS&!EP4<1jKFOlK4PPJ1Vj2D$SP(th2cY&n$^mm{`4T&EumE*K)m@fkXES8vRvZvkyeE_-~e?0|%v_X2u7)>4p2UzBL z^mpdb0`VYgkPJxEci6N94k>I{+azyo3I1;F%EMwx9Aq$n~E@Smqf! zJV?d(Mukki3{nf3XleO?{AYxN`YAWL1C2Z!ylet4YfzC#8HVh-4)xlFk`3_tCib

4I|VDQ5Q8`e}#W*3ES zX*kbyU$mhaXf74a9}KhdKcg#ufAf`L5LpMMNla+lJ=_j}X-&&Kax zcl>oL{NV<((?U8&e<0pp{~-i^;F?S;_m6>oe$9Wp;71YXzr9#yGgvy>;k>`955JoS zxC^>p&+n(9-hl`4->4t_AJh7ozdznY>6G|CB8h?-QVv4T#-Qu?pI-CR@IV7N8sw9$ z|9&UCC%CN5_WJ*--~EOIATH#d?f?4XYY?qh-bq&Y?-PY7dPx3|t>4cWM+>(y*Eyj6 z>+rx@__CbkHsOI6i-+w)+n4){Ew_S4oU4_mvQ=^=F12FGbsFr zU)JBc&Vh9ftaD(U1M3`E=fFA#);X}wfpre7b6}kV>l|3;!2ho~P{KnYVptQ=zY`@8 z+|PlkiR?e6z_eh2SLSlLjnC$FQN|1MEOhgT*^;-J{LzW{&xPmSb4+{p5pykQuGqT} zIVx#*-Vz+UPFD)I=*`sPiKi;1FF6;_aJyW_D}2$LF+j0N%5E4qlrfQkN)G5xMkQx@ zEt&hD5~$S0-*WSr$(9x#llSS97)$>UR`W<(_}=@q*aBna6Bw50TFEU-dN}D=fK8N76e~>Ej=k5mU8= zff&zTH?zgrFtR@gRV1{0Y}UYrl(l>ff8LV0O?#s4i2pZNyfQ2PBYaEYP`zx8KhNu; zjknsbdYd>nymj2T4 zJu_J1U2jd_-AP5;`IZA!IM!Kjw(zmZpJ!r@Ds)=CieKW1pRd)?N#%2(!-U=YV;pJL z|7iyQ)~0Cfv2A~5uTsxWZJI@xOYnth0@u*~<5|iVY$Lg1ADnc&FFR<_Dc32argqnH z56`5MZ70`(aEkaLmV3a$&f6lDDOr4%gK8yu&q#3u_f*^|6Toy25IKde-D`NDqmdf4 zE3u@eESPjC$L`QK%b!0%`1_2ERw;dTtYfYIO!OiJl!lM4TJgBNdl!}PtnwlL*0uhr z{QaV)oi$wQqm%M3i0D#2_l781qK#R!sX7H;5W1+^=#?T{uWes8V)BruV(aP_<6fO z#LOMgJZ>mFjZ+v;PWqGB7x2Z;FPCKhKHQ6)#CS&{f8{6ncgoDf+%x!Kznr1zgXqJ9 zj;Nxnk1nBXr!_lknqHp}8^3AIPdAsr#ml=e#g5=(%O@UQjPrOHCjSP$l`HaGQUP0#TVDHOV*l9+OMjzR<E#7NAQ!3Xn*-}HIx zau&bDC2rzlR}m&;+G!cqU&i|I+YNju*Fs&05|=oZCRKedJbB^@iciIQ$H8D|s!zZq zA8V+_pW>_3c3qq;ah|%r}bXwGTstu!k-;x75k~9UCU&CUrzdzQqjmDI z_}eUQrF6cb5;MI&T(?iE92^A$8rtu+FC&{?$^q}gmFtSH;>rE0dSQ5(pLTYT zD@A!a8&#D5aZYo4%0M;Pb<<91wEnQ_kuA+w5X=;O0cYhF{4L{(B>^Sr@fAmr{PMZ8 zD0h)cbVr*;al-2+g$}%RzRvvPaQ@0bf4w5FZGr_m>5r@`b1gXU^UUU6Al{uB%h~Ki z|K>~F7N?rF!4^h;b+7z^1@y)@i^53;J(*30)k{{&vx}tsONH}IZe4R7=9W`MYIcRM z{pLCnq$P{&w_iEQ2%3E|WK1omeCv2~CT6Hb$c|Aj|5MP6@o+{} z=KOHcC;A4*`zuLfZ(?d>l}xPXzZf)Wa$77&98j7b&bl?gv$62B|A2J%*m63B{O$J#jl9a{1bW{itFu0wgvkxr}0ZE{YxIc3ITIQy2fR~+d{KNTn8 z<#@xOVr@7_TSG+y6H%PD^YEh6qtbA*o^bprBO~qN)1O?in!`g_PR}dG9+GJ7q>i~d zu29Nm0{`4l(!drc=X7hn-|(e=cgT^PM$K0*DUPG#qh4>#467K;GPfQ&!QZcJS^Hf4vVkh6R%Z3HTHm{?ks4@9Ucz?G=^{QZXtxsyZzAQZxaDaI|eIs&@ zASBnSVW^^s4lYVMyH8okwwjfJ@0|L7v;LaU1PPz%bkaphZAjQ-q^DwRTUPIYC? zPoHxBhY_+?ry7LQHu)dVwP#&Z|3mA+@R4JgJaPzD_{(JQ;~MBd87 zyXZb&zM*Saccs31QD}Y&6%qQf+~R|f)Gh{${S!}cX|e*L{mO29=hZhP1!*p7oKL9j z_K-qPncPnb3W#55%PdetOA|(q!U5N|390(nsMEVyB*s@X4lE7YdDXeIqtLmdoh|%s zSvMb-y>C;BST99Gx?&A^z^wXj}& zm$|2rR%GQq{5O;?o4Nl*$%L*rYMHqq(&c4g)3c7ju!Z8U)a9fAg&iCY6ZDQyS89y^ z_H`pD4q-S^pwqr%k8K>a@K_c>)V7f;GUCST{a#sgb1s<)Xq({y{*vijhN`(s=R`(@ zwy+Z8M~@3$vVG#)qJHcp!5~prX`*RDVSLGNwDPMbsg7_iY3Zulp}nFj0;>z}ik4dH z?Pjw{l04p`O_R+gX`^3Z{e9fjokwvK-=dZ*^NJ~qQb^)AJ4LM;dk%Z>W0wt?T*WVe zE{Hk6z8U%E;@N}(kvWZx)r63lpa>e}D?&{qhl6=hcE5*jFRADyLHehRU6>yf33fVZ z^Ch^C7*_3c;6Ip_>`_Cfb1d4NJ^0A%xKP{qcnli%k`QO1!yLsorT%D01Z63!cj!ki zK=;#rtMf-w(tO(Ma)Em0yp>R0s`%QJo5PG9)51gJ!*46_-`r`g2AE^eiZA$X5;Lh( zTf#e-c=BBmX46Ooc|Dx|O=DvU3TO|rg)BSXTy4Cef^CrR7Y(_Gy4(wAD^|o8brsu1 za@3Y{4e;}cv*w*UKBzd4W@7etXP($B9nf#uvC{z?sLs~(+DO0oLKeo(0o!P|UFdB+ zT6^>uCU&@|sWd!+$ECew$+55~L8n8~|C<_Kja&RY-f*w8VZ8X~m@lS7Jq`usV#l>J zUaW-0QD2!mZ5Pi~{N&|geP;96R0pbCYo70;D|=YmmZza+gZjcM|xEQZClXj_G@hWqq7vztkJL8Gn=%~ z8(mguo1O1^h$t)D`f>FTuRRO$WnFykn(5Kl*AzvNN5{v$7N5)0%3iilAT(wYb{ZXDu;|Q)*4N^zZO6BoT2!&4Wz4!nPef*8?7GZ@ z?J9~2%8y33WOKEJWy#JYn%_)8hhoB)_}cjmA~Vl*zi{iGtZD8RTYP;5tAM5}JRq>R z_?c@vW|BE!`GD{i%LcybhvAyOzl*i3K`4cD>{__y%BJU9y@@HusWrgMuD~>ej-)dXRS0yWX z{ngRWSXv#L4F-oNpI6J`?n@*Sc6W)Q+EXlhdMHd2mOFTi>cuwe2Vylk8#P7Z2}$Zy zsf3qlmYp%xK4asyq>$jxBb{k~IE{$sSmnm#V(tyLpV{Jcm+&%ag}Jlr)NE0YX1)0( z>sXI4r~O;==+U|PrZjsWKGF33t%2^Rq6c@CeNF?-6fYRM>W&&i_!4MGU_tSV%!G@) z&=YU6-wpblqzk{Zelh|B8&y)mlBTDyr*y zbH}vI*>$oj@NZLZzU+RgQaLNSKp?1J4Rbh6M>NhVVg7lx)Ba-_4|=mO$(<9nq`Fh_ z)P`to0^cip4CA8$h_xL4cr#icPUg#Ir@MSQbo@4%X5CEGiN;p-6d?&ibW~2|cl8oD zdT9LhVvL2>15rui~| z+|zDNFQX6V#NT5Q?p&bSXT}_r{$S+8J7cr>fJM_oamS`@&9_V5FAb+=QkRJe8rI2n zz#c9lwdKisVOlWRO4GzZ*33&9PnM_#`t= z)SWMPjAM0rbS9`MCJc^{TNECSK}EFedT`WlI=Qv_%-vw=ff#sq@r(;|X04 zyB5#l93JZ2P2u}`%Y48?7WVdeZ<8>=;@Y!^$SjHfoyN4$;NHOI$nRlx!tDrmEq^s5o{F?nkszJH2408I$MbZMZ)NXOiH38zR6Z6 zvXkTFansug(x4(y1JQXgANP;)_uE$b%1;=Vg&*N@QNmM4+GBXL2Lkyn zh|Y-yPSl;+x0Kg?-9Z0frLKfgUeMS++r)uHzDt>wZnC;MlT}9~?{#k>|}ez-s8b@t-S`(awCw<~+9XEa~% z%Jopp<;Oz{{2zp4bQ;2zlTOo9@#PWj(Jol*O5K}xeIjMPf3=|lJH-{OtcpuGo|2BG zA%zuISB!lrQ5Q+?VS#P016r^g=m}Oub{&?X=ooyl{}IDo63PWf#yn&TpbABfwGgb)T*4?e54aPAIyGel2HT=H-mrdc_@ z%wl(m-vu2N*UYZnYHs^MB-k&0N9_TwcmirQVW>ZMNz#55BfCLuvr|n_|NErpHMR8W zkt6$Jv4CHfMmTjCQ<6_(MN#|N_Q zN@Bhl-YIE3gwI;I*`fTy_KM%+GKun}B6J35nCX2^aJD2u% zV8N5|WE?qpW@Q#AvyvQZ4vaN>@TsS`K^%WuM0JTk6wihp7j!>ETC-)>mbG9bSNvGTQ zNQTW3X7O1-44lt0j`sRSN*ht!;(LH)hMWaWs7~%}v)jx^gXWH1;$lwU-#I-ulm-^c zLvq!sBxP{9jweT$>)LOSPsuiJYZWj(C2yO&_0d#Hok7OAolRonx!rA}$Is_t)NIjr zhOT2!(aCq-Np>F3JW&(SS$B$<#ZvbCA(P_tQ!cdl%`T0Po`j>*#lepB*ivcq>b42kkEZ<|PjA%O z>!y5h`aDXYy>a!atkb3GGP;L@8EeKiKAQbN&qiFCX%Z+@3i zo81;RjM!AQ?N=R}g2NfR7h-Wf2gc&je$#q8>Hy z>YyXGW9+6P?C2p2^U*`cmSCP>ChMo)E`EY!T-+NO!Z&AN{e>&|f~_Z)w4@4yN!M~~ z^)gw%AQu>50s8O19QDf)hVvqb1juu6U^E%{b2UILYt4cYO$64$WK})THYTs;uD;{Xo8$Z) z$>Llnm1cWuCh(_b9^EXi;|nP;?JYW=gpoZM%$pHyuGHR;K3O%8*WV_XC6>Fa66qM9 zV>ifEd(n2;cQbmpj|J8JD(!ZhV&;Q7U9pk=jjXzXcs?%MSE8btDBH(4w)YFIm& zGPM7r&Yl zp6mnE562<9T5=v8GNQ9GHphQ%Dll;Ksu8{-n{a7tF)jIGE$q1;XFOKecM8R)^;tnm zOq-4kD2}IKOwjM~HS^pqMhWz3N;wqNnQ!a&W%o;C@aHp9Wm~yhsP>MwfeR%JPQ^;0 zukrO>Zq^v}>3yZp{vbYUYLF{4pk*j~zh81=3_VHRP{|AzwrHDgzK@`EVmC3*1kW_P zS5wk5vY(liPAmJ8rlE5Tp^$j3f2Y1|vs4S!ZeW7Pb%IP8AE>U6{u^#t+}#&@;hcFb zFMM+QjH|dfiobfcjMZS(u2V?_A-YU7W45o&OkOtXtr%DQ=*_u^S9x^R%BA6~JUME= zv0_SkI8SQQIA6;=_i$w9qYCL+V*f3aK|nvAwZfj?I0Kcx#An##fF!%{i5ibizQ^oK z|3lNuiLEYZR@`JmBB9{hS^Rl=_0C}(R}=p!EvIqFur3NMK1jN%;N`>jxjCDtocU>m zzpXi2UB~OF*~lvgUFIHfRCS}n#&{YY7XxL+Ck|-0yRU^)6l`0$9N?tQ^7ONEBH67N z{Xl;+16Ie|OcSAeDz7?vFcf>RLjg-k{sqx*vIei9ZSs_BzwL9iB0^j>XkllG_K3e@ z+&b;%FhNjq?Brr}>@*4Obi5IPuA3B;x3}ImlsBH+;r2Svl{6)ZIYqeGnwOM(d9qA@ zQo*5yRcD8J*Al+B#(SgVzilt|w+bZ=joT%XW9P{wILS;ZGI>y5gV*sG%S9zO*qlXk zG6$EXY7etaKuxWG==3^;i;)1EDCZhdtVbJ*gW=G$84+;#rJh) zUP0mcvI;)ZEGnEj*giA&NTNpT>G2hTJn7wWd-MOOCm@1D;8Xk5o{4rIDy=RKx|r}x zz53&7L_cXlq*;u~Pt|&;iT{SW!r0tgwqRmL<(Q=KIQ0$Kogb2c>vhinefTs~bQBrfYBfp+PiMXO4BX;fski z6=O^{WTS-DMND#UqsxZ=#I!#-yrh36%}{ZAPK2otYDaYH(j8g+j3)?Yr!vRu^Dw?E z8j=u_-h(n1xn@+?bH*a`L4CEW2V>{mvxKD32)6;QTIrG^C=fl=ZAsA|Oo9otKtmv*6wt);{A9~{HFD=DJ3f_W}Klc)u7b&s{Vd^G0YL@XlI(}(& zG~KArY}vFdfSjs5nwO@-Hc>kt?J@ljT$=x&Ueqwg%B}dRvXhxYMv|`l^)3eloJc9; zVLF1MOzw@&xi@OencT=tQJmDjlB-i5Z_XT%*L`I^o8%GzaeZl_Vzs89AzgYRsfT-a zT4k>6Mqm9U?V*$}4wjt5wE0^#+%4wLu2lG6+x_GCD z8K=;A>HsNQ55h&ii_@uGj0P?oxX0AK}3IWr@3jk6IwpL zq$>~e7r{0DMW0%zoPgl0h)i@{?#es*mXlqAmDxeQJ#TX-MH$~Gn75|6bZ(v8R=>{K?rbm9tq;c3C(epcO# z+pTxxyn@;A{W_c^eOxj1J!}lCTRhk8ZiaWxCV1*y?wD!^r<*h6<(Id2`TVHJq;xP< z|3nUsRvUZlXBi*WYvMbLMDenZ0LVv+KE+CD@*@SbEu9*J}$~K)<9ERKBhqF;bZ*{ubnH zr7-=Li}7oS(8=c3uz090DGtpfO`r1$8;ulXQ~4an$Ewd&8K`q(^kuY320`^Qx;Rd- zWt9u{#2s5TrFA;#>17?FQdx|z37KiW|`@VVPZCktw}!tC@DZ9(QG?|F^dd*i~`pSS;YK zRKS08z)$+-%x~vi@M`g^;t`k4FR#KE9IBM&Vz$*DhxF|}-UTf@^qipa<~+ITc(Wci ze8H(oJO5k8@tEejp**=)@JHzP=M$qb9ccIBkbYMH!Hc@aU-GyFAw!BP66@7yjhiv2 z74Yvrs(@LUK{{%kYaLoL-L9l|B#Uvo48C(jrz;2c<58ArZwmI0>CETL;h7$Un9AO} zB$X0d(4G8As>x~T7x7EUZA560a|99Hwb`?m`e=aSGIr!SiY@r1hXA(I+@F~5CE(~F zrH_~7c9EgEPpdz9nBRJ)*>{t2c)vV~t&Kuvj6PvQO_y%Tz?q3V4rd+?^ww1S>m98$ zcJ0vq7-Wc=uH@1*4`Mv4lU>MJIia)nhQn%|bJFJf?tGPRTo-jeKCj?)`Fb(+hE0!9 z!phtn#%BCQM`6o?V0Qj%#hy#k`I{zO&*9H!8|Rm=oI8HsU^&S4n8I2+^Vc@~N^a3+^?W4>s9 z9iT^b=WQAv@mIJ0B%sh5$9LT72BXbrk+gsRkj87F?U>TAW`cCHAHjMiL&N5JeT`=J z7`n&3Xl^PUwQ{`DtFv&)LlW957xx?^yq7}T#C3d4K?!tsXs#A!nP!hlDx1w~pU&cA z);Et&aj>Am1|`fkk)oz_#tku=4=eME1T3|$MDr%bhp3?~B3@n7Xnxq;Jt#9bW}9@i zu1}&ldns{S=h5sXeUw05vi1ZaceeOxQDBW`73Vdfq0vQ=t^iKy_zt!vdraVx%x32W!XY1zExocP6apo4kFn+VZygs1P# z7(={z+Wk*Sp}e-4LD!Uy<*4L73eCN-eA&d9aLs17h};;K4}EE-O4Etab#;uIgypa- z^klBCWYnTwRA4jVRHmCgm46hRB!)IarBFxRvWiYgz>Y{dW`<{5mOdF!pr=X-nxF4V zNM7JX8HDstPi#)G48EwUa0?w06VypCPuW+sxHK!(k*47gFF~5uII6Kpj&aoWOhrgU zf>%~@Q+;yt5?ysw^KpGm{TsVlF=Rc8PZ1k%w)%>9`b7BKhQb%B{0h zd(6aN5SnaN@qRqX!U-I&Gq3g9qNiK?8trX zyT|fPmoYT@Sk7OfdK!(2rC_V7Vo9=-R7>!+dy_RoK&|xcxU;lq6VAn(E&5=jVmpt^ zEnU@kC7@^){UUzGDx!a3VkLBczPYvOutD?7SEWgW?wMYV_P8Tko5Vg;%`-P952Q8{ zZc|+{L!}WY)vMy0cm6N--ZQT0ZfP4;6hTx#k)l*JfYL2UZz4kIEg&t3fJpBpw15hz zASE=BE+7!PbO=oZqz35_dN0y@e^)H`zVChZe$I0~oNwu=m$ zS!s!Y_uMf8J=B#c6r?vw@>`pqr0GS&*K_OLI-LaK{)Etfc5wvefroS4W^mX0O*LF! z(l+a_jpTDi^FGu-7P~&#PYujsPG;k{ySXI^^}N?8h0+yi!EQ7-hEWaN+ViQAHMsQ9nc=EetBYLeLlBpbyVCYo#d%-5Tm1@>Z ztH;%N+#j)6wxTLyGPK)lsdwShyG3bzo8%>d%NviadX;HRLJj?vgbI+|=CeEN5QN>i zM_KttW~ko6lyAcklMD2x1RdhLJNFJEb9nC|%eHdbUM6l`SR5&!FK=7u-dAwMBd8i# z!++lYt-cMOtu0XhGH2meKovJRG3Ai;rHwxNdtbF2eI-;m#hiG4`FW(`+6p9+ktP*= zV%-Dk>7<}jyy!RDcI@Z52Z2pZw?Vo3?ov^X?+!tfbn=r2KGj5mJ)^tb82I_xuHK9V z#oNQf+W#$}KL>95U7hsz(*YF4yO;!Y6cD*P4-7{G=e%tUvv3W~sYRmM3V+mfOEysuX+wKCr?A zZPq(@I%zn3^;1l*V^w-i@qnLRy<32v;eY0MUe#5g^7fwiFQPGf4#KfqZjw=b*9aDF z&45b&B2+je*l6#ksNIhohG4C0f(JG~LdfLT#K1AT)*tukPq*c+9X>=wLP~AQv1aYl?pbD7X6Y@%-JP;YThMavGDnS4UzukO9pr1& zA*#1U3~I2`{t{N*IG&oNRNh>vaGmm$rI02{On&VUbT3A%p{IJNaCrV76gB>ftZljk zt=jyz-lZL95L_vKKGmC;93Nc0Uv;t|9-_*56H+0iN+@dwuhv5VI6Kx%~kbjRNFsg!2mM9_#LXqHmKLs7H@=hLpOY zwwZT_o8Au#Kw(zs+gYCKI@EI2oTT*l?6R!Q0K1T`&#D%=ynSoK2yWFiY<_AK8H45#iDo3T~bnAzz965~tqq%8HqE~H{&Qu&N=LLB} zZ?vlHP&oljq?}z{QPq;BL5NTxa#~HjA?Z_|}&@YkcA*E&MvLcK;q$L;oe{a22eKFm|i&s930~ zU~a_Wgth292ar_|n8@=&k}kYG_7;-4!IcgLqwFvZE_5^7dLI8dFZX5!7TNhPi!>xS zySberSA3$Ojwlz7W9vCkz}iZl^b;&(LwDU#=)GE^59>)c&h_MPG}rF?#I`V4=))JG z#Ml``at1~jp94W?2^@{Y)`j-5u=Ag4nU8`cD z$q~G?A6O}GqQ!gf3PtQ+#cQZrG&=+0NDjhgZ=?EzNY4a+)%Lv5pY4r*(t&$GaP80%aH>6NjYDEbP6DW^YabweE> zP@$pj7@vnn<~k$`^I2D06j1JIhEL3)ndYpe5*bu#-eDxMm~28JHV1VNcTb^Xej;b8 zS0-|H755nmEe1Y*Q7k=#p&|=qg-2$2MvUURnd{Fu&-Z}?bC;fjbQhfV?jBI?2G*d~ z8cyQqkv`)iiVrM~bEVUp5*S4%`eg;-!1eu{%Ksd3#V-Nv{FD9sw*Z8H6wBR&^8f9_ zc%NU@S#Kg8s@A!rW+O*ZMZX0P}EUQ&DV$Qz$oL8#*rE)eZ%+0EWvXg@kz zR!kk4hApXGexHp9<-(qt*sL*-bGX$)ia1(xlg!?)M8Q)SnZ zpq`?Qu+W&WWO!1c$Nfg4P|U5yj8J!$MrUc=?YGdl&NzwgF*1d z`mg9z3w*ow(Z0j0(Y9wvg?ko;YZ?!EwwaDHJX|%>teGQv&Br;fp(=I*e8PYwmtOONibSvf?%~ zudXV_{ys$$7*#!=6Fsk~3e!tH+V%_8HJPJU-#js;2!-EU88tThQcJqj^)epE0%GoQ zEWQ!H#DNBP0flj&d$gImkb`n(Z3H?lES%#Ru=_Y-*k&vG-EuSNFAT4~3?`*^lOfie zc*){E)xrxQM<0@Ob>dWR@_g6S?A{J=P@O<*v-TtUg<7{4wT{S*bQ4Ns=TU7bF6ax} zXnx=Pm5zx}Vc|wT*D}v~2>wx`P zjJ?GE!uCyLetRWQruZgW*e0+iSywCY*)Rny!!2)Eq z6XTW#q4Rx;Ws)U}d|eIBoXr;A;$=4lnA9lx*}A#hj0j)jjnIS54=K6xn$v~%YUIF89Jvl%~F-v1cL^0QTdhy%>4x|-_` zyXQaQy(gqAays3y$~?o5y9#ucnlCxdL&#+9j*FJBEskW6v=~_U9R}NHi#M3f%_r?C z@A1?h@GRZ#V?>8)J(h54CDAQYXP+j0T=lHl;8s>J|Ij}BFcta6f zw;)(b`>)bmpA2|}`;F`y$Xww0k_GcH?4!88h|mF}(#*O$T7?@3AH5|$@AbX&r55%NiMcL8j}aC}Hl#@PRrFNr6odBOk>4`+>4ABGFKx4?jhUVFLcg`b~WP z_e0%nCJ8;cpdz#UlKUgBJ9pGKpY3|f9ey!Q`>aU)1%LbmLM^{Gy_GPzPVpM%@=^At zX8C-g`sN}h{y=~f^vIxgwC(pELYL&Qf5Cl?5wZ5{LsZ~qUwKcE{?fDFobOJh%XU2J z{so>|nq;X>h6o|cbNb;UQ;~c7M;Zj>^*@H7dkndpOI5^19;M;Q*>?tv`*<0ePiEV* zrt|*DiJDZ+dfN#$7%-f*MHnuRce@Iq>V>J=p_TQY7W%k?^f1m>X3l=X$o(y5@TiXR zycD9mQ)0C5-CTy%fO#Z~>UcOS;QTx-J~tlKnY67JO=T|J)ez`Xm0Grl4`px3J-Cvw zY~Q&#Ff-8%NoQQ-5Jes$GSt^r15;jWWs8(6 zFd^UEEoD1b#nU*l;c|W`r)7Ts^PW3A+}12AZ7qAMo>6F})P0C1+w~CKa8Seuf2YS~ zz8lq^A9|pu^K{;9(RU%vHmo^AyD*kyfAD6b^rOmWnq)fJTWb4erWu-Kx(iLvxRE7& zzX&(Zei)W_{>m5o2#e(|IK@IlXPL5Fk;4(h5b32cp$U6q)?!vJrNdy+yd?DQr?%<9 zb8y?nT+4sEf{i;NxY0#x@tU&8L23O5RE-B2bh!Ns<))WOXV!xoo1@7^u6=4L{td!6 zf0QYST+Z?nBeNj8)=R&g2XVG0>twjM(w;2K)_W?NsK75o^3YAzZAXnvj2d^}JMh+0 zxq?mV5h=VmQY4!&Zf|dY0J3dG#?(t+OgDIIdCw$I@nC#s%FnU6p%+u~*zKkknRl<{ zrg+J8Gb=7<58b*siWt&h&SekQFs!nQ{^AyG%kV+z@29%Jok9kL&YqtjQkfwUwJ7N4tLTo(H<*(efkIf4@{K7>hsOBS{6H7O(sa_~^paTrs9GW5KV&>PA* zAxo&l7Ti&M!DA~%sAOF&D@QM0dO@IhLPy4EXgx5|HWNFiskGJwZXB4xv}L?t-#isH zP|p!rNC!_RZ(7hHPhl^~zp9(wbl=(XWU?iEY|}7Fy9bRH?$uaNV>@!sn0d;J%&?~H zNzaNifZ^DMH#SmcC^vOyL`ATlG}wuTDn-;57Nj}Jjt941=90{J2L*~&C^W=M{)CTd zuvZx+IVAFX^KRm%GIF_08tf9a^-3m<(C#?uX00CMvVF;uri&tWJhR->0MM{CpX;GvIlCD)MYFunIobJoPlUe3xOjcL&7<{`=&7xHcXoAYD zL})UJG$=o#^-DMdk8Rv$HNDf(Vd@QGyHzZuF6-IHa2=nD`LU;)>GjULeR8Z?p5nul z=cAk4I)MRT|84*_JOtntB(3bxyuE((k;i6!>wJfZV~cWvVd!Cyh1jz+Z1yH%M`_?# zV+ytRqhv>3XWwdwEjfE$6Bc7qfHf`5L8nz#cvxj(pHq^eJ-LhaVl+;^w$8p%zn8h! zvL*Z^7CUdUxRtOF`X(Kw4cHz zdxgG^EC1uF0Q6{k5n0^)9xO2>;)}L$3z{f&Q?7bSzo1+4gR9NX0{f{-t`fCw12$bX zviI|2#v+*AW?tqN_8paQ6E-hZ9nJJf?WQ@xEJ1mFfvNOm9q+`w&Hix-_1@3A&7R#s z^KK&Ky06@+jKFr9r%0(wJB&S&2iqf%9lypgQx^Bayj8=V)SZZP%<4t>E23hF*O)bQ({hGjl2X*3G^keN_9jj%# zx?sonDzyIQ6>x6&NbJWDQ5Od+cInvUgv7%q7az(~M`;BRkbaZ7be2T+OryldOUyT4 zT$lKKS|ykR6?XoG7xDEg7lWCuxA4!}lzPcN+VQ_beCB9ju6&_lKTE9})~(mAH*}a) z_?V$hr_j9Dq*r2VI(@`R{63v8`$DMk@jxxi zmD_*1_$aDYIeY1|8vku;w-u|2nBgz!Bkh6ZsHv$S1d8N-oRC}eN@j3aPLL!&>2<`r zsVu^pSZCjO0A$0ulP`qceed8QAZGG90sip36xW^a?N%=1gnZpcMRHpI zSS)e3`piSk9pKK%(Zzf+5bn#W$09JCAv^@v@Co0zZc?_9m(k>6aN8VdU(9IDH(j+o zu3bi=5G5{6vCT;_2#r@$zq+@WuG#^AwMJlbQ1=+KGwZ{FjNMg^ta*ps7J6Tt>OPQ$ zE1lc^;%~#H6icVz5_x3?K5UyU@l(cMf4p5!chtnfby`W9li3HJ!8+b77n>39^3&LB zrd=IpdL2~uQfNr@Jrujz5$+fnIl1_jeqdJPc5>QB>%AE%d+f%6NQPM}AO=IzNes2l za%D0dvIg?`JtS-O0`vp6DMp&_=Vo5AI^V#uXJ7Bkx~_OI)?1I#mEeyf+Gm&}^Zh{F zygBe`L;@*4&5Pdomhn1l6YIwxFcI%|_yuQaOi!A(OK(Fsai=@L^>F55@3o(++5Y}S zO>F&hQyTnQ3tI%+hqImwL<^G-7=_#M3l zsjt?#mLmja=P}DDW&H7ka$UnzQ9da$eVVh;{covBy4HFXIN1L71x>y$T8MPWC`%-Hrma!? zMX~3RM&B@QSw%0AeuNvp(i3L&@a5I5fw@`_TgM5P#gv;R6VBs)DB&Z~HMWzQyK2Mc zHVxY=@tw;LapvVugNg_Cuq5=ak1-DGZ+iz^hs-J;6!TO5Twd=zLgJ+^Ygzx_rtBro z=j{^0lJm+QL)>p!p1R?IsX$dN$;n!B-)QuwJJQDb6@zvdnMkK}v(BvL1-Z4z0MUc+ zP-+x>(XK}4%Xk{~M|UGaOLQftls{U5Q1I=N4!BbeK|B_=xsF(kFg@DuW*(wRtUI*h zWjGGk%=;EuH$%O+yOcAb>pCnQZr=$`^%%x1ndF?zf-g1m{t*lBX39b0p*6Am3CbHG z65l&7w{D^j24@(wcv$^s_U9H+<3S>H5CLI#uXWY$lF6P+?XQa^x3tBh$b>uWv6+@J zzE=iseF%z(lKj;09Vdb)&zpL%lhM{5xF0%0shQb|<6?&sy*{NYRTH}tw^R#^e)!AK z$*b0eRE$UO8ySznJW@N6@cY3I*67y0g6DEsZ;@gA^uHFd<}CT(l^9;<2Y-BzBRKnN zXyJ^@ft1R3O(!Wd*Of)|E!-;#JyOgM&+)mU2@;Os^&x)~DQR~F?i%{#u_Fek9CWQW zZ1_xzTi^ckJMAi)mBufGRv#D?qx$mFk39~9S0a&OdRGOl?p8>_diuW3P`@((JdtEV zU4Sn`A65}f@|>~)dqDTcYw!lzbaq26J!zJ7Rr=!anWmH8RhRX`*4No;VloAuyL;?O z`e*7?YIWEq?qwpE76T7$-;oiK(;cj?e{E<*WrsL~CLc$HsrNLxO2jteMGm5W}YMW3z1dCiojva6cFI^XQ?=t13NTvM{Wlj(oC)){7y%PDsZ68)LU z4w7K#g#hUmf7+N7E2CCT96EyQ+>ruQ$mg7!);AdPGadGKl^Jl06nVsuDMrxf@ zA95rum~AT+J2c+@zW4GMxQxAZELU$b9PDnF!jXD zji2cA3(y~X!;fDgqu>#-$S~84=Yi@|Gsf&O4(9fW%4h2tvyAAolie(d_Yc%Nny;|d zEk@qHd3S{2nN4cTL1`1eu}DtwgdOwy88<>Xz24T0=jEA37e=#l3&UPYiN1XyWmy^r|2oQypQEzCQeo+8s> zr^C$l#CObkDjUkbwd{SLgnZC+BCVbEHz?6KdzW-sWAsbo_hV69VH@99cw?)=>~|+U zgN$n{w}%%FE<&SaT+<#T%{`Hg^0~{We|d1VD#%qI5vc@EPY^q5YOi6z?aZ>4sBPny ztzs|bf;6}gshAHGc#tjvzcAyM&0izFcV+O6z=xF7;3+Y6Byp*RRm98U+#Du%j zP229Y;Lu`fT_>Sd>zAQ8Kg-shx9A&n*cej5@aG@Yeua?dK_I4V1rUn-j*i}q7iA*% z-ccX-L~gtkAM;_3Y|J+NK5IGF%+4*ldvl-p$sINY^+DTcF54xa6r+9i5v+d@eB+=r zc|@j6zvDP!V@CPS>`Hq&{H2h>U@@?8rMg&`@;q>@$GtHH8xy-DL}TdnzYHqi6CSx- z*wczmJ0H}vx*8m5-+KyxX3|xYW3%VGx!jtzcP$esTQV7v*gh?}_haEJqv63ECA%D3 zbjd_}o0Y-4uZGj&Z}jwl^$8$2KaM1QW4A8P+)2uCsEheHs_2@P9%e#btqG9tF z&Ysr=*>81Y>9s%1rv2h;xkFDO3%`w^6>!#A5Hnlso$O}5#-=@b%RZW4+|DaGNltfC zwex5XD=qjOT%t?;s!sa&U_4i$F9~H4BHHxIujyypRk3NnUgB`8FAMZZ9NGNTa{)n*@pGsBLfq?i9it!Z^42(uDzjx#(uI#^r~%aEkqDUnVk2s(5!xIf7h&CN&w|=VjSZSJBhjMD^9R>+Ty!#;B{#2FyG;iNoZ>9@A*olA zT8z-@ee+W6@JvVt($~Kzacv)IwE-{F4vwF)9=r1FtT$~A>#mKLnF%y9EH|*2+I}iN zSYJ1DYFtnwnEoVN=S!@wuS!aG*&et!^usIW~Yy~8} zX9M|h7pbxN{!UHo#=xuM_XB)|;o4DocHio2Xt!&nzkg_bfoemAVS*4R(~9NRTwiA_ z@2qUC#z$<}NTfc^fh12f$yBChK=iJBu{b=F-PC78`fD}c5d#o>75?brPf8|!!dsQV zmgmbk71A1aG2OX}O8UNUg5#>y@X0>a4nsocfM%ZUG8<~-*rZfACq$%cs&aK#l(V9b ziaRs>)<`UTXOZ{!LQ+Le*0FPwM6BlbH(mR&9+;aD&am*Yu5n`pSnKbVls&xR8~O`l ze*Qeo2jJ=S*dX0ET{;p%8>6MB#jj@+2K)a^E2SqHP7AafoJ`Y3x#bVd)=7P7$t#rkFyV;mjr zE)%MtE1$!3qe+)`szMP*3#%(CPL;!pQOz!OjM4%wn_kHokP6;ZS9w5q_X`|c8V(q~ z;$9fT?zg#~adTO$=?*=NE4zRcj<8sWtE^}IRB9Gd%(y-l)amX4r(xBLnrTrsoeh5x z`Mi+4-8TNhhatcN&%YE9oaAt&^V)ivP@j@9O?~1N@CDHNm%!kYaDm7vZGau{PHpn#v zs@{w$>J1y$myR#A&ixVQCudB;>*Lt@osrx%=hB-z6hwp_jGr&Jh5+t(k_bDeSHWyv z85=i|GV`smNX(PP`nE$tGDg78mGr7#NQeFQM>I=Zm0N7}0*UBn(XCq)57XE7)NL&V zOC~(A%yW~uglbXF=vghW>L=O#d=Dfd#LSxZ`_L9P4HL^u{NN}1EG{_b6Y0WhtO?omFB0W?+4d(3qL_L2g+_A2;9<^WWUPp8HktOOPu{Q z@lwH4n%UF8kwZSsi<({6$>q3fo!W=iy^MMalN;)O2yA&m?b_Aj^0TrUzD1qKFc(LAeHAsg(Qb3|1;|jeYdZ^`#!pyrTx6T&m!GOVS9Wx#V`^YxBA(gf z#=v!U>%_w6dHFaRYEI7{%0bgFl3y)|@0Q2w;wU_(@w@*Icv42-0>Q2wm^)`KZgl&_*xhST6HEE^l zsDhGtxB1KD3c)v0)VN)*tx3}vx(?%a`se*oM}jT-0a^4OQB!r7BX4hqz%A^jn7DIG z%9QQ+6UK9zF)~q}XSQ+YP)DxK(mh++)};En%*-E-Z-gm1xoOI{K2!yj1zJG&kk&L0 zG>X>7Du+1cDp#iZNv=H)56Fneo%7X78S$rL?L-a&ZmemOicfiCgx&hLKOpb@O3i-} z8gUN-5Q4-w^%;+nju=(n8MP|pT7DP-0a?vIH1AY%J(l7+qq-xEP@ z3+(#{IF^01rh7PN%mHdYY}w$3k!1FojeKJbfNJy;WO@hNaK^{%tktT_B@;z-D{J?E zkb1S!Uii>UgE_N`TXFMD73DBZpQYQb_2$zwSj))|bRfKS+`oPpcWd{>&Px_#OMwx8 z70&M&G<3CRwQ)IIOOm~xSyA$59{0orgl%6FZ0w)Na`N2Q6wkwLc(DDG@$^f=q|5vp zjumtJd$9`l# ztPgi6+Z8yV9#QlExque;5o#jSe%MocuNoOm*SgbY7x?xnOOTqaQ&E^9{ixT}K& z$8op)Uhtdv1^?2f@MpojZ-IO!2id7(VjTW(>CyD1+HAWCSuU>QMIT0P`J+1=ANVs- zFcN{GXWd>espWe@3siQ-vHox2{2Q7Y@E`VllWK|XrOV;l;W3ijM;|TL)sHLcx-S^G z;)6OWaodrJRNz)rhg9!H_C+9Rl zhwx;gGLA52f9)gJ>}YG@HYxwM)l$bZ&VyF5!&W&z_%%Ipb{i;uqF)a6W6{8CUVEI3h7QPrs`UD)W^;Y^ClJMA!HDeUTqRkXhSM3o z&MfH+KbTs5^uDNQS^QE`Bi)Ejf^kJg#TjSR?s|Fcz<24|J;?(_gh$=7w;02oM@{}S zLMsesq*#-z^)hTj=~4~_zk0DW|95k(EvL;`Ol^2_#q?xSByYh-(N+6jAm)1=Wau}4 z3|{_|q5o!He}DT(H{oXA-SHsl?TgQ2#V-x6_BfCh?qUYbG0L;w$ zB)&L9ey>`k{mB^4ufxl6>f1k{gU|^MJ(pxK7piiiv z`A~4bIkEzsY{<-cYfb}-lX0~}iMwdvr{%p$1q2?RXzu(wT>ku}fBg}^3x@k(n*uvM z9qN#n%zNi1-M}h#*z4@CwA%I}7=r6YSH0&= z{QgboQFFKp|F4PA&;nv+csER#`0w`kZ%ce$8R+0dUTOEkvn_0CxFYkYDvvxi&< zFA5%g^DF}uUZf}20R@r&%CjE)=jZ=5m;e0Al7gwEv*==?*#Gtm6xVb1f2wLjqX4*~w&sK6`+Sj25oEpI$P{=ZE2udlK^sIH0SV;P4cWPn~07)}xdZSr@J z{1K1`O3+fyYFdB*wm7Tlg>bHVp&Rs14e_V~+k0eIGRr|gTp;d6_?7BBfu8u2076of zgNsXL7PDSoZ9doaId^C?bgw9xTgJ7}&#B}zekKW`U(u?5lsu8qChaS+ZVFo5{SEjn|B+H*zo4)ZCYYY3(f_#-RjXXw$7>0jykWdcb2Po-y z6KQ-B%fS@!bR2S;oF>le*kj2ar5L=y3N?`#V08dzL{{p3gz%HiJ5fVFOoZ2u|A}=g zI2m~LHy`qb;sL2K37ZczaqA=%x!i4ApuqD=qc=c#upl@&2{ObqSJX}q+U97fmjZwW zz5)wzVFaUia{+Tgi2P%`lc!m<0A@gfM6n=0Njd#koTKh56knOImOzn`DOl1I2n=a^ zMnnAU?}s^LCDSt>`U5s61$!ZMPG+wpc@t8h)S;SqL34FCB{^QEOuYjM-IIRPkd-e| zTqrS%BSB4H==NEPJpQcs=1?=tAvJkhc0jE|ux3gM>I^M=j9T88 zZFK7%3)xtffJV!?!aLefMPwf9GTQvs-sjP@;8C5GS)HRwpFLr`*+ zqpfMJeHh(+MahKwKpllD9pu2IlYp7n(!t_>q3~aJosbFa^s{P=-w6T=_G*IhucRVm zfz>>x(cq!iXLX*^-Vs~(5FtZHOixycI5hq9_e zp4syot>l*%rV;OwxuJWGZO~fJz&pzXGfc|GK&&z;Q!?N_vcP>FUtlGB`A_#zR`D8D zl;TkYrql?$(RQsqhV{{t*91Tn88U)=79oZ4$rBI4L)mI#1t9e7rp2>SdID1{(CofD z`N?Fm+MJZ|)d*cbBXwAMxrnBtfMiEZA~O5tgfc4Q#O}5(WdmuW?b~Dz=8Ay{n))OC z$O1{1C059x4C>fi~rlU9ucVjO8r8f4J8DCY1gCkF#PsR|$P%U+Y z2og()UfdB7Im0Js=h7&>Ct@q+6zPDhe|&yjz}20%0|%I!bjq;?)p~?#Xr;_pbh7AxJEB(X!nLI0(np&1a1(&`5hb zVa7um>Vo4Tl64h$dOW#T3laEAVg1G!NfcLfmK7n#sVVG=ks#xXT^fl((GAF=8T%&` zQ1DRoRQ-d>QpTBA&STr@Gn+k@q>3K54?I76L`yzey`4ETI~6;6_4GVIP_;|Vubv7+PjdtiXz9tsJ6f&sGVaZF3Eo0${GRXd!-ywT>ZIq8i{m#t@;Kxfd6* zI_TQoyp*@4?tuAXVtb+KtFL2;Ht8gHCR#Wzz6UYRkD37Z)9m$XOmy$5zdY+FNAOS%MpQOf7HXa}{JEJCK%50_sJQ#FNKu8~?t zJHARjtUa5}V{hPKH?&xX9UJwF?+!Qm97yJ4^UWTWjdI9K?scO<^&R&ptIRZVExMe` zW0x$MZ5TVC{<7=nR?=UB%nqAmdzgJE%&}{V8f?On^g|9GKj@f3QH6v#UFoskSP`^2 zOHc^bJ3TzK9uT3y)9;;waIe>d{|&ZbfGVheAJ;ui{$2)PEUR4~;`wP`X64I+w&Y*D z-%UMu@>R!3B!1qae^ikh`?#wLZRuogZ3~TrYTtXMrfXVHiG-tFLrG>D4sWTInjG;k zn9I6qcetXKa%`$L(xoa_v3ib;$SIf%x*5A1T6{D5uCRG=uJW3&z2Ce-^km8T34uKt zDlVx6Dm2DSAa)sc5hnroV6^;3fO8Z*xufKJ%e96sc(09R|AG zhv0hxx`p*Prz}oW4=Cx))~MB7(rdfsm|oWv*@O6q0=Uc8$7f|QD7v%vaF)3wbfZeM zYA23JPVggf@>i_iDjjoK-7VsKY=9W6z^{VPr9%B=SY-Z&%rPL<-UIkn1x4AHzYU`O z8IaqOfqu{T1VI)#Ae@x7;;iKFFMCUzaUQ1qB2HSpV_C`Z|w->^VR1Y z`>r&~e0bCN@W5jDW2;}hqZl-2`w6Z7oq(Cy{AS%i@ex3p_E?gEtI?PMVmBdNCQOUx zi=jXTaeXDkzkTo#43MX^K)S<6C%nDS=6dn-m{|e1+ogm>L{2h6qb7z>Tg0rxx8@p9 zM^}%INT5Nl^o4%dY3ywN-t3{pNOinHIh~(LektTwtU0X}YJbo|8ktGqX{ZSu$?g#6 z=OYaZGo1jNzvpp&{f-n+GTzCBXA9>sUxkMbM6b>H+N>!U;O_V(?Fsm<(j9I@nqN$l z1VrJN$_?48F>V%q5k&ZMj4R%DGw6Od<#<)g03f{5Xpqzi3?C13L?9z3fA8WgNN^!L z!CpGp!DZ?k3f>x=RYusc57A>YZEV*7SCgB#WuM8y6gj!!_Pw^#1h zS;nw}q?6m(wBfK^*rMODGI@yk@K%g|s&t3X=Vj?w&uk-ykYvgStioKRUXDV;%yV>5 zYt)8CUs($-`vPDHF7zd*y|wX1(F6q^#$$zdN6Uu@2E0331LN?Z==ej50#HB|Dpxu8 z-kugrMyYoGCSQVXEOtV?#sGzrjGq4Lo-9*oJGM*_4m~=&jzSquH12l zj)sRSDuWm%@)SvAqwCn9^SbVwFErYk4Cdj^&8XnE!vGr&Dm!>aic8uZ7F`P2FolxM zjJ90|dzKBa;!R+4SL*H6J*fE^z02@2bIQ5_nKke-oAD!P@G_GEnH_I-oB^hTPcQ=T zSRHbOO%TXjdkM(=cx{l{`_1LFOV7WZVgpf8zk}?-4bpV}u!$zN+MTlH_Ix=T&qc9oL)=3J%>gybl$U6TG8dSqkg8kBXCzrN&LeuD`{u zPASRk$<9jCneCZCM}i9sO8oXq{gWfFZrF5!c?lj;g-pJE(Cjm_PG#W+Efb?Ov#Van zN0E{mj%_y?+CwArWQgKAmK|fUw?mGV#}ajJ04L^^l#mAVdIu(n<7eBzlWQ6@m{j7L z{qIr|IZXk0FX3-52L4L`n3c5Ew^<&7Bo1Zf_aWOcfVr)|dV4$i(S_0vZ`qUiZEmL~ zQ!-~=@?6Raqid6kjWgzloAj*e)}^CWeYQyIl|zgdw@-=(YpLEA3Dt!r_t8;?V)bqIr6|PRA^Z{)jJc zLhhj@5e@kv+`E6Ce6>H`??Z-DN^ z8S!{fJ)sI1!FfC*FpNRSp4Psu%-kN_I|bO8{<19FaG=@Hiy3F*SV>4L>zv=U_Hh!9 za=&0DJH*f;0+$l|pe`P9Zg2KUNJh18e10LUd$euq8pc6=XCxD+f2&bPRX`aqmqnG$ z!?aE;cDshWhs{-=F2OE$Av0#N)%TE&b9X|Kk3}9p&Z`UjLH;KQx zY~eH6bSpc-E+?7xi<9;-{TH5fKhDse^Dyh8;0=5e z&`3X7;W^8K@odjd9$? ze^MqUC6NCwYM%>$r5IiVfq=s|#P9DSfRD`Llgc0)T@Z0YZ-9wR z2Jk8YaH8M_OE9i~@&x&FU~YPMIRJ|EFnC2UBUkB$SUXnc%{lQiK z{^rA605db}(5<}>!bP*)~cBlmG? z9y)f7%#L#@k@FtQZu*9Yhqa7H?Fi|ds-wMhx6Hiyt84qhBkt?GP9rK7?+L%E(DCl! z%O^j9yFm8I4-lYR{Ff`X;g-2IXI%H@QcY+uZ1&0042Xv~i~M&>r89A+ix%aJMS{DN zp}f7i_EVK~SmE^mr$Jk3J-5Ze&NeNRSVxB*EfdokLh2s}o;||ZEwsh$56+o}NKt)% z>d*P<0^guA?@9So7#`8JWX)I4fPYScKcCK1KG;-iC3#O(-Wq>seHr zFrt;Ww@X!yGX=a$S@3u-y>;)ruKEK|D?AHP#Me?;>pd^)mWIc96S z>R7LV5sBFvavm{_Y!#S^i7lO;&&Uzo+y`439f!8hr;|e!JF1TNtEfdayD5ZwMd#C! z9EK4y;bjgf;Tjz^M2wj*O+DD%)_ZExye&86RP0pAfM2+YPh7$SAcpYM(V-UVScnQ= z+53sxJUzgf%xK^*gbuG!5jqd|P<%=X*SHiwH;y3JL^|5Jge)F%>db3k5aK+s(ILm(h`Xon z)NkC`<|svH?Q=N1UFkfq++Lb>QJJ}w{PK_WPYW+OR(m-b~ z&x#2h7W79Lh0uvD!+?eUf(+t-EWj7?=(QQn|3>N0_y4w6E$JWvGbcF?8rzEtCcNemw#%r3kE>cGp9cGX2$8r&6*un zbVngdRuB=6*y=M3QZ$asj&7b{z!XzLlDNqnikv+HRaH(=7A%T@w0ylFK=un! ztBpW~J>B5I?d+0EUbBAD;fkNwk5_68E~DP*aU6wRsXbPQ-*!ia2H3%N0 z<^ZNX&GmJ6Z-2Q;9|Vcv0x2c#%M5nku6@8;+)z^d5sbN&WNAmPF397DVJ!DCs&=Z8 zz8%U457RZzD*RM=v!HI-bGtm9Ny*MLYP2m>Ni;npr&3#N?|YD-fBg}`cl{fC3t#aV z6Kz=(MWy{bagejT!(*K~C`e@MedT)W^6Y?l&SF45PRFvadm{?#{%JknXud-~pp3)S z?y^Vv+`1?5=XsPIS4dS8W_#F82)n#pzpOM|PO%+C*t=%UcJB357C*&rLnjw!QUjqg zl6vATdv<$0t+lWtfKxoAM8I857fU7rV;A#KwTuW|$8MN5@Hx3Ev$(siTyv!k?);f+ zQ`|@`{ey98M}UzE`%yDS+3@_?kN(ewQ{zViX&vGIn9#AQEN zFnJsFS;xlM$5WWJSI;>XqxaZu<4#bfy+_UZ%<*2%@jQm{zC#KV7U$uTy=c4s9-)Zo zkYzXa&3+nRhLamua;}Uk=u|&$s?>Zb9E8|rDlDbOv!_b{XdgX&Kl^7lt_$qrrk-hJ ztD#3~ZC5ONC=t=wRG;_v)zY&iuN@2L?Rjj-#xZ_p+>hSru?co>a%DV4Qk-$G-On!m zo4<=22(w+-&^l#58B|grUajYrApU8Mz2T(AI~iZ`add#Q1M4^)W#UBTL?7@r$O`>K6T^ssJ5d;!<0J}d4n+o@q4Qq1e@nz zzIL-BRsGH*9;udZrYt|xC9eweiHz9ajWa=bzTey47_8Y8?(KE)pV~NRJ4uFwphR^& z>J8#CZX2|NrH5O%!X~y1`SQiN)c9;Yr~Z`G$gcHi%i--bhPz=`{yR%&r6$xSe%IOOpLwats6+MiOn!FoCkzU-J7x24if zs!glP-D$^a}2IuA9YYQcSh&cH6aIr3ZXETY)XWg9Q?w#|UTN?THM{$G3W zr@)qaXzf9U{-JC($^T*Rz2m9=|Nr4qN-3ofvdYY?D0`GBWR$%Xg>;PUO+rx=p>T{S zviDw5Wbb)wGIL~aevj8d@Av0(`+l!~u0O8py4|in>gJr+>pWl2@z~@3T0oQ(npoAV zK7p!mEY!qi%ngK*>*O~_AP)h{hpIO@1gPBj!6-9~cR8=yDQ{loPNrJ&X52brr7)oB zsOajqPuNG>LfWr7n3sl?tQImBein3|o6iwqn=%}%9aH$M;k&TQ<@@9^al z{GBEqCuH@^U`8}@liehpn|kqUrmHf|Wv;xDv=$1(@aC`2N9Ysp+OGFlcc{mWWQ|8S z1|P=?ZT!web5Xkf@t{?jd^XYNkw<=p3S%Hmio#?1E6FpJ$v?jJ5J9Wq2#2k8!rxBtA3YqCUA*Z zI!OBJ9BM1Qk}2$Ii*>|Uls8+RLs*LGZLV+VPF>gH%wOrbQp>t?-hA6eKiUmiXtmxu zOJuU1ohjYfM*BZ#(bNw?aZeZRZez>rtEy_!$HmmEy_Ss}jUmFNI~}wq@599%Za|MlzM}i1~P?j5nv>*&je+CA;RF5}dlC1lxEokZh7? z7MIJMFPhG)f>tNioUV$HrynDtV5ly_6?>fOMtfK}}mQ?U_C9U%!AjSrt({-9Vp`{KpCF)zX~R zp^25s_BDPFRX&F;X7_7MT1IYY4P8e@&e*yWxzgR}qN2Oe(6M9Te6g_=&xk!Xqwls z=5Tgv`d2aK;x*WQj)txOa8jYBfdMfwn^~aF@L><4F(bEr8y3t}o?i+n-IQRCu=_-& zrsr;4{4?Q;;`N{Jvh6-Dc@Be(mZ~Vn|M~3l9lwGN)!-aW^Ks8}I!ziT$=674cJC>3 z8!{ehoo8au*g=)To{24(Zb;+!;ObIEZEID|UHxteUr&bur909x6S=(@7pHvp*@2p0 zbs-=tzuE}rq*R`zt>wtoVpc$Op4^7B_j9US0t4-xCx*!^|VLPpMgPVNAI(e1pPeg_kKldp?I zr!Hz88%LQrYCcf3K5Q$rv*^^Z^-A=}r6T*O7eys@E=BDsn#!n@>9t4WPiV+PSF>-XU064@&^5c{z{%^CMTIxCLM8td2tWi$F$fY$ulT3taleymf_rTy^ugk2 zvMt@{`}!r5jBDTPgchVxzUib)0Zr7>v-dN)-8q@iI%~PPl@tUtRA2F05nYVxs6p`&7b zgw}QR*-Un)+{PSq=RG?5xo-Vt|EeR~Gt8QJC}{cY-yD_$aRQiW!xEj9gzkMcHJW3)^b8Ft@TOA8QqWP4Lt9HO>(l^db!)Mb6j+1O-_uFKVaMu+{DozY2f6? zF2sOSuQ(p*>JsOp0L?G$enpoZdW_>_v%|8T)e3ghl^urh^OGd17!# zJfm0jUaDg3@Ax|P?pm(pdDKa;26TTW4^tEQp_0^;37OPfaU7j-D?18MgFU|6bvvlFKIz61w+m0jwxiNL97c zPZ(nPrO0c(h!9}kj~o0C9=lX}F9eI`JCrQkm`uWwMl+ITG7?XrZAMBr?ZVmFwp1$-;4bTdMo~6Hy+cGam!!b&BeGyuNDk z&w(5rI|vv2Ayv*G`!%Q~S1)A&AP|NDVAb;nn_P^$i`tjLCq+hdM8?`#Zo zN}fk4@qHlj&lB(;Z?SAwdQeQg5;2y(hSy`f@Z`( zT(~ELz8z$5&^Jw3y1kUT^qI?93PNJCUvEq2Tv+HZN~sAHnR=4?YOP>HLv=^`LG~b6 zsvP8p3;u4=UId2+B+a#^kdrtAs0S3OHE>V8xoSv-jXIPduazAYX;N1ZLIi(9Eg^RG zMG_ZjAlGzD`xC9LAKxyR5eA8bPU#X`0K*2oEDCDVw(V;-u5q^gGx_4I+=LRlw9Blw z=w`IYV)QBE-s*#K!*b1GA9gIsPCMp~NdFZw?tZ`m6B2gdf@Xo3m#rUPx4+$@i8r3T z6d1XA3;031Q#!Xg8zE$^p=)M^`jMSx=FDtGqc)D++qIo*`VohS`1E>4R(e!&=Rlbn zKXD$)?$l`oH@4@i&uI4BB#y?GtpTwAt$wFh+2pj#(OPG9Dw$U~C&##MZLU#{BGwU- zp!?6@D^haEYs(mvn>;Z_007_jhZ<%QqmR?HXoE`wnX5xMPxKX1i}nt@@2W~#$}>o&_kUuktu z#1jzK9S|*Q{VGvlCzznah9yB6{~BlMVP%_UYqDcYX7{~1g3dl|w>snn0_$fxsE!e z6wTKdkLPL3U<+saKdOGtP3bp|Lkp1VWR}wu*I_aRLb8Jg^S8dnMX;*+etl-}u|Q*H zZ9Fm+{*@{zrWjbZ%JNz#oaD&qdZ=hZGWX-r*gFpmT}UD$&I)g@xkpOgun$EJjm$bq z#=lrJc*ml0k8PtJ|SDa~vtAv>?&}pZkvoLw?c~_|q+0Gvt-{jWRuriuP#y*kPiKKP> zeFX&;X#qF|U*x(C0%dXWWQdNbaLqi%Pi-L$*1G7JS${n&r&yyDg1+kJ9F&DpYy5;S z1FyCSG4C&<=|kC1eB00u=QKM>ZwaXiPsRp5saSS;3hwyNr;Q8ZW)#01znt>cfPM3A za1z+E^cI#A-CAte0qVpwgf2zv$=baKd5FBl|-b&LLD`3_#mq1&hWDEkpp?OesQum%FYK?yZ zoAdhc7DC_}^yWrwfvcU#lXTR7D}tvGtr-0=SJbIPXF-RZ|94u2fGeZ-xhkq&b%<5R zxun*dQ`@F&(iC5l$sL`@Q4Vg*-`U>C?su4;1TQ)quJcmwm?zw(>w0G-WnO9f~p!X zJktsRY2o%th@U5(yxyhP^E~dH6B3d5`KWh<-prj(xZmD44GBKSwX`5Hh4!R@Xv+rv z+h8Q7Bk?ggx8H|oSKY|8%)c3r2dSG=PrI%w+wqZ|X4A7^-9HUCv0#Ke6Tc%(kCLr=T*k~44cc|%8k^}WY5 z>MQHz1KZ2I!l2xqiOzyWEq6`ZEPE`ydYzAHx+0PE@aNmnIJ9Hg!J}4{qC^cvoAb5vaT z4mD;HUZ03T&)JqSIUC?-XOxgEIgUv5L0(ClkUdQ-E|ut=^Dj2tk3+sKv#vWEJw`Ea zzL+XM{+5k(9en-7k)6(O>Sr@T)i@_C>KYzBMekQfo$#e^Qn?)HOi8Zk5sJtVqM}ug zBdWf0o5IfF=Hl7KjdtCX>3*;Z6Cp~N+A8WAJItR`H5wv;`yINa?4LA0@rX<-vENXu(eR*! z*6rZ&zhEjym@WrE)!z7zQ^Jc1h8WhyihvkQaD#eGVD1m40&3N)?q{_ehO4WeFdg^g zMb-=qUF;y>FIQ--^6Mi=iBdDg4(|)fn8l*z1$}Rgb$+2no6phwV;}T2xIx2Pr@D?R z%du`aO4?;HB!ez#t$7fwxF>LN?F*b4_Ma0MIOjs_ z`u%ErJ=A}NZh3~BJJ_mQ@)=_(sG~No`ozK$Aa|EL4eYDHRp?g_x8z?~e3z0F&@S1! zRXc49O^m6YS0-RH<4T$Tk$n@&6*pXK?Hoy5CL1rP_aq zyPxRb+UDp_3?*W@%szedi;K3F#vWq@(ul*+-$K+M|GNe4g9xY$-=$b1EjfO|DPoNOt*BQ+u^cO4+;DR*AY)oA2NGSToTwf(}dRs0w1pj_@L@q`jI z(L1|{-y-MgZ)f&kbFx*saTdDrK*ebO{8$B4d2F=v>zaLXRUU}B5!qPe*fiXWJQo+A z=r~18y`Og!0E!|p+MW+7ZG$k-FA8b3I4&?P`#ZajRBICF-?Ho&`oYb0#=#^B1nrdt zs@#$Jc9WF+FCsf@jq-#>2B>dArlSzd#y*`R;cBptuKAU5PRDL2MPBgb_9N@4r{>Jl z(|5hYQ^1m-Ak#s*_wcWCksG2E$yT~o7DBwid`r~|EyN79j1b**o|Mt8NiG_>UL@S( z*uOxN3`V13{V#l5r{`52LAFlX%@=~F;@7p+lwC}%bG)2n3FImhv4JFh|5bL1vp}0( z0E?eVfb2!6Y3Y`YHl&=<$N6+N=ZD_bLp4DASG>&S9uwH{G1lhL#nlo2X)rxIz~R6c z*FHGyIyYYSW(5^#ROxC+U(OlvLPi8p$!_w>`TW{kSz?}UeevkZlTKjbMVvI%^R;e>9oFeXu2^jXhja^&mhSd z@RUjx=H7Pl7I=m_$+jb$L`#FH#gzicLI}{R*(Vi!8KjRmWd`*k=<(`}G**|8si&za zYYu^1iSyeh=C#K9Jle)|Km?WDLE08yJ@^#3Cyx|D;D8Gli~%yKQU%KB|D7K{P5!>@ z=TX}u_&*?4u6GsxgRT5n-a;Gv5}J^p9cjM_>GD0$`bMJg|iNQ<3Y}bcJ9>Nt{q}ElWT!fIYRX_Z_*V z%dJ@(rdBUH3ndLXfgl`^jCxhZa z(`LOUQn(gHji*$As^V)R+`EzdE!=qUhUIyn9BrgP)%N$qUv#1-q@$06f}j8@3};AS zMhzCxs>qB^16`dUj?~<%2rU~#KKF+UUPQP84*lUFN!!2Cjb-2yp{h%fI%2^MnrD_FN%a zMB0jw=^TNilc88sFGwp%RS;aw)PfGX@F|FMa|_r?=E!qXV0J+eez}%f6G&I*g&|egbIGBH-plj_SWlKmXmihDAih2El?8JWA}* z!II6yyOsC^cZ*<0aUE(0+>y$4d(pj9-j^2tbE~CW83Rzu$JpjEb>jHjur^`8ED%%r ztWa%v_h@j{U#od{G!~??g5)go1^68zY<7D=58!J`Vjhqog=LVgF0_1Q;m6$3g_^XWs+qzM?eUZ5!WT1yrrT6uecD z!(xFhjd!ZJcH+NZCLsM)td(nUBKKeyn0FP>9+lw^*d2O>sdbJaya_GKw{(b+Q~&#A zJkl(ZKn{RJWw($TU|c)Uzkh!4Fw*pF$B6t05BS$!0=F~!U;aP00p>=FD|4yt$broR z>;3@>J%FbTHQEafxUf#_;eDa@PtWmdB=wh0`;Z2zjn{$g(sgg7?1Iw5DA4l=WmBbi z2Y}3Yf$NHBakPEuAZy>e^lqdG*`&LK*t>0k3u(KAU&r#+soLY@9z)V8#EEUv(o8)K z$=RhJ@@p_q%=L$h=iG-7qr*?oc8@&VFCg0ej8HD_v(aY|u*pZ)O7sYSbOz zy1h!Z)8v{kFMYu*A#yxfpk(9wAvt?uJ<1xEs=>=(h3o!-E>w0pB7khzjj>!#hl@-$ z6ZYn~eSot%1fmkjoY6Gx_S?gGf-oCwnDC<(#+`8d4G?XVr;Yceo)6Fr$+2BX4)=6Y z=#$D3ul2al6bpkeSsS0<6OI~)K(`jZ>5ZHHkxO7e;i|CoA!fSBFqc|2cF_Jbl&EXN zqGn=waJ>MRS%DL8KZ>1T#!Ei)M@w+ccA`R~om=2b2X9##mJqK^|wj{VT%zca5i+R3}D7dwh3gPcTWMBk_dQ788n6R4?d)ZM@;W2 z(w11SFi*FqH{kbha)^!KrDwbgn85?|LiNVtQwTv8Ql?RR7-0+X2glFp0gRp+;6>tDd}M^661`w1{Z)duOLypQ^r$*ez*RdtL~ztyr9 z5FFShFPJD*a331%Pu;#FaJOZ^aYC_!Q8r7|H}*3_@})`ofZ%sLW_fFe0%+b_6~}5a z2&=YQ=1~kx`^6Wd8PSZFws)dFVE|d-b3pJ3=U(X+S|3izKaC@{Rwh#Ch*q~NComk37P7P212AqzP-g`6CFF6N@dSFCw7FU8FI=X8xijIqmnv^W z`3*Ku1^5MJX&#t_*N|q$ir@Uek`7J6!2vXh2Me*wXvNhJvHCaF;^KW>1FS-0M;L^4 zt)9J#jPnpYCDU`WMVv83R_;Pxp#QbsbIF%qqZJ33j6+U;cZi+(VI3}S9!Dh6gCk^e zb%bJUCMNiheTDWa#J+nk>05#$(>Abl3RUDN#r5vPhTpBZvk*@3xT>Zzz{t@e6wESI;-n051yJDVq}WHea9+sqiFiw5O_I5G*ab$ky| z6ayKlg8Nt+Fed;M>KRs%%i{cids8 zh(0;VwH&*U_RK5R`DPVNi~YjnGb!IY0=g~O01;y4L5pkWSC(dlhugYcdOJKwbC~9r zWj3S)E((d42E7=Dk`%IqWi_JVRhGg>WZ%#fy74)$&AL_5gL3MZ_CUy@q=5Ru+CHNo zlmg8#)x)~}Glv%RK*%GY8zsk#ak@uO2{f8NE;HbTnBMW5z0hdQN&uv1VKiEOI9@oj1cZ@BYX83B)jn)8qVN0twO}%4+dK6STXc0;n41I^;X0=Y!>UE>8M2`6qm% zJ}RqqVQeH|_;PJsv_SoKbe~Rca6;i0U)P*If^!u;O3rY>H(%T{{18K*?tIUp@#J8G zO@NIL>v|sL+X}gU0k+wA%HEH%E#4JfsSL(noBkXMaABQvykM}D8_;Or|3=)=C4!%E zi$O^jKz3+ve*Rn`?x^Wqrltc8g3p>v2&Iab&EAe+3fUtq^;1PrDj@6>Eo+cbpGa ztGYA4e3$5c@5M_*#7ZZzNleukN&c)k90WO|-4D@eYm=`982<{+l&nmX_!A_l`9u%% z0FpkLp;)R#J)q+lH6OPUx3o~}7WCg*FpY>mFyR@<#aQeDw1fn1(x6x;-x@ilE>4!d z%L)OgHfl1LE{?oRg?PSEF?G?c^KGlk7+r`WttwUu?<#*50G4@(BR_YrEQwOV{#AnB zYenVP3pi<92{y}0*9pc``_U-wNlJ;77hAJ~^(_QMmT1)C) zl&r3j77raX(bR>sw3U6%OKNsh*uc@6J8Um(%ZAu!iTdmkQ!v~#bu;;AnkFwK1% z$ES^m)%FbOK=1Gl0|!MR*!79-Y#n9fFS};8nxCtK5svF=rmM{L+vdDz zOfQuw({s1w(}la^D^0Vpr*_nzktVuRDfLq9In$?&5>Zg7l~&Is7nW8po0#00S2Lq|u2@{8=&UVn9>*oZiL3D> zw?;Id^WjNRXi^7_Ok!i|Q+5aOcP58o7I5p_0wW1~+uvl@Y7vY2g`nFIdDsp$2Yebk9&^PO#0U#RZirEf76(Q63iMg5x@0EDMIdI|v2d}jTLE9))1lUORv(5w# zl}uidRn45+7)Nz#WnXfxBTl$7L$*an-D{!p{aeaNIlsh~OzvcI9@UZB1j)AVtJj-> z=B+o4Kkf14U*A>lBAoBt(X@pof<+`$@pmU4A^x6_!{V-ig2Wzbj@VLtH~&m(<~b_O z(trIDQP<*`UJK1QuLSm#qKx2JLGJZ1BLCmiNGji$xWjQ!E2=CKmGiD8UlBS_+WYD>Q3T#z6Y^klIg`ucO`&W)Dd?`bswdo;+wNkQT3W) zYmCG8$(S3eOR0Lgd1I`t!$Y1$0N)Ip5@i$MHU2cYJd)DDFex0+@jgpq)ucb%(Be*Y zkf#>)Si4AN8cW_;RjGN@?(*y~jNax>c>#Wj7?LG>tb&AbpgH=`Er7L1h2FfRAk-{J zbV9S=P^gu8)saq5^MHZoKF01`4DrgWvDCCwLFr&pFD3?%@M4gliz@aW125cr~RH)3k{)VqR86imyEW0WIAjF+ay!JXX%&`Zs3|q>bzLjD8o`@s z8VkEwR^uX~B|9~BX6vQ=q_tDn1av6)cvS7-Me|$)F-)Jt<5QMLNJS~Ew>fR$YKr7h z9gsXjA+_qRkC_Ly2{El$fq$9#;Z0h0=T%XitFtr>vS*8F6_)@M zn(Oj&x819?0eoPXPA)$}PP7&yYhRnv`Ha)FU@O7d=D-t_lx{%Q-Mp@Y3`e6)<9pQL ztq|r_aW=qvPy}CpK`l!&Pgj7aH5rpqH!{=aL`8+CF)1eBy_^$ZbwiGJcqR9CB}LA_ z)Ms?Y2a0=Tt={*?oq2H+)^61T5b;Ut{nRoV1*yWgxOK(nlk2;^1sug9l$oO z#1HmicfM3h9JnQ)-OWuQ*)HFRxmt^{*QP92@ANLKr@gtcrPTW>HAOE~Z4gBnP#vx194e0W<(SP3Vq zA^cN8fMw^LyegG4u@Dto&$#tvRDAYK4t9Q$sQ4+{XcO zbj*|%kZd{ktf;l!H{-b$qi%A8F>YDbk?<-PiU$q55y~h8@GvakGo<`*2lEo~Fa-WD zJq!ScV%>U~SZYOR7b{M!{w>UO1ud-PY{6G`dtFC1clOCuqJpk^?+UI+cq@SvyY6gM z%e|q^gm0f$uPd`*S9?~Z3&a9am*(7J@x}3@7gf}^?Wx|+bDLh6jDBvY&HutVBjF4O z`{YBZTKvpU%fk!K7(fume9>kw_H2r~3ea9B1#h>6F$l9wHpLGswvK4px^8tHww2x< z8sXVp1tk*n#bG1i;(P8pk;Q`Uh5AK1J3HIaNC-AIjAy0J(j)Jg%T`IT%oWqj z*3a|AI*D%RGpHY|+6Y*F%ai=WE%$z&zIJ=b)x;L(;&N)tXTz*m{Q|jyqQpNF9!K}kJi4}J*dOxJ5hFOvoGD79Ez(BH`GPpp1|F;Tkn z2(_)&@>Lt9QAc#L_;^x_bH|*lW6@AKx|4C{;$%A6?AIJlZm3VhTpWdjJ*+Si(uRxt z4zKsjDzn2s3yY7D9>Q_V9Zk0)LDan-@hB2J672hnb$8FW-y|4S&r{Si*DuW2{DLpR zb|6DrO>U|nC&Q$s{93B4bfGhwPdrtQW$lo*U=4eJIaLalRl_09(}XP~OCwLev$N!C zZAnMGdDYYvn;@$jopLv9Qb>z?=_f6u$WA#b2fc}VIOn8#ukQ7cg=yx=PzA>^^UTP31e)07Vb=VdEnx?x$;XW^h{ej7-GvBk%Tx2<1weFC zu4cq0wJFr5tezJOZL<~aJypnNG>LDmrU`g16}U8b+qM{AXJj+tkC|51rOoAAsd+R* zf>k@8om%%qDNldAM+?;%MaYOceFZyUGxL5yD{x^r%g~eAP-;Cc_Lw&68f$O5e`%|7 z6DcVn+nEe)TNl=^>L)V%%tA+!IbI|*&2mhBxjviO6{47THq7Vj?gCk0fy6O2;irFU zxiRltW&U#L@Ns6bA-SQOH7{^7aQOIJ+p52@gVTQ$=u*q69cAAYQ%*&3##l0_4@Bk~ zEia{Xa-cBQTh`h;x#dKHEvBxY04Ua3!LVrACnboXTkZO6&(e?M4y;x50WMs|8L=M& zG@P%gpgL#Bux-G#>O*p$%?c}Re7jX!3bZ|CmOs`v+lUm%wj`x=zW8x0x$m5ybjBx6 zwn`1@08(DrN!FzFVcKanssUXd<1U+;?mI0jj3^f4krYea0E1L)DAS~k)Xq!pycElf z*Jc_c$s`mfL$YK;Vona|7(X5$%%>v3j+WouEgMOJsP4oQ1M+ita)b(bBUX0gRCsd7 z;V%O_YDEvVCDf&L6O`3>9|CC76%+B<^_+N7zN0uOZsge zx$$O>Dde?A(5m8YuwxhNpRxEuF0d=bb_W@~2nWttXN3zE3?_h`o+9aGabYkEhL-d8 z{&rz77WvD|^9C*xHF`m;AMJhB88_>_|J)j3v8z*ZrxS>Rl6SQ0;7sQ<#2FA!ipkUwM8(eIPttjP;!M6mY zDmxhGyX7#hMcEw>2>jgT_`Ap4f8+lw%;f!oKqDgoJM%kk<<#EKzbW88&Y#mec*WJy zVK;>s^#X=?e|h3A1)|#q2@lSjVh=;f!womIspc+R3^K$YRT#omzv?HB+3rJL15#R3?!JiHw`%$WBg{h+wL?Vcy~n}wZ5CP z2c-(rxW0H7H-=kLm?Jz@1C(wYJ}&)&8^RSxVUE}4HSQide6Vm7#bS}%I5NYRXQIrR zrC;v4p~u<8`n9{7u3kBu0q4dn12ID69=LJ*FiWomC&LL`YK2Z7##m_k!nHewG#i{O zPX8ez{w&Nt3fdkY7NPO~x{Z)l%~K3ySwGJ&iO}gN-DNW!zS|Aa6+~9w@E#s*nmmJB zt^543_X+0SMTJhheB3}T9Y7bFxMnRDge5$QxB_v3dN@K2SY{qGZYwE4jQp%esIiTd zPk6EYPwEhINR+^S6~#CrRZxW!I*+tB7=_wm24ZeMKoGrf97LiGmcyspAJz~KLlJ;5 zIYI-Dv)DU)yZO|g&5uk84CrB(ukWTI?YMx8oe4hf|9Y1Rn{vdy657_hCC_#CZh}ki z<>)q_cwF5KA5~WWT=?VTWjtd<-gsR^(J64cw~%4q56uStDhT?>0p<A@|H z0@fc$yqj(#clv;UAjZ}5kX7)t4RN2Wh97MHT*r`BQm?M zusI)&)4zckr6V%V#_1z9o;tEHPgWG-Z$|(>J5us_;RMb8N(c-X;CYg1JP1P7Dk5o9 z-|6?l17qMo`5(5D;^8A}rE@o+MAk|POELZjRdIJ$6sVA8pOtxx$jMm5^=Ey}1AqS@ zgI{*dJ+dJ%xBw3!OUObxBjEo1#5$O8Av!HwX4xUHxtp&jJ=?0OAWr?Jp1pux4 z!9I?@lvO1lxdm%|emKAw`H?XQ{J7{lP!jde2yS8)$cD+We?;WuTOSzXD-OPwL=$A( zVtFa&auVzaK^8(Uf;iucfaI=QQK8Q$$8>Kos3mBXV*Wtce2nT5v=z zb?_;~ozw|+y0**&rANO8O_lp$PUzBb*hU^?t?v@Wl zLc4Oqy$y~?3jO{FBL7^0jkexU(*s6pFD#+@O{m}AePxKW(0YldkNk`ZU@M!W^)8d_ zNhlT{*fNP%3=7D``=?^#4%da)+w(YLsuRri@LCL z4exx9k?LFyS{$f8XIW5pd{>|y7C`pLuy+!9Kc)G75V6b^0RV__KSFMeXR`(xbRx8CI2O9b|lF*dg=@LJyD|xro4Jqj?PlYPdVE z!kEnZdZ9=P-3h?in{!`Y(b*gSj~Gn<)bsDBVGQ>okiZK8UuZ%3sKM9%9#u`q&~PhV zK5S%leI63e0YOIi^52520XV3Y!qx$?>cdIsW^JyrpMb6E1@%ysYPrvxLEnANlevAhQYuX0UYp zHzxp9zJSvia>1={f(a^tc#)T$od&B(j)9mN$ngyf(0c|)&&r^qP5&F-Fb%nW3U|E^ z4tLZG8R{Yo`ifx~^m#l81#eAU04xglxxW5idPzeE{eNu1&8|XJo2cQi0%z|c^0&&BK;;jAl#6=}otQGHzA)TI{e8L^9hlHWE4Vd5@fpaC3&=w6xVMTM zzHp_szknQ|F`UIE)Wk<5uYb7|_P`c@_k{bYanHa_UV#B7;zJ@khLg;IxcTt-OCH>^ zk;_)+kRZf=9pbIyX{{(6jUeX;iWU*7_jx`N!l$>-;V3WtNxQ_nUkgCjf?EZ0YZGW{ zYAgl(Ww#+Vv`$t+-Qc&_gGx#Ls3_aYGR}EgK z6ig)y7Q~{Qpf^tdAQ^cqhQAN4Bdxsv?~n-%g~?qb@zmlw+gsO+TNs>2&JVoo^Fov7 zOrCqo|H_CszS8di__eIne+p9OX z06Wn<_|1cRx+=~~U2O4^#_RnT91DT0s0tMO#a}0P4y#6lpejvu8%8F}IsWcSzi~x@ zkJ;$)eNFJ={m8G}jFEgJtt51FNKXHkZNL5PnA`px(Cv}3GT>Z|j6$c(}I!hbi_naa(}qQYf1`#y3w&u*3hstZ}j93d~zTa#pg6 z1PgPoM0b6>*M*nue5%*H;^eDHxtY3`3zI?k-<`rIkqT{uaitkSSbi<1Hp@V>_kQFx zi>Q2aKJGzbDf`jIax8ykILK*7C^U8HZ)6Ch2Dbrn#nAHb2N8ono%d76ns^V zURSalt2<^R5qce^@l-~z`JtX5pE|LMPT}lZUFPHWa)YWP0@ivE-bLzD@ei+3Or=Zjam8HZP>!0T1b1q5)tEH9)ZR=I|>LWOAY37E6 zHWDIQUBd-GOGN7Hb!HI+Hhgipg5)Ckg}VYO$87^}b;a)$z!nMzfA0dmA{g)=Kq7vB z!P;sJOSE67q9O?79+m8`d?9?{)_zNbY%)kr9Qi#IHasT}f9}nE_S_6?U{SHw~bEfAPH8GrTqHtHSeG1D)`HJb)%*gfGf|vET4W&pcO^4!O7R2k4-qb_%e%_9?+nXhuu4M> zzFZ~bBsN0OAKZh0BWx{on*0hUTK zOz3}~6hzY-b4#gwuec`$i#bl-#-Lb}VLlEmok-t5sn9R$N(#fn@{8StohS?Q;qR|P z`Qg2y;h%#wq%}?RKO?Y62;k!astPr0Eec}xxykRB8(C_0nv;K228Jw90P2wO<1?U= z7SyN+VgX%Cg8Ok@6QF9bn6y@!U}R}QJ|nHpS!H;HR`jj_)Ug;guqkQVYvE1fFma(6 zfJwhy%b|O+fC0FPHV|oE52S08TW%CDi)^pzL-VxrI?^F+@I|)ZqGFvDC>zx zN@BlQj~3+RGc12`Y#nJ_TRnc?7 zh5KugS)1nVc(hvKnwfCt4UZ!~N-$5+Bcp-x!7~vE^wZH&q+hl7&$>#Lj0?3O!vgwF ze;+g(?M`jvIIrmHvEhSP5{X|iY=yptG6kru zlqM`id{OnF6;trqer_JUQP0=@q6=UeR z&XJMDxca5Jk)ys-fChB{qLg+eJm4nw5dJz7NV@Y}js*LH_H}x1x0QY>G@)Nr z^)div;0XU9pxM%96@o&kJ??;DfOy?_qnQ_|(yvYNlP$IAqNCb40HLDza_If|ZmRI; z@8lj03?;?J2JJM2@yd&?Rm(qj>h(k0_N%LETL%RLWSdgyl^$xYHS6gix>?gcKej!m z2Q=KXvtUp2PTiuG4b1Y7t=yRijpvuMkpSJIda*g$VpKU#U$DOj8h%5C?4SLKaMUEv zx=78I_EE&yAuUk$*FW7rn(ELB(;h7D1v7%k1 zy4hRYp|)s zduX^d3CW)##M||~eC5vJaKtP8YMyuH101msK>B{;Ohb^9Z2%rl&#)b|V8-z?E=Ej6 zmMHpkNx=#=_cy|W7KjE7(ZCw>FGBCVYVKD)PeJ3czUwc+$m6!V{IlZ{Yd$I_+Xu9f zJi>c}kOE?^-|VbB>ld`;0_wlXqKf*Q(8PPml+a4M>Qv1g^_%}Qd%Y4YxYzQIWR}6k zavkruZ8(wqvPW&AdEC`NfOBW=s%O-CuP+~fK-sMW5V;n|k^K1@HV^!)ntL05%YTRj zmfj~3{D`=dIRa>C%@fTriG>)3OTFpSDBs^~DS0;mi~zN?bT6k2!JN8eCmX!glY^!a zw0YVTi8kBnPAn}iZ0fQ{a4fw}(dzWsS2kp#jml?3Px+^6^A?uqI3jSs&p$;!3ReG8 zqgrUBz82M=ukzENkXf1RfytX04PTShOEPQ*85{Lv-W8lV9QmZzy76L#i;cWV#ngwC z?JlsP&P`WU0szbgzO#zXc<`1jdP5jOYc8+J;iUvtT3~GZdAl8?8$={yzbE^~!Ex<8 zeg4qmGhH+S=@m2?X~Us^9-K1j^5b9bF~nRNhvxNGpx&<2G2LwF2-u~r)H)y5UMa!Z z6jUP(T}G!q0%G5%b6z_vkrE6*bk>6Ibd^m-y7iIT;tKC%{-@A0{Vmj^IJnLyI<(j; zN#{=nIWS{JB*kc7brIiwX9>8p^mz5hZ9#0BO671@v`|xMTL?H~BHG`!@eaNJP0Cv( zJ+)o);l&&C0zoj^^3MADy=Exl>zFz~DU4FlG-`foVyMZJ@sJwh&_m?-rVX?~Y^u{Q zw)O|z&p(nncd;dg3a=Rwn&;^I7C)=?Gj9E2oS2-GkQ10?US;E(uKM_z20_>reXnJJ zj2o;L)D%PTT-#E0OAErU%VW0U=BJXu@8Iq#uCyusN@ZNgXw3EW>4-5|=ATyALq|>! z_ym-DiVbN8e9}td!q`s&TK);2+^Ly@_Xac;Smxa)@szYQ`kaM3-25dLYTXYW}L@#8{K~sgs;0%QZ>y z$TnlmMN9-|G$Krymi)|9o*`JF1E<0?rF~$IC{TwY#v)tE{vy89@X#c;C$L4@=HxKswG7e<+%KW z1ylc}e-3aR7+G#+sC6~}?)@|UbE>$cE=MaDk6my$uML}^gt6`6yv|8RHtour;nszf zSAniI_cH|HG@<&dos1s@6u}cBgXn-Uamvq-U$CpGH~Sr?lMmg;40YHHr~_cZIK2xP z`q_Op7<|u*VNWxp{=D@PetmD&NCmvGooU^jmgd{E)T6&_cpM(7z?Nh!n6j~CP#Yz) zR1;y^D{W|wkKY)|?`hzTL)&PiIi^uV;=QH8wPFinheB7-$Yt~yqmK4IzCBRle8|!< zTcvolCtLk>$fiKIJlnnj`Wa$roV&47KBlH5^YN2XM|-x9`Mv4x9HQcyEFwE%HZ5y- zXZ=;Iyk=g63>6|-qxGyFve=VidDybP)(Iv=eX-G;?dddD?m5Oq*1h?=I!iKDDlaCMdacvS+d)I2Nzyy)eAh^OCVi_ji_4Dez1QzJRrmdTpXdAhzW>}_x$*g2 z=XspRcpvZMeRhCogCHfl?L-pisGhqT8>F}I903mh4y|eK1DtT| z+Cf*%>En0%tI9{jg*>T?(X9c^aPfq*5UA~x6^vF~F(`2FQUfUt8&G8XsFbE@Gx#l; zI$`OF?np62Hauj(PuV&qKfOgt6n?nxAlULziX&Ttz@z2VY@05utenhnl=29pnF0WC zze{v~s6+zflZi$~RB{7&qKK!zG)*Y9S`cFg3U@l^czdi}LTBR1JWJZ=X&>0SYtC%@ zIIgRaH#N(M&>frY*dvzhE=X&V<>vy40@m@cvf?09i7#z7N5h|510a3K-u~33@HDNf zc!+qi_@oT!03PvsD~;babg#;o0AAR9CA#-8)`FP$x2P^0f2*0N+RSF91r&`^9N@zf-qn<)iJ(4jOVo#fj~gJkkzQ z4V*nJ7VGgaIRcUiTg?{MOq3)>U_BV(Jj1FztbXX`8Q$xvUA3tGp1hf7H8KV^eL(Yr z&DYEAMB~S7K{0+;K4^v_HC3XL#xq*XCDQcvb5ldQ>VO`;hrBVt`m|m-v})c#AYI-2 zo={Fl`+>=g@vL*Y=xz@zcy~Lh4D0<9YW>oa5ARME{7lOqyFdqe_`CcktE|BJH14NV z`0MDReJ+T*Io(BiCo}KQl9+rYe&oNPRq&H?aV#y7^Ik4D7s2e3jGFeY@6Dy0#=n4> zBjze#y}_}~(dpS?ud3NXKR7Qcur|{Hbaq!ctM3VkZGqqv^+b#=&_fh+18jQ;w;Y9! zP08=p-YbZb4`0547w_y6mTc|=4PlP%_15Jf!f03%3=b)ho8!bK3B|TlVKaQORmb6zrYJ^jkeFp^EYM*?E6>#6?)c{_7g#jtRY$A=D9Bk8 zQIq!vLB4ts%Tm$0XYVcFBI}OeI~N^g-#^LQEYU zw&{zj$l6cFO}HWB;KbzRen`l(0c%M5V&^XN=}83RD?u)0j`RxKzVryJq16wbDz#DY z;<7L76coAGp*`VdiLii%Ty7&k+@xUfHU|6@`+a>nys$1T29_=r2?;zXzKebzyyA3m z2j0+;Sx4{&A@U>%hd8}eJtvKjLl)9C72J07rA|^| zJitc}!8Y3@S#knKy#pQGl>zga@?IsH0%WSMwa&I>*xe$x-2J@m)*dp!cf!tV)&(td zBeJpLHI}ZJiEZX6C(C3dOZRz!f}Ebz97$qq^5L${kxvz*&8W0^sRtFvwF1R(OOPnt zr1RvW!CH2r+;Ur=q);KyAB$*hLGfU)vtKo)p~D<$FFeQBHG`2(2kg1>cQP87k>- zf82$Ce*DVf&+m*&MdU7hHSEOGxdD|>2x)u7JDjn{?lc(PnxG3Rm;ajk0m6onr9Sbu z1xxMr!rEr>2$mRplS6rRR;SYNslznV59_Hq_xy-B_jkHs&1agc{}aGQZ7H!rfP^9KkoisNOL?4@;b8P|KxQL z90DKcH9>HAyAvGFdP8v7tjnoMi{oFt;~uGsz$k^hC+Z_c{nB>*^_0=Z(USlclSaB^ zPDaUKCV3EsX%l;FCqS6Q_A6O;K8Y2oX+zbBb62ieZvQ?MO3KPdLXA>S7}pgw2#m`& z%HUmFR$)i>hwAoAH@SY zh`Y%Roz^d6Vt`h}@)BOy{h&@hMLM1Fgxg+B@}(+bEUD1KxA;m7gX=~*sw@iUKHj^_ zZO|0g*Y7byzWD8Ccu0pSFGMl(nb$ArvR7?c-7#&_ldPHL+K_UjH#RjCRID1x)0^du zL6DGRyZBKFEP87lS|EGJX>uB5^LXLjwA{Y_xA=i%JYO;3Wdd6(gF4I4V2H*1F({xN zWlR5jv{kN|KJD^t7rGJ5Sjot1Ec4FggDme$N266dTs3YTLeTjEYoKODZ1iOU%6CF} zR=PKJdxV$K;TH50r5|QI)aWzn_Z2%`m}19t!6Jw1)rFrg)(V$M6E*H;iiva$bVd4- zh@3a@PWoM6hzB%I-Z{kdQEja2PfD(;(p~(0AKQdEoiOypKg^>TLIAM0i|~_+8A8gO5Knb=dK^ z-4A8xpIGHG6LU|-|KLO5qe!sWr zcgE`Gi|9BEj&IyCSG*ILOj;M$k~eh4WIR!f{H#zIP~nc5Y)G}WV3Y2@k=qzI($&@{ zL1z_xmnpu&};`vs%SMC~IU6rb+X|FR00kgH;I(xmSzYB`_HA>DZaQ$?MR=4M; zwddmzl=sn>Ui2`_^FFTq%v*F|NiXen&Xa%{QL-STioLv!6X_D4l1AH$m$Gy3C^aTI z0~Cfa#JFRC%KOn;8R*HvQry$2LrF{TJda;j@GW*;H%v+~W|JdWw$ckZ5Q*K&sgT{- znBH2u;rbAYWJh^=OUa{xbw!g3ElUow=Dtb>j9;Ay__HO_N9k<5J)Jp@Z6@aJHxc^h zj^?YS&X8TrdCRuJHUxzD+xjh3P8~hjfZVM5O-KkE-7)8myTsJFxIzPCpG@3kOboF= zjIdct4qIO*sX)%&?9Ke|>2UYo=u7T~1398((_iHHMGUrOMGkk%{&Uz&Rn?8D zVrr#DeT7n{-E+6*=)?4YjPqLmdcq5~@&)ELQ`GoMJh0pUc#&6kiWvAtO z1+em#C&Geml-`B~ZPO|OOb6V+d~Udc- zJUrhrqKMw8B~cc-cY4i^f+hJ?&;DPf&O3% zQV>SvEsJ70Gr^cS1i)*4<)KUsI~uw_eupoErTatHHb~ow!i{)g@wY=_;7yfqQ#q5p z>&w#&$LijG2ccs5;Bz&C$!@tLT>~*foDQg%Nt?*1$a#gMUK(p=g)8hj|O8~pD4sy&bL;*P&i?vbyNO*W{Dm^ke*iR%^q!Ws-$^F0^B zr^YMZ*LFV-z*#5~bxz4_5MX-FOP2g(;f{S%i3z(zV=vh>t& zqFSYfbGB=gqp~k+T{IsmDHqhW#3=#HMv305s#zSzpXzji!ATSkB zkcb0Gr3N@r0rnQQdVpWmG>X6sj9NmzWE0t0=fGZ`(GMZ;+ugrt-oIH%?@Zi8q*PNT z74;D)@I|Tbx}@mbWQKf^Y_8l#b8Z#*pzrb!JLUjT(Sg-~NYAIf?E*>~>APkfHI(vI z2LBu=B*7Y+TQO;{8<@AJQ5=37&cDHGXKdTx>~op>sEfIqj^naE@f+jK%+QgwsB%U~M|2`>$FLaFYZLp<6n_NzPXfH#^zc3i;y z_1A$FAhk|Pgj4JMB4mAt_y#}yFvH@i5Uzi0kYA4gNg&1W$A4akMR_)j?oSS5L!` z&BaH`A@WPRmx@m~Qe8~@Qria*ttcO#SS zfKxc&JPT)RP|ZSj6cI^KyY(>xF!NkKd&-{s12UYQXMs%#f?MWr+PYScaF(_qD4xJR8pI9| z>`BcxEx7S*$&t^i2jTmY2ddD-^wsak$RQ!ty0v@oES-_btXFd24Ff>>xX7u6opP&u z>C_Cma&Xy7kDOmi>ha)jBLoA8qp;b(>5u7P>e`$ZaE*aATKs16ciV@M4?Tj5H&6oS z_BLnGcd}3$Gh_Y;xt!;@Jg8h)VFAMTD_QM&eiCCg1H<<+ntnl^N-xFcd5_?t`QnyfWl^Kx*Irx_{*Fp_i*&@GTf_dE5m*Hblh`OoF{# zM!zph>1}ZUgXAg%qy#5Uy(;v1CWdq(SZlFvbj*BmNc%0ZlFyk7IFR4^hZ$ICb+{089#UPc3 z9;-g9yK@g?9C$L|pWZcf8&f0{IWD(ZHFm0=+1cU9QfQ(kz||)uT%W27H2oGCmc>;= z$svk_-sP5sl|BW_iow6&zQqOydTfTHEBHF@lXu|n+BtN&W69v;r+A5Q>VDKc3pdK$*NWq&m z+Zb!kT>R@U<@ZQ&44G)k!A}ZUBU5#l5aK6Be8Mu;40_k@E1d^@zxzvnu{dC@0N$8x z>d?O$)nW8t@bjhiu+$@>pZ{t`i~*s##5YcmSzb;JJA2rlhu83-6a6nw9*+3^f!EwQy30;Qj!9xvg{ng)0 zVxY>y5rP+)xeiAN`s!bPapE|oS%o3LaZ0|g7Zb-ITS&oNINK0y&KyahhlWGm1BjZ= z6RjIFyEn(5C&h9t%b*!<3|eABSBI9exj~IBx@SLLE&XHllK+&oQQ&(z2vR$Px8U4{ zselHYdiB0AdN#c5-_KqEqmpdo`pDD^AzJuPh_*>f^qjNThK2&9~HPccYXl zp;+M2mm?bHZbC#~e(mr~)b<9momiXpD-+OF1NAWGNLI_jeCQ9U#4?j1KU zmT zE^f>#R#fafni+0TVAfyw`8~)@Wl>s0k|B?`smb>RSl9DNPh?&55RI*rPQlZK;9pw@ zUt`xHed|V1%7miIw6q;;>mA$8$Rm#N;T?dS(V6bt#rlU=efK!^snMz0X*)4WEKI88 zUN9d4tayELGDW#n8zYI$6X@~x1-hXBJ`ml22P}f4%Hx1=G)xa~UxM-=FRIu(cfc37 zurSij6@jpVj@Wa)H6oY+^Wj5=!4d@L_B}CgfC>AIo@7$zc~KA2){gX?Rnp(i*@M9) z5z2JI4Xa4Gy#UhgQYx#G^BFq)@L6642pFALsUW4ji zOgj^qHl_>z<~$^x_|8Zu#jfxiLZSTUOL%;QMS{`@(Z{qe=pwg;5s|LH{e~xVWFp{r zY2Y`Q7K0YjAtr9V=&(rG$+SSq4o!FD(H=Q~9!L%kL?dw=<)2Sw0)35{w%s8G#%iOo zGlgXTbKFGwptYk|8xX`&cI}yvI*Ht_+HR0#56pz)xgkrkI34`Ia0p=~+&vCt6X8;zt9Tse<_in_KsN<20|F z(e(QvuTFgkCJ2axp*65L*`b?zPbgGWi_lhRt~;OyFV?1Z!y9$P8~)bf0q7Jc|_(}=kwLV&0~gH zaTH7n?Zr)oxyF-#_~yLe)ye^B`}pM8K%IZ_8H0YO0uy{!m;dvd0%U(F-$h=L=$DpugNVnhpN~e9oL~<0dvzk`FeTB}nNc-cy0kBb z*It1d?I|iZV06i&cCYT&P=(QHW`F6L_f`UuqTqUXjv4HDns>0#yPnntj)5Dr(t`6g z507i`c(H4k10J_E%)WFJ9w&QV1OA(8y(13O=lNG!?cCYBorkSn#`U*t?A#~#gCpn7 zFW1j(UV9!$tRm@XQJ=;gKI=S;7Ilx?z2j5nRKGe>M<{^{vAOvlm4XtSTFW1{Io$At z7=ji5wdNgh;m2W69^{`04j0dMk8`}>j4nIIKO|W{`pX|aE-E(zjDnb~)@2@p6R*)f zgKUX%XK?GcCW9FT^EA87N{Ha@El4KTDOklrlfdEUSz@|Qz;oOo`v`wGy3=Ydy#vV_ z;iZ&xti!b?-juZd3J;@t>VMKTpcyysqcwgfvQdVziOjP;5L;iKdk%k&^EKZNoBrKf zSjEbhM)fLw*y?8kAiwc592R1~b7m@C0FVCtv81syY@>YRBT#O| zYuc6lU2}{3p8Sy6kO8aumd(IfGOB?0p7=2sGbF_wfOCuHW58l)9pE(GVe0AQ{hQiNFph^~ zYRv!-rr;s$?07CHNXCR&)Y!?lrsTiEO!4{9n~?3YME}q9pwrgs2)eW6vSW@(2E|Fe zTLL>yo(N9Z+0p^|odoS6*e4ZhB&VKe4;_V9GvrQIu*4CW33_I**R$v3Lr4S5BW~Mo zcR~OE-_7QbM5Q9(#6S~_DaJ9IL)UVwo;yX6nQx25KuFT6dED)dB`TTp%=34qdCeu@ z14bwh@f@9-`n5ZFRM9uSN|Hijo#)F>@im4oh zWd!kUZBG6PVN3G{aDnh4uunPX$|$v19Ue|dXFLy98oPaSKYU$vmj2rg-j^Sd6zIW2gF#`jy#)WaCxyEbF3+k}=nFB1~rvc)sqkzl6ttl7T$i4?F});pgE{9-ty0=8!ksgOM>#27um17!@Q zKynY_{N})#MJHRAhl05{@H9^d|=?1y5Vz5yrsF49x zO6-Og3&d;%b;{)iG&_S0Nq_t8OXDHcGOc2&l=aDRpfgI-Ym9W575f{1;M-hizHAuS zI!08@?Y||mEMD^hkD3pM1=)8*S7tzTrE7Ynl3K_fd+4k*Bo+v2!V2$uS&9;%LK2m8 zd*aQRDcV+P-~Syjj+o0qZooU}-;|hd(rTjCZ(5w^?D@ME1va)4j8|1W&0tV$CeSd& z8py#%ys|5AM>C*Q3z865Z7S`dA;K?TCjdDSVU_yQZVoW$SuW!bWT9xjYn&H_jeq-) z?`6{!u(w|GKosdDPR?#qg}e2(~- z#+qPqIu6!0f`;jE5F%YzRu+6WhO~857_94e82tNFl_yr+q%oa@g8CQ_(mUs(NbLN$ zt|Hmnkjzapg#f^amV})v+1z{~d&35b)HT!;WbVi;+`I!d@8w%G7oyNH@U|~H@n1IV z{a4w=0BhIxhr5VzS|WeqQ0c;GvyoQ6o=CE8?&VwJ0sin;&R=VS+!6w-EBLFe%8OMm zY6`SZSr7wmf#At`&ih1~NUFkS!I;E(BSZ1vRvnBD$ah(e!s>48GTCtW`h&xL;c!AsL;RHglPsh!Us>t9LgVqPjd^$f4bpFxAR# zY8;~Se|bzc-!Udh)~@V|=ZBkNVy5>Yw>rx0AF+O_qA~gj-$}E!d=ux_xpZ@!6#T^C z)g#m}KMV0y54;CvFj6*ci12G{KMtI9L@IMikRq65)AQo4&;P|Fo5~ZDZ|S|&zyY~@ z{C%)7o8Qi1les_i#ZO@TBEY$%Nj)kRMY3EmhfsbGu;q?F`3<0Qic9v;?eUZYe}a;; zh*!H9|MczEC;*USD_)@jA)i0(5n_P29-e-J2S9POIRS|Le-~2RdJV~&t1U`Rdr;2# zuQ~{)`T#J-t#f*DUZ0zyz8MaUi3q?4rkoB@UyFuUIxo+s7J0}W!`94H@VY$W(eH_> zyO$v5k&u52W=eU)-G5xg{RMNtRnRX%NE6imBefeYXGR0drQdkALKadXgldCRcU8dx zuRn_{EI9Ju(NP3M78dOEYW|NzLqXCEpwWY&1 zRS7$bxPt=*$L}m+H>8@j7-3FviT_x{a5$dsBnDCxfS57m3{gRb1OWC4?SVa2BCTR*G{1eK5l1-WWFe=d=&Yx2wZ63~O z@XRsx(Tx+}Edn?%eMQ*9fn1a*m>NHP`LYnR?`Q&;=?J8O7=}IKcW>@eBE~8PSigwF zF*(0~-BiPzofs$SA1Uo(Fu)2B&+Rt+-uJBCA0&^d$qinBqxs43N_- za2md+=2o*oaQ@L<+k5GqX0Dm!e?Um#g5SdHZEo#-Y$zGsO%sgVfDQzCcG1A1a7KGv z@B{5{2Le%!fl${x^vKM>xVp2G5##lnKaHVIwxqrQ5&x7L)!!li@hjB5qt3qfa`m_* zEB>|zYHYE8`rYhVCURIDdk>66enGS7T8eKw>-vT(l32tOE_fE`3Bq(1r{?m^@J!RxA~Xb zJF(jxa&Y7dUxvX8=AHEswcI0Kf*uXQS500-+OgM9Mvs%67x6++t z)fbGSuYl|*=78YBH_@@?Y6P@g@mnyL9j+Esg|1No(-n5q*77;hOz)Uobh1smwf6jLKk%?x zb1eo1qeyq2N$fPP*4w1DZ3sz~gr=mmEWbAw2TbrEl^jOSA`Vcxh}~!IJYs^cK^G@M z2M6IjA1s@wcl&@}vRLo=V)S*^!~Yyl^e2mOmJj($Kdyuo!1JpK9hbO}Q8U5@+dhks zj@_GlYeX5)|CCHbA- z%!T6We>7Prub1lE(p&xE0=Sn)R5EF>)Obno<&&si82x$jE*SQ%&isEe6eqxIzX#t8 zG7MiT4%vT!d-%A@doQ5?u~JqyL_dKUv29xV%*|o)v~y+mGf}&aRRxdIJVBToSh}QN z$-rfgoz<>CM9%UIBI@b#FK0K%&7;k$4Nv$6WR=7*ZA8~O#cjW~_BqSiQ?mxYZ`7Z< z1TpD%#ixZdOPKDxr(uTUb)owA0=%JhMj_M!f935{lbpgcNj#i-F$e6Bzh#7!HX#?l#NS0`F#vl%rQ&XJ zHUQ*;?)?Q@{@Z5*`M?lyst`nwh~OqVR1j6{dglm6QVMyxX>g3}S~~O*wpmZ0c>`x6eW1p;5OD44g4a4+_ldDw4?%%8z=}=cTBv|a4DBnK)GawP!nmLR#=w0!5^`so=n@KVQw zKc}CA8tY>Gk_@CT&Z4Tw?1-7b!$+5oc0KC&*tMezbnC*WrdzC|tx8%c^)BIY(M<2} z<7W}}U{)D|_P8I;841I~VCI`Wla|)hv~Ya@dMo@nA2UDX)E`8IbjmQ@85k|4=OYy>B$IZ_(v7 zkB$J_!X9g(U045q?^|>gXhOcMeF;TDbg?slD`H3O06K!JW*rTdCOXp-vVlsP1SK@h zrTdR3OZhwBgwlGRzig%g6OX>Vww;!do>Ni6G#6R^dAKqcyR=qRh z>W8^0^Q}CP6B&c+?9psGMZXYCxwW=qad`0H||D3xr9gu!*2~hmQH}_?`(o@ z=;0eaX@th+lSa&4XQrp(gq;~Lp&GLL7~&~OFYo#rl)hHhg%A!o*jOpYIy!IgRpuvy<;*ZT(=uDdx=4Y2yT!UgDZFuKt?4g&=wHQ zUEhF)a8T`yT-XV)MZN2?@os?^rsK^MZsV3*M`#pQnhb&xXS3Js6Gnm+!EO!EtwbLn zfeIjwUG~}8+5ZR-?k6BXP@N0>%G_iMVw{U;@EXaIJoIK$Jjx$G>h<`zkA}4$Dgb+# zoGXITIY~KSF=wIef>iUq0D6XD&~x}e9LSE|BpmB1-!GM*5L4AYH4+i2MY9?3OUf+n zLf@_ahHd7Wt-+t{GjVbJ{O{m}_GH*x`x`n~0d2Jy4!;YZ`FI0(ins#)E@;G#>Fe|_ z0Ls>kCKzCHVHBDQWXhBGVuAfF@SNgr5>mn~$z6Ce? zOCM|PzEZXP^F|?f+p%UA5=4n%<*W=`0Za~C~ z;E)thX*wXeWaP_1G<-`yu4$D2@qd5m-q%^lUxyN7eVdqqmFY`m<=t#4r6*f&K)8bCKSuT9u z!yHmzRWIWVZ}9ZPt#h5=>2FuNqrb|DJiV?uUAV#`$0iW)l6&kbAVc!H_-(3u6efF& z5D|9QcNk4i12qN>xR2b$ujXwS2dUj#g(zZ(y4 z8#33l;=1=%7#0`iN^{yBv*pa1r@3+zz3Zm;%?-o^RU zKIsIjNP-D5$-0Y~FM)xd=1IZ4&qS3L$iyB?oq7yxMGH->SCXe;%z^Fadb9_96K1-Q zVxa)Wo(z$6Ljz_y863Vwe^j@JAN-I*7 zi@*IH2CeRWdls;y!a-ka23fWKsy~E^d&|quTu9LbvC-y$)S0VVzUZ)oPHUO+a=ZHSGe*tDZNr)999mYO9uA@B7+f`40W^;PB--BVSmNl&f z)M}0&tG_`9^!#VW{YD?&8&|hZN!XPwfPzBcCa?Y6kSTLY-f(FC>TnpKpGKpolf>aN zOLCY_fG1-bu)XoP0O^liX78T{YdT1xK^Mx(P&&-Sr>B5GP+YvyhVgG;tWCZh#Q;I0 zzx?|8gKYJX;YM{i#ND*HM}yik8vukY@!CedEL^b17OW;z=0P@&^g*tr>TR}TCZb6l znZ7{_zaynD-qMuMHFIMQ{-qzPjjuSpbV)u5|T z{r5I`_T0YRixZu4VP?hlrPMf(Q|$^6QJ~fhLCzSn_TNgz$(e~YxIu*L`HrSW_OsZN zyC>Ph@z?!?Wc4LhM$^4|U3rR@FmcBgXVEl=9C$imQ`HKDRBA<9L-Zm!X`E4>2W0YeelW&3D}O41@cdZOJ7eBV#%p_f^jB!sJrcv@9L}c`+2|*GnhvT= zUW5im@R?7_qksx0vXXC7U}}|fCU(Z}5j|ZV=gCRyPMzSxIl0pU>;cw+v7$Q4TL=^e zg6Db28(#y_8aw=1X9_Tg_aLlR@Oeil;hbkFkxyl!_*b@*|tUH zf&1~$VY9`#I)}<*Z8u}Brt`&oLwM2BEb)H4+XI7%;Z1Yab|;cW+W^IxN7XM`2cQTyaI` z4d`Rpe$qTDJaB9ZDzVj97lx<&9+S9ZNNx%!Knj!Q_$YYsuH#JsnWj+{>?5fbz)(i3 ziC;(u%4@9GKDg~Z@dVX{Xma4M-6=@a9Q2E>9RK9HB3#~}tQ(?JzI}>RO_B(7lAPvh zm>oa_>WNroQfmIk{OoMDxX#@PCi5En$<)=6?BRSC4`<%b4p#546?;xS( zWWIP=eo?dFxaLfz(!)+)0hoW3Cg=;zePPUCt2HUB%@M;HQK_4ktu|!uZL=7x+S_H` z^@XSAGGPAV49vfDiiA3Mk4P|hn;Y6G11zun9FTB^kqy>)*S<~ z^4qglT@PekgcId^c&pBTE8&OAvE_0AZ$m2<{tK35e_7hGY>|rf^pZC`t9Txtq;jbv zhp3z+A?3;=5}BMMJdeJ-HuVma@ zuC6zOi;*+81n@IYG+Um$T{POhj4wlS2M4Qkx+K&rUJ3QLtI8x6v1OdU%bpkhYW!>Yw!KL0XQ;$B5eWMhDwjSpD6y%uKnk5^2@CTV1mY;dAX8B+QQ&}i5 zBI+CR9P}0!%SX;yczU@OL{*2lX3q9lH{U5U%9!}%kzgzlQ7bC3sBTCS9W%u}Hx-Aa z8e#nQTPRW2uq^&!i)%bmCwchx4e^orE>etlBr99>ah^!ygg0 z_zw`t>A(o5d)c0!sav@Y+XHurpy6^rDsssl~02=%w4NGowh6hO>ZeD(sj=1kAq zwa$S=-g}s(+He2<`00*{Q*0i(N_TnjBGxY)bHFqt3ZMDIraXqa8mZw)~ND?ff}1+=KGronzShwU$o}T!{6Gw*Ff=z{Pd@i^+PB5E-4F6b>Y(9zYY zGiS4l#4CJ%X|!e}#4}5WQ>&Y$ITrp-YTqBFHrj?_ygdciLz8?S;;icd+l0&tVkgkp zn>GZlENL4RB`BIIJI6;T#S=7>CC&ZY!7XcgG%l6}VB3?GQj3=GYd<(#KU{88W|W;M zcgOq*d#jo?;XJ)wJEOTo{>LOg3$>3p;f?)QI#(@7uydB4G+_4aE_-+k)0U>6L&>B4 z=?%Hfvl6|54QKyC%&ovi^8W?b$~Pu-i1@;|t||`S6Nxg zgWs&Wa9v8GCQT7wbXHAz-?p4i{-!EItOQxnYP`^)FS7gGl1Z?LC<63cW#&k`7~O{O z&cGJi@^q8%6uWv~kk&}1TlWy_x;)~=n)(f7bX(02DSoy>d^r&Oo6hk*0$n3#=94J9 zk0_h)Xtgx;dHvlEASBSGoHxjgVDCOy!j&U^VM2x2IN$RFREap+-zq@6?FJ zbTz&_BDYsW5;)p|Lj*~e3l{8uiNBm=4|T=N-ox`n+5E>(atFUVm93d8XRwpkE*~7$-__+ zXH!hiGi=+3Lep`_-gV7SY-^BeL#^U43R10xL&zg5XLfdpxO5ujP2~=fZVvO79MsfS z=sa=CDdPBv2$!`{RnR(o!hu^SOIxgJX%O@m%YCcIQL-_IR4Xn7WLA1NDUwt=vxxtyJ-h9B%YJFu zxlw$$Ktobm=p@kcf)h822#rQ1y9Pidt-1+s3bRhBpy#s?>lr})1&tdORuU#&fkPSq znPKT~I-^yQFEY!+Akh(co52>}S>Q}2ICB+BH0~7-E)2BNGy52>fuf+WhGh*?Sx$S< z{G?|-U~L#Ht|+QDu4>6|*Lr;ImxCY2TuOj2`u1+VAh{Y_nC6N5tR(vEGQR1pR9`@k z)Xa4~4B}nMeZMchAS5RNO2>$O* zf_)tWEhabu_||$quTGc2t+SEg)|kNAccj@sLk7(>&s~c<1#z@$0Tkv_#{z- z8m}KJ6$VUFE61TzcgG65=)*tl$AAvbvAbGUUoQ*vJ>GLPJql)zX*eI=F!xC@Q;Yt1 zJn{LfxK+g+&4zX9x%q<5JjnIGp7V@~0Lixm3U=8+v*mfb*<P8M&gNjvz?;NI?A8gbe^7HU_bxmK9>hHxi70YAUcNIC2cIT6X`3s)% z1v0~x*-Q2h*rra-^Kl^ORafyXTNr4AY-il*WPSmC#�k<*qXQtKaJRXSmVUJZt~!A9>=-Zcj-CSnPiE0k}-* zIF++rN9HoKM`&#uhh@H>6WAL4shwksX26H2h(>~FZ}`@`s_`R!Fi`0w?j!!v!q?)e z&e6Skdx@^S5DlL?uAS=tjOE2`QkJI{#20QbzIc{+O`C^?vw?U!v$p5XqHw|THw}e? z=eS5_nIY>*Gdrb-=AvTFMdzq3>)8->tuI=E!)xWqtXiZ3L$5^@+bQR`krK{OgX3Uu z;hd_U&z8T5qM(y=KI9V=O|MJu&rb=`@MCQo2f_+b{mKVQz)Dz5#19e86|2wW5}&;_ z7h>3ibM%WZk8i1Hagg2jb1g|AbOk#Jm{88vttT9xx>%vpw!*u&z2GL#UHek6(jHP)(f1P*mpzJxGJpCLH5dIqO z!rt(sYnDpGTGnD(yth8AQ+9M8iH)~@imO?(@112OpL;mf^v4}3b~a8~_FMJSLnr56 zRCc?4ZPjuUAi+{@y6f0qJYNi>65V&0T}^8kuXE%L`P)qzX<@8Lmf$j5l2Wa8eER@M zWI9<4RTqkoX@GIg1||qHxy*WN-JmS{@m(#CyX+pRy{0Mt`jqUGjb;j+vRrYL*u3uLor(E~>99 zd`mC`@{l)wW9!QFBDALq>=-wI&dMe{_qJLvUSAuP_|4B?Q+&l-W-(?byLr{F_6T)- zp$j^A=*o11w)ecFq-L`hKeHq{gO#bNA$x{==khYUkve^4iubTu=2X<;;@n@9tILk~ zBJZt}-`oDnu4t__1$#xs&MjYA&TlXBV!Vv)c;I2P{h+plH7}`ELU_(^AX1D3E2R|U z@rMgA2f20a7NPx!+l9R#!}Xz)kON8lF%T&@e2pwRY*s8sJ*x}K^Wo67l_y%oWv@l} z8srwZmG)DZX57We=4D42;nPRAKFW?MvQi!?IG*PF%J!QY7At5=LRRvjJVM3n-f()P zit+{oIeQz@FzDcjTQWZeDD|B_2bSFFtC42rR9N_+2*(c&N~_>^g>xg(g2k+^`)XOK zs(XMMTtzo+SMAwjzwi^(v}h6THM=NTuu!ksp~m-m&*oM73R@83#tE(y&I~+pvwXW$ zMRaV+xc+Ox@Db$&DyhLcrdj4Fg<;Vwtsz)USw*dXcI=st>@Y2u^qTfw-Mo~xAsl38 z5N!2wFh`D4r!n#S)ifS{ks}SmE??K!=)gAjg4xBeN?Nd6=l&nMyT3FYG@1C3D zkM34` z>eX_a1M8Ak%$CLn$+ohVT$VDUjvFz@67=R-rZ-lnU<0QpU0ti%&&@seIX3mBAZdkJ zizxzqxL9!zcG|JGV5PTYmbN5) z%}vT6Lj`yrtm&p`1df;BSC z)iyJXkX#tMH!<>H3*6f162R5_ygnv;qu4oOTwPCr6KB$(bqQM5{gunBbBn3iq9i-+ zWT&sHM_7B+TqxMqT}P#~Xk6h*#g*Srty-0J^(^HK=!JJXI0GJb(RV)g2b)kAqH7K&hD9!&P&}M!@LTF6ZXl`M4 zF-)@2a!Nf=Od09HsL?NK`iS-rlFV%%a6SE6V0CByM5CR!ANP+Sqd1kofYpbTVVctp z?W|jZ+Zu&{L=QSoJ8I2xyQU@#2aUfA;TV>E9gr$ESGBQ`ysqb5B>4OzF?KCbhGQW3 zO*1j}O+S~>M%d=s3b$ZVktL^fD*s6sRjrhg`k{Tdy8WEEvoTDGh_FsimE(?SpL`3^ z-)*l`#3%%UpZw7KJ+g2lzeelD58C0_Oex-sltrEdF_J4_mRpO0BP-AmvDqN>ZW2B} z7$Qq(be^*E#^L8(Uug}3f+0z%Q|2Yyy$EX^T6@7N?x@xJTu{s-#?5tY|7aX4T3s|Y zyQkpT6DD$&0c71R>N%^E&&39;eI>f=YVLw>j=Zv{K4RuHNL$IlyFHe+Wk~oWIIhy@ z1taSmbK8v&SeKnE@SFYWHGX6(wN*%h18C`Je3+N{z;*Hc4t?l#*%cDwS3y-^NGpC2f+!`bH_|n4YTx z>}`WvOPqi9GX;+CdfZ0#=g|Mx-kXP0*}V?e_DQwxu%zLhl?w;TMyx;M@$MJpte8+SDafj==);iZY zPiw8=!()@z#F;wYVK2+ePCaSbBbYX5LoZ%B-w=5F5&!Ld22Sa;7ofNDs31oJw^vJy z+{HoN%3NtFuU|E8D?fLvW*)ZE%+FaWtt1hLs*Jt4_g?RfT_u`gOguB#87J!57VE#; zr_F?gx(^lz+6zS4HWYZZw$)wBczrAB;`}t1=gpI8x6D`saw6(UXeXKUE| z*t-e-A60O6{KHGl{<68r<&FCsm28h&eKu*i9jr4OSsEv2zVgd<)%lY9-*VRpPby~f zt7Q7C7te>b8YWG(Vh{6*~{4ol-DI(9uHQ$r4ITOouO;XlP08gtV2vn|uH!N%+9WHt=H zJg@1+|l{_^+Q)j9tkZXZo{ zfMYOyJlXom#}lw48t=7oS{U2c0jCFQowKjH-92%@r@*I|g_1C|**Fu%tFx z>SyN0UTEa=!pzcoJxKbYkhNQ}@>Y)JNw(mteR8}LM7KM7CrjTEdhm&JCx>IyQ_mxt z8OtYue;M0n1d6Rtwb-l0-LiE#r^Jxsf(Bf#U}{AAuDE31`=|Q)0P3qqZgpj_iD6zU zj#PJM=&h2X&AhN8@$qA=mHMz!qxR}U6TJaZO*@lS5>))8R&5pZ-7cKBRwrKgAQv29 zBqE}Vyd%Eun{=*+doD;ei44oSj!O3t7mE89i~A)W&NzqYG+B`OF|@QLa+z@YTbMG3 z&Yr}Fp_#0!-$X*6RqwN`r9T$l=?1Zi;hw7QK^}3P*jATI^&|A*#0I0Kq3v?>fn`NJ zu}RU2Lb$<7aDDW;!&`NAg4$)+6Yd9@Xy#>tEH z0U8z-mJ~kkY?MJvZFH z_!m<(VfH1Qvy{@#$eX9u#LchVCQYv$PI*G|HCNRnWW{iAw8cwTmsciMJ?$LN63c~O z-EuA}Ucw&@^j`%b6(cb}k6-wlq*>ZF9CG?(62EN0cNN*XC=D#;$+6u+o1BTU2u` zhO{{8+NRgH(AsZJEaKT`{pRq}T*!&}^Us$`FQuywyUOpzP0rbP;kQ4K`Z1{L3Fo%V zXyLQ-d9gzc&xVSK_K}5qhF)Ka$>p;9=x!^G~M&h81 zNCsj>H<`?u}3&Sp)yL*)JtM z52@ciE>^KNG1if1d@!;?YQ8R`h5polpXSuk3G5}e*(Rn3*d{T1WovNiJIzHe7`Ian z#TSdYjotjKw$OiB`iX}nRVVBT(8Gk;Hs6>GuuLms zDNFIX=EKl*#m>baTBW*sy7b}D(Tb|1ndJss&z!w&V7?}g^@gw+F*F=AaQSMor)~A);_@kh0IU%4IP6D1Ocr0{T6(7j+Zrk9~5$J}V-y7&RVQY>Ex# z>8QUy+6>-}kP&z{$rcW(K8s4_^NDUva;r=E6CP8c`c!l~%_Ga;@THpm!;v2&Rwrwm zgFl+<@<5;O4T|rdZbiZNfc=)DY1KSfVV7oKjw?l(C&uSekoBri&Cy8>Zv!LoS|2&B z0?b|Y4tsP;q^H5i9QT~XdgZleWw=v4dLKKqWXU;U7*c3RPl3y$_1Wa}gc47)S~M(^ zA+dGFXNSA-WML2~-E&~uV3S)DX!*cCYPcFk)eefc8696-O#OG;Jiyv2G?>v{5kPXm zrdS@$)o&Nkl)ku)V;@G)${6;avdT9KkOQPao9wTL@;Dlfj&|P{$vbE;QA_9YR{JV5n_W&OWTEqU$xIJnwuV@%YylIP*F>e ztDoJfrYc|3V_zHYNR|@h5Oj>va1LEk*b~h-jiZcaf?X;%-|MnL2+C(W z6$}=z*ZrrAsa-V~@rq{wy!5J-^te{3Yzxf;jS^$2i*-hV%o!Kx)k=gUI+wqpfTw6+ z-$a1*+m4rWXYs|*W=6Dwvq>x9h*gO!{LKo9f&Gu2CzS4oW-p%?z#m*030*n70=nb~ zoOK`CFWslt-OqHXcZ+!|yV3x^m#MoC2_3O7y)qdp_*Sin56fThCCx^3YC@hvX0lS8 zu-z8(DTa|)|Gc|-8`Dnla>AJ}TiXi?buXr2IMu?-z=L7#n^S5X+oPp9$*!%g6*XQ0 znub`F`9|108=66VA34;_+^UtzRPACheWH9rqnJYtYbd=!d9j4k0Rn8d4^2t$W4C>> z{^3g^s!Yz`5(Ttcu)jH-5J@>u(RtBp;ZtDjf~|dcbn24{XmZ_Oj$XVn{!9{SL`{MnSlWv(^J+VLeGN)H2Y8VR4o9TrZmQl}qc&40J zR;c&qUGeg5wk{vO5Rp0$1&3!SqiIpe2>WAeF#XB*^zjZH_<{9&LnVIHwTgnchjuHVaQ0oaaPPFM9hi-zw`1C8PJHPC z1)_5BPnwR&Mpa$k2S?Rc#5d`k6;4}?Uztt{vo(jf!&bnC4SUmG#&}74T(O6=VsBVf z?fPEY<4E@t&ryp(?_&w6Y~SHvGHd&i;ee^w#x_ZA*QwwlseV( zg-5>=d)tn2It!Z0?3ZPK$d>i$4$&myJ;8W#KbFK>AFGn3t ztmpz&Kfiz7vZsB_Mic_s(c(igp3`5Hrj1B{NA6J+nXii@%|OjD-{r`m44gCR$(LDl zx!1Ezhp`I{d`5d}jiiIqdD=F=2A!KH?iuroKk}TBR(=lVO@o(GZ!zx7u`67h6X|y@ zaZ@eu{lqtU2%yw%bsyV>!t7*pEmx=+1bkW0M5(o%Ya%`7iZ2y`Q7vCMy01FuIopk0;FqX=?`3g*9bL*F_+oGJ{gCr)^S`BI({N- zI?1DTAyPvFX;GbaN%yHM+>e`9I6d`mY}ic=ZLi054?g%JnO8kI$R<^_Ki=}b03{V& z?nPs`yCbx_<<^j^fdYGX$tBj7zk!|jPj2!cmgu`o<|fG;Q-#){xrV-_27HpfCkwY+ zuHm;vv;dcKZVn7Ma(Vq?d3Y6+e6>Sa9#c8EL`x$}^MMve@G_*b#GxqeFB)Iif1j^E zbagJ2yDzzs8P~hIGRti1Xggi-^F93lN=ym0c7Gp+K?0?>yE=;EIni!)H%nM@FStyB!@h`Nbk6*ezIn@DsZc7V3sIEvqmJ5^~Jh0=4 zr&1AUeBIH(p`JG+iI%||kKgWexuzhUM-iF3+NZuyL;36sw~5nu zijUAtHgq=?GgwZAlW&(pY0bf3t+*k*DnXZb^h}*`QgT|J>OUhg+;0qaxr8&d5PPC#yRPa)ILj{2PRZUPCZ+e_EsI!8C= z_&PY#fm#NijN8z*Z}7IBQ_)#axT_#L7a^lZy{tc)d{4DgU0C31WV_jCX425tWtskc zb+#kx8Wm~rS&9s0p;9?@;x~yCDKb7nyC|tzL7R5%7V-zBdGbMbwvZ3WMs#S&rnj{g zXY6VEu}Qxa?wagp%y3Z*%L%og{jgoiDm|t&hM8d2HyMI0R|nT$^h2Ey-9ETQp+cw= zHzcGrZ{IuvtvR@)ELWqD8Q2IFf=o+AybLKUG)TJN5+&1%lWJzXUr+UuTu(Ed^cXp_ zpH=Ry-2q|f7PHfEh6{0O4~ypFKzk6jy^;5p-wZmL=7G~G7MeF4~%%s67 zUBP}k3i z_XQ*AAE01efk_DUg*oJDd4}6{i$-}eY zNevUTVx%%=DXUy2Yq&gun3pdceO~j95O^Zgt$RQdJ6&`8Zv$*YAFrUZ$9$cUfb#?% zHZdrPu2 z4&3wbiblS$Y?FK9@xI$JrYj(x&)c^h34B00IuY`)Fl8|P97|r2=^Js+)q}%U6HsqB z+^J{l^EN2X+SI4XXl2NVsc_Rclu;FhT2Owt|E*%ouYiI$L-6(aChU zXkb32u<*^Tn7azzWo6W)kw~xQw$zRz>8brEuYW!G(kl(xNH3nTrW|5Eo*k~}oH7q$ zcV*CjzF)-Q;)+8P6_ zJ#&2hrKwu|pDMPl>enZK6}9D+E|1UUK+a48?&%2(9b{D`lnnJalbY&qH+GLwXbe~2 zebopxxFPqPWoTh>HF!x9GQ%(05W2gpa#ZX}-^b$O(=8^#v09_A-uy*1*b{Nw;?5?Y z0_wpY$Zf`#u|i^+BVZ2%FwG8#N+Smxr|OJWvfF(K0o);nUq%NSq1MMsxk4o);>5{` z)s=|~z1j)S*}_0UnaO(>gT#xzZL|Bp)_ZHFl|(!-?~k%u`@QD;y(Ge%m$nt^Knmup zz*fTT-if8g39A+Y>h$NouG)3UJnZ)0kX^P<7^2RX=HbI0W!*O{DjUXs9|wMwUOhMS z1*rN+F;!h1hi<8qyhrqzK+DjnXVeBA1fca`b(-K5Yu^hq%<8b-7PaJZ5$B6-sE)g5_~MZf?M8kAJ}JFez>N z1M=jRpA%nZs}Zbi-SjT;3m;9ciIH{~Ac>9-h2nxMjqcR+I6EvG!@*6upA*m*ufoQ9=iPlr_zg-?y=-_)#bUrnc zu7Wq&80 z6u|be80Z*Jbu@Xtb@_0-Z-mWY3N&CbUjDJ4avr$KnsQPTCIl|(LmEuPAm$4%`k+7M zM}Nb6xMOU=k}w%JTf~dJnmI78T1)fK4Z=RoL&Gi~(=Sp1q&JO8xBjh9a-V0 z_a+6TcF&tUnsRX)Wpum|jRL{}MM2j~S<#ma=XuPS)Q1|S5-l;qPk~;paZEc?n7$Y) zQf4%5!)6~-Hq|)znuU_e0^{H?Bb`-96X zaz$}-MURFI%ud8NMgBz!{yxd)&|oIF*pX5p^(357nuhCkm>-I38Me1RU^G@EEiqM5 z1h>!?i8<8TdkP=PU|-gWCCl9tIkQvhgu%pl!ot~;woP(P&tj!3g`lCz5*3gPA0M4C zxgyZr;kCLPXqHg)=(w$WPu^powU8iIoCnTl3er`kqO($x?=5DLi9eM208FS~zN;Hp zue+z=&PR|$r*PY9nc$=1uM_e4kCYF}{PfuolbnoCB19@f2ha=41gZ&x;#&FdY-Y$`?=P)U)1OlhV zirWNQ*`GdNDoV!$`xxre%Bw;Xb)P3ZuZ3m}HGz+&Ss%@-o-O6*ch{S|ikU(gvbhmu zxdO@1C0Bv31ii=M&SzM?xCJNrpa(`Xl;(Vrm0(76@AS(s`WN$e2?vK;Os-ZAKv`6K zrb&AOQkWI#a-dI}=oc?Vnz?*M0HKmdzBZw2L2#jMXG?LQPv#(O(JvOAQB+EGCNo72#B zX^a8ygiDurDDx^PV78Z|UufalygjO98<`fZ|Dg6*-c)d23sE44f#j0vPHzRyv(ap; zdkR1E5NW&+8tBaXJrb?oIeeRhdl!#6TRqXp54YtZbot?rOLUIkD4OIKsp)Y+@w0j0 zv)D<$(wVK=O4gbN`QhUPEmq+#pZ%%%lzUhkSQlk`!KWf5lCI%U(S8ChnX0 z=_mWi#ag>ssAJABO|i@MA9X0Gj~BNek~~#17%td07*Y6bkXQ)2$i~YFC;XRChLEd| zef+s_T3>y~6m$RG`F;nTa0LVQUJzoZGTS zIc0X3$=hSxp`uHb;w6_Huu;77-er|kq`4;k*M@le#n>+E)I;$Z3yF23@Nj172xU# zVAZgQF74UGZok6=qPny$AH(CWj5$j+@U+?3(?0JGGn-Bw%o@bM&4i0YZ6tbS^Gl%V z=~Ih6#BX(*ue%_x8R&YBQ>_pd(0Na)1x~`d`ySENyk{q;d;%XRp2A(PPK64mIN3x{ z>LlR0?eH&0xFC2~q#{MeLZj`xxiRRUXTO3!2C(iz`QBU`I{q_d^gMNH6VCA@qD_@8 zXJRCF$HC^8=MqMNq0*I`=kx@?h7VC#n7g3Nyyn_hJ2{&f!NE7U_c@^oucr_rzDr`F zXv!q7hqRu1l_xUb`W6W{H>YUD#n0>*XMNEkau7LZ0Ic?1Siy~CY~e*5Hg7=uK}%gB z?Jo0A2b-N>t!>=qOUFPzej;rW6@eIKtwNet-7GSJbB< z{o_*TQKc|tJO|`w?TSYYY-o+q@$*y3r%+4Wc53u4tk(bodz2#1vJBssx5;skU$Ip-#qmJq zJ*Vud|2`(zlUZ&a05z{hYmSU84a7$Fm$&WGjw{>YHTS^7ctYeFblR5w=VJSRjAdz(&B-T~w;D{v*kMGzcU>zIS^V9;DSDtrHHTV}SX6KBZ zMv1UR{kS1?kG(qp?9WGSjGGGU5qA`3Hu=7gK z0&b%`(_Db2)uMu9a1LFr)Y&!X8z6z5?t@F`Y?j{bAKZ^e1QhUr?QdR7eM!=;UvH!8 zgawGC`tDTIE$~ng_>ehKY)%M7W0h_bXY)4rgLwb-hq0(h;)&W9Ni|?@l3`c=zZla2 zCE-uP{a3IfH!#Cv+|nD(_Lom&(cqy;sLQyDygkp|zdemT`IN>npozt$aSW)B4Hrjfc#6Xm|jc}hCejksg>^%gqN0uEKKff#YU-x(ESVJ!&E-0tsMfZ-C;U$JD~Q( zf6HI0`+z{P2x>)4aWVWzm}J#E1mVEZtDothIJSU@tISR-NspVA-)!4SRRFFeQMWuO z?*+W1%li1P{|itQxBk0{MD?&<;3$Sduj0NvFqSUwEvVrJuP%az9NSmm!>SemW4!+S znF$_B3c$E7oBUm-XB#r2TBiQ)4)fkoKUX-B)xm55O3bE?hlsY6KH7N!NG6O4q5i~3Z zC_%S9^;a({_R5USMa#hP;UN6Gk8ZY(2a)|%ah-+xa{i|W1^?#!?T8U&C#0YYeE^bf zaRb~oND!wevEZZ+#IMfBEAKO7Y^sai@5f;YRUmcYOahX&Lx9J~XE#!XVO1O$V4QXJ zlkI`{ggN|15FGn*<_EHWt=oXH3b^2eExxc5jVGx{OHV?BiHp!@DCT*vfn6mZ*?}4Q z!7xvVQq1s)OS7Zh3vR7vd|@Qk@>WLpx)a#a#_dj!Ed}_`l-f3j&F@N|hi+h0;oqqZ&Dw6?4;=R< zg8lh!SpQ>h7E-jlxv&1iRXH-CFK^t?+A|FP;ar#qy~vOzpb3jVxZoSD*qN7C3#_c?egmO*dGR}*?mzYo$t zG(wfe24gxZmQk8$aovca-&!QbwY{ck3@%okM4gZHp55b!DV4t75OmWiB1L4dJ3Z=} z7~6$OQQY4UbXrgpj^TMlp%ISUkJqs0I3-M&$U;f72?b3SyAwd+xip( zM?*e^5B^i!#5tjsAT>C=U3Ts(YFQU=z7vY{g`p4H5JH5OpGvvqPjbPMwMXM3zjURv zvY`f%P1yoS$Qgk-5$tR*o9(6sWq=kO{GQajUddy}({2sBVJ53ElTTHfn!gT%aS#r@ zOg#%QZ@RP_!5j`QldR$={Yt7|K>-d*UW97?CRz$gYsP9XbP7fW=_g4}b9LEbG(Xt# zH6#IdAPr5Ix)mJ-CIbxxvl96)l@cxjf1*(=_B__ip9&0cF@=tefVni*s)X-DTbHm3 z(kHoAW*=T1Wc%pfDdaxob2&c;>N;qRTHuztF{*}lKpikZT4HtXZC3T>u=qr|Mh2F!HvkCD>BB)38S42ET>NDB$U~rm`nMD9Lv+yaSA+48 z;Y!zSY@Y5+DBH$uQg~$fNcXG5d%@h?{>%W2SwO-n7$y>Wgi zDqYa%UM6BgQ6wr-p4yMQi4>nODi9vD-wfa01%tt%no29Jj+^!NwfzB-4?+drpTj-M z9OxyL5HZL*3(}(*^-f&IZhBAXo4PFlZbt5O$|FBi!qGh=YB$XW26BZ0s_B?=#$!%l zOQgusAjrgXO!^7BU;S*SIa&0) zFeoLlfvwBAbTXbBH2n@(jSR!2R(5E=o{VZMGW~oL5E>dVcOxgUxr+yN=TkN*BkLg!0@}xA zA^R`up##fnaK*k62V5xHG{gT{$aE`a1g-j|PY4?9hNwRUR8It^f7^2XP2;$ICmera zTm+Q_wm5H=-JH#?KB%404ice!vXF8Lt&Gx;_RsVDN+Ypruhq8@Wp4nH>Loo0>w(RH z=C#1B4un-exvAZ9mkUmzDD~xA(XRbIS_%rXeCaA%4|jJQObFc#g4qOuxyWwdz_(>g zL)M-rud>H7V~LyGy>#d&lyfCe%_5Q(dS|{N@3a+k%RmdKJQ(PEp#OGM%7d}oye0SM zt`Si9g`*gemHX7r_XC!>`YRdpQt&HuOA=hY7)<1h*x?XbGrlZ7eRxF$fL7cE^2!d0=x5mH@yvZ_J*-Ysb zT7`0dNvWq-8T7w39`Cn$1aNX5KLz1@)?pO!ZT~0YI|wtoB9~I@n+T+mL13?xQT9JG zDK7N_M+){}AAu+)W7_jQ&slGIacbD^#9VPnd7mh&J8&ncWSqE}aKI(LZWe{dDu1J8 z@Sq8puOX8~^^eIq2e9{oj{UB3Smh3SO$@Z89k)gCYW%%o*j-pDvr z#s@V$WI@)d0%c@EXuPf~6y>`Kv(!UG$iVZN=P!h?0fet|Do93ELEl9y&_-`R*XDzO zy$leR>7y|`5I$2-20|mS{uQg8v%}zlax{Dn)A0?!pW8L^ybOh3sGd}Nt!XN!kvMpL zLC)MyYB@BE1<>wYCW)3%xiS7mK#0Z{MB{S>@ti{AvoU6R=U>A2dI>-j#A)`uI<>c| zlWL2j?pMe$2BUtd#FOq~T+V?3@lLLnm)VQn$9h(NNdf})_!_R>=GnTu6XBaQ$ka>n0n2Fwa+k_@=_NR$WC6y#7E24fi!($jY7Udmk zGFe1`By?8}f#o_{WB4`)m13`-fbOZ8(oNkSfhX#SM}?goPW$*`O-c@`eDoX^~_9FDfQH&NgW4aXS% zyvE)qZzczr~+ktIPN>J0fEo8%5m za2PkMJoz1jAgR;?sVra=Ogx07@;-EMXfkv*5lHT-JAz*ls#85_I#TJTPkn{UbOTVm zYv|SBypGwgt2Q!^ec#7&P_^tKGXRJQF&MvXOr1pZq3(9v;-~?h)|YA)ae%*bEe<|$ z8o`o$sf^MjIDgqfGOq)7O7;7%yiyN1Q0~xjRBQ)mC^jEBIO|}@Ny6h6cT#n#3|BvI z@e^Y#FB}_Lm?dnFMreNy<}lp*!+d^`n?#nFI%O<)TUbeV8WaMxf}XxWv*w$*!~UIA==Xc?T)lh|LKiga4yxqZ+#IM&1=n4VghSa+O`ggNi{XCI$nQ-l!h2R+KV#@d&X=;%DX*z zL+cmpqN}>6vf!QqoVQ9S!bU4II53h-Na52FoGGaufs2M(Fp*)<0)y)joQi|s*}F_1 z?Ax%3{U=@I9C3lxFD^rMU1nv|W!Qr>V4eyg{(-dpE?%_Bw~|V;M1>Jm9z*2!E5Hh^ zfI?*d0r>lW$X{{1i;1h58VoFFO z(~`S%@Zr*OqtmW#Ult^RL8Vy{j*n}Ds2HCqeR8j^P&{!shl)<*cP(w_NHN5?z5eY~ zupW8iC@AAMRnbsu<`L0>9s_W;M31qstP-$@>p!hpv4g*)aMxQye~fF4?gm}x!cS)A zOkn1BcRh1~L7d z`<)<*nt-#kB36`sHwJKiTZnK-h`9=g9e6N&Emm})h&xB@z;~GA^U+(dNv`6<{*|Bh z`*EJFw3g#n1_ltiPz1AqE~AR_p&pIH7QUN&I)R%}Vi(w<7-fnVcSds}NG|M#(}?HW zpF=Wos>td?m`?P=X*(##GD^V7!~;nivezSv9asVig3Ja8jDA!i-@+-)$Zm zfGMp*ulAu&9$?#QQ{ZE|X+sc?i8EHW$*`!v;h4jTls@NkY?UilbHKbZ%#3uY9R-W^!c9S_z{x0*vIPLT!Uy$JcTTij*FF)@b@R)w zXK$Pk*+u>!dr2*DR|+`~_6Dq&W#ShoWKp>y9X5MF>=cZ%^Dz$`jy-iLtPJUWsB^f( zCg@kmIt^<}fvv5ahN}y0p{xz#Scn}{UXLqU{)@XxexPZXzHm@bzJV-_<<&2T|2NY- zmDd~{dpLgbM9OIm6tW z#MKyr99ubmI-!Rr!MXbDc|$mPX0)rx_zM56(>D3x){-YuOmrH^YoiD21{*Du5`1o}>f+om( zTqfF|LwpfU5wAT`BxKsc1CvxhK-cPksbq%YcfU zJ)ZpX^Bv%^EjK*C(!YV9P`Y;{50s2&6*jQrNH>dinF>ne1cE24uTWP^rAZA|Q`iM@ zfiETC>(xGXEc0DBErI^h2_*oXANim&;(nFqlB+--L!yNPQ{Euw4-4%p1ypB%A6e-Fls z9b**NT=t7kQMNGMeY`n9LX683PwIo-UoS=s>}OF<7k<27sT}e($1rvuB2LGfso=%w zeX@%$c_r#Wr#jnsTsMUD>yF!+8%xfRBb5yd2D)l5n%EfJtMRJ{oojeiD=eE(DA(gQ z>5GW#Wykm{l!yK$W4jNdtX%G(xiYqlnKZ*p#(tC;qKw+jZPFDXR?3V?QZA2#kP|cc zGoadSsyfP))Z8VE|!rT;o4L zw-@$b6+s9qKnU|M+q6#K6_mX+y3l~I#0IXJ?c+vTWRurm<>z`(II`3i!S#gyWes=<6IE)R+Yk8CB8xm8IPftrP@c1F6i8} z2j;rxxPz#X|H+p#iV_g;dJml2_~PZ;H2^3m{ZKj%Jy=i2t#cmyffdt!lxw?ohX$|I zlB2@XIR$+t3^piWR;k=T)43W)sP)Q7|CSnbtLWD7=LiE_iOf|RH$??vXSkm{4j_rc z*!`u@EzKpn3lkcj{i&$~lVzl^WX5eFsRL#`_C@9>Qmf+-NVWI2?_KBlW|YlXcPJBF z!NSkH)P>+{opPBW@*LI?%BDk;S8)5-Fd4xCZE5Ug5njJ4Blg*Po_HDzb#UI)v3}uK zh5NLer}2xm%t<|Nff3HXv^&O!voLlyUtN+SGK_^mUs!rc;T2kA6H{w0RO|9(QAB#KlSmA)pgV&c=e`4?*4u! zV(}zgRj^spdFIJ%uk_3F-&Fbb#}a6u+H}%V231^kgV{x8#`T32pg>%2@`NtX;4_3Z z=@D83|4^ZlI-7?pG|F|how@Rz1MSOw`|t2@MR$NO$nU-!i)_q&j~shxlfo zu`KQy=ym%1@5t6a0$$TOU9y&F0N&FEZG?6SfD%~&WxB|wCk!6v8g9+g%C>R!j|8}A z-n;`60Zk4mM-mO6dz)$ssp6w`W(7XlTDEMn@&xis>EV%C@`ZpwBH(y5$|V3ZHKzhm zO^auc-PA;3`92Qc-=mKtl{sSFP$Cn-B?(e~5nJFwCN8IeDTn@8TarIy1>aTTrS$vkFA=MY$sGIXXEO>$H%=~7%-O;Ft_qBtnWH3SvkF1T~^a_otqBSBNFRj_V~8P zz>p2|^C;cgOYfCVm2QVJ(-^>kYm$!rjR@xRnpAF$bOqak2FX&=ue9;ST zz>9BrnUqeifin%xma6UPn_K{Qdl7i`&}6qpKC}>cKOP7?eI$wi@B3_pZ#BJ>QKW;O zmFWUnKl^FPAS=L0~Y?Hbl7b@Tx#eRk)7i&3Xjsl zgivGAhOdjFZFUCjwUN!)02&I0-&EJL7^C2izm-*>0lq z&1*%~=u@aUS!JlF@Y2E?JJAq8WNi|;gNN4kR3w876=Cq zC5)1@+#6^*237q}{a^R8!uyX7KuVkC$HF?2Tu}qkFol>5z|Ie)HbWHbYUnd*_|?ZpewoV@dwDpssNY6X>!Tv3{>SL9-fWn zT?aVh~jcA0hOhD3h+NS0;e(`yW zl9tdw76{OshhnuLg+b(>2sY0GOsuu2a%M8XtaWN_8%S~h{K@Rd{Eq0l(N_EqM|jJx zBEgcYG)3CZ56N8lkm>q@%KlwKRUrrG8?TTp zj+cSUc|Vvo!?ej4%P37e-s%D!0XL8a0!hw%Dvr`iR!1P=c;!z`>MgGW38P^j^kypr z<`8z>cUw?K9sNpZj{8|l|TNb)eZ*bAaDH^5pzNu^aGu`}>D{(~TM2L!}7 zzse@p}sM#Q0ss?o3e&{0sLTNO-2&zb*vN8ac zNEioEf2&+Q_j^wG;ZL`=m0nxk$|Hc`0r|_FQ0ssV&=vIoumZJcaDT*fw{1X#hDZnp zE|+8x^F@N?0lIWF=L_-)5tQ1%iN4#4@4@@V=TT?%hQVEynJSugvYeVJOg(79iQWo&j9n1ca&tj@s^|oD!JR z@aW^brIPIovb3JT1yt@u=)AS7_4FmpMIgCFcapMA+Qq1i>|C>?(7bNAzG& z^aJV|))(Z111GIMagYP>!T^N?nFsRG=B<0roFP! zsSMB*0+NW8jn#i5SZ$+o7{=HRif8QBPli|oE37UBpn0oQnGZ=~PV6%pv$}$nZ}jO&fv4tzNUb3-f57 zg{FYh`Znu=O;-=XZ^m(G7A7&~1dx5GIz|2j`8Z1d!9kBmyFUf(&c2brMj2EX*0;R? z?Gxw%`LzyxF!^8Pcdd(M6hXYvyTQ4J#AX@bw4T5x7~sqVG4MOBb6GbaLd*TLX6~~9 z`lHn><;L2Qj5C1~Y1mwMqax8GsO(>){!JM4!$Xi(7Y-!4#=&SSE3__ds;DRd_RuKF!QVgL&RG%EJ1aaqT$gZ$rgjgpI?2r+1g z1|(Q;6fnGQUJMYUy$ow~_gU}03__ahj|$MnmvGl12v+!2VRM-FGYa-(^^UD;7+=sZ z!tKq`60m}|P(^S%`ui*N!~X3gjE73*a;_7^udAhqckK17t^P*U%^piEj>Q zjmEo;Wq)c7wI{&!a14P00I>qrU~D}d4pV9WnJ7l)R!&K2J)$JDCX{_>wBS~`n& z=*|eK{h?VD^az*{e1|Kj&1zq8*j2=E@+vTOl(Fa^hDhEPB?NdL@{kh8#qhkH1BUe5l7G`y>tVsT2R`XE6)vxmRXVKpv zGzGJ}pvMI#L0eg3BmP)?$1ZdovQ@=CWupgl`4#OQ_NKYX}6d8+f8> zHyOFU5MWD;{EU`HFYYw|3lOCKaRH&)rxohPdd#~vgJsx&HsJ=qs>`(V1NjA0h%v<0 zTq=NF4OY2%ThUDfyZ1hII2bQ2M2X;4AHYAgm$^}bZ@AO4W zh27&-(8dqr{LfN1f`I>_>Y60}|AK)nA+}ozLh%C_1tV%Ws|RJ0keI2xDYN*d`emEt zn)Bm$0VF5On*~(~H>76<9P3wo+T_T*c^^nl&%KB+vWw;;fGW9{bAuw#Xg|Q8X?vCO zXXyN=C$uy9Tp6W_N@f(Y9-v0SCl~%nTQ-dZ@;|H9pkN-Ct?r + + + http://opcfoundation.org/UA/I4AAS/V3/ + + + + + + + + i=1 + i=5 + i=9 + i=12 + i=13 + i=15 + i=21 + i=37 + i=38 + i=39 + i=40 + i=45 + i=46 + i=47 + i=49 + i=256 + i=291 + i=296 + i=7594 + i=17603 + i=17604 + ns=1;i=3002 + ns=1;i=3003 + ns=1;i=3004 + ns=1;i=3005 + ns=1;i=3006 + ns=1;i=3008 + ns=1;i=3009 + ns=1;i=3010 + ns=1;i=3011 + ns=1;i=3012 + ns=1;i=3013 + ns=1;i=3015 + ns=1;i=3016 + + + + + + + + AASAssetKindDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.3 + + i=29 + ns=1;i=6099 + + + + hardware or software element which specifies the common attributes shared by all instances of the type +[SOURCE: IEC TR 62390:2005-01, 3.1.25] + + + + concrete, clearly identifiable component of a certain type + +Note: It becomes an individual entity of a type, for example a device, by defining specific property values. + +Note: In an object-oriented view, an instance denotes an object of a class (of a type). + +[SOURCE: IEC 62890:2016, 3.1.16] 65/617/CDV + + + + + + EnumValues + + ns=1;i=3003 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + Type + + + hardware or software element which specifies the common attributes shared by all instances of the type +[SOURCE: IEC TR 62390:2005-01, 3.1.25] + + + + + + + + i=7616 + + + + 1 + + Instance + + + concrete, clearly identifiable component of a certain type + +Note: It becomes an individual entity of a type, for example a device, by defining specific property values. + +Note: In an object-oriented view, an instance denotes an object of a class (of a type). + +[SOURCE: IEC 62890:2016, 3.1.16] 65/617/CDV + + + + + + + + + + AASCategoryDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.6 + + i=29 + ns=1;i=6109 + + + + Constant + + + Parameter + + + Variable + + + Relationship + + + + + EnumValues + + ns=1;i=3007 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + CONSTANT + + + Constant + + + + + + + i=7616 + + + + 1 + + PARAMETER + + + Parameter + + + + + + + i=7616 + + + + 2 + + VARIABLE + + + Variable + + + + + + + i=7616 + + + + 3 + + RELATIONSHIP + + + Relationship + + + + + + + + + AASDataTypeIEC61360DataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.11 + + i=29 + ns=1;i=6111 + + + + + + + + + + + + + + + + + + + + + EnumStrings + + ns=1;i=3008 + i=78 + i=68 + + + + + BOOLEAN + + + DATE + + + RATIONAL + + + RATIONAL_MEASURE + + + REAL_COUNT + + + REAL_CURRENCY + + + REAL_MEASURE + + + STRING + + + STRING_TRANSLATABLE + + + TIME + + + TIMESTAMP + + + URL + + + INTEGER_COUNT + + + INTEGER_CURRENCY + + + INTEGER_MEASURE + + + + + + AASEntityTypeDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.10 + + i=29 + ns=1;i=6103 + + + + Self-Managed Entities have their own AAS. This is why a reference to this asset is specified as well (Entity/asset). Additionally, further property statements (compare to [15]) can be added to the asset that are not specified in the AAS of the asset itself because they are specified in relation to the complex I4.0 Component only. + + + For co-managed entities there is no separate AAS. The relationships and property statements of such entities are managed within the AAS of the composite I4.0 Component. + + + + + EnumValues + + ns=1;i=3006 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + CoManagedEntity + + + Self-Managed Entities have their own AAS. This is why a reference to this asset is specified as well (Entity/asset). Additionally, further property statements (compare to [15]) can be added to the asset that are not specified in the AAS of the asset itself because they are specified in relation to the complex I4.0 Component only. + + + + + + + i=7616 + + + + 1 + + SelfManagedEntity + + + For co-managed entities there is no separate AAS. The relationships and property statements of such entities are managed within the AAS of the composite I4.0 Component. + + + + + + + + + AASIdentifierTypeDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.1 + + i=29 + ns=1;i=6093 + + + + IRDI according to ISO29002-5 as an Identifier scheme for properties and classifications + + + Internationalized Resource Identifier according to RFC3305 + + + Custom identifiers like GUIDs (globally unique Identifiers) + + + + + EnumValues + + ns=1;i=3010 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + IRDI + + + IRDI according to ISO29002-5 as an Identifier scheme for properties and classifications + + + + + + + i=7616 + + + + 1 + + IRI + + + Internationalized Resource Identifier according to RFC3305 + + + + + + + i=7616 + + + + 2 + + Custom + + + Custom identifiers like GUIDs (globally unique Identifiers) + + + + + + + + + AASKeyElementsDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.4.2 + + i=29 + ns=1;i=6101 + + + + "AccessPermissionRule" + + + “AnnotatedRelationshipElement†+ + + "Asset" + + + "AssetAdministrationShell" + + + "Blob" + + + "Capability" + + + "ConceptDescription" + + + "ConceptDictionary" + + + "DataElement" + + + "Entity" + + + "Event" + + + "File" + + + "FragmentReference" + + + "GlobalReference" + + + "MultiLanguageProperty" + + + "Operation" + + + "Property" + + + "Range" + + + "ReferenceElement" + + + "RelationshipElement" + + + "Submodel" + + + "SubmodelElement" + + + "SubmodelElementCollection" + + + "View" + + + + + EnumValues + + ns=1;i=3012 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + AccessPermissionRule + + + "AccessPermissionRule" + + + + + + + i=7616 + + + + 1 + + AnnotatedRelationshipElement + + + “AnnotatedRelationshipElement†+ + + + + + + i=7616 + + + + 2 + + Asset + + + "Asset" + + + + + + + i=7616 + + + + 3 + + AssetAdministrationShell + + + "AssetAdministrationShell" + + + + + + + i=7616 + + + + 4 + + Blob + + + "Blob" + + + + + + + i=7616 + + + + 5 + + Capability + + + "Capability" + + + + + + + i=7616 + + + + 6 + + ConceptDescription + + + "ConceptDescription" + + + + + + + i=7616 + + + + 7 + + ConceptDictionary + + + "ConceptDictionary" + + + + + + + i=7616 + + + + 8 + + DataElement + + + "DataElement" + + + + + + + i=7616 + + + + 9 + + Entity + + + "Entity" + + + + + + + i=7616 + + + + 10 + + Event + + + "Event" + + + + + + + i=7616 + + + + 11 + + File + + + "File" + + + + + + + i=7616 + + + + 12 + + FragmentReference + + + "FragmentReference" + + + + + + + i=7616 + + + + 13 + + GlobalReference + + + "GlobalReference" + + + + + + + i=7616 + + + + 14 + + MultiLanguageProperty + + + "MultiLanguageProperty" + + + + + + + i=7616 + + + + 15 + + Operation + + + "Operation" + + + + + + + i=7616 + + + + 16 + + Property + + + "Property" + + + + + + + i=7616 + + + + 17 + + Range + + + "Range" + + + + + + + i=7616 + + + + 18 + + ReferenceElement + + + "ReferenceElement" + + + + + + + i=7616 + + + + 19 + + RelationshipElement + + + "RelationshipElement" + + + + + + + i=7616 + + + + 20 + + Submodel + + + "Submodel" + + + + + + + i=7616 + + + + 21 + + SubmodelElement + + + "SubmodelElement" + + + + + + + i=7616 + + + + 22 + + SubmodelElementCollection + + + "SubmodelElementCollection" + + + + + + + i=7616 + + + + 23 + + View + + + "View" + + + + + + + + + AASKeyTypeDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.5 + + i=29 + ns=1;i=6108 + + + + ... + + + ... + + + ... + + + ... + + + ... + + + + + EnumValues + + ns=1;i=3002 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + IdShort + + + ... + + + + + + + i=7616 + + + + 1 + + FragmentId + + + ... + + + + + + + i=7616 + + + + 2 + + Custom + + + ... + + + + + + + i=7616 + + + + 3 + + IRDI + + + ... + + + + + + + i=7616 + + + + 4 + + IRI + + + ... + + + + + + + + + AASLevelTypeDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.12 + + i=29 + ns=1;i=6102 + + + + “Minimum†+ + + “Maximum†+ + + "Number" + + + "Type" + + + + + EnumValues + + ns=1;i=3009 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + Min + + + “Minimum†+ + + + + + + i=7616 + + + + 1 + + Max + + + “Maximum†+ + + + + + + i=7616 + + + + 2 + + Num + + + "Number" + + + + + + + i=7616 + + + + 3 + + Type + + + "Type" + + + + + + + + + AASModelingKindDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.2 + + i=29 + ns=1;i=6125 + + + + Hardware or software element which specifies the common attributes shared by all instances of the type +[SOURCE: IEC TR 62390:2005-01, 3.1.25] + + + + Concrete, clearly identifiable component of a certain template. + +Note: It becomes an individual entity of a template, for example a device model, by defining specific property values. + +Note: In an object oriented view, an instance denotes an object of a template (class). + +[SOURCE: IEC 62890:2016, 3.1.16 65/617/CDV] modified + + + + + + EnumValues + + ns=1;i=3015 + i=78 + i=68 + + + + + + i=7616 + + + + 0 + + Template + + + Hardware or software element which specifies the common attributes shared by all instances of the type +[SOURCE: IEC TR 62390:2005-01, 3.1.25] + + + + + + + + i=7616 + + + + 1 + + Instance + + + Concrete, clearly identifiable component of a certain template. + +Note: It becomes an individual entity of a template, for example a device model, by defining specific property values. + +Note: In an object oriented view, an instance denotes an object of a template (class). + +[SOURCE: IEC 62890:2016, 3.1.16 65/617/CDV] modified + + + + + + + + + + AASValueTypeDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.7 + + i=29 + ns=1;i=6110 + + + + + + + + + + + + + + + + + + + + + + EnumStrings + + ns=1;i=3004 + i=78 + i=68 + + + + + Boolean + + + SByte + + + Byte + + + Int16 + + + UInt16 + + + Int32 + + + UInt32 + + + Int64 + + + UInt64 + + + Float + + + Double + + + String + + + DateTime + + + ByteString + + + LocalizedText + + + UtcTime + + + + + + AASMimeDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.9 + + i=12 + + + + AASPathDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.8 + + i=12 + + + + AASPropertyValueDataType + + i=12 + + + + AASQualifierDataType + + i=12 + + + + AASKeyDataType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/7.4.1 + + i=22 + ns=1;i=5038 + ns=1;i=5040 + ns=1;i=5039 + + + + + + + + + AASKeyDataType + + ns=1;i=5038 + ns=1;i=6094 + i=69 + + + AASKeyDataType + + + + AASKeyDataType + + ns=1;i=5039 + ns=1;i=6096 + i=69 + + + //xs:element[@name='AASKeyDataType'] + + + + TypeDictionary + Collects the data type descriptions of http://opcfoundation.org/UA/I4AAS/V3/ + + ns=1;i=6098 + i=72 + ns=1;i=6095 + i=93 + + + PG9wYzpUeXBlRGljdGlvbmFyeSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZ + W1hLWluc3RhbmNlIiB4bWxuczp0bnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9JN + EFBUy9WMy8iIERlZmF1bHRCeXRlT3JkZXI9IkxpdHRsZUVuZGlhbiIgeG1sbnM6b3BjPSJod + HRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2NoZW1hLyIgeG1sbnM6dWE9Imh0dHA6L + y9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zvd + W5kYXRpb24ub3JnL1VBL0k0QUFTL1YzLyI+CiA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0d + HA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iLz4KIDxvcGM6U3RydWN0dXJlZFR5cGUgQmFzZ + VR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgTmFtZT0iQUFTS2V5RGF0YVR5cGUiPgogIDxvc + GM6RmllbGQgVHlwZU5hbWU9InRuczpBQVNLZXlFbGVtZW50c0RhdGFUeXBlIiBOYW1lPSJUe + XBlIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTmFtZT0iVmFsd + WUiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJ0bnM6QUFTS2V5VHlwZURhdGFUeXBlIiBOY + W1lPSJJZFR5cGUiLz4KIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgogPG9wYzpFbnVtZXJhdGVkV + HlwZSBMZW5ndGhJbkJpdHM9IjMyIiBOYW1lPSJBQVNBc3NldEtpbmREYXRhVHlwZSI+CiAgP + G9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZSIgVmFsdWU9IjAiLz4KICA8b3BjOkVud + W1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN0YW5jZSIgVmFsdWU9IjEiLz4KIDwvb3BjOkVudW1lc + mF0ZWRUeXBlPgogPG9wYzpFbnVtZXJhdGVkVHlwZSBMZW5ndGhJbkJpdHM9IjMyIiBOYW1lP + SJBQVNDYXRlZ29yeURhdGFUeXBlIj4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDT + 05TVEFOVCIgVmFsdWU9IjAiLz4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJBT + UVURVIiIFZhbHVlPSIxIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVkFSSUFCT + EUiIFZhbHVlPSIyIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUkVMQVRJT05TS + ElQIiBWYWx1ZT0iMyIvPgogPC9vcGM6RW51bWVyYXRlZFR5cGU+CiA8b3BjOkVudW1lcmF0Z + WRUeXBlIExlbmd0aEluQml0cz0iMzIiIE5hbWU9IkFBU0RhdGFUeXBlSUVDNjEzNjBEYXRhV + HlwZSI+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQk9PTEVBTiIgVmFsdWU9IjAiL + z4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEQVRFIiBWYWx1ZT0iMSIvPgogIDxvc + GM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJBVElPTkFMIiBWYWx1ZT0iMiIvPgogIDxvcGM6R + W51bWVyYXRlZFZhbHVlIE5hbWU9IlJBVElPTkFMX01FQVNVUkUiIFZhbHVlPSIzIi8+CiAgP + G9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUkVBTF9DT1VOVCIgVmFsdWU9IjQiLz4KICA8b + 3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSRUFMX0NVUlJFTkNZIiBWYWx1ZT0iNSIvPgogI + DxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJFQUxfTUVBU1VSRSIgVmFsdWU9IjYiLz4KI + CA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTVFJJTkciIFZhbHVlPSI3Ii8+CiAgPG9wY + zpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU1RSSU5HX1RSQU5TTEFUQUJMRSIgVmFsdWU9IjgiL + z4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUSU1FIiBWYWx1ZT0iOSIvPgogIDxvc + GM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRJTUVTVEFNUCIgVmFsdWU9IjEwIi8+CiAgPG9wY + zpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVVJMIiBWYWx1ZT0iMTEiLz4KICA8b3BjOkVudW1lc + mF0ZWRWYWx1ZSBOYW1lPSJJTlRFR0VSX0NPVU5UIiBWYWx1ZT0iMTIiLz4KICA8b3BjOkVud + W1lcmF0ZWRWYWx1ZSBOYW1lPSJJTlRFR0VSX0NVUlJFTkNZIiBWYWx1ZT0iMTMiLz4KICA8b + 3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJTlRFR0VSX01FQVNVUkUiIFZhbHVlPSIxNCIvP + gogPC9vcGM6RW51bWVyYXRlZFR5cGU+CiA8b3BjOkVudW1lcmF0ZWRUeXBlIExlbmd0aEluQ + ml0cz0iMzIiIE5hbWU9IkFBU0VudGl0eVR5cGVEYXRhVHlwZSI+CiAgPG9wYzpFbnVtZXJhd + GVkVmFsdWUgTmFtZT0iQ29NYW5hZ2VkRW50aXR5IiBWYWx1ZT0iMCIvPgogIDxvcGM6RW51b + WVyYXRlZFZhbHVlIE5hbWU9IlNlbGZNYW5hZ2VkRW50aXR5IiBWYWx1ZT0iMSIvPgogPC9vc + GM6RW51bWVyYXRlZFR5cGU+CiA8b3BjOkVudW1lcmF0ZWRUeXBlIExlbmd0aEluQml0cz0iM + zIiIE5hbWU9IkFBU0lkZW50aWZpZXJUeXBlRGF0YVR5cGUiPgogIDxvcGM6RW51bWVyYXRlZ + FZhbHVlIE5hbWU9IklSREkiIFZhbHVlPSIwIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgT + mFtZT0iSVJJIiBWYWx1ZT0iMSIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1c + 3RvbSIgVmFsdWU9IjIiLz4KIDwvb3BjOkVudW1lcmF0ZWRUeXBlPgogPG9wYzpFbnVtZXJhd + GVkVHlwZSBMZW5ndGhJbkJpdHM9IjMyIiBOYW1lPSJBQVNLZXlFbGVtZW50c0RhdGFUeXBlI + j4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NQZXJtaXNzaW9uUnVsZSIgV + mFsdWU9IjAiLz4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm5vdGF0ZWRSZWxhd + GlvbnNoaXBFbGVtZW50IiBWYWx1ZT0iMSIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hb + WU9IkFzc2V0IiBWYWx1ZT0iMiIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFzc + 2V0QWRtaW5pc3RyYXRpb25TaGVsbCIgVmFsdWU9IjMiLz4KICA8b3BjOkVudW1lcmF0ZWRWY + Wx1ZSBOYW1lPSJCbG9iIiBWYWx1ZT0iNCIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hb + WU9IkNhcGFiaWxpdHkiIFZhbHVlPSI1Ii8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZ + T0iQ29uY2VwdERlc2NyaXB0aW9uIiBWYWx1ZT0iNiIvPgogIDxvcGM6RW51bWVyYXRlZFZhb + HVlIE5hbWU9IkNvbmNlcHREaWN0aW9uYXJ5IiBWYWx1ZT0iNyIvPgogIDxvcGM6RW51bWVyY + XRlZFZhbHVlIE5hbWU9IkRhdGFFbGVtZW50IiBWYWx1ZT0iOCIvPgogIDxvcGM6RW51bWVyY + XRlZFZhbHVlIE5hbWU9IkVudGl0eSIgVmFsdWU9IjkiLz4KICA8b3BjOkVudW1lcmF0ZWRWY + Wx1ZSBOYW1lPSJFdmVudCIgVmFsdWU9IjEwIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgT + mFtZT0iRmlsZSIgVmFsdWU9IjExIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR + nJhZ21lbnRSZWZlcmVuY2UiIFZhbHVlPSIxMiIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlI + E5hbWU9Ikdsb2JhbFJlZmVyZW5jZSIgVmFsdWU9IjEzIi8+CiAgPG9wYzpFbnVtZXJhdGVkV + mFsdWUgTmFtZT0iTXVsdGlMYW5ndWFnZVByb3BlcnR5IiBWYWx1ZT0iMTQiLz4KICA8b3BjO + kVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGVyYXRpb24iIFZhbHVlPSIxNSIvPgogIDxvcGM6R + W51bWVyYXRlZFZhbHVlIE5hbWU9IlByb3BlcnR5IiBWYWx1ZT0iMTYiLz4KICA8b3BjOkVud + W1lcmF0ZWRWYWx1ZSBOYW1lPSJSYW5nZSIgVmFsdWU9IjE3Ii8+CiAgPG9wYzpFbnVtZXJhd + GVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRWxlbWVudCIgVmFsdWU9IjE4Ii8+CiAgPG9wYzpFb + nVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRpb25zaGlwRWxlbWVudCIgVmFsdWU9IjE5Ii8+C + iAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VibW9kZWwiIFZhbHVlPSIyMCIvPgogI + DxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1Ym1vZGVsRWxlbWVudCIgVmFsdWU9IjIxI + i8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VibW9kZWxFbGVtZW50Q29sbGVjd + GlvbiIgVmFsdWU9IjIyIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmlldyIgV + mFsdWU9IjIzIi8+CiA8L29wYzpFbnVtZXJhdGVkVHlwZT4KIDxvcGM6RW51bWVyYXRlZFR5c + GUgTGVuZ3RoSW5CaXRzPSIzMiIgTmFtZT0iQUFTS2V5VHlwZURhdGFUeXBlIj4KICA8b3BjO + kVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJZFNob3J0IiBWYWx1ZT0iMCIvPgogIDxvcGM6RW51b + WVyYXRlZFZhbHVlIE5hbWU9IkZyYWdtZW50SWQiIFZhbHVlPSIxIi8+CiAgPG9wYzpFbnVtZ + XJhdGVkVmFsdWUgTmFtZT0iQ3VzdG9tIiBWYWx1ZT0iMiIvPgogIDxvcGM6RW51bWVyYXRlZ + FZhbHVlIE5hbWU9IklSREkiIFZhbHVlPSIzIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgT + mFtZT0iSVJJIiBWYWx1ZT0iNCIvPgogPC9vcGM6RW51bWVyYXRlZFR5cGU+CiA8b3BjOkVud + W1lcmF0ZWRUeXBlIExlbmd0aEluQml0cz0iMzIiIE5hbWU9IkFBU0xldmVsVHlwZURhdGFUe + XBlIj4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW4iIFZhbHVlPSIwIi8+CiAgP + G9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWF4IiBWYWx1ZT0iMSIvPgogIDxvcGM6RW51b + WVyYXRlZFZhbHVlIE5hbWU9Ik51bSIgVmFsdWU9IjIiLz4KICA8b3BjOkVudW1lcmF0ZWRWY + Wx1ZSBOYW1lPSJUeXBlIiBWYWx1ZT0iMyIvPgogPC9vcGM6RW51bWVyYXRlZFR5cGU+CiA8b + 3BjOkVudW1lcmF0ZWRUeXBlIExlbmd0aEluQml0cz0iMzIiIE5hbWU9IkFBU01vZGVsaW5nS + 2luZERhdGFUeXBlIj4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUZW1wbGF0ZSIgV + mFsdWU9IjAiLz4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN0YW5jZSIgVmFsd + WU9IjEiLz4KIDwvb3BjOkVudW1lcmF0ZWRUeXBlPgogPG9wYzpFbnVtZXJhdGVkVHlwZSBMZ + W5ndGhJbkJpdHM9IjMyIiBOYW1lPSJBQVNWYWx1ZVR5cGVEYXRhVHlwZSI+CiAgPG9wYzpFb + nVtZXJhdGVkVmFsdWUgTmFtZT0iQm9vbGVhbiIgVmFsdWU9IjAiLz4KICA8b3BjOkVudW1lc + mF0ZWRWYWx1ZSBOYW1lPSJTQnl0ZSIgVmFsdWU9IjEiLz4KICA8b3BjOkVudW1lcmF0ZWRWY + Wx1ZSBOYW1lPSJCeXRlIiBWYWx1ZT0iMiIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hb + WU9IkludDE2IiBWYWx1ZT0iMyIvPgogIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVJb + nQxNiIgVmFsdWU9IjQiLz4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnQzMiIgV + mFsdWU9IjUiLz4KICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVSW50MzIiIFZhbHVlP + SI2Ii8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW50NjQiIFZhbHVlPSI3Ii8+C + iAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVUludDY0IiBWYWx1ZT0iOCIvPgogIDxvc + GM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZsb2F0IiBWYWx1ZT0iOSIvPgogIDxvcGM6RW51b + WVyYXRlZFZhbHVlIE5hbWU9IkRvdWJsZSIgVmFsdWU9IjEwIi8+CiAgPG9wYzpFbnVtZXJhd + GVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMTEiLz4KICA8b3BjOkVudW1lcmF0ZWRWY + Wx1ZSBOYW1lPSJEYXRlVGltZSIgVmFsdWU9IjEyIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsd + WUgTmFtZT0iQnl0ZVN0cmluZyIgVmFsdWU9IjEzIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsd + WUgTmFtZT0iTG9jYWxpemVkVGV4dCIgVmFsdWU9IjE0Ii8+CiAgPG9wYzpFbnVtZXJhdGVkV + mFsdWUgTmFtZT0iVXRjVGltZSIgVmFsdWU9IjE1Ii8+CiA8L29wYzpFbnVtZXJhdGVkVHlwZ + T4KPC9vcGM6VHlwZURpY3Rpb25hcnk+Cg== + + + + NamespaceUri + + ns=1;i=6094 + i=68 + + + http://opcfoundation.org/UA/I4AAS/V3/ + + + + TypeDictionary + Collects the data type descriptions of http://opcfoundation.org/UA/I4AAS/V3/ + + ns=1;i=6100 + i=72 + ns=1;i=6097 + i=92 + + + PHhzOnNjaGVtYSBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgdGFyZ2V0TmFtZXNwYWNlPSJod + HRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvSTRBQVMvVjMvVHlwZXMueHNkIiB4bWxuczp0b + nM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9JNEFBUy9WMy9UeXBlcy54c2QiIHhtb + G5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54c2QiI + HhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiA8eHM6aW1wb + 3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZ + XMueHNkIi8+CiA8eHM6c2ltcGxlVHlwZSBuYW1lPSJBQVNBc3NldEtpbmREYXRhVHlwZSI+C + iAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CiAgIDx4czplbnVtZXJhdGlvb + iB2YWx1ZT0iVHlwZV8wIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zdGFuY2VfM + SIvPgogIDwveHM6cmVzdHJpY3Rpb24+CiA8L3hzOnNpbXBsZVR5cGU+CiA8eHM6ZWxlbWVud + CB0eXBlPSJ0bnM6QUFTQXNzZXRLaW5kRGF0YVR5cGUiIG5hbWU9IkFBU0Fzc2V0S2luZERhd + GFUeXBlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQUFTQXNzZXRLaW5kRGF0Y + VR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtY + XhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOkFBU0Fzc2V0S2luZERhdGFUeXBlIiBuY + W1lPSJBQVNBc3NldEtpbmREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlc + XVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T + 2ZBQVNBc3NldEtpbmREYXRhVHlwZSIgbmFtZT0iTGlzdE9mQUFTQXNzZXRLaW5kRGF0YVR5c + GUiIG5pbGxhYmxlPSJ0cnVlIi8+CiA8eHM6c2ltcGxlVHlwZSBuYW1lPSJBQVNDYXRlZ29ye + URhdGFUeXBlIj4KICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4KICAgPHhzO + mVudW1lcmF0aW9uIHZhbHVlPSJDT05TVEFOVF8wIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2Y + Wx1ZT0iUEFSQU1FVEVSXzEiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQVJJQUJMR + V8yIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUkVMQVRJT05TSElQXzMiLz4KICA8L + 3hzOnJlc3RyaWN0aW9uPgogPC94czpzaW1wbGVUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0id + G5zOkFBU0NhdGVnb3J5RGF0YVR5cGUiIG5hbWU9IkFBU0NhdGVnb3J5RGF0YVR5cGUiLz4KI + Dx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBQVNDYXRlZ29yeURhdGFUeXBlIj4KICA8e + HM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1b + mJvdW5kZWQiIHR5cGU9InRuczpBQVNDYXRlZ29yeURhdGFUeXBlIiBuYW1lPSJBQVNDYXRlZ + 29yeURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzO + mNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZkFBU0NhdGVnb3J5R + GF0YVR5cGUiIG5hbWU9Ikxpc3RPZkFBU0NhdGVnb3J5RGF0YVR5cGUiIG5pbGxhYmxlPSJ0c + nVlIi8+CiA8eHM6c2ltcGxlVHlwZSBuYW1lPSJBQVNEYXRhVHlwZUlFQzYxMzYwRGF0YVR5c + GUiPgogIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPgogICA8eHM6ZW51bWVyY + XRpb24gdmFsdWU9IkJPT0xFQU5fMCIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRBV + EVfMSIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJBVElPTkFMXzIiLz4KICAgPHhzO + mVudW1lcmF0aW9uIHZhbHVlPSJSQVRJT05BTF9NRUFTVVJFXzMiLz4KICAgPHhzOmVudW1lc + mF0aW9uIHZhbHVlPSJSRUFMX0NPVU5UXzQiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlP + SJSRUFMX0NVUlJFTkNZXzUiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSRUFMX01FQ + VNVUkVfNiIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNUUklOR183Ii8+CiAgIDx4c + zplbnVtZXJhdGlvbiB2YWx1ZT0iU1RSSU5HX1RSQU5TTEFUQUJMRV84Ii8+CiAgIDx4czplb + nVtZXJhdGlvbiB2YWx1ZT0iVElNRV85Ii8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV + ElNRVNUQU1QXzEwIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVVJMXzExIi8+CiAgI + Dx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSU5URUdFUl9DT1VOVF8xMiIvPgogICA8eHM6ZW51b + WVyYXRpb24gdmFsdWU9IklOVEVHRVJfQ1VSUkVOQ1lfMTMiLz4KICAgPHhzOmVudW1lcmF0a + W9uIHZhbHVlPSJJTlRFR0VSX01FQVNVUkVfMTQiLz4KICA8L3hzOnJlc3RyaWN0aW9uPgogP + C94czpzaW1wbGVUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkFBU0RhdGFUeXBlSUVDN + jEzNjBEYXRhVHlwZSIgbmFtZT0iQUFTRGF0YVR5cGVJRUM2MTM2MERhdGFUeXBlIi8+CiA8e + HM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQUFTRGF0YVR5cGVJRUM2MTM2MERhdGFUeXBlI + j4KICA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2Njd + XJzPSJ1bmJvdW5kZWQiIHR5cGU9InRuczpBQVNEYXRhVHlwZUlFQzYxMzYwRGF0YVR5cGUiI + G5hbWU9IkFBU0RhdGFUeXBlSUVDNjEzNjBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KI + CA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9I + nRuczpMaXN0T2ZBQVNEYXRhVHlwZUlFQzYxMzYwRGF0YVR5cGUiIG5hbWU9Ikxpc3RPZkFBU + 0RhdGFUeXBlSUVDNjEzNjBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KIDx4czpzaW1wb + GVUeXBlIG5hbWU9IkFBU0VudGl0eVR5cGVEYXRhVHlwZSI+CiAgPHhzOnJlc3RyaWN0aW9uI + GJhc2U9InhzOnN0cmluZyI+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29NYW5hZ2VkR + W50aXR5XzAiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTZWxmTWFuYWdlZEVudGl0e + V8xIi8+CiAgPC94czpyZXN0cmljdGlvbj4KIDwveHM6c2ltcGxlVHlwZT4KIDx4czplbGVtZ + W50IHR5cGU9InRuczpBQVNFbnRpdHlUeXBlRGF0YVR5cGUiIG5hbWU9IkFBU0VudGl0eVR5c + GVEYXRhVHlwZSIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFBU0VudGl0eVR5c + GVEYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9I + jAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiB0eXBlPSJ0bnM6QUFTRW50aXR5VHlwZURhdGFUe + XBlIiBuYW1lPSJBQVNFbnRpdHlUeXBlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiAgP + C94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0b + nM6TGlzdE9mQUFTRW50aXR5VHlwZURhdGFUeXBlIiBuYW1lPSJMaXN0T2ZBQVNFbnRpdHlUe + XBlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiA8eHM6c2ltcGxlVHlwZSBuYW1lPSJBQ + VNJZGVudGlmaWVyVHlwZURhdGFUeXBlIj4KICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c + 3RyaW5nIj4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJUkRJXzAiLz4KICAgPHhzOmVud + W1lcmF0aW9uIHZhbHVlPSJJUklfMSIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkN1c + 3RvbV8yIi8+CiAgPC94czpyZXN0cmljdGlvbj4KIDwveHM6c2ltcGxlVHlwZT4KIDx4czplb + GVtZW50IHR5cGU9InRuczpBQVNJZGVudGlmaWVyVHlwZURhdGFUeXBlIiBuYW1lPSJBQVNJZ + GVudGlmaWVyVHlwZURhdGFUeXBlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ + UFTSWRlbnRpZmllclR5cGVEYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlb + WVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiB0eXBlPSJ0bnM6QUFTS + WRlbnRpZmllclR5cGVEYXRhVHlwZSIgbmFtZT0iQUFTSWRlbnRpZmllclR5cGVEYXRhVHlwZ + SIgbmlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZ + T4KIDx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T2ZBQVNJZGVudGlmaWVyVHlwZURhdGFUe + XBlIiBuYW1lPSJMaXN0T2ZBQVNJZGVudGlmaWVyVHlwZURhdGFUeXBlIiBuaWxsYWJsZT0id + HJ1ZSIvPgogPHhzOnNpbXBsZVR5cGUgbmFtZT0iQUFTS2V5RWxlbWVudHNEYXRhVHlwZSI+C + iAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CiAgIDx4czplbnVtZXJhdGlvb + iB2YWx1ZT0iQWNjZXNzUGVybWlzc2lvblJ1bGVfMCIvPgogICA8eHM6ZW51bWVyYXRpb24gd + mFsdWU9IkFubm90YXRlZFJlbGF0aW9uc2hpcEVsZW1lbnRfMSIvPgogICA8eHM6ZW51bWVyY + XRpb24gdmFsdWU9IkFzc2V0XzIiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBc3Nld + EFkbWluaXN0cmF0aW9uU2hlbGxfMyIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJsb + 2JfNCIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNhcGFiaWxpdHlfNSIvPgogICA8e + HM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbmNlcHREZXNjcmlwdGlvbl82Ii8+CiAgIDx4czplb + nVtZXJhdGlvbiB2YWx1ZT0iQ29uY2VwdERpY3Rpb25hcnlfNyIvPgogICA8eHM6ZW51bWVyY + XRpb24gdmFsdWU9IkRhdGFFbGVtZW50XzgiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlP + SJFbnRpdHlfOSIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50XzEwIi8+CiAgI + Dx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRmlsZV8xMSIvPgogICA8eHM6ZW51bWVyYXRpb24gd + mFsdWU9IkZyYWdtZW50UmVmZXJlbmNlXzEyIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1Z + T0iR2xvYmFsUmVmZXJlbmNlXzEzIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTXVsd + GlMYW5ndWFnZVByb3BlcnR5XzE0Ii8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3Blc + mF0aW9uXzE1Ii8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUHJvcGVydHlfMTYiLz4KI + CAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSYW5nZV8xNyIvPgogICA8eHM6ZW51bWVyYXRpb + 24gdmFsdWU9IlJlZmVyZW5jZUVsZW1lbnRfMTgiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhb + HVlPSJSZWxhdGlvbnNoaXBFbGVtZW50XzE5Ii8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1Z + T0iU3VibW9kZWxfMjAiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdWJtb2RlbEVsZ + W1lbnRfMjEiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdWJtb2RlbEVsZW1lbnRDb + 2xsZWN0aW9uXzIyIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18yMyIvPgogI + DwveHM6cmVzdHJpY3Rpb24+CiA8L3hzOnNpbXBsZVR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlP + SJ0bnM6QUFTS2V5RWxlbWVudHNEYXRhVHlwZSIgbmFtZT0iQUFTS2V5RWxlbWVudHNEYXRhV + HlwZSIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFBU0tleUVsZW1lbnRzRGF0Y + VR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtY + XhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOkFBU0tleUVsZW1lbnRzRGF0YVR5cGUiI + G5hbWU9IkFBU0tleUVsZW1lbnRzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiAgPC94c + zpzZXF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6T + GlzdE9mQUFTS2V5RWxlbWVudHNEYXRhVHlwZSIgbmFtZT0iTGlzdE9mQUFTS2V5RWxlbWVud + HNEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KIDx4czpzaW1wbGVUeXBlIG5hbWU9IkFBU + 0tleVR5cGVEYXRhVHlwZSI+CiAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+C + iAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSWRTaG9ydF8wIi8+CiAgIDx4czplbnVtZXJhd + GlvbiB2YWx1ZT0iRnJhZ21lbnRJZF8xIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ + 3VzdG9tXzIiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJUkRJXzMiLz4KICAgPHhzO + mVudW1lcmF0aW9uIHZhbHVlPSJJUklfNCIvPgogIDwveHM6cmVzdHJpY3Rpb24+CiA8L3hzO + nNpbXBsZVR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6QUFTS2V5VHlwZURhdGFUeXBlI + iBuYW1lPSJBQVNLZXlUeXBlRGF0YVR5cGUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMa + XN0T2ZBQVNLZXlUeXBlRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lb + nQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOkFBU0tle + VR5cGVEYXRhVHlwZSIgbmFtZT0iQUFTS2V5VHlwZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1Z + SIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgd + HlwZT0idG5zOkxpc3RPZkFBU0tleVR5cGVEYXRhVHlwZSIgbmFtZT0iTGlzdE9mQUFTS2V5V + HlwZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzOnNpbXBsZVR5cGUgbmFtZT0iQ + UFTTGV2ZWxUeXBlRGF0YVR5cGUiPgogIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpb + mciPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbl8wIi8+CiAgIDx4czplbnVtZXJhd + GlvbiB2YWx1ZT0iTWF4XzEiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1fMiIvP + gogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVfMyIvPgogIDwveHM6cmVzdHJpY3Rpb + 24+CiA8L3hzOnNpbXBsZVR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6QUFTTGV2ZWxUe + XBlRGF0YVR5cGUiIG5hbWU9IkFBU0xldmVsVHlwZURhdGFUeXBlIi8+CiA8eHM6Y29tcGxle + FR5cGUgbmFtZT0iTGlzdE9mQUFTTGV2ZWxUeXBlRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZ + T4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgd + HlwZT0idG5zOkFBU0xldmVsVHlwZURhdGFUeXBlIiBuYW1lPSJBQVNMZXZlbFR5cGVEYXRhV + HlwZSIgbmlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4V + HlwZT4KIDx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T2ZBQVNMZXZlbFR5cGVEYXRhVHlwZ + SIgbmFtZT0iTGlzdE9mQUFTTGV2ZWxUeXBlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+C + iA8eHM6c2ltcGxlVHlwZSBuYW1lPSJBQVNNb2RlbGluZ0tpbmREYXRhVHlwZSI+CiAgPHhzO + nJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1Z + T0iVGVtcGxhdGVfMCIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc3RhbmNlXzEiL + z4KICA8L3hzOnJlc3RyaWN0aW9uPgogPC94czpzaW1wbGVUeXBlPgogPHhzOmVsZW1lbnQgd + HlwZT0idG5zOkFBU01vZGVsaW5nS2luZERhdGFUeXBlIiBuYW1lPSJBQVNNb2RlbGluZ0tpb + mREYXRhVHlwZSIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFBU01vZGVsaW5nS + 2luZERhdGFUeXBlIj4KICA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vyc + z0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIHR5cGU9InRuczpBQVNNb2RlbGluZ0tpbmREY + XRhVHlwZSIgbmFtZT0iQUFTTW9kZWxpbmdLaW5kRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlI + i8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0e + XBlPSJ0bnM6TGlzdE9mQUFTTW9kZWxpbmdLaW5kRGF0YVR5cGUiIG5hbWU9Ikxpc3RPZkFBU + 01vZGVsaW5nS2luZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzOnNpbXBsZVR5c + GUgbmFtZT0iQUFTVmFsdWVUeXBlRGF0YVR5cGUiPgogIDx4czpyZXN0cmljdGlvbiBiYXNlP + SJ4czpzdHJpbmciPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvb2xlYW5fMCIvPgogI + CA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNCeXRlXzEiLz4KICAgPHhzOmVudW1lcmF0aW9uI + HZhbHVlPSJCeXRlXzIiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnQxNl8zIi8+C + iAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVUludDE2XzQiLz4KICAgPHhzOmVudW1lcmF0a + W9uIHZhbHVlPSJJbnQzMl81Ii8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVUludDMyX + zYiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnQ2NF83Ii8+CiAgIDx4czplbnVtZ + XJhdGlvbiB2YWx1ZT0iVUludDY0XzgiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGb + G9hdF85Ii8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRG91YmxlXzEwIi8+CiAgIDx4c + zplbnVtZXJhdGlvbiB2YWx1ZT0iU3RyaW5nXzExIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2Y + Wx1ZT0iRGF0ZVRpbWVfMTIiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCeXRlU3Rya + W5nXzEzIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9jYWxpemVkVGV4dF8xNCIvP + gogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlV0Y1RpbWVfMTUiLz4KICA8L3hzOnJlc3Rya + WN0aW9uPgogPC94czpzaW1wbGVUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkFBU1Zhb + HVlVHlwZURhdGFUeXBlIiBuYW1lPSJBQVNWYWx1ZVR5cGVEYXRhVHlwZSIvPgogPHhzOmNvb + XBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFBU1ZhbHVlVHlwZURhdGFUeXBlIj4KICA8eHM6c2Vxd + WVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZ + WQiIHR5cGU9InRuczpBQVNWYWx1ZVR5cGVEYXRhVHlwZSIgbmFtZT0iQUFTVmFsdWVUeXBlR + GF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tc + GxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6TGlzdE9mQUFTVmFsdWVUeXBlRGF0Y + VR5cGUiIG5hbWU9Ikxpc3RPZkFBU1ZhbHVlVHlwZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1Z + SIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFBU0tleURhdGFUeXBlIj4KICA8eHM6c2Vxd + WVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlP + SJ0bnM6QUFTS2V5RWxlbWVudHNEYXRhVHlwZSIgbmFtZT0iVHlwZSIvPgogICA8eHM6ZWxlb + WVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZT0ieHM6c3RyaW5nIiBuYW1lP + SJWYWx1ZSIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgd + HlwZT0idG5zOkFBU0tleVR5cGVEYXRhVHlwZSIgbmFtZT0iSWRUeXBlIi8+CiAgPC94czpzZ + XF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6QUFTS + 2V5RGF0YVR5cGUiIG5hbWU9IkFBU0tleURhdGFUeXBlIi8+CiA8eHM6Y29tcGxleFR5cGUgb + mFtZT0iTGlzdE9mQUFTS2V5RGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZ + W1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOkFBU + 0tleURhdGFUeXBlIiBuYW1lPSJBQVNLZXlEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KI + CA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9I + nRuczpMaXN0T2ZBQVNLZXlEYXRhVHlwZSIgbmFtZT0iTGlzdE9mQUFTS2V5RGF0YVR5cGUiI + G5pbGxhYmxlPSJ0cnVlIi8+CjwveHM6c2NoZW1hPgo= + + + + NamespaceUri + + ns=1;i=6096 + i=68 + + + http://opcfoundation.org/UA/I4AAS/V3/Types.xsd + + + + AASAdministrativeInformationType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.4.3 + + i=58 + ns=1;i=6084 + ns=1;i=6083 + + + + Revision + + i=80 + i=68 + ns=1;i=1030 + + + + + + + Version + + i=80 + i=68 + ns=1;i=1030 + + + + + + + AASAssetInformationType + + i=58 + ns=1;i=6441 + ns=1;i=5005 + ns=1;i=5362 + ns=1;i=5359 + ns=1;i=5049 + + + + AssetKind + + ns=1;i=1031 + i=78 + i=68 + + + + BillOfMaterial + + ns=1;i=1036 + ns=1;i=1031 + i=80 + + + + DefaultThumbnail + + ns=1;i=1017 + ns=1;i=6445 + ns=1;i=5371 + ns=1;i=1031 + ns=1;i=6444 + ns=1;i=6446 + i=80 + ns=1;i=5384 + + + + Category + + ns=1;i=5362 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5362 + i=80 + + + + MimeType + + i=78 + ns=1;i=5362 + i=68 + + + + + + + ModelingKind + + i=78 + ns=1;i=5362 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + i=80 + ns=1;i=5362 + + + + GlobalAssetId + + ns=1;i=1004 + ns=1;i=1031 + ns=1;i=6442 + i=80 + + + + Keys + + ns=1;i=5359 + i=78 + i=68 + + + + SpecificAssetId + + ns=1;i=1039 + ns=1;i=1031 + i=80 + + + + AASDataSpecificationType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.10.1 + + i=58 + ns=1;i=1034 + + + + AASDataSpecificationIEC61360Type + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.10.2 + + ns=1;i=1027 + ns=1;i=6072 + ns=1;i=6063 + ns=1;i=6073 + ns=1;i=5026 + ns=1;i=6075 + ns=1;i=6074 + ns=1;i=6066 + ns=1;i=6067 + ns=1;i=6068 + ns=1;i=6069 + ns=1;i=5028 + ns=1;i=6071 + ns=1;i=6070 + ns=1;i=5030 + ns=1;i=5029 + + + + DataType + + ns=1;i=1028 + i=80 + i=68 + + + 0 + + + + DefaultInstanceBrowseName + + ns=1;i=1028 + i=78 + i=68 + + + DataSpecificationIEC61360 + + + + Definition + + ns=1;i=1028 + i=80 + i=68 + + + + Identification + + ns=1;i=1029 + ns=1;i=6088 + ns=1;i=1028 + ns=1;i=6087 + i=78 + + + + Id + + ns=1;i=5026 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5026 + i=78 + i=68 + + + 0 + + + + LevelType + + ns=1;i=1028 + i=80 + i=68 + + + 0 + + + + PreferredName + + i=78 + ns=1;i=1028 + i=68 + + + + ShortName + + i=80 + i=68 + ns=1;i=1028 + + + + SourceOfDefinition + + i=80 + i=68 + ns=1;i=1028 + + + + + + + Symbol + + i=80 + i=68 + ns=1;i=1028 + + + + + + + Unit + + i=80 + i=68 + ns=1;i=1028 + + + + + + + UnitId + + ns=1;i=1004 + ns=1;i=6076 + i=80 + ns=1;i=1028 + + + + Keys + + ns=1;i=5028 + i=78 + i=68 + + + + Value + + i=80 + i=68 + ns=1;i=1028 + + + + ValueFormat + + i=80 + i=68 + ns=1;i=1028 + + + + + + + ValueId + + ns=1;i=1004 + ns=1;i=6077 + i=80 + ns=1;i=1028 + + + + Keys + + ns=1;i=5030 + i=78 + i=68 + + + + ValueList + + i=58 + i=80 + ns=1;i=1028 + + + + AASIdentifierKeyValuePairType + + i=58 + ns=1;i=5363 + ns=1;i=6447 + ns=1;i=6448 + + + + ExternalSubjectId + + ns=1;i=1004 + ns=1;i=1035 + ns=1;i=6449 + i=78 + + + + Keys + + ns=1;i=5363 + i=78 + i=68 + + + + Key + + ns=1;i=1035 + i=78 + i=68 + + + + Value + + i=78 + i=68 + ns=1;i=1035 + + + + AASIdentifierType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.5 + + i=58 + ns=1;i=6086 + ns=1;i=6085 + + + + Id + + ns=1;i=1029 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=1029 + i=78 + i=68 + + + 0 + + + + AASQualifierType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.11.1 + + i=58 + ns=1;i=6010 + ns=1;i=6078 + ns=1;i=5033 + ns=1;i=6015 + + + + Type + + i=78 + i=68 + ns=1;i=1032 + + + + + + + Value + + i=80 + i=68 + ns=1;i=1032 + + + + ValueId + + ns=1;i=1004 + ns=1;i=6079 + i=80 + ns=1;i=1032 + + + + Keys + + ns=1;i=5033 + i=78 + i=68 + + + + ValueType + + i=78 + i=68 + ns=1;i=1032 + + + 0 + + + + AASReferableType + + i=58 + ns=1;i=6064 + ns=1;i=1033 + + + + Category + + ns=1;i=1003 + i=68 + i=80 + + + + AASIdentifiableType + + ns=1;i=1003 + ns=1;i=5036 + ns=1;i=1034 + ns=1;i=5037 + + + + Administration + + ns=1;i=1030 + ns=1;i=1007 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6091 + ns=1;i=1007 + ns=1;i=6092 + i=78 + + + + Id + + ns=1;i=5037 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5037 + i=78 + i=68 + + + 0 + + + + AASAssetAdministrationShellType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.2 + + ns=1;i=5156 + ns=1;i=5001 + ns=1;i=5007 + ns=1;i=1034 + ns=1;i=5004 + ns=1;i=1007 + + + + AssetInformation + + ns=1;i=1031 + ns=1;i=1002 + ns=1;i=6120 + ns=1;i=5045 + i=78 + ns=1;i=5050 + + + + AssetKind + + ns=1;i=5156 + i=78 + i=68 + + + + BillOfMaterial + + ns=1;i=1036 + ns=1;i=5156 + i=80 + + + + SpecificAssetId + + ns=1;i=1039 + i=80 + ns=1;i=5156 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1002 + i=80 + + + + DerivedFrom + + ns=1;i=1004 + ns=1;i=1002 + ns=1;i=6004 + i=80 + + + + Keys + + ns=1;i=5007 + i=78 + i=68 + + + + Submodel + + ns=1;i=1036 + ns=1;i=1002 + i=80 + + + + AASAssetType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.6 + + ns=1;i=5008 + ns=1;i=1034 + ns=1;i=1007 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1005 + i=80 + + + + AASSubmodelType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.7 + + ns=1;i=5010 + ns=1;i=5009 + ns=1;i=1034 + ns=1;i=6009 + ns=1;i=5032 + ns=1;i=1007 + + + + <SubmodelElement> + + ns=1;i=1006 + ns=1;i=1009 + ns=1;i=6127 + ns=1;i=5364 + ns=1;i=6014 + i=11508 + ns=1;i=5379 + + + + Category + + ns=1;i=5010 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5010 + i=80 + + + + ModelingKind + + i=78 + ns=1;i=5010 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + i=80 + ns=1;i=5010 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1006 + i=80 + + + + ModelingKind + + i=78 + ns=1;i=1006 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + ns=1;i=1006 + i=80 + + + + AASSubmodelElementType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.1 + + ns=1;i=1003 + ns=1;i=5011 + ns=1;i=1033 + ns=1;i=6013 + ns=1;i=5031 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1009 + i=80 + + + + ModelingKind + + i=78 + ns=1;i=1009 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + ns=1;i=1009 + i=80 + + + + AASBlobType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.8 + + ns=1;i=1009 + ns=1;i=6023 + ns=1;i=6024 + + + + MimeType + + i=78 + ns=1;i=1016 + i=68 + + + + Value + + i=80 + i=68 + ns=1;i=1016 + + + + AASCapabilityType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.6 + + ns=1;i=1009 + + + + AASEntityType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.13 + + ns=1;i=1009 + ns=1;i=6056 + ns=1;i=5022 + ns=1;i=5365 + ns=1;i=5021 + + + + EntityType + + ns=1;i=1022 + i=78 + i=68 + + + 0 + + + + GlobalAssetId + + ns=1;i=1004 + ns=1;i=1022 + ns=1;i=6055 + i=80 + + + + Keys + + ns=1;i=5022 + i=78 + i=68 + + + + SpecificAssetId + + ns=1;i=1035 + ns=1;i=5366 + ns=1;i=6454 + i=80 + ns=1;i=1022 + ns=1;i=6455 + + + + ExternalSubjectId + + ns=1;i=1004 + ns=1;i=5365 + ns=1;i=6453 + i=78 + + + + Keys + + ns=1;i=5366 + i=78 + i=68 + + + + Key + + ns=1;i=5365 + i=78 + i=68 + + + + Value + + i=78 + i=68 + ns=1;i=5365 + + + + Statement + + ns=1;i=1038 + ns=1;i=1022 + i=80 + + + + AASEventType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.12 + + ns=1;i=1009 + + + + AASFileType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.9 + + ns=1;i=1009 + ns=1;i=5016 + ns=1;i=6037 + ns=1;i=6132 + + + + File + + ns=1;i=7008 + ns=1;i=1017 + i=11575 + ns=1;i=7009 + ns=1;i=7010 + ns=1;i=6043 + i=80 + ns=1;i=7011 + ns=1;i=7012 + ns=1;i=6047 + ns=1;i=6048 + ns=1;i=6049 + ns=1;i=7013 + + + + Close + + ns=1;i=5016 + ns=1;i=6038 + i=78 + + + + InputArguments + + i=78 + i=68 + ns=1;i=7008 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + GetPosition + + ns=1;i=5016 + ns=1;i=6039 + i=78 + ns=1;i=6040 + + + + InputArguments + + i=78 + i=68 + ns=1;i=7009 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=78 + i=68 + ns=1;i=7009 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + Open + + ns=1;i=6041 + i=78 + ns=1;i=5016 + ns=1;i=6042 + + + + InputArguments + + i=78 + i=68 + ns=1;i=7010 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments + + i=78 + i=68 + ns=1;i=7010 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OpenCount + + i=78 + ns=1;i=5016 + i=68 + + + + Read + + ns=1;i=6044 + i=78 + ns=1;i=6045 + ns=1;i=5016 + + + + InputArguments + + i=78 + i=68 + ns=1;i=7011 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=78 + i=68 + ns=1;i=7011 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + SetPosition + + ns=1;i=6046 + i=78 + ns=1;i=5016 + + + + InputArguments + + i=78 + i=68 + ns=1;i=7012 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + Size + + i=78 + i=68 + ns=1;i=5016 + + + + UserWritable + + i=78 + i=68 + ns=1;i=5016 + + + + Writable + + i=78 + i=68 + ns=1;i=5016 + + + + Write + + ns=1;i=6050 + i=78 + ns=1;i=5016 + + + + InputArguments + + i=78 + i=68 + ns=1;i=7013 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + MimeType + + i=78 + ns=1;i=1017 + i=68 + + + + + + + Value + + i=80 + i=68 + ns=1;i=1017 + + + + AASMultiLanguagePropertyType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.4 + + ns=1;i=1009 + ns=1;i=6019 + ns=1;i=5013 + + + + Value + + i=80 + i=68 + ns=1;i=1012 + + + + ValueId + + ns=1;i=1004 + ns=1;i=6018 + i=80 + ns=1;i=1012 + + + + Keys + + ns=1;i=5013 + i=78 + i=68 + + + + AASOperationType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.7 + + ns=1;i=1009 + ns=1;i=5052 + ns=1;i=5041 + ns=1;i=7001 + ns=1;i=5051 + + + + InOutputVariable + + ns=1;i=1038 + i=80 + ns=1;i=1015 + + + + InputVariable + + ns=1;i=1038 + i=80 + ns=1;i=1015 + + + + Operation + + i=11510 + ns=1;i=1015 + + + + OutputVariable + + ns=1;i=1038 + i=80 + ns=1;i=1015 + + + + AASPropertyType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.5 + + ns=1;i=1009 + ns=1;i=6020 + ns=1;i=5014 + ns=1;i=6021 + + + + Value + + i=80 + i=68 + ns=1;i=1013 + + + + ValueId + + ns=1;i=1004 + ns=1;i=6022 + i=80 + ns=1;i=1013 + + + + Keys + + ns=1;i=5014 + i=78 + i=68 + + + + ValueType + + i=78 + i=68 + ns=1;i=1013 + + + 0 + + + + AASRangeType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.14 + + ns=1;i=1009 + ns=1;i=6059 + ns=1;i=6058 + ns=1;i=6057 + + + + Max + + ns=1;i=1023 + i=80 + i=68 + + + + Min + + ns=1;i=1023 + i=80 + i=68 + + + + ValueType + + i=78 + i=68 + ns=1;i=1023 + + + 0 + + + + AASReferenceElementType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.11 + + ns=1;i=1009 + ns=1;i=5020 + + + + Value + + ns=1;i=1004 + ns=1;i=6053 + i=78 + ns=1;i=1020 + + + + Keys + + ns=1;i=5020 + i=78 + i=68 + + + + AASRelationshipElementType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.10 + + ns=1;i=1009 + ns=1;i=5017 + ns=1;i=5018 + + + + First + + ns=1;i=1004 + ns=1;i=1018 + ns=1;i=6051 + i=78 + + + + Keys + + ns=1;i=5017 + i=78 + i=68 + + + + Second + + ns=1;i=1004 + ns=1;i=6052 + i=78 + ns=1;i=1018 + + + + Keys + + ns=1;i=5018 + i=78 + i=68 + + + + AASAnnotatedRelationshipElementType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.10 + + ns=1;i=1018 + ns=1;i=5019 + + + + Annotation + + ns=1;i=1038 + ns=1;i=1019 + i=80 + + + + AASSubmodelElementCollectionType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.2 + + ns=1;i=5012 + ns=1;i=1009 + ns=1;i=6017 + + + + <SubmodelElement> + + ns=1;i=1010 + ns=1;i=1009 + ns=1;i=6128 + ns=1;i=5367 + ns=1;i=6016 + i=11508 + ns=1;i=5380 + + + + Category + + ns=1;i=5012 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5012 + i=80 + + + + ModelingKind + + i=78 + ns=1;i=5012 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + i=80 + ns=1;i=5012 + + + + AllowDuplicates + + ns=1;i=1010 + i=80 + i=68 + + + false + + + + AASOrderedSubmodelElementCollectionType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.8.3 + + ns=1;i=5042 + ns=1;i=1010 + + + + <SubmodelElement> + + ns=1;i=1011 + ns=1;i=1009 + ns=1;i=6131 + ns=1;i=5370 + ns=1;i=6104 + i=11508 + ns=1;i=5383 + + + + Category + + ns=1;i=5042 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5042 + i=80 + + + + ModelingKind + + i=78 + ns=1;i=5042 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + i=80 + ns=1;i=5042 + + + + AASReferenceType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.3 + + ns=1;i=6001 + i=58 + + + + Keys + + ns=1;i=1004 + i=78 + i=68 + + + + IAASReferableType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.4.1 + + ns=1;i=6082 + ns=1;i=1003 + ns=1;i=1009 + i=17602 + + + + Category + + ns=1;i=1033 + i=68 + i=80 + + + + + + + IAASIdentifiableType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.4.2 + + ns=1;i=5035 + ns=1;i=1002 + ns=1;i=1005 + ns=1;i=1006 + ns=1;i=1024 + ns=1;i=1025 + ns=1;i=1026 + ns=1;i=1027 + ns=1;i=1033 + ns=1;i=5034 + ns=1;i=1007 + + + + Administration + + ns=1;i=1030 + ns=1;i=1034 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6090 + ns=1;i=1034 + ns=1;i=6089 + i=78 + + + + Id + + ns=1;i=5034 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5034 + i=78 + i=68 + + + 0 + + + + AASCustomConceptDescriptionType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.9.3 + + i=17589 + ns=1;i=5015 + ns=1;i=6025 + ns=1;i=5043 + ns=1;i=1034 + ns=1;i=5155 + ns=1;i=5048 + + + + Administration + + ns=1;i=1030 + ns=1;i=1026 + i=80 + + + + Category + + ns=1;i=1026 + i=68 + i=80 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1026 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6026 + ns=1;i=1026 + ns=1;i=6027 + i=78 + + + + Id + + ns=1;i=5155 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5155 + i=78 + i=68 + + + 0 + + + + IsCaseOf + + ns=1;i=1036 + ns=1;i=1026 + i=80 + + + + AASIrdiConceptDescriptionType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.9.1 + + i=17598 + ns=1;i=5157 + ns=1;i=6028 + ns=1;i=5024 + ns=1;i=1034 + ns=1;i=5158 + ns=1;i=5044 + + + + Administration + + ns=1;i=1030 + ns=1;i=1024 + i=80 + + + + Category + + ns=1;i=1024 + i=68 + i=80 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1024 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6029 + ns=1;i=1024 + ns=1;i=6030 + i=78 + + + + Id + + ns=1;i=5158 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5158 + i=78 + i=68 + + + 0 + + + + IsCaseOf + + ns=1;i=1036 + ns=1;i=1024 + i=80 + + + + AASIriConceptDescriptionType + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/6.9.2 + + i=17600 + ns=1;i=5159 + ns=1;i=6031 + ns=1;i=5025 + ns=1;i=1034 + ns=1;i=5160 + ns=1;i=5046 + + + + Administration + + ns=1;i=1030 + ns=1;i=1025 + i=80 + + + + Category + + ns=1;i=1025 + i=68 + i=80 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=1025 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6241 + ns=1;i=1025 + ns=1;i=6242 + i=78 + + + + Id + + ns=1;i=5160 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5160 + i=78 + i=68 + + + 0 + + + + IsCaseOf + + ns=1;i=1036 + ns=1;i=1025 + i=80 + + + + AASEnvironmentType + + ns=1;i=5002 + i=61 + ns=1;i=5103 + ns=1;i=5152 + + + + AAS + + ns=1;i=1008 + ns=1;i=1002 + ns=1;i=5003 + ns=1;i=5610 + ns=1;i=6137 + ns=1;i=5392 + ns=1;i=5101 + i=11508 + ns=1;i=5395 + + + + Administration + + ns=1;i=1030 + ns=1;i=5002 + i=80 + + + + AssetInformation + + ns=1;i=1031 + ns=1;i=5002 + ns=1;i=6121 + ns=1;i=5047 + i=78 + ns=1;i=5360 + + + + AssetKind + + ns=1;i=5610 + i=78 + i=68 + + + + BillOfMaterial + + ns=1;i=1036 + ns=1;i=5610 + i=80 + + + + SpecificAssetId + + ns=1;i=1039 + i=80 + ns=1;i=5610 + + + + Category + + ns=1;i=5002 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5002 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6008 + ns=1;i=5002 + ns=1;i=6011 + i=78 + + + + Id + + ns=1;i=5101 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5101 + i=78 + i=68 + + + 0 + + + + Submodel + + ns=1;i=1036 + i=80 + ns=1;i=5002 + + + + Asset + + ns=1;i=1005 + ns=1;i=5150 + ns=1;i=1008 + ns=1;i=6141 + ns=1;i=5398 + ns=1;i=5151 + i=11508 + + + + Administration + + ns=1;i=1030 + ns=1;i=5103 + i=80 + + + + Category + + ns=1;i=5103 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5103 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6139 + ns=1;i=5103 + ns=1;i=6140 + i=78 + + + + Id + + ns=1;i=5151 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5151 + i=78 + i=68 + + + 0 + + + + Submodel + + ns=1;i=1006 + ns=1;i=5153 + ns=1;i=6145 + ns=1;i=5401 + ns=1;i=5154 + ns=1;i=6142 + i=11508 + ns=1;i=5404 + ns=1;i=1008 + + + + Administration + + ns=1;i=1030 + ns=1;i=5152 + i=80 + + + + Category + + ns=1;i=5152 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5152 + i=80 + + + + Identification + + ns=1;i=1029 + ns=1;i=6143 + ns=1;i=5152 + ns=1;i=6144 + i=78 + + + + Id + + ns=1;i=5154 + i=78 + i=68 + + + + + + + IdType + + ns=1;i=5154 + i=78 + i=68 + + + 0 + + + + ModelingKind + + i=78 + ns=1;i=5152 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + i=80 + ns=1;i=5152 + + + + AASIdentifierKeyValuePairList + + ns=1;i=5027 + i=61 + + + + <AASIdentifierKeyValuePair> + + ns=1;i=1039 + ns=1;i=1035 + ns=1;i=5612 + ns=1;i=6124 + i=11508 + ns=1;i=6130 + + + + ExternalSubjectId + + ns=1;i=1004 + ns=1;i=5027 + ns=1;i=6065 + i=78 + + + + Keys + + ns=1;i=5612 + i=78 + i=68 + + + + Key + + ns=1;i=5027 + i=78 + i=68 + + + + Value + + i=78 + i=68 + ns=1;i=5027 + + + + AASQualifierList + + ns=1;i=5613 + i=61 + + + + <AASQualifier> + + ns=1;i=1037 + ns=1;i=1032 + i=11508 + ns=1;i=6134 + ns=1;i=6451 + + + + Type + + i=78 + i=68 + ns=1;i=5613 + + + + + + + ValueType + + i=78 + i=68 + ns=1;i=5613 + + + 0 + + + + AASReferenceList + + ns=1;i=5614 + i=61 + + + + <AASReference> + + ns=1;i=1036 + ns=1;i=1004 + ns=1;i=6452 + i=11508 + + + + Keys + + ns=1;i=5614 + i=78 + i=68 + + + + AASSubmodelElementList + + ns=1;i=5615 + i=61 + + + + <AASSubmodelElement> + + ns=1;i=1038 + ns=1;i=1009 + ns=1;i=6462 + ns=1;i=5616 + ns=1;i=6463 + i=11508 + ns=1;i=5617 + + + + Category + + ns=1;i=5615 + i=80 + i=68 + + + + DataSpecification + + ns=1;i=1036 + ns=1;i=5615 + i=80 + + + + ModelingKind + + i=78 + ns=1;i=5615 + i=68 + + + 0 + + + + Qualifier + + ns=1;i=1037 + i=80 + ns=1;i=5615 + + + + http://opcfoundation.org/UA/I4AAS/V3/ + https://reference.opcfoundation.org/v104/I4AAS/v100/docs/9.1 + + ns=1;i=6060 + i=11616 + i=11715 + ns=1;i=6061 + ns=1;i=6062 + ns=1;i=6115 + ns=1;i=6116 + ns=1;i=6117 + ns=1;i=6118 + + + + IsNamespaceSubset + + ns=1;i=5023 + i=68 + + + false + + + + NamespacePublicationDate + + ns=1;i=5023 + i=68 + + + 2021-06-04T00:00:00Z + + + + NamespaceUri + + ns=1;i=5023 + i=68 + + + http://opcfoundation.org/UA/I4AAS/V3/ + + + + NamespaceVersion + + ns=1;i=5023 + i=68 + + + 1.0.0 + + + + StaticNodeIdTypes + + i=68 + ns=1;i=5023 + + + + 0 + + + + + StaticNumericNodeIdRange + + i=68 + ns=1;i=5023 + + + + 1:2147483647 + + + + + StaticStringNodeIdPattern + + i=68 + ns=1;i=5023 + + + + + + + <View> + + i=61 + i=11508 + + + + Default Binary + + ns=1;i=6098 + i=76 + ns=1;i=3011 + + + + Default XML + + ns=1;i=6100 + i=76 + ns=1;i=3011 + + + + Default JSON + + i=76 + ns=1;i=3011 + + + diff --git a/dataformat-uanodeset/nodeset/i4aas/changelog.csv b/dataformat-uanodeset/nodeset/i4aas/changelog.csv new file mode 100644 index 000000000..9e04dd7db --- /dev/null +++ b/dataformat-uanodeset/nodeset/i4aas/changelog.csv @@ -0,0 +1,60 @@ +id;Subject;Type;Description;Changes in I4AAS/V3;Status;Comment +1;Referable;V3 Feature;displayName and description were added as optional LangStringSet;new mapping rule - gets mapped to UANode native DisplayName and Description if present, otherwhise idShort is used;ok; +2;LangStringSet;Bugfix;modeling insufficient, LocalizedText must be of ValueRank OneDimensional and not Scalar;changes for all LocalizedText Attributes;ok; +3;Asset;Bugfix;"in I4AAS, Asset is a mandatory component of AAS with name ""Asset"" but should be prefixed ""Asset:{shortId}"". This does not work according to the definition of AASAssetAdministrationShellType.";no changes since V3 handles Assets now completely different;ok; +4;Rules for Identifiables, Environment for Identifiables;Bugfix + Adjustments for V3;some Identifiables (Asset, Submodel) are modelled as component of the AAS. This is contradictory to some concepts of the AAS Meta Model, e.g. Submodels and Assets can be referenced by multiples AAS's.;"Removed Submodel and Asset Component from AAS. +new rule: Submodel, AAS and Asset can be placed anywhere in the OPC UA Addressspace, but a basic FolderType (""AASEnvironmentType"") has been introduced which should be instantiated and used as parent folder. +note: SubmodelReferences and AssetReferences can contain the optional and native OPC UA References ""AASReference"".";ok; +5;Referable and Identifiable;Enhancement;Referable and Identifiabla in I4AAS are Interfaces, but in AAS are modelled as abstract classes. Referable and Identifiable are core concepts and contain mandatory fields. It can be modelled as abstract classes in I4AAS because it does not introduce problems of multiple inheritance. This also avoids the mismodelling by missing the mandatory fields. HasInterface was also not implemented!;"introduced abstract classes as top level classes which uses HasInterface Reference to the existing Interface. Only the ConceptDictionary already inherits DictionaryEntryType thus can not reuse the abstract class. Also HasInterface is just a ""hint"", you still need to model the attributes. This was missing has been done as well.";ok; +6;ConceptDictionary;Bugfix;OPC UA Dictionary is used as ConceptDictionary, thus the dedicated Types AASConceptDictionaryType is not needed anymore. ;AASConceptDictionaryType removed. Also legacy references are removed;ok; +7;AssetInformation;V3 Change;introduced;AASAssetInformationType introduced;ok; +8;AASReference;Bugfix;"AASReference is non-hierarchical. Also See: https://reference.opcfoundation.org/v104/Core/docs/Part3/7.4/ +""The semantic of NonHierarchicalReferences is to denote that its subtypes do not span a hierarchy and should not be followed when trying to present a hierarchy."" But this is the whole point of the AASReference, to follow the hierarchy which could be denoted by the AASReferenceType.";"removed AASReference and uses the hierachical reference HasAddIn to avoid confusion about ""a AASRerence Type which has a component referenced by a AASReference"". +Also this can only happen for an object instance at runtime, when the referable exists. Thus it is not possible to add this with modeling rules because this will predefine some attribtues like browsename, which is IdShort of the actual Referable.";ok; +9;AASReferenceType;Bugfix;OptionalPlaceholder Referable is a BaseObjectType and as HasComponent defined, but it should be used the AASReference Type with Target AASReferableType.;using AASReference Type with Target AASReferableType. Removed legacy, non-hierachical Reference, see #8.;ok; +10;HasInterface;Bugfix;HasInterface already exists in OPC UA Standard but has been introduced within the I4AAS Namespace;removed proprietary HasInterface Reference Type;ok; +11;AASKeyDataType;V3 Change;"""local"" Attribute has been removed";"removed ""local"" attribute";ok; +12;Asset;V3 Change;Asset is now only identifiable and hasDataSpecification, other attributes are now in AssetInformation;altered AASAssetType;ok; +13;ValueListType;Bugfix;This type definition is not used anymore.;removed;ok; +14;AASBlobType;Bugfix;does not represent a blob, but a file. Misses MimeType and Value Attribute;removed File Component, added MimeType and Value. Value is of Type ByteString;ok; +15;AASFileType;Bugfix;Value is not of Type PathType, File is added as Component, should be HasAddIn since it is not part of the AAS Spec but an enhancement of I4AAS;"changed Value Type Definition +changed File Reference Type +changed Modeling Rule for Value";ok; +16;Entity;Bugfix + Adjustments for V3;"added globalAssetId +added specificAssetId +removed ""Asset""";;ok; +17;IdentifierKeyValuePair;added in V3;completely new type;added as AASIdentifierKeyValuePairType;ok; +18;AASDataTypeIEC62…;Bugfix;messed up, INTEGER_MEASURE missing;rearranged as in the AAS Meta Model Spec;ok; +19;Identifier;Enhancement;modeled as Type, but could be Structure;just proposed since issues with structures are known;;should be considered in an updated version +20;HasExtension / Extension;added in V3;new Class and Type Defintion;;; +21;AssetAdministrationShell/conceptDictionaries;changed in V3;;removed;ok; +22;View;changed in V3;is now deprecated;removed AASViewType FolderType;ok; +23;SecurityPart;?;not in scope?;no further action;;should be considered in an updated version +24;Operation;?;"AAS defined attributes are missing. I4AAS says it uses native Method as ""Operation"" Object and the modelling rule (btw spec and model are contradictory) allows for the inclusion of arguments. But still, OperationVariable as in AAS are not the argument but just their definitions and thus are missing in I4AAS.";should be redefined, considered for further changes;; +25;DictionaryEntry;Bugfix;"https://reference.opcfoundation.org/v104/Core/docs/Amendment5/G.4/#TableG.6 + +""The identifier in the respective external dictionary shall be a unique URI string. This identifier is used for the NodeId and the BrowseName Attributes of instances of the DictionaryEntryType. The IdentifierType of the NodeId shall be STRING_1 with the identifier from the external dictionary as the value."" + +Currently the NodeId does not follow this convention.";no action, see #27;ok; +26;General;Design Flaw;Many list are modeled as optional placeholder. Therefore, the attribute name of such a list given by the AAS Spec gets lost. It will lead to inconsistencies, e.g. when the order of such a list matters, if there are two list of the same type but with different attribute names, …;"affected attribtues: +AssetInformation/specificAssetId +HasDataSpecification/dataSpecification +AnnotatedRelationshipElement/annotation +Entity/statement +ConceptDescription/isCaseOf +Qualifiable/qualifier +AssetAdministrationShell/Submodel + +not affected: +SubmodelElementCollection (because itself is alredy a collection) +Lists of Variables, e.g. LangString, Reference,... + +fix by using introducing a (mandatory) folder which contains the list element (as placeholders) and can be names according to AAS specification";ok; +27;predefined dictionary entries;Clean Up;Due to the type definition and naming convention of the NodeId.csv export, names are duplicated. This causes issues for some SDKs. Also, due to the refactoring accoring to V3, the entries or not valid anymore.;removed all entries.;ok;Entries should be added in an updated version. +28;IdShort;Clean Up;IdShort is mapped to BrowseName, but a few IdShort legacy objects were still present;removed legacy entries;ok; +29;AASDataSpecificationIEC61360Type;Bugfix;contains Administraton and Category;must be removed;ok; +30;Qualifiable;Bugfix;not implemented in I4AAS;introduce Interface?;; +31;AASQualifierType;Bugfix;some attribute types do not fit;changed according to AAS V4;ok; +32;BillOfMaterial;V3 Changes;The definition for BillOfMaterial was not that clear. It seems like BillOfMaterial is a List of References, no a single Reference.;should be solved by using a AASReferenceList;ok; +;;;;;; +;;;;;; diff --git a/dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.bsd b/dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.bsd new file mode 100644 index 000000000..00f9323bb --- /dev/null +++ b/dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.bsd @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.xsd b/dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.xsd new file mode 100644 index 000000000..ebbf925d9 --- /dev/null +++ b/dataformat-uanodeset/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.xsd @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dataformat-uanodeset/nodeset/xsd/Opc.Ua.Types.xsd b/dataformat-uanodeset/nodeset/xsd/Opc.Ua.Types.xsd new file mode 100644 index 000000000..ef8a658bf --- /dev/null +++ b/dataformat-uanodeset/nodeset/xsd/Opc.Ua.Types.xsd @@ -0,0 +1,5121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dataformat-uanodeset/nodeset/xsd/UANodeSet.xsd b/dataformat-uanodeset/nodeset/xsd/UANodeSet.xsd new file mode 100644 index 000000000..bb6e442b1 --- /dev/null +++ b/dataformat-uanodeset/nodeset/xsd/UANodeSet.xsd @@ -0,0 +1,493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dataformat-uanodeset/pom.xml b/dataformat-uanodeset/pom.xml new file mode 100644 index 000000000..0b8f0249f --- /dev/null +++ b/dataformat-uanodeset/pom.xml @@ -0,0 +1,136 @@ + + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-uanodeset + Asset Administration Shell UA-Nodeset-Serializer + + + + io.admin-shell.aas + dataformat-core + ${revision} + + + io.admin-shell.aas + dataformat-core + ${revision} + tests + test + + + io.admin-shell.aas + dataformat-json + ${revision} + test + + + io.admin-shell.aas + validator + ${revision} + test + + + org.skyscreamer + jsonassert + ${jsonassert.version} + test + + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + org.eclipse.persistence + org.eclipse.persistence.moxy + ${moxy.version} + + + net.codesup.util + jaxb2-rich-contract-plugin + ${jaxb-rich-contract.version} + + + + + + org.apache.cxf + cxf-xjc-plugin + ${plugin.cxf.version} + + + net.codesup.util:jaxb2-rich-contract-plugin:${jaxb-rich-contract.version} + + + + + generate-uanodeset-classes + generate-sources + + xsdtojava + + + + + ${basedir}/nodeset/xsd/UANodeSet.xsd + + -Xfluent-builder + + + + + + + generate-typedictionary-classes + generate-sources + + xsdtojava + + + + + ${basedir}/nodeset/xsd/Opc.Ua.I4AAS_V3Draft.NodeSet2.xsd + + -Xfluent-builder + + + + + + + generate-uatypes-classes + none + + xsdtojava + + + + + ${basedir}/nodeset/xsd/Opc.Ua.Types.xsd + + -Xfluent-builder + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + com.kscs.util.*:org.opcfoundation.*:io.adminshell.aas.v3.dataformat.i4aas.mappers:io.adminshell.aas.v3.dataformat.i4aas.mappers.*:io.adminshell.aas.v3.dataformat.i4aas.parsers + + + + + diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASDeserializer.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASDeserializer.java new file mode 100644 index 000000000..73274876d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASDeserializer.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import javax.xml.bind.JAXBException; + +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.Deserializer; +import io.adminshell.aas.v3.dataformat.i4aas.parsers.EnvironmentParser; +import io.adminshell.aas.v3.dataformat.i4aas.parsers.ParserContext; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; + +/** + * Deserializer Implementation for I4AAS + * + */ +public class I4AASDeserializer implements Deserializer { + + /** + * reads a I4AAS as string and return the model object + */ + @Override + public AssetAdministrationShellEnvironment read(String input) throws DeserializationException { + try { + UANodeSet unmarshall = new UANodeSetUnmarshaller().unmarshall(input); + ParserContext parserContext = new ParserContext(unmarshall); + AssetAdministrationShellEnvironment parsedEnvironment = new EnvironmentParser(parserContext.getEnvironment(), parserContext).parse(); + return parsedEnvironment; + } catch (JAXBException e) { + throw new DeserializationException("Deserialization failed on unmarshalling.", e); + } + } + + @Override + public void useImplementation(Class aasInterface, Class implementation) { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASSerializer.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASSerializer.java new file mode 100644 index 000000000..367acbd80 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/I4AASSerializer.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import javax.xml.bind.JAXBException; + +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.Serializer; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.EnvironmentMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; + +/** + * Serializer Implementation for I4AAS + * + */ +public class I4AASSerializer implements Serializer { + + private boolean addMissingSemanticIdsToDictionary; + + /** + * I4AASSerializer with addMissingSemanticIdsToDictionary defaults to true + */ + public I4AASSerializer() { + this(true); + } + + /** + * @param addMissingSemanticIdsToDictionary handles missing semanticIds in OPC UA Dictionary (caused by missing AAS Concept Description) by adding them automatically + */ + public I4AASSerializer(boolean addMissingSemanticIdsToDictionary) { + this.addMissingSemanticIdsToDictionary = addMissingSemanticIdsToDictionary; + } + + /** + * takes a AAS model and returns a I4AAS as string. + */ + @Override + public String write(AssetAdministrationShellEnvironment aasEnvironment) throws SerializationException { + MappingContext mappingContext = new MappingContext(aasEnvironment); + mappingContext.setAddMissingSemanticIdsToDictionary(addMissingSemanticIdsToDictionary); + UAObject uaEnv = new EnvironmentMapper(mappingContext.getEnvironment(), mappingContext).map(); + //map action + UANodeSet nodeset = mappingContext.getNodeSet(); + + try { + return new UANodeSetMarshaller(nodeset).marshallAsString(); + } catch (JAXBException e) { + throw new SerializationException("Serialization failed due to a JAXBException.", e); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetMarshaller.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetMarshaller.java new file mode 100644 index 000000000..fc8b29cc9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetMarshaller.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.StringWriter; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; + +import org.opcfoundation.ua._2008._02.types.ListOfExtensionObject; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyDataType; + +/** + * Marshaller with predefined context and properties relevant for serialization. + * + */ +public class UANodeSetMarshaller { + + private UANodeSet nodeset; + + /** + * @param nodeset the nodeset to be marshalled + */ + public UANodeSetMarshaller(UANodeSet nodeset) { + this.nodeset = nodeset; + } + + /** + * @return marshalled UANodeSet given in constructor + * @throws JAXBException if action failed + */ + public String marshallAsString() throws JAXBException { + JAXBContext jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {UANodeSet.class, ListOfExtensionObject.class, AASKeyDataType.class}, null); + Marshaller marshaller = jaxbCtx.createMarshaller(); + marshaller.setProperty("jaxb.formatted.output", true); + StringWriter stringWriter = new StringWriter(); + marshaller.marshal(nodeset, stringWriter); + return stringWriter.toString(); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetUnmarshaller.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetUnmarshaller.java new file mode 100644 index 000000000..784acfafd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/UANodeSetUnmarshaller.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.InputStream; +import java.io.StringReader; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; + +import org.opcfoundation.ua._2008._02.types.ListOfExtensionObject; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyDataType; + + +/** + * Unmarshaller with predefined context and properties relevant for deserialization. + * + */ +public class UANodeSetUnmarshaller { + + private JAXBContext jaxbCtx; + private Unmarshaller unmarshaller; + + /** + * @throws JAXBException if the internal creation of a context based unmarshaller failed + */ + public UANodeSetUnmarshaller() throws JAXBException { + jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext( + new Class[] { UANodeSet.class, ListOfExtensionObject.class, AASKeyDataType.class }, null); + unmarshaller = jaxbCtx.createUnmarshaller(); + } + + /** + * @param input UANodeSet as XML string + * @return unmarshalled UANodeSet + * @throws JAXBException if action failed + */ + public UANodeSet unmarshall(String input) throws JAXBException { + return (UANodeSet) unmarshaller.unmarshal(new StringReader(input)); + } + + /** + * @param input UANodeSet as XML inputstream + * @return unmarshalled UANodeSet + * @throws JAXBException if action failed + */ + public UANodeSet unmarshall(InputStream input) throws JAXBException { + return (UANodeSet) unmarshaller.unmarshal(input); + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AdministrationMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AdministrationMapper.java new file mode 100644 index 000000000..ac1261e19 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AdministrationMapper.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AdministrativeInformation; + +public class AdministrationMapper extends I4AASMapper + implements HasDataSpecificationMapper { + + public AdministrationMapper(AdministrativeInformation src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(ADMINISTRATION_BROWSENAME)) + .withDisplayName(createLocalizedText(ADMINISTRATION_BROWSENAME)).build(); + addTypeReference(I4AASIdentifier.AASAdministrativeInformationType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + if (source != null) { + String revision = source.getRevision(); + if (revision != null) { + UAVariable revisionStringProperty = new StringPropertyMapper(ADMINISTRATION_REVISION_BROWSENAME, revision, ctx, + ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, revisionStringProperty); + } + String version = source.getVersion(); + if (version != null) { + UAVariable versionStringProperty = new StringPropertyMapper(ADMINISTRATION_VERSION_BROWSENAME, version, ctx, + ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, versionStringProperty); + } + mapDataSpecification(source, target, ctx); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetAdministrationShellMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetAdministrationShellMapper.java new file mode 100644 index 000000000..2b2e2c0ac --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetAdministrationShellMapper.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetInformation; + +public class AssetAdministrationShellMapper extends IdentifiableMapper + implements HasDataSpecificationMapper { + + public AssetAdministrationShellMapper(AssetAdministrationShell src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASAssetAdministrationShellType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + mapAsset(); + mapSubmodels(); + mapDerivedFrom(); + mapDataSpecification(source, target, ctx); + } + + private void mapAsset() { + AssetInformation assetInformation = source.getAssetInformation(); + if (assetInformation != null) { + UAObject uaAsset = new AssetInformationMapper(assetInformation, ctx).map(); + attachAsComponent(target, uaAsset); + } + } + + private void mapSubmodels() { + UAObject smFolder = source.getSubmodels().isEmpty() ? null + : createReferenceList(AAS_SUBMODELREFERENCES_LIST_BROWSENAME); + List submodels = source.getSubmodels(); + for (int i = 0; i < submodels.size(); i++) { + io.adminshell.aas.v3.model.Reference reference = submodels.get(i); + UAObject createSubmodelReferenceUaObject = new ReferenceMapper(reference, ctx, + SM_DISPLAYNAME_PREFIX + reference.getKeys().get(0).getValue()).map(); + attachAsComponent(smFolder, createSubmodelReferenceUaObject); + } + } + + private void mapDerivedFrom() { + io.adminshell.aas.v3.model.Reference derivedFrom = source.getDerivedFrom(); + if (derivedFrom != null) { + UAObject uaDerivedFrom = new ReferenceMapper(derivedFrom, ctx, AAS_DERIVEDFROM_BROWSENAME).map(); + attachAsComponent(target, uaDerivedFrom); + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetInformationMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetInformationMapper.java new file mode 100644 index 000000000..6013e91e6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetInformationMapper.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.sme.FileMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; + +public class AssetInformationMapper extends I4AASMapper { + + public AssetInformationMapper(AssetInformation src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(AAS_ASSETINFORMATION_BROWSENAME)) + .withDisplayName(createLocalizedText(AAS_ASSETINFORMATION_BROWSENAME)).build(); + addTypeReference(I4AASIdentifier.AASAssetInformationType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + AssetKind assetKind = source.getAssetKind(); + UAVariable uaAssetKind = new I4AASEnumMapper(assetKind, ctx).map(); + attachAsProperty(target, uaAssetKind); + + Reference globalAssetId = source.getGlobalAssetId(); + if (globalAssetId != null) { + UAObject uaIdentification = new ReferenceMapper(globalAssetId, ctx, ASSETINFO_GLOBAL_ASSET_ID_BROWSENAME).map(); + attachAsComponent(target, uaIdentification); + } + + List billOfMaterials = source.getBillOfMaterials(); + UAObject uaBomList = billOfMaterials.isEmpty() ? null : createReferenceList(ASSETINFO_BILL_OF_MATERIAL_BROWSENAME); + for (int i = 0; i < billOfMaterials.size(); i++) { + Reference reference = billOfMaterials.get(i); + UAObject uaBomListEntry = new ReferenceMapper(reference, ctx, ASSETINFO_BILL_OF_MATERIAL_BROWSENAME + "_" + i).map(); + attachAsComponent(uaBomList, uaBomListEntry); + } + + File defaultThumbnail = source.getDefaultThumbnail(); + if (defaultThumbnail != null) { + UAObject uaThumbnail = new FileMapper(defaultThumbnail, ctx, ASSETINFO_DEFAULT_THUMBNAIL_BROWSENAME, ctx.getI4aasNsIndex()) + .map(); + attachAsComponent(target, uaThumbnail); + } + + UAObject folder = source.getSpecificAssetIds().isEmpty() ? null : createIdentifierKeyValuePairList(ASSETINFO_SPECIFIC_ASSET_ID_BROWSENAME); + for (IdentifierKeyValuePair identifierKeyValuePair : source.getSpecificAssetIds()) { + UAObject uaIdKVP = new IdentifierKeyValuePairMapper(identifierKeyValuePair, ctx).map(); + attachAsComponent(folder, uaIdKVP); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetMapper.java new file mode 100644 index 000000000..1713c406c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/AssetMapper.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Asset; + +public class AssetMapper extends IdentifiableMapper implements HasDataSpecificationMapper { + + public AssetMapper(Asset src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASAssetType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + mapDataSpecification(source, target, ctx); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/BooleanPropertyMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/BooleanPropertyMapper.java new file mode 100644 index 000000000..a11e05031 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/BooleanPropertyMapper.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class BooleanPropertyMapper extends I4AASMapper { + + private String key; + + public BooleanPropertyMapper(String key, Boolean src, MappingContext ctx) { + super(src, ctx); + this.key = key; + } + + @Override + protected UAVariable createTargetObject() { + JAXBElement idBoolValue = new ObjectFactory().createBoolean(source); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(idBoolValue).end().withDisplayName(createLocalizedText(key)) + .withDataType(UaIdentifier.Boolean.getName()).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(key)).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ByteStringPropertyMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ByteStringPropertyMapper.java new file mode 100644 index 000000000..1b2b86744 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ByteStringPropertyMapper.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class ByteStringPropertyMapper extends I4AASMapper { + + private String key; + + public ByteStringPropertyMapper(String key, byte[] src, MappingContext ctx) { + super(src, ctx); + this.key = key; + } + + @Override + protected UAVariable createTargetObject() { + JAXBElement byteStringValue = new ObjectFactory().createByteString(source); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(byteStringValue).end().withDisplayName(createLocalizedText(key)) + .withDataType(UaIdentifier.ByteString.getName()).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(key)).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ConceptDescriptionMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ConceptDescriptionMapper.java new file mode 100644 index 000000000..ed2b2e84f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ConceptDescriptionMapper.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.Reference; + +public class ConceptDescriptionMapper extends IdentifiableMapper + implements HasDataSpecificationMapper { + + public ConceptDescriptionMapper(ConceptDescription src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + target = super.createTargetObject(); + + Identifier identification = source.getIdentification(); + if (identification != null) { + IdentifierType idType = identification.getIdType(); + if (IdentifierType.IRI == idType) { + addTypeReference(I4AASIdentifier.AASIriConceptDescriptionType); + } else if (IdentifierType.IRDI == idType) { + addTypeReference(I4AASIdentifier.AASIrdiConceptDescriptionType); + } else if (IdentifierType.CUSTOM == idType) { + addTypeReference(I4AASIdentifier.AASCustomConceptDescriptionType); + } +// if (identification.getIdentifier() != null) { +// // TODO: I4AAS says idshort, OPC UA says value. Currently there is no mapping target for IdShort of ConceptDescription +// target.setBrowseName(createModelBrowseName(identification.getIdentifier())); +// } + } + + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + + mapDataSpecification(source, target, ctx); + + UAObject createFolder = source.getIsCaseOfs().isEmpty() ? null : createReferenceList("IsCaseOf"); + for (Reference reference : source.getIsCaseOfs()) { + UAObject uaRef = new ReferenceMapper(reference, ctx, reference.getKeys().get(0).getValue()).map(); + attachAsComponent(createFolder, uaRef); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/DataSpecificationIEC61360Mapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/DataSpecificationIEC61360Mapper.java new file mode 100644 index 000000000..7c6cfce1c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/DataSpecificationIEC61360Mapper.java @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.Reference; + +public class DataSpecificationIEC61360Mapper extends I4AASMapper { + + private String name; + private int namespaceIdx; + + + public DataSpecificationIEC61360Mapper(DataSpecificationIEC61360 src, MappingContext ctx, + String name, int namespaceIdx) { + super(src, ctx); + this.namespaceIdx = namespaceIdx; + this.name = name; + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()).withBrowseName(createBrowseName(name, namespaceIdx)) + .withDisplayName(createLocalizedText(name)).build(); + addTypeReference(I4AASIdentifier.AASDataSpecificationIEC61360Type); + return target; + } + + @Override + protected void mapAndAttachChildren() { + + DataTypeIEC61360 dataType = source.getDataType(); + if (dataType != null) { + UAVariable uaDataType = new I4AASEnumMapper(dataType, ctx).map(); + attachAsProperty(target, uaDataType); + } + + String sourceOfDefinition = source.getSourceOfDefinition(); + if (sourceOfDefinition != null) { + UAVariable uaVariable = new StringPropertyMapper(IEC61360_SOURCE_OF_DEFINITION_BROWSENAME, sourceOfDefinition, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaVariable); + } + + String symbol = source.getSymbol(); + if (symbol != null) { + UAVariable uaVariable = new StringPropertyMapper(IEC61360_SYMBOL_BROWSENAME, symbol, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaVariable); + } + + String unit = source.getUnit(); + if (unit != null) { + UAVariable uaVariable = new StringPropertyMapper(IEC61360_UNIT_BROWSENAME, unit, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaVariable); + } + + String valueFormat = source.getValueFormat(); + if (valueFormat != null) { + UAVariable uaVariable = new StringPropertyMapper(IEC61360_VALUE_FORMAT_BROWSENAME, valueFormat, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaVariable); + } + + String value = source.getValue(); + if (value != null) { + UAVariable uaVariable = new StringPropertyMapper(IEC61360_VALUE_BROWSENAME, value, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaVariable); + } + + Reference unitId = source.getUnitId(); + if (unitId != null) { + UAObject uaRef = new ReferenceMapper(unitId, ctx, IEC61360_UNIT_ID_BROWSENAME).map(); + attachAsComponent(target, uaRef); + } + + Reference valueId = source.getValueId(); + if (valueId != null) { + UAObject uaRef = new ReferenceMapper(valueId, ctx, IEC61360_VALUE_ID_BROWSENAME).map(); + attachAsComponent(target, uaRef); + } + + UAVariable uaDefinition = new LangStringPropertyMapper(IEC61360_DEFINITION_BROWSENAME, source.getDefinitions(), ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaDefinition); + + UAVariable uaPreferredNames = new LangStringPropertyMapper(IEC61360_PREFERRED_NAME_BROWSENAME, source.getPreferredNames(), ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaPreferredNames); + + UAVariable uaShortName = new LangStringPropertyMapper(IEC61360_SHORT_NAME_BROWSENAME, source.getShortNames(), ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaShortName); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/EnvironmentMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/EnvironmentMapper.java new file mode 100644 index 000000000..5b434295d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/EnvironmentMapper.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.ListOfReferences; +import org.opcfoundation.ua._2011._03.uanodeset.Reference; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Submodel; + +public class EnvironmentMapper extends I4AASMapper { + + public EnvironmentMapper(AssetAdministrationShellEnvironment aasEnvironment, MappingContext ctx) { + super(aasEnvironment, ctx); + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createModelBrowseName("AASEnvironment")) + .withDisplayName(createLocalizedText("AASEnvironment")) + .withReferences(new ListOfReferences()).build(); + addTypeReference(I4AASIdentifier.AASEnvironmentType); + Reference orgaRef = new Reference(); + orgaRef.setReferenceType(UaIdentifier.Organizes.getName()); + orgaRef.setIsForward(false); + orgaRef.setValue("i=85"); + target.getReferences().getReference().add(orgaRef); + return target; + } + + @Override + protected void mapAndAttachChildren() { + // AAS might depend on CD, so this must be done first! + for (ConceptDescription conceptDescription : source.getConceptDescriptions()) { + UAObject uaCD = new ConceptDescriptionMapper(conceptDescription, ctx).map(); + Reference orgaRef = new Reference(); + orgaRef.setReferenceType(UaIdentifier.Organizes.getName()); + orgaRef.setIsForward(false); + orgaRef.setValue("i=17594"); + uaCD.getReferences().getReference().add(orgaRef); + } + for (Submodel submodel : source.getSubmodels()) { + UAObject uaSubmodel = new SubmodelMapper(submodel, ctx).map(); + attachAsComponent(target, uaSubmodel); + } + for (AssetAdministrationShell assetAdministrationShell : source.getAssetAdministrationShells()) { + UAObject aasUaObject = new AssetAdministrationShellMapper(assetAdministrationShell, ctx).map(); + attachAsComponent(target, aasUaObject); + } + for (Asset asset : source.getAssets()) { + UAObject aasUaObject = new AssetMapper(asset, ctx).map(); + attachAsComponent(target, aasUaObject); + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasDataSpecificationMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasDataSpecificationMapper.java new file mode 100644 index 000000000..49b794331 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasDataSpecificationMapper.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASConstants; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.HasDataSpecification; +import io.adminshell.aas.v3.model.Reference; + +public interface HasDataSpecificationMapper { + + public default void mapDataSpecification(HasDataSpecification source, UAObject target, MappingContext ctx) { + + UAObject folder = source.getEmbeddedDataSpecifications().isEmpty() ? null + : I4AASMapper.createFolder(target, I4AASConstants.DATASPECIFICATION_BROWSENAME, ctx, + I4AASIdentifier.AASReferenceList); + + List embeddedDataSpecifications = source.getEmbeddedDataSpecifications(); + for (int i = 0; i < embeddedDataSpecifications.size(); i++) { + EmbeddedDataSpecification embeddedDataSpecification = embeddedDataSpecifications.get(i); + Reference dataSpecification = embeddedDataSpecification.getDataSpecification(); + + // TODO The embedding is not uniquely bound to the reference. Naming convention + // fixes this partially, but a wrapper object should be specified in I4AAS. + if (dataSpecification != null) { + UAObject uaObject = new ReferenceMapper(dataSpecification, ctx, "Reference_" + i).map(); + I4AASMapper.attachAsComponent(folder, uaObject); + } + + DataSpecificationContent dataSpecificationContent = embeddedDataSpecification.getDataSpecificationContent(); + if (dataSpecificationContent instanceof DataSpecificationIEC61360) { + UAObject uaIEC61360 = new DataSpecificationIEC61360Mapper( + (DataSpecificationIEC61360) dataSpecificationContent, ctx, "Content_" + i, + ctx.getModelNsIndex()).map(); + I4AASMapper.attachAsComponent(folder, uaIEC61360); + } + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasKindMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasKindMapper.java new file mode 100644 index 000000000..ce7a2d415 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasKindMapper.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.model.HasKind; +import io.adminshell.aas.v3.model.ModelingKind; + +public interface HasKindMapper { + + static final Logger logger = LoggerFactory.getLogger(HasKindMapper.class); + + default void mapKind(HasKind kind, UAObject target, MappingContext ctx) { + ModelingKind modelingKind = kind.getKind(); + if (modelingKind == null) { + logger.warn("Missing ModelingKind attribute, fallback to 'Instance'"); + modelingKind = ModelingKind.INSTANCE; + } + UAVariable mappedKind = new I4AASEnumMapper(modelingKind, ctx).map(); + I4AASMapper.attachAsProperty(target, mappedKind); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasSemanticsMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasSemanticsMapper.java new file mode 100644 index 000000000..04b6e2a00 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasSemanticsMapper.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; +import io.adminshell.aas.v3.model.HasSemantics; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.impl.DefaultConceptDescription; + +public interface HasSemanticsMapper { + + default void mapSemantics(HasSemantics source, UAObject target, MappingContext ctx) { + io.adminshell.aas.v3.model.Reference semanticId = source.getSemanticId(); + if (semanticId != null && !semanticId.getKeys().isEmpty()) { + + // get Dictionary Entry based on first key + UAObject nodeForIdentification = ctx.getTargetNodeForReference(semanticId); + + Key key = semanticId.getKeys().get(0); + if (nodeForIdentification == null && key.getValue() != null && !key.getValue().isBlank()) { + if (ctx.isAddMissingSemanticIdsToDictionary()) { + nodeForIdentification = fixConceptDescription(ctx, key); + } else { + return; + } + } + + if (nodeForIdentification != null) { + I4AASMapper.attachAsDictionaryEntry(target, nodeForIdentification); + } + } + } + + default UAObject fixConceptDescription(MappingContext ctx, Key key) { + //if not found, a concept description must be created and added + DefaultConceptDescription virtualCD = new DefaultConceptDescription(); + virtualCD.setIdShort(key.getValue()); + virtualCD.setIdentification(new Identifier() { + @Override + public void setIdentifier(String arg0) { + throw new UnsupportedOperationException(); + } + @Override + public void setIdType(IdentifierType arg0) { + throw new UnsupportedOperationException(); + } + @Override + public String getIdentifier() { + return key.getValue(); + } + @Override + public IdentifierType getIdType() { + return key.getIdType() == null ? null : IdentifierType.valueOf(key.getIdType().name()); + } + }); + + UAObject uaVirtualCD = new ConceptDescriptionMapper(virtualCD, ctx).map(); + org.opcfoundation.ua._2011._03.uanodeset.Reference orgaRef = new org.opcfoundation.ua._2011._03.uanodeset.Reference(); + orgaRef.setReferenceType(UaIdentifier.Organizes.getName()); + orgaRef.setIsForward(false); + orgaRef.setValue("i=17594"); + uaVirtualCD.getReferences().getReference().add(orgaRef); + return uaVirtualCD; + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASEnumMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASEnumMapper.java new file mode 100644 index 000000000..0db6c9454 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASEnumMapper.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class I4AASEnumMapper extends I4AASMapper, UAVariable> { + + public final static Map, Class> enum2enumMap = new HashMap<>(); + + static { + enum2enumMap.put(io.adminshell.aas.v3.model.KeyElements.class, + org.opcfoundation.ua.i4aas.v3.types.AASKeyElementsDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.KeyType.class, + org.opcfoundation.ua.i4aas.v3.types.AASKeyTypeDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.AssetKind.class, + org.opcfoundation.ua.i4aas.v3.types.AASAssetKindDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.Category.class, + org.opcfoundation.ua.i4aas.v3.types.AASCategoryDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.DataTypeIEC61360.class, + org.opcfoundation.ua.i4aas.v3.types.AASDataTypeIEC61360DataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.EntityType.class, + org.opcfoundation.ua.i4aas.v3.types.AASEntityTypeDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.IdentifiableElements.class, + org.opcfoundation.ua.i4aas.v3.types.AASKeyElementsDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.IdentifierType.class, + org.opcfoundation.ua.i4aas.v3.types.AASIdentifierTypeDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.LevelType.class, + org.opcfoundation.ua.i4aas.v3.types.AASLevelTypeDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.LocalKeyType.class, + org.opcfoundation.ua.i4aas.v3.types.AASKeyTypeDataType.class); + enum2enumMap.put(io.adminshell.aas.v3.model.ModelingKind.class, + org.opcfoundation.ua.i4aas.v3.types.AASModelingKindDataType.class); + // enum2enumMap.put(io.adminshell.aas.v3.model.PermissionKind.class, null);//no + // match, since it is from security part + enum2enumMap.put(io.adminshell.aas.v3.model.ReferableElements.class, + org.opcfoundation.ua.i4aas.v3.types.AASKeyElementsDataType.class); + } + + public I4AASEnumMapper(Enum src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAVariable createTargetObject() { + String name = deriveDefaultName(); + Enum i4aasMatch = findMatch(source); + + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idTypeVarBuilder = UAVariable.builder() + .withDisplayName(createLocalizedText(name)).withDataType(i4aasMatch.getClass().getSimpleName()) + .withNodeId(ctx.newModelNodeIdAsString()).withBrowseName(createI4AASBrowseName(name)) + .withAccessLevel(3L); + + JAXBElement targetIdTypeVar2 = new ObjectFactory().createInt32(i4aasMatch.ordinal()); + UAVariable targetIdTypeVar = idTypeVarBuilder.withValue().withAny(targetIdTypeVar2).end().build(); + + addTypeReferenceFor(targetIdTypeVar, UaIdentifier.PropertyType); + + return targetIdTypeVar; + } + + protected String deriveDefaultName() { + if (source instanceof io.adminshell.aas.v3.model.IdentifierType) { + return IDENTIFICATION_IDTYPE_BROWSENAME; + } + if (source instanceof io.adminshell.aas.v3.model.DataTypeIEC61360) { + return IDENTIFICATION_DATATYPE_BROWSENAME; + } + return source.getClass().getSimpleName(); + } + + public static Enum findMatch(Enum src) { + if (src == null) { + return null; + } + if (!enum2enumMap.containsKey(src.getClass())) { + throw new IllegalArgumentException("Class " + src.getClass() + " is not supported by I4AASEnumMapper"); + } + Class aasEnum = enum2enumMap.get(src.getClass()); + + String srcName = src.name().toLowerCase(); + Enum[] enumConstants = aasEnum.getEnumConstants(); + for (Enum targetEnumCandidate : enumConstants) { + int lastUnderscore = targetEnumCandidate.name().lastIndexOf("_"); + String targetEnumCandidateName = targetEnumCandidate.name().substring(0, lastUnderscore).toLowerCase(); + if (targetEnumCandidateName.equals(srcName)) { + return targetEnumCandidate; + } + } + + throw new IllegalArgumentException( + "Could not match " + src.name() + " with any of " + Arrays.toString(aasEnum.getEnumConstants())); + } + + @Override + protected void mapAndAttachChildren() { + // nothing to do + } + + public static void main(String[] args) { + // quick test + System.out.println( + Arrays.toString(org.opcfoundation.ua.i4aas.v3.types.AASKeyElementsDataType.class.getEnumConstants())); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASMapper.java new file mode 100644 index 000000000..bef31ed55 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/I4AASMapper.java @@ -0,0 +1,229 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.ListOfReferences; +import org.opcfoundation.ua._2011._03.uanodeset.LocalizedText; +import org.opcfoundation.ua._2011._03.uanodeset.Reference; +import org.opcfoundation.ua._2011._03.uanodeset.UAInstance; +import org.opcfoundation.ua._2011._03.uanodeset.UANode; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import com.google.common.base.Strings; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.BasicIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASConstants; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Referable; + +/** + * Generic base class used for all mapper implementation. + * + * @param mapping source + * @param mapping target + */ +public abstract class I4AASMapper implements I4AASConstants { + + public static boolean CHECK_NS_INTERN_REFERENCES_ATTACHED = false; + + protected MappingContext ctx; + protected SOURCE source; + protected TARGET target; + + /** + * @param src + * @param ctx + */ + public I4AASMapper(SOURCE src, MappingContext ctx) { + this.source = src; + this.ctx = ctx; + } + + /** + * @return the mapping complete target object with all children attached + */ + public final TARGET map() { + target = createTargetObject(); + addToNodeset(); + mapAndAttachChildren(); + if (CHECK_NS_INTERN_REFERENCES_ATTACHED) { + checkChildrenAttached(); + } + return target; + } + + private void checkChildrenAttached() { + target.getReferences().getReference().forEach(ref -> { + if (ref.getValue().startsWith("ns=" + ctx.getModelNsIndex())) { + List uaObjectOrUAVariableOrUAMethod = ctx.getNodeSet().getUAObjectOrUAVariableOrUAMethod(); + boolean found = false; + for (UANode uaNode : uaObjectOrUAVariableOrUAMethod) { + found = found || uaNode.getNodeId().equals(ref.getValue()); + } + if (!found) { + throw new IllegalStateException( + String.format("parent %s misses child %s", target.getNodeId(), ref.getValue())); + } + } + }); + } + + /** + * @return return the object filled with attributes directly bound to the + * target. + */ + protected abstract TARGET createTargetObject(); + + /** + * action to be called when the children objects must be mapped and attached to + * the target. + */ + protected abstract void mapAndAttachChildren(); + + private void addToNodeset() { + ctx.getNodeSet().getUAObjectOrUAVariableOrUAMethod().add(target); + } + + protected final void addToNodeset(UANode node) { + ctx.getNodeSet().getUAObjectOrUAVariableOrUAMethod().add(node); + } + + protected final void addTypeReference(BasicIdentifier idForType) { + addTypeReferenceFor(target, idForType); + } + + protected final void addTypeReferenceFor(UANode anyNode, BasicIdentifier idForType) { + addTypeReferenceFor(anyNode, idForType, ctx); + } + + private static final void addTypeReferenceFor(UANode anyNode, BasicIdentifier idForType, MappingContext ctx) { + if (anyNode.getReferences() == null) { + anyNode.setReferences(new ListOfReferences()); + } + ListOfReferences references = anyNode.getReferences(); + if (idForType instanceof I4AASIdentifier) { + references.getReference() + .add(Reference.builder().withReferenceType(UaIdentifier.HasTypeDefinition.getName()) + .withValue(ctx.getI4aasNodeIdAsString((I4AASIdentifier) idForType)).build()); + } + if (idForType instanceof UaIdentifier) { + references.getReference() + .add(Reference.builder().withReferenceType(UaIdentifier.HasTypeDefinition.getName()) + .withValue(ctx.getUaBaseNodeIdAsString((UaIdentifier) idForType)).build()); + } + } + + protected static final LocalizedText createLocalizedText(String value) { + return LocalizedText.builder().withValue(value).build(); + } + + protected final String createBrowseName(String name, int namespaceIndx) { + return namespaceIndx + ":" + name; + } + + protected final String createModelBrowseName(String name) { + return ctx.getModelNsIndex() + ":" + name; + } + + protected final String createModelBrowseName(Referable ref) { + if (ref != null && !Strings.isNullOrEmpty(ref.getIdShort())) { + return ctx.getModelNsIndex() + ":" + ref.getIdShort(); + } + throw new IllegalArgumentException("Referable is null or does not contain a valid IdShort."); + } + + protected final String createI4AASBrowseName(String name) { + return ctx.getI4aasNsIndex() + ":" + name; + } + + protected final UAObject createFolder(String folderName) { + return createFolder((UAObject) target, folderName, ctx, UaIdentifier.FolderType); + } + + private static final String createI4AASBrowseName(String name, MappingContext ctx) { + return ctx.getI4aasNsIndex() + ":" + name; + } + + public static final UAObject createFolder(UAObject target, String folderName, MappingContext ctx, + BasicIdentifier folderSubtype) { + UAObject folder = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(folderName, ctx)).withDisplayName(createLocalizedText(folderName)) + .build(); + ctx.getNodeSet().getUAObjectOrUAVariableOrUAMethod().add(folder); + addTypeReferenceFor(folder, folderSubtype, ctx); + attachAsComponent((UAObject) target, folder); + return folder; + } + + public final UAObject createReferenceList(String folderName) { + return createFolder((UAObject) target, folderName, ctx, I4AASIdentifier.AASReferenceList); + } + + public final UAObject createSubmodelElementList(String folderName) { + return createFolder((UAObject) target, folderName, ctx, I4AASIdentifier.AASSubmodelElementList); + } + + public final UAObject createIdentifierKeyValuePairList(String folderName) { + return createFolder((UAObject) target, folderName, ctx, I4AASIdentifier.AASIdentifierKeyValuePairList); + } + + protected static void attachAsType(UAInstance parent, UAInstance child, BasicIdentifier typeId) { + if (child.getReferences() == null) { + child.setReferences(new ListOfReferences()); + } + Reference parentRef = Reference.builder().withIsForward(false).withReferenceType(typeId.getName()) + .withValue(parent.getNodeId()).build(); + child.getReferences().getReference().add(parentRef); + if (parent.getReferences() == null) { + parent.setReferences(new ListOfReferences()); + } + Reference childRef = Reference.builder().withReferenceType(typeId.getName()).withValue(child.getNodeId()) + .build(); + parent.getReferences().getReference().add(childRef); + } + + protected static final void attachAsProperty(UAObject parent, UAVariable child) { + child.setParentNodeId(parent.getNodeId()); + attachAsType(parent, child, UaIdentifier.HasProperty); + } + + protected static final void attachAsComponent(UAObject parent, UAInstance child) { + child.setParentNodeId(parent.getNodeId()); + attachAsType(parent, child, UaIdentifier.HasComponent); + } + + protected static final void attachAsOrderedComponent(UAObject parent, UAObject child) { + child.setParentNodeId(parent.getNodeId()); + attachAsType(parent, child, UaIdentifier.HasOrderedComponent); + } + + protected static final void attachAsDictionaryEntry(UAObject parent, UAObject child) { + attachAsType(parent, child, UaIdentifier.HasDictionaryEntry); + } + + protected static final void attachAsAddIn(UAObject parent, UAObject child) { + attachAsType(parent, child, UaIdentifier.HasAddIn); + } + + protected static final LocalizedText mapLangString(LangString description) { + return LocalizedText.builder().withLocale(description.getLanguage()).withValue(description.getValue()).build(); + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifiableMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifiableMapper.java new file mode 100644 index 000000000..bf7e370fb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifiableMapper.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject.Builder; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.IdentifierType; + +public class IdentifiableMapper extends ReferableMapper { + + public IdentifiableMapper(T src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + return super.createTargetObject(); + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + mapIdentification(); + mapAdministration(); + } + + private void mapIdentification() { + Builder coreUAObject = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withDisplayName(createLocalizedText(IDENTIFICATION_BROWSENAME)) + .withBrowseName(createI4AASBrowseName(IDENTIFICATION_BROWSENAME)); + UAObject uaObject = coreUAObject.build(); + addTypeReferenceFor(uaObject, I4AASIdentifier.AASIdentifierType); + addToNodeset(uaObject); + attachAsComponent(target, uaObject); + + Identifier identification = source.getIdentification(); + if (identification != null) { + IdentifierType sourceIdType = identification.getIdType(); + String sourceIdentifierValue = identification.getIdentifier(); + UAVariable targetIdVar = new StringPropertyMapper(IDENTIFICATION_ID_BROWSENAME, sourceIdentifierValue, ctx, + ctx.getI4aasNsIndex()).map(); + attachAsProperty(uaObject, targetIdVar); + UAVariable mappedEnum = new I4AASEnumMapper(sourceIdType, ctx).map(); + attachAsProperty(uaObject, mappedEnum); + } + } + + private void mapAdministration() { + if (source.getAdministration() != null) { + UAObject uaAdministration = new AdministrationMapper(source.getAdministration(), ctx).map(); + attachAsComponent(target, uaAdministration); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifierKeyValuePairMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifierKeyValuePairMapper.java new file mode 100644 index 000000000..1907d4689 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/IdentifierKeyValuePairMapper.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; + +public class IdentifierKeyValuePairMapper extends I4AASMapper { + + public IdentifierKeyValuePairMapper(IdentifierKeyValuePair src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createModelBrowseName(source.getKey())) + .withDisplayName(createLocalizedText(source.getKey())).build(); + addTypeReference(I4AASIdentifier.AASIdentifierKeyValuePairType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + Reference externalSubjectId = source.getExternalSubjectId(); + if (externalSubjectId != null) { + UAObject uaExtSubId = new ReferenceMapper(externalSubjectId, ctx, IKVP_EXTERNAL_SUBJECT_ID_BROWSENAME).map(); + attachAsComponent(target, uaExtSubId); + } + String key = source.getKey(); + if (key != null) { + UAVariable uaKey = new StringPropertyMapper(IKVP_KEY_BROWSENAME, key, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaKey); + } + String value = source.getValue(); + if (value != null) { + UAVariable uaValue = new StringPropertyMapper(IKVP_VALUE_BROWSENAME, value, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaValue); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/LangStringPropertyMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/LangStringPropertyMapper.java new file mode 100644 index 000000000..5d99b2004 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/LangStringPropertyMapper.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ListOfLocalizedText; +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; +import io.adminshell.aas.v3.model.LangString; + +public class LangStringPropertyMapper extends I4AASMapper, UAVariable> { + + private String key; + private ObjectFactory objectFactory = new ObjectFactory(); + private int nsIdx; + + public LangStringPropertyMapper(String key, List src, MappingContext ctx, int nsIdx) { + super(src, ctx); + this.key = key; + this.nsIdx = nsIdx; + } + + @Override + protected UAVariable createTargetObject() { + ListOfLocalizedText list = new ListOfLocalizedText(); + for (LangString langString : source) { + org.opcfoundation.ua._2008._02.types.LocalizedText localText = new org.opcfoundation.ua._2008._02.types.LocalizedText(); + localText.setLocale(objectFactory.createString(langString.getLanguage())); + localText.setText(objectFactory.createString(langString.getValue())); + list.getLocalizedText().add(localText); + } + JAXBElement listOfLocalizedText = objectFactory.createListOfLocalizedText(list); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(listOfLocalizedText).end().withDisplayName(createLocalizedText(key)) + .withDataType(UaIdentifier.LocalizedText.getName()).withValueRank(1).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createBrowseName(key, nsIdx)).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + // TODO Auto-generated method stub + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/MappingContext.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/MappingContext.java new file mode 100644 index 000000000..71ca4af12 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/MappingContext.java @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.function.Function; + +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.XMLGregorianCalendar; + +import org.opcfoundation.ua._2011._03.uanodeset.AliasTable; +import org.opcfoundation.ua._2011._03.uanodeset.ModelTable; +import org.opcfoundation.ua._2011._03.uanodeset.ModelTableEntry; +import org.opcfoundation.ua._2011._03.uanodeset.NodeIdAlias; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UriTable; + +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASConstants; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; + +public class MappingContext { + + private final UANodeSet nodeset; + private final AssetAdministrationShellEnvironment aasEnvironment; + private final String modelNamspace; + + private final DatatypeFactory datatypeFactory = DatatypeFactory.newDefaultInstance(); + + private int modelNsIndex; // currently always 1 + private int i4aasNsIndex; // currently always 2 + + private int nodeIdCounter = 1; + + private static Function modelNamespaceNamingStrategy = I4AASUtils::generateRandomNamespace; + private boolean addMissingSemanticIdsToDictionary = true; + + public static void setModelNamespaceNamingStrategy(Function strategy) { + modelNamespaceNamingStrategy = strategy; + } + + public MappingContext(AssetAdministrationShellEnvironment aasEnvironment) { + this.aasEnvironment = aasEnvironment; + nodeset = new UANodeSet(); + modelNamspace = modelNamespaceNamingStrategy.apply(nodeset); + initNodeset(); + } + + private void initNodeset() { + initNamespace(); + initModelTable(); + initAliases(); + } + + private void initAliases() { + nodeset.setAliases(new AliasTable()); + List aliases = nodeset.getAliases().getAlias(); + // add default aliases + for (UaIdentifier uaId : UaIdentifier.values()) { + NodeIdAlias nodeIdAlias = new NodeIdAlias(); + nodeIdAlias.setAlias(uaId.getName()); + nodeIdAlias.setValue(getUaBaseNodeIdAsString(uaId)); + aliases.add(nodeIdAlias); + } + // add I4AAS Aliases + for (I4AASIdentifier i4aasId : I4AASIdentifier.values()) { + NodeIdAlias nodeIdAlias = new NodeIdAlias(); + nodeIdAlias.setAlias(i4aasId.getName()); + nodeIdAlias.setValue(getI4aasNodeIdAsString(i4aasId)); + aliases.add(nodeIdAlias); + } + } + + public String getUaBaseNodeIdAsString(UaIdentifier uaId) { + return "i=" + uaId.getId(); // if no namespace is given, it is interpreted as a base UA node + } + + public String getI4aasNodeIdAsString(I4AASIdentifier i4aasId) { + return "ns=" + getI4aasNsIndex() + ";i=" + i4aasId.getId(); + } + + public String getI4aasNodeIdAsString(Integer id) { + return "ns=" + getI4aasNsIndex() + ";i=" + id; + } + + public String newModelNodeIdAsString() { + return "ns=" + getModelNsIndex() + ";i=" + nodeIdCounter++; + } + + private void initModelTable() { + nodeset.setModels(new ModelTable()); + ModelTableEntry tableEntry = new ModelTableEntry(); + tableEntry.setModelUri(modelNamspace); + XMLGregorianCalendar gregorianCalendar = datatypeFactory + .newXMLGregorianCalendar(LocalDateTime.now().toString()); + tableEntry.setPublicationDate(gregorianCalendar); + tableEntry.setVersion("1.0.0"); + + ModelTableEntry uaRequiredEntry = new ModelTableEntry(); + uaRequiredEntry.setModelUri(I4AASConstants.UA_MODEL_URI); + uaRequiredEntry.setPublicationDate(datatypeFactory.newXMLGregorianCalendar(I4AASConstants.UA_PUBDATE)); + uaRequiredEntry.setVersion(I4AASConstants.UA_VERSION); + tableEntry.getRequiredModel().add(uaRequiredEntry); + + ModelTableEntry i4aasRequiredEntry = new ModelTableEntry(); + i4aasRequiredEntry.setModelUri(I4AASConstants.I4AAS_MODEL_URI); + i4aasRequiredEntry.setPublicationDate(datatypeFactory.newXMLGregorianCalendar(I4AASConstants.I4AAS_PUBDATE)); + i4aasRequiredEntry.setVersion(I4AASConstants.I4AAS_VERSION); + tableEntry.getRequiredModel().add(i4aasRequiredEntry); + + nodeset.getModels().getModel().add(tableEntry); + } + + private void initNamespace() { + nodeset.setNamespaceUris(new UriTable()); + nodeset.getNamespaceUris().getUri().add(modelNamspace); + modelNsIndex = 1; + nodeset.getNamespaceUris().getUri().add(I4AASConstants.I4AAS_MODEL_URI); + i4aasNsIndex = 2; + } + + public AssetAdministrationShellEnvironment getEnvironment() { + return aasEnvironment; + } + + public UANodeSet getNodeSet() { + return nodeset; + } + + public int getModelNsIndex() { + return modelNsIndex; + } + + public int getI4aasNsIndex() { + return i4aasNsIndex; + } + + private Map sourceReferableToTargetIdentifier = new HashMap<>(); + private Map targetReferenceToSourceReference = new HashMap<>(); + + public void registerReferableMapped(Referable sourceReferable, UAObject targetReferable) { + sourceReferableToTargetIdentifier.put(sourceReferable, targetReferable); + + // try a local, native UA reference binding + for (Entry entry : targetReferenceToSourceReference.entrySet()) { + Referable resolve = AasUtils.resolve(entry.getValue(), aasEnvironment); + if (sourceReferable.equals(resolve)) { + I4AASMapper.attachAsAddIn(entry.getKey(), targetReferable); + } + } + } + + public void registerReferenceMapped(UAObject targetReference, Reference sourceReference) { + targetReferenceToSourceReference.put(targetReference, sourceReference); + + // try a local, native UA reference binding + Referable resolve = AasUtils.resolve(sourceReference, aasEnvironment); + if (resolve != null) { + UAObject uaObject = sourceReferableToTargetIdentifier.get(resolve); + if (uaObject != null) { + I4AASMapper.attachAsAddIn(targetReference, uaObject); + } + } + } + + public final UAObject getTargetNodeForReference(Reference semanticId) { + Referable resolve = AasUtils.resolve(semanticId, aasEnvironment); + return sourceReferableToTargetIdentifier.get(resolve); + } + + public void setAddMissingSemanticIdsToDictionary(boolean addMissingSemanticIdsToDictionary) { + this.addMissingSemanticIdsToDictionary = addMissingSemanticIdsToDictionary; + } + + public boolean isAddMissingSemanticIdsToDictionary() { + return addMissingSemanticIdsToDictionary; + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifiableMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifiableMapper.java new file mode 100644 index 000000000..28f59ab72 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifiableMapper.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASConstants; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.Qualifiable; +import io.adminshell.aas.v3.model.Qualifier; + +public interface QualifiableMapper { + + public default void mapQualifiable(Qualifiable source, UAObject target, MappingContext ctx) { + + UAObject folder = source.getQualifiers().isEmpty() ? null + : I4AASMapper.createFolder(target, I4AASConstants.QUALIFIABLE_BROWSENAME, ctx, + I4AASIdentifier.AASQualifierList); + + List qualifiers = source.getQualifiers(); + for (int i = 0; i < qualifiers.size(); i++) { + Constraint constraint = qualifiers.get(i); + if (constraint instanceof Qualifier) { + UAObject uaQualifier = new QualifierMapper((Qualifier) constraint, ctx, "Qualifier_" + i, + ctx.getModelNsIndex()).map(); + I4AASMapper.attachAsComponent(folder, uaQualifier); + } + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierMapper.java new file mode 100644 index 000000000..07848cb01 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierMapper.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.sme.MimeTypeMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.sme.ValueTypeMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Reference; + +public class QualifierMapper extends I4AASMapper { + + private String name; + private int nsIdx; + + public QualifierMapper(Qualifier src, MappingContext ctx, String name, int nsIdx) { + super(src, ctx); + this.name = name; + this.nsIdx = nsIdx; + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()).withBrowseName(createBrowseName(name, nsIdx)) + .withDisplayName(createLocalizedText(name)).build(); + addTypeReference(I4AASIdentifier.AASQualifierType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + Reference semanticId = source.getSemanticId(); + if (semanticId != null) { + UAObject map = new ReferenceMapper(semanticId, ctx, "ValueId").map(); + attachAsComponent(target, map); + } + + if (source.getType() != null) { + UAVariable map = new QualifierTypeMapper(source.getType(), ctx).map(); + attachAsProperty(target, map); + } + + String value = source.getValue(); + if (value != null) { + UAVariable map = new StringPropertyMapper("Value", value, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, map); + } + + String valueType = source.getValueType(); + if (valueType != null) { + UAVariable map = new ValueTypeMapper(valueType, ctx).map(); + attachAsProperty(target, map); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierTypeMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierTypeMapper.java new file mode 100644 index 000000000..79743d78d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/QualifierTypeMapper.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class QualifierTypeMapper extends I4AASMapper { + + + public QualifierTypeMapper(String src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAVariable createTargetObject() { + JAXBElement idStringValue = new ObjectFactory().createString(source); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(idStringValue).end().withDisplayName(createLocalizedText(QUALIFIER_TYPE_BROWSENAME)) + .withDataType(I4AASIdentifier.AASQualifierDataType.getName()).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(QUALIFIER_TYPE_BROWSENAME)).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferableMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferableMapper.java new file mode 100644 index 000000000..2c6bfd42b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferableMapper.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Referable; + +public class ReferableMapper extends I4AASMapper { + + public ReferableMapper(T src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createModelBrowseName(source)) + .withDisplayName(I4AASUtils.createDisplayName(source)).build(); + return target; + } + + @Override + protected void mapAndAttachChildren() { + if (source.getCategory() != null) { + UAVariable categoryProperty = new StringPropertyMapper(CATEGORY_BROWSENAME, source.getCategory(), ctx, + ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, categoryProperty); + } + + for (LangString description : source.getDescriptions()) { + target.getDescription().add(mapLangString(description)); + } + for (LangString displayName : source.getDisplayNames()) { + target.getDisplayName().add(mapLangString(displayName)); + } + ctx.registerReferableMapped(source, target); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferenceMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferenceMapper.java new file mode 100644 index 000000000..02822e4c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/ReferenceMapper.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ExtensionObject; +import org.opcfoundation.ua._2008._02.types.ExtensionObject.Body; +import org.opcfoundation.ua._2008._02.types.ListOfExtensionObject; +import org.opcfoundation.ua._2008._02.types.NodeId; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Value; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyDataType; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyElementsDataType; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyTypeDataType; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Reference; + +public class ReferenceMapper extends I4AASMapper { + + private String browseName; + + org.opcfoundation.ua._2008._02.types.ObjectFactory extensionObjectFactory = new org.opcfoundation.ua._2008._02.types.ObjectFactory(); + org.opcfoundation.ua.i4aas.v3.types.ObjectFactory i4aasTypesObjectFactory = new org.opcfoundation.ua.i4aas.v3.types.ObjectFactory(); + + public ReferenceMapper(Reference src, MappingContext ctx, String browseName) { + super(src, ctx); + this.browseName = browseName; + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()).withBrowseName(createI4AASBrowseName(browseName)) + .withDisplayName(createLocalizedText(browseName)).build(); + addTypeReference(I4AASIdentifier.AASReferenceType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + UAVariable UAKeyVariable = UAVariable.builder().withNodeId(ctx.newModelNodeIdAsString()) + .withDataType(I4AASIdentifier.AASKeyDataType.getName()).withValueRank(1).withArrayDimensions("0") + .withAccessLevel(3L).withDisplayName(createLocalizedText(REFERENCE_KEYS_BROWSENAME)) + .withBrowseName(createI4AASBrowseName(REFERENCE_KEYS_BROWSENAME)).build(); + addTypeReferenceFor(UAKeyVariable, UaIdentifier.PropertyType); + attachAsProperty(target, UAKeyVariable); + addToNodeset(UAKeyVariable); + + if (!source.getKeys().isEmpty()) { + UAKeyVariable.setValue(new Value()); + ListOfExtensionObject listOfExtensions = new ListOfExtensionObject(); + + for (Key key : source.getKeys()) { + AASKeyDataType aasKeyDataType = AASKeyDataType.builder().// + withIdType((AASKeyTypeDataType) I4AASEnumMapper.findMatch(key.getIdType())).// + withType((AASKeyElementsDataType) I4AASEnumMapper.findMatch(key.getType())).// + withValue(key.getValue()).build(); + JAXBElement jaxbAASKeyDataType = i4aasTypesObjectFactory.createAASKeyDataType(aasKeyDataType); + + Body uaxBody = extensionObjectFactory.createExtensionObjectBody(); + uaxBody.setAny(jaxbAASKeyDataType); + + NodeId typeId = extensionObjectFactory.createNodeId(); + typeId.setIdentifier(extensionObjectFactory.createNodeIdIdentifier(ctx.getI4aasNodeIdAsString(I4AASIdentifier.AASKeyDataType_Encoding_DefaultXml))); + + ExtensionObject extensionObject = extensionObjectFactory.createExtensionObject(); + extensionObject.setTypeId(extensionObjectFactory.createNodeId(typeId)); + extensionObject.setBody(extensionObjectFactory.createExtensionObjectBody(uaxBody)); + + listOfExtensions.getExtensionObject().add(extensionObject); + } + UAKeyVariable.getValue().setAny(extensionObjectFactory.createListOfExtensionObject(listOfExtensions)); + } + ctx.registerReferenceMapped(target, source); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/StringPropertyMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/StringPropertyMapper.java new file mode 100644 index 000000000..1f11a4d38 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/StringPropertyMapper.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class StringPropertyMapper extends I4AASMapper { + + private String key; + private int nsIdx; + + public StringPropertyMapper(String key, String src, MappingContext ctx, int nsIdx) { + super(src, ctx); + this.key = key; + this.nsIdx = nsIdx; + } + + @Override + protected UAVariable createTargetObject() { + JAXBElement idStringValue = new ObjectFactory().createString(source); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(idStringValue).end().withDisplayName(createLocalizedText(key)) + .withDataType(UaIdentifier.String.getName()).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createBrowseName(key, nsIdx)).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapper.java new file mode 100644 index 000000000..fe864bdf1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapper.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.sme.SubmodelElementMappers; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class SubmodelMapper extends IdentifiableMapper implements HasKindMapper, HasSemanticsMapper, HasDataSpecificationMapper, QualifiableMapper { + + public SubmodelMapper(Submodel src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASSubmodelType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + + mapKind(source, target, ctx); + mapSemantics(source, target, ctx); + + List submodelElements = source.getSubmodelElements(); + for (SubmodelElement submodelElement : submodelElements) { + I4AASMapper mapper = SubmodelElementMappers.getMapper(submodelElement, ctx); + UAObject uaSubmodel = mapper.map(); + attachAsComponent(target, uaSubmodel); + } + mapDataSpecification(source, target, ctx); + mapQualifiable(source, target, ctx); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/AnnotatedRelationshipElementMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/AnnotatedRelationshipElementMapper.java new file mode 100644 index 000000000..34d31dd48 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/AnnotatedRelationshipElementMapper.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.DataElement; +import io.adminshell.aas.v3.model.Reference; + +public class AnnotatedRelationshipElementMapper extends SubmodelElementMapper { + + public AnnotatedRelationshipElementMapper(AnnotatedRelationshipElement src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASAnnotatedRelationshipElementType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + UAObject createFolder = source.getAnnotations().isEmpty() ? null : createSubmodelElementList("Annotation"); + List annotations = source.getAnnotations(); + for (DataElement dataElement : annotations) { + UAObject uaDataElement = SubmodelElementMappers.getMapper(dataElement, ctx).map(); + attachAsComponent(createFolder, uaDataElement); + } + Reference first = source.getFirst(); + if (first != null) { + UAObject uaFirst = new ReferenceMapper(first, ctx, "First").map(); + attachAsComponent(target, uaFirst); + } + Reference second = source.getSecond(); + if (second != null) { + UAObject uaSecond = new ReferenceMapper(second, ctx, "Second").map(); + attachAsComponent(target, uaSecond); + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/BlobMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/BlobMapper.java new file mode 100644 index 000000000..f9a921e75 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/BlobMapper.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ByteStringPropertyMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Blob; + +public class BlobMapper extends SubmodelElementMapper { + + public BlobMapper(Blob src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASBlobType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + String mimeType = source.getMimeType(); + if (mimeType != null) { + UAVariable map = new MimeTypeMapper(mimeType, ctx).map(); + attachAsProperty(target, map); + } + byte[] value = source.getValue(); + if (value != null) { + UAVariable map = new ByteStringPropertyMapper("Value", value, ctx).map(); + attachAsProperty(target, map); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/CapabilityMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/CapabilityMapper.java new file mode 100644 index 000000000..ff3b92a0f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/CapabilityMapper.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Capability; + +public class CapabilityMapper extends SubmodelElementMapper { + + public CapabilityMapper(Capability src, MappingContext ctx) { + super(src, ctx); + // TODO Auto-generated constructor stub + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASCapabilityType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EntityMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EntityMapper.java new file mode 100644 index 000000000..11043d0c8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EntityMapper.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import java.util.List; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASEnumMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.IdentifierKeyValuePairMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class EntityMapper extends SubmodelElementMapper { + + public EntityMapper(Entity src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASEntityType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + EntityType entityType = source.getEntityType(); + if (entityType != null) { + UAVariable map = new I4AASEnumMapper(entityType, ctx).map(); + attachAsProperty(target, map); + } + + Reference globalAssetId = source.getGlobalAssetId(); + if (globalAssetId != null) { + UAObject uaIdentification = new ReferenceMapper(globalAssetId, ctx, "GlobalAssetId").map(); + attachAsComponent(target, uaIdentification); + } + + IdentifierKeyValuePair specificAssetId = source.getSpecificAssetId(); + if (specificAssetId != null) { + UAObject map = new IdentifierKeyValuePairMapper(specificAssetId, ctx).map(); + attachAsComponent(target, map); + } + + UAObject createFolder = source.getStatements().isEmpty() ? null : createSubmodelElementList("Statement"); + List statements = source.getStatements(); + for (SubmodelElement submodelElement : statements) { + UAObject map = SubmodelElementMappers.getMapper(submodelElement, ctx).map(); + attachAsComponent(createFolder, map); + } + + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventElementMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventElementMapper.java new file mode 100644 index 000000000..be12e8ad1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventElementMapper.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.model.EventElement; + +public class EventElementMapper extends SubmodelElementMapper { + + public EventElementMapper(EventElement src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + return super.createTargetObject(); + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMapper.java new file mode 100644 index 000000000..0797085f2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMapper.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Event; + +public class EventMapper extends SubmodelElementMapper { + + public EventMapper(Event src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASEventType); + return target; + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMessageMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMessageMapper.java new file mode 100644 index 000000000..ba08d4ffe --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/EventMessageMapper.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.model.EventMessage; + +public class EventMessageMapper extends SubmodelElementMapper { + + public EventMessageMapper(EventMessage src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + return super.createTargetObject(); + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/FileMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/FileMapper.java new file mode 100644 index 000000000..f10226e11 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/FileMapper.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.File; + +public class FileMapper extends SubmodelElementMapper { + + private String customName; + private int namespaceIndex; + + public FileMapper(File src, MappingContext ctx) { + this(src, ctx, src.getIdShort(), ctx.getModelNsIndex()); + } + + public FileMapper(File src, MappingContext ctx, String name, int namespaceIndex) { + super(src, ctx); + this.customName = name; + this.namespaceIndex = namespaceIndex; + } + + @Override + protected UAObject createTargetObject() { + target = UAObject.builder().withNodeId(ctx.newModelNodeIdAsString()).withBrowseName(createBrowseName(customName, namespaceIndex)) + .withDisplayName(createLocalizedText(customName)).build(); + addTypeReference(I4AASIdentifier.AASFileType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + if (source.getMimeType() != null) { + UAVariable map = new MimeTypeMapper(source.getMimeType(), ctx).map(); + attachAsProperty(target, map); + } + if (source.getValue() != null) { + UAVariable map = new PathTypeMapper(source.getValue(), ctx).map(); + attachAsProperty(target, map); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MimeTypeMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MimeTypeMapper.java new file mode 100644 index 000000000..d3202c4e3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MimeTypeMapper.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class MimeTypeMapper extends I4AASMapper { + + + public MimeTypeMapper(String src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAVariable createTargetObject() { + JAXBElement idStringValue = new ObjectFactory().createString(source); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(idStringValue).end().withDisplayName(createLocalizedText(MIME_TYPE_BROWSENAME)) + .withDataType(I4AASIdentifier.AASMimeDataType.getName()).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName(MIME_TYPE_BROWSENAME)).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MultiLanguagePropertyMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MultiLanguagePropertyMapper.java new file mode 100644 index 000000000..b7b160f7c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/MultiLanguagePropertyMapper.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.LangStringPropertyMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.Reference; + +public class MultiLanguagePropertyMapper extends SubmodelElementMapper { + + public MultiLanguagePropertyMapper(MultiLanguageProperty src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASMultiLanguagePropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + Reference valueId = source.getValueId(); + if (valueId != null) { + UAObject map = new ReferenceMapper(valueId, ctx, "ValueId").map(); + attachAsComponent(target, map); + } + UAVariable uaLangString = new LangStringPropertyMapper("Value", source.getValues(), ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, uaLangString); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/OperationMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/OperationMapper.java new file mode 100644 index 000000000..374baa44b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/OperationMapper.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAMethod; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.OperationVariable; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class OperationMapper extends SubmodelElementMapper { + + public OperationMapper(Operation src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASOperationType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + + if (!source.getInputVariables().isEmpty()) { + UAObject folder = createSubmodelElementList("InputVariable"); + for (OperationVariable operationVariable : source.getInputVariables()) { + SubmodelElement value = operationVariable.getValue(); + UAObject mappedVariable = SubmodelElementMappers.getMapper(value, ctx).map(); + attachAsComponent(folder, mappedVariable); + } + } + + if (!source.getOutputVariables().isEmpty()) { + UAObject folder = createSubmodelElementList("OutputVariable"); + for (OperationVariable operationVariable : source.getOutputVariables()) { + SubmodelElement value = operationVariable.getValue(); + UAObject mappedVariable = SubmodelElementMappers.getMapper(value, ctx).map(); + attachAsComponent(folder, mappedVariable); + } + } + + if (!source.getInoutputVariables().isEmpty()) { + UAObject folder = createSubmodelElementList("InOutputVariable"); + for (OperationVariable operationVariable : source.getInoutputVariables()) { + SubmodelElement value = operationVariable.getValue(); + UAObject mappedVariable = SubmodelElementMappers.getMapper(value, ctx).map(); + attachAsComponent(folder, mappedVariable); + } + } + + UAMethod operation = UAMethod.builder().withBrowseName(createI4AASBrowseName("Operation")) + .addDisplayName(createLocalizedText("Operation")) + .withMethodDeclarationId(ctx.getI4aasNodeIdAsString(I4AASIdentifier.AASOperationType_Operation)) + .withNodeId(ctx.newModelNodeIdAsString()).build(); + this.addToNodeset(operation); + attachAsComponent(target, operation); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PathTypeMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PathTypeMapper.java new file mode 100644 index 000000000..6ff3da430 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PathTypeMapper.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class PathTypeMapper extends I4AASMapper { + + public PathTypeMapper(String src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAVariable createTargetObject() { + JAXBElement idStringValue = new ObjectFactory().createString(source); + org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder idVarBuilder = UAVariable.builder() + .withValue().withAny(idStringValue).end().withDisplayName(createLocalizedText("Value")) + .withDataType(I4AASIdentifier.AASPathDataType.getName()).withNodeId(ctx.newModelNodeIdAsString()) + .withBrowseName(createI4AASBrowseName("Value")).withAccessLevel(3L); + target = idVarBuilder.build(); + addTypeReferenceFor(target, UaIdentifier.PropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PropertyMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PropertyMapper.java new file mode 100644 index 000000000..e1025b387 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/PropertyMapper.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.StringPropertyMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Property; + +public class PropertyMapper extends SubmodelElementMapper { + + public PropertyMapper(Property src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASPropertyType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + + if (source.getValueId() != null) { + UAObject uaValueId = new ReferenceMapper(source.getValueId(), ctx, "ValueId").map(); + attachAsComponent(target, uaValueId); + } + + if (source.getValueType() != null) { + String valueType = source.getValueType(); + UAVariable mappedValueType = new ValueTypeMapper(valueType, ctx).map(); + attachAsProperty(target, mappedValueType); + } + + if (source.getValue() != null) { + //use string property first, should use a interpretation of valuetype later + UAVariable newStringProperty = new StringPropertyMapper("Value", source.getValue(), ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, newStringProperty); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RangeMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RangeMapper.java new file mode 100644 index 000000000..8fddc5690 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RangeMapper.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.StringPropertyMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Range; + +public class RangeMapper extends SubmodelElementMapper { + + public RangeMapper(Range src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASRangeType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + + String min = source.getMin(); + if (min != null) { + UAVariable map = new StringPropertyMapper("Min", min, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, map); + } + + String max = source.getMax(); + if (max != null) { + UAVariable map = new StringPropertyMapper("Max", max, ctx, ctx.getI4aasNsIndex()).map(); + attachAsProperty(target, map); + } + + String valueType = source.getValueType(); + if (valueType != null) { + UAVariable map = new ValueTypeMapper(valueType, ctx).map(); + attachAsProperty(target, map); + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ReferenceElementMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ReferenceElementMapper.java new file mode 100644 index 000000000..64c0c9323 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ReferenceElementMapper.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.ReferenceElement; + +public class ReferenceElementMapper extends SubmodelElementMapper { + + public ReferenceElementMapper(ReferenceElement src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASReferenceElementType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + Reference value = source.getValue(); + if (value != null) { + UAObject map = new ReferenceMapper(value, ctx, "Value").map(); + attachAsComponent(target, map); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RelationshipElementMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RelationshipElementMapper.java new file mode 100644 index 000000000..433259082 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/RelationshipElementMapper.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferenceMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.RelationshipElement; + +public class RelationshipElementMapper extends SubmodelElementMapper { + + public RelationshipElementMapper(RelationshipElement src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + addTypeReference(I4AASIdentifier.AASRelationshipElementType); + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + Reference first = source.getFirst(); + if (first != null) { + UAObject uaFirst = new ReferenceMapper(first, ctx, "First").map(); + attachAsComponent(target, uaFirst); + } + Reference second = source.getSecond(); + if (second != null) { + UAObject uaSecond = new ReferenceMapper(second, ctx, "Second").map(); + attachAsComponent(target, uaSecond); + } + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementCollectionMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementCollectionMapper.java new file mode 100644 index 000000000..54fbad162 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementCollectionMapper.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import java.util.Collection; + +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.BooleanPropertyMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; + +public class SubmodelElementCollectionMapper extends SubmodelElementMapper { + + public SubmodelElementCollectionMapper(SubmodelElementCollection submodelElement, MappingContext ctx) { + super(submodelElement, ctx); + } + + @Override + protected UAObject createTargetObject() { + super.createTargetObject(); + if (source.getOrdered()) { + addTypeReference(I4AASIdentifier.AASOrderedSubmodelElementCollectionType); + } else { + addTypeReference(I4AASIdentifier.AASSubmodelElementCollectionType); + } + return target; + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + Collection values = source.getValues(); + for (SubmodelElement submodelElement : values) { + I4AASMapper mapper = SubmodelElementMappers.getMapper(submodelElement, + ctx); + UAObject uaSubmodel = mapper.map(); + if (source.getOrdered()) { + attachAsOrderedComponent(target, uaSubmodel); + } else { + attachAsComponent(target, uaSubmodel); + } + } + UAVariable uaAllowDuplicates = new BooleanPropertyMapper("AllowDuplicates", source.getAllowDuplicates(), ctx) + .map(); + attachAsProperty(target, uaAllowDuplicates); + } + + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMapper.java new file mode 100644 index 000000000..0b11493e1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMapper.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.HasDataSpecificationMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.HasKindMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.HasSemanticsMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.QualifiableMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.ReferableMapper; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class SubmodelElementMapper extends ReferableMapper implements HasKindMapper, HasSemanticsMapper, HasDataSpecificationMapper, QualifiableMapper { + + public SubmodelElementMapper(T src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected void mapAndAttachChildren() { + super.mapAndAttachChildren(); + mapKind(source, target, ctx); + mapSemantics(source, target, ctx); + mapDataSpecification(source, target, ctx); + mapQualifiable(source, target, ctx); + } + + + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMappers.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMappers.java new file mode 100644 index 000000000..d8ca0b48b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/SubmodelElementMappers.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; + +public class SubmodelElementMappers { + + public static SubmodelElementMapper getMapper(SubmodelElement submodelElement, MappingContext ctx) { + if (submodelElement instanceof io.adminshell.aas.v3.model.Capability) { + return new CapabilityMapper((io.adminshell.aas.v3.model.Capability) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.Blob) { + return new BlobMapper((io.adminshell.aas.v3.model.Blob) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.File) { + return new FileMapper((io.adminshell.aas.v3.model.File) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.MultiLanguageProperty) { + return new MultiLanguagePropertyMapper((io.adminshell.aas.v3.model.MultiLanguageProperty) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.Property) { + return new PropertyMapper((io.adminshell.aas.v3.model.Property) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.Range) { + return new RangeMapper((io.adminshell.aas.v3.model.Range) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.ReferenceElement) { + return new ReferenceElementMapper((io.adminshell.aas.v3.model.ReferenceElement) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.Entity) { + return new EntityMapper((io.adminshell.aas.v3.model.Entity) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.Event) { + return new EventMapper((io.adminshell.aas.v3.model.Event) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.EventElement) { + return new EventElementMapper((io.adminshell.aas.v3.model.EventElement) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.EventMessage) { + return new EventMessageMapper((io.adminshell.aas.v3.model.EventMessage) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.Operation) { + return new OperationMapper((io.adminshell.aas.v3.model.Operation) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.AnnotatedRelationshipElement) { + return new AnnotatedRelationshipElementMapper((io.adminshell.aas.v3.model.AnnotatedRelationshipElement) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.RelationshipElement) { + return new RelationshipElementMapper((io.adminshell.aas.v3.model.RelationshipElement) submodelElement, ctx); + } + if (submodelElement instanceof io.adminshell.aas.v3.model.SubmodelElementCollection) { + return new SubmodelElementCollectionMapper((SubmodelElementCollection) submodelElement, ctx); + } + throw new UnsupportedOperationException( + "mapping not implemented for " + submodelElement.getClass().getName()); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ValueTypeMapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ValueTypeMapper.java new file mode 100644 index 000000000..502996610 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/ValueTypeMapper.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme; + +import java.util.Map; +import java.util.TreeMap; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder; +import org.opcfoundation.ua.i4aas.v3.types.AASValueTypeDataType; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class ValueTypeMapper extends I4AASMapper { + + private static Map staticMap = new TreeMap<>(); + static { + staticMap.put("integer", AASValueTypeDataType.INT_32_5); + staticMap.put("int", AASValueTypeDataType.INT_32_5); + staticMap.put("langstring", AASValueTypeDataType.LOCALIZED_TEXT_14); + staticMap.put("string", AASValueTypeDataType.STRING_11); + staticMap.put("boolean", AASValueTypeDataType.BOOLEAN_0); + staticMap.put("float", AASValueTypeDataType.FLOAT_9); + staticMap.put("double", AASValueTypeDataType.DOUBLE_10); + staticMap.put("long", AASValueTypeDataType.INT_64_7); + staticMap.put("http://www.w3.org/2001/XMLSchema#int", AASValueTypeDataType.INT_32_5); + //to be extended + } + + public ValueTypeMapper(String src, MappingContext ctx) { + super(src, ctx); + } + + @Override + protected UAVariable createTargetObject() { + Builder builder = UAVariable.builder().withDisplayName(createLocalizedText("ValueType")) + .withBrowseName(createI4AASBrowseName("ValueType")).withNodeId(ctx.newModelNodeIdAsString()).withAccessLevel(3L) + .withDataType(AASValueTypeDataType.class.getSimpleName()); + + AASValueTypeDataType derivedEnum = staticMap.computeIfAbsent(source, this::mappingFuntion); + if (derivedEnum == null) { + throw new IllegalArgumentException("There is no ValueType mapping rule defined for '" + source + "'."); + } + + JAXBElement targetIdTypeVar = new ObjectFactory().createInt32(derivedEnum.ordinal()); + UAVariable uaVariable = builder.withValue().withAny(targetIdTypeVar).end().build(); + addTypeReferenceFor(uaVariable, UaIdentifier.PropertyType); + return uaVariable; + } + + @Override + protected void mapAndAttachChildren() { + } + + private AASValueTypeDataType mappingFuntion(String input) { + // retry with lower case + AASValueTypeDataType aasValueTypeDataType = null; + aasValueTypeDataType = staticMap.get(input.toLowerCase()); + if (aasValueTypeDataType != null) { + return aasValueTypeDataType; + } + return null; + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/BasicIdentifier.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/BasicIdentifier.java new file mode 100644 index 000000000..1019f2d10 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/BasicIdentifier.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.utils; + +public interface BasicIdentifier { + + public String getName(); + + public Integer getId(); + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASConstants.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASConstants.java new file mode 100644 index 000000000..800dc4dc8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASConstants.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.utils; + +public interface I4AASConstants { + + public final String UA_MODEL_URI = "http://opcfoundation.org/UA/"; + public final String UA_PUBDATE = "2020-07-15T00:00:00Z"; + public final String UA_VERSION = "1.04.7"; + + public final String I4AAS_MODEL_URI = "http://opcfoundation.org/UA/I4AAS/V3/"; + public final String I4AAS_PUBDATE = "2021-06-04T00:00:00Z"; + public final String I4AAS_VERSION = "1.0.0"; + + public final static String AAS_DISPLAYNAME_PREFIX = "AAS:"; + public final static String ASSET_DISPLAYNAME_PREFIX = "Asset:"; + public final static String SM_DISPLAYNAME_PREFIX = "Submodel:"; + + public static final String CATEGORY_BROWSENAME = "Category"; + + public static final String IDENTIFICATION_BROWSENAME = "Identification"; + public static final String IDENTIFICATION_ID_BROWSENAME = "Id"; + public static final String IDENTIFICATION_IDTYPE_BROWSENAME = "IdType"; + public static final String IDENTIFICATION_DATATYPE_BROWSENAME = "DataType"; + + public static final String ADMINISTRATION_BROWSENAME = "Administration"; + public static final String ADMINISTRATION_REVISION_BROWSENAME = "Revision"; + public static final String ADMINISTRATION_VERSION_BROWSENAME = "Version"; + + public static final String DATASPECIFICATION_BROWSENAME = "DataSpecification"; + public static final String QUALIFIABLE_BROWSENAME = "Qualifier"; + + public static final String AAS_SUBMODELREFERENCES_LIST_BROWSENAME = "Submodel"; + public static final String AAS_DERIVEDFROM_BROWSENAME = "DerivedFrom"; + public static final String AAS_ASSETINFORMATION_BROWSENAME = "AssetInformation"; + + public static final String REFERENCE_KEYS_BROWSENAME = "Keys"; + + public static final String IEC61360_SHORT_NAME_BROWSENAME = "ShortName"; + public static final String IEC61360_PREFERRED_NAME_BROWSENAME = "PreferredName"; + public static final String IEC61360_DEFINITION_BROWSENAME = "Definition"; + public static final String IEC61360_VALUE_ID_BROWSENAME = "ValueId"; + public static final String IEC61360_UNIT_ID_BROWSENAME = "UnitId"; + public static final String IEC61360_VALUE_BROWSENAME = "Value"; + public static final String IEC61360_VALUE_FORMAT_BROWSENAME = "ValueFormat"; + public static final String IEC61360_UNIT_BROWSENAME = "Unit"; + public static final String IEC61360_SYMBOL_BROWSENAME = "Symbol"; + public static final String IEC61360_SOURCE_OF_DEFINITION_BROWSENAME = "SourceOfDefinition"; + + public static final String ASSETINFO_SPECIFIC_ASSET_ID_BROWSENAME = "SpecificAssetId"; + public static final String ASSETINFO_DEFAULT_THUMBNAIL_BROWSENAME = "DefaultThumbnail"; + public static final String ASSETINFO_BILL_OF_MATERIAL_BROWSENAME = "BillOfMaterial"; + public static final String ASSETINFO_GLOBAL_ASSET_ID_BROWSENAME = "GlobalAssetId"; + + public static final String IKVP_EXTERNAL_SUBJECT_ID_BROWSENAME = "ExternalSubjectId"; + public static final String IKVP_KEY_BROWSENAME = "Key"; + public static final String IKVP_VALUE_BROWSENAME = "Value"; + + public static final String MIME_TYPE_BROWSENAME = "MimeType"; + public static final String QUALIFIER_TYPE_BROWSENAME = "Type"; + + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASIdentifier.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASIdentifier.java new file mode 100644 index 000000000..e3f1f3100 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASIdentifier.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.utils; + +public enum I4AASIdentifier implements BasicIdentifier { + + AASAssetAdministrationShellType("AASAssetAdministrationShellType", 1002), + AASReferableType("AASReferableType", 1003), + AASReferenceType("AASReferenceType", 1004), + AASAssetType("AASAssetType", 1005), + AASSubmodelType("AASSubmodelType", 1006), + AASIdentifiableType("AASIdentifiableType", 1007), + AASEnvironmentType("AASEnvironmentType",1008), + AASSubmodelElementType("AASSubmodelElementType", 1009), + AASSubmodelElementCollectionType("AASSubmodelElementCollectionType", 1010), + AASOrderedSubmodelElementCollectionType("AASOrderedSubmodelElementCollectionType", 1011), + AASMultiLanguagePropertyType("AASMultiLanguagePropertyType", 1012), + AASPropertyType("AASPropertyType", 1013), + AASCapabilityType("AASCapabilityType", 1014), + AASOperationType("AASOperationType", 1015), + AASBlobType("AASBlobType", 1016), + AASFileType("AASFileType", 1017), + AASRelationshipElementType("AASRelationshipElementType", 1018), + AASAnnotatedRelationshipElementType("AASAnnotatedRelationshipElementType", 1019), + AASReferenceElementType("AASReferenceElementType", 1020), + AASEventType("AASEventType", 1021), + AASEntityType("AASEntityType", 1022), + AASRangeType("AASRangeType", 1023), + AASIrdiConceptDescriptionType("AASIrdiConceptDescriptionType", 1024), + AASIriConceptDescriptionType("AASIriConceptDescriptionType", 1025), + AASCustomConceptDescriptionType("AASCustomConceptDescriptionType", 1026), + AASDataSpecificationType("AASDataSpecificationType", 1027), + AASDataSpecificationIEC61360Type("AASDataSpecificationIEC61360Type", 1028), + AASIdentifierType("AASIdentifierType", 1029), + AASAdministrativeInformationType("AASAdministrativeInformationType", 1030), + AASAssetInformationType("AASAssetInformationType", 1031), + AASQualifierType("AASQualifierType", 1032), + IAASReferableType("IAASReferableType", 1033), + IAASIdentifiableType("IAASIdentifiableType", 1034), + AASIdentifierKeyValuePairType("AASIdentifierKeyValuePairType", 1035), + AASReferenceList("AASReferenceList",1036), + AASQualifierList("AASQualifierList",1037), + AASSubmodelElementList("AASSubmodelElementList",1038), + AASIdentifierKeyValuePairList("AASIdentifierKeyValuePairList",1039), + AASKeyTypeDataType("AASKeyTypeDataType", 3002), + AASAssetKindDataType("AASAssetKindDataType", 3003), + AASValueTypeDataType("AASValueTypeDataType", 3004), + AASPathDataType("AASPathDataType", 3005), + AASEntityTypeDataType("AASEntityTypeDataType", 3006), + AASCategoryDataType("AASCategoryDataType", 3007), + AASDataTypeIEC61360DataType("AASDataTypeIEC61360DataType", 3008), + AASLevelTypeDataType("AASLevelTypeDataType", 3009), + AASIdentifierTypeDataType("AASIdentifierTypeDataType", 3010), + AASKeyDataType("AASKeyDataType", 3011), + AASKeyElementsDataType("AASKeyElementsDataType", 3012), + AASQualifierDataType("AASQualifierDataType", 3013), + AASPropertyValueDataType("AASPropertyValueDataType", 3014), + AASModelingKindDataType("AASModelingKindDataType", 3015), + AASMimeDataType("AASMimeDataType", 3016), + AASKeyDataType_Encoding_DefaultXml("AASKeyDataType_Encoding_DefaultXml",5039), + AASOperationType_Operation("AASOperationType_Operation",7001), + AASFileType_File_Close("AASFileType_File_Close",7008), + AASFileType_File_GetPosition("AASFileType_File_GetPosition",7009), + AASFileType_File_Open("AASFileType_File_Open",7010), + AASFileType_File_Read("AASFileType_File_Read",7011), + AASFileType_File_SetPosition("AASFileType_File_SetPosition",7012), + AASFileType_File_Write("AASFileType_File_Write",7013); + + private String name; + private Integer id; + + private I4AASIdentifier(String name, Integer id) { + this.name = name; + this.id = id; + } + + public String getName() { + return name; + } + + public Integer getId() { + return id; + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASUtils.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASUtils.java new file mode 100644 index 000000000..e8ba0f9f2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/I4AASUtils.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.utils; + +import java.util.UUID; + +import org.opcfoundation.ua._2011._03.uanodeset.LocalizedText; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; + +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Submodel; + +public class I4AASUtils { + + public static String generateRandomNamespace(UANodeSet nodeset) { + return "http://example.org/i4aasNs/" + UUID.randomUUID() + "/"; + } + + public static LocalizedText createDisplayName(Referable ref) { + if (ref instanceof Submodel) { + return LocalizedText.builder().withValue(I4AASConstants.SM_DISPLAYNAME_PREFIX + ref.getIdShort()).build(); + } else if (ref instanceof AssetAdministrationShell) { + return LocalizedText.builder().withValue(I4AASConstants.AAS_DISPLAYNAME_PREFIX + ref.getIdShort()).build(); + } else if (ref instanceof Asset) { + return LocalizedText.builder().withValue(I4AASConstants.ASSET_DISPLAYNAME_PREFIX + ref.getIdShort()) + .build(); + } else { + return LocalizedText.builder().withValue(ref.getIdShort()).build(); + } + } + + public static String parseDisplayName(Referable ref, String rawstring) { + if (rawstring == null) { + return null; + } + if (ref instanceof Submodel && rawstring.startsWith(I4AASConstants.SM_DISPLAYNAME_PREFIX)) { + return rawstring.substring(I4AASConstants.SM_DISPLAYNAME_PREFIX.length()); + } else if (ref instanceof AssetAdministrationShell + && rawstring.startsWith(I4AASConstants.AAS_DISPLAYNAME_PREFIX)) { + return rawstring.substring(I4AASConstants.AAS_DISPLAYNAME_PREFIX.length()); + } else if (ref instanceof Asset && rawstring.startsWith(I4AASConstants.ASSET_DISPLAYNAME_PREFIX)) { + return rawstring.substring(I4AASConstants.ASSET_DISPLAYNAME_PREFIX.length()); + } else { + return rawstring; + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/UaIdentifier.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/UaIdentifier.java new file mode 100644 index 000000000..10d00f699 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/utils/UaIdentifier.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers.utils; + +public enum UaIdentifier implements BasicIdentifier { + + Boolean("Boolean", 1), + String("String", 12), + DateTime("DateTime", 13), + ByteString("ByteString", 15), + LocalizedText("LocalizedText", 21), + Organizes("Organizes", 35), + HasTypeDefinition("HasTypeDefinition", 40), + HasProperty("HasProperty", 46), + HasComponent("HasComponent", 47), + HasOrderedComponent("HasOrderedComponent", 49), + FolderType("FolderType", 61), + PropertyType("PropertyType", 68), + IdType("IdType", 256), + NumericRange("NumericRange", 291), + HasAddIn("HasAddIn", 17604), + HasDictionaryEntry("HasDictionaryEntry", 17597); + + private String name; + private Integer id; + + private UaIdentifier(String name, Integer id) { + this.name = name; + this.id = id; + } + + public String getName() { + return name; + } + + public Integer getId() { + return id; + } +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AnnotatedRelationshipElementParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AnnotatedRelationshipElementParser.java new file mode 100644 index 000000000..45f4f9138 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AnnotatedRelationshipElementParser.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.DataElement; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement; + +public class AnnotatedRelationshipElementParser extends ReferableParser { + + public AnnotatedRelationshipElementParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected AnnotatedRelationshipElement createTargetObject() { + return new DefaultAnnotatedRelationshipElement(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + source.getI4AASComponent("First").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setFirst(parse); + }); + }); + + source.getI4AASComponent("Second").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setSecond(parse); + }); + }); + + source.getI4AASComponent("Annotation").ifPresent(p -> { + p.getComponents().forEach(sme -> { + SubmodelElement parse = ParserUtils.parseSME(sme, ctx); + if (parse != null) { + target.getAnnotations().add((DataElement) parse); + } + }); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetAdministrationShellParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetAdministrationShellParser.java new file mode 100644 index 000000000..de6c6c67e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetAdministrationShellParser.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell; + +public class AssetAdministrationShellParser extends IdentifiableParser { + + public AssetAdministrationShellParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected AssetAdministrationShell createTargetObject() { + DefaultAssetAdministrationShell defaultAssetAdministrationShell = new DefaultAssetAdministrationShell(); + return defaultAssetAdministrationShell; + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getI4AASComponent(AAS_SUBMODELREFERENCES_LIST_BROWSENAME).ifPresent(uanode -> { + uanode.getComponentsOfType(I4AASIdentifier.AASReferenceType).forEach(uaref -> { + uaref.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(uaKeys -> { + Reference parse = new ReferenceParser(uaKeys, ctx).parse(); + target.getSubmodels().add(parse); + }); + }); + }); + + source.getI4AASComponent(AAS_ASSETINFORMATION_BROWSENAME).ifPresent(uanode -> { + AssetInformation parse = new AssetInformationParser(uanode, ctx).parse(); + target.setAssetInformation(parse); + }); + + source.getI4AASComponent(AAS_DERIVEDFROM_BROWSENAME).ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setDerivedFrom(parse); + }); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetInformationParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetInformationParser.java new file mode 100644 index 000000000..1364795a3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetInformationParser.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; + +public class AssetInformationParser extends I4AASParser { + + public AssetInformationParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected AssetInformation createTargetObject() { + return new DefaultAssetInformation(); + } + + @Override + protected void parseAndAttachChildren() { + source.getI4AASProperty("AssetKind").ifPresent(p -> { + AssetKind parse = (AssetKind) new I4AASGenericEnumParser(p, ctx, AssetKind.class).parse(); + target.setAssetKind(parse); + }); + + source.getI4AASComponent(ASSETINFO_BILL_OF_MATERIAL_BROWSENAME).ifPresent(p -> { + p.getComponentsOfType(I4AASIdentifier.AASReferenceType).forEach(ref -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.getBillOfMaterials().add(parse); + }); + }); + }); + + source.getI4AASComponent(ASSETINFO_DEFAULT_THUMBNAIL_BROWSENAME).ifPresent(p -> { + File parse = new FileParser(p, ctx).parse(); + target.setDefaultThumbnail(parse); + }); + + source.getI4AASComponent(ASSETINFO_GLOBAL_ASSET_ID_BROWSENAME).ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setGlobalAssetId(parse); + }); + }); + + source.getI4AASComponent(ASSETINFO_SPECIFIC_ASSET_ID_BROWSENAME).ifPresent(p -> { + p.getComponentsOfType(I4AASIdentifier.AASIdentifierKeyValuePairType).forEach(kv -> { + IdentifierKeyValuePair parse = new IdentifierKeyValuePairParser(kv, ctx).parse(); + target.getSpecificAssetIds().add(parse); + }); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetParser.java new file mode 100644 index 000000000..464e4dee3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/AssetParser.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.impl.DefaultAsset; + +public class AssetParser extends IdentifiableParser { + + public AssetParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Asset createTargetObject() { + return new DefaultAsset(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/BlobParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/BlobParser.java new file mode 100644 index 000000000..b80329f7a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/BlobParser.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.impl.DefaultBlob; + +public class BlobParser extends ReferableParser { + + public BlobParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Blob createTargetObject() { + return new DefaultBlob(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + source.getI4AASProperty(MIME_TYPE_BROWSENAME).ifPresent(p->{ + String valueAsString = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setMimeType(valueAsString); + }); + + source.getI4AASProperty("Value").ifPresent(p->{ + byte[] value = ParserUtils.extractValueAsByteString(p.getNodeVariable()); + target.setValue(value); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/CapabilityParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/CapabilityParser.java new file mode 100644 index 000000000..b19619c83 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/CapabilityParser.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Capability; +import io.adminshell.aas.v3.model.impl.DefaultCapability; + +public class CapabilityParser extends ReferableParser { + + public CapabilityParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Capability createTargetObject() { + return new DefaultCapability(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ConceptDescriptionParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ConceptDescriptionParser.java new file mode 100644 index 000000000..3dfb77463 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ConceptDescriptionParser.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultConceptDescription; + +public class ConceptDescriptionParser extends IdentifiableParser { + + public ConceptDescriptionParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected ConceptDescription createTargetObject() { + return new DefaultConceptDescription(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + source.getI4AASComponent("IsCaseOf").ifPresent(p->{ + p.getComponentsOfType(I4AASIdentifier.AASReferenceType).forEach(ref -> { + ref.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.getIsCaseOfs().add(parse); + }); + }); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationIEC61360Parser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationIEC61360Parser.java new file mode 100644 index 000000000..8af9a1e89 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationIEC61360Parser.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.List; + +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; + +public class DataSpecificationIEC61360Parser extends I4AASParser { + + public DataSpecificationIEC61360Parser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected DataSpecificationIEC61360 createTargetObject() { + return new DefaultDataSpecificationIEC61360(); + } + + @Override + protected void parseAndAttachChildren() { + source.getI4AASProperty("DataType").ifPresent(p -> { + DataTypeIEC61360 parse = (DataTypeIEC61360) new I4AASGenericEnumParser(p, ctx, DataTypeIEC61360.class) + .parse(); + target.setDataType(parse); + }); + + source.getI4AASProperty(IEC61360_DEFINITION_BROWSENAME).ifPresent(p -> { + List parse = ParserUtils.extractValueAsLangString(p.getNodeVariable()); + ; + target.setDefinitions(parse); + }); + + source.getI4AASProperty(IEC61360_PREFERRED_NAME_BROWSENAME).ifPresent(p -> { + List parse = ParserUtils.extractValueAsLangString(p.getNodeVariable()); + ; + target.setPreferredNames(parse); + }); + source.getI4AASProperty(IEC61360_SHORT_NAME_BROWSENAME).ifPresent(p -> { + List parse = ParserUtils.extractValueAsLangString(p.getNodeVariable()); + ; + target.setShortNames(parse); + }); + + source.getI4AASProperty(IEC61360_SOURCE_OF_DEFINITION_BROWSENAME).ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setSourceOfDefinition(parse); + }); + + source.getI4AASProperty(IEC61360_SYMBOL_BROWSENAME).ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setSymbol(parse); + }); + + source.getI4AASProperty(IEC61360_UNIT_BROWSENAME).ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setUnit(parse); + }); + + source.getI4AASComponent(IEC61360_UNIT_ID_BROWSENAME).ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setUnitId(parse); + }); + }); + + source.getI4AASProperty(IEC61360_VALUE_BROWSENAME).ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setValue(parse); + }); + + source.getI4AASProperty(IEC61360_VALUE_FORMAT_BROWSENAME).ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setValueFormat(parse); + }); + + source.getI4AASComponent(IEC61360_VALUE_ID_BROWSENAME).ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setValueId(parse); + }); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationsParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationsParser.java new file mode 100644 index 000000000..90125a33b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/DataSpecificationsParser.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; + +public class DataSpecificationsParser extends I4AASParser> { + + int size = 0; + + public DataSpecificationsParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected List createTargetObject() { + return new ArrayList<>(); + } + + + @Override + protected void parseAndAttachChildren() { + Map idx2Ref = new TreeMap<>(); + Map idx2Content = new TreeMap<>(); + + //TODO split("_") used for naming convention to fix I4AAS uniqueness issues + List references = source.getComponentsOfType(I4AASIdentifier.AASReferenceType); + for (UANodeWrapper reference : references) { + reference.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + int idx = Integer.parseInt(reference.getBrowseNameStringPart().split("_")[1]); + size = Math.max(size, idx); + Reference parse = new ReferenceParser(key, ctx).parse(); + idx2Ref.put(idx, parse); + }); + } + + List iecSpecifications = source.getComponentsOfType(I4AASIdentifier.AASDataSpecificationIEC61360Type); + for (UANodeWrapper content : iecSpecifications) { + int idx = Integer.parseInt(content.getBrowseNameStringPart().split("_")[1]); + size = Math.max(size, idx); + DataSpecificationIEC61360 parse = new DataSpecificationIEC61360Parser(content, ctx).parse(); + idx2Content.put(idx, parse); + } + + for (int idx = 0; idx <= size; idx++) { + DefaultEmbeddedDataSpecification targetElement = new DefaultEmbeddedDataSpecification(); + targetElement.setDataSpecification(idx2Ref.get(idx)); + targetElement.setDataSpecificationContent(idx2Content.get(idx)); + target.add(idx, targetElement); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EntityParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EntityParser.java new file mode 100644 index 000000000..93a94715a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EntityParser.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.impl.DefaultEntity; + +public class EntityParser extends ReferableParser { + + public EntityParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Entity createTargetObject() { + return new DefaultEntity(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + source.getI4AASProperty("EntityType").ifPresent(p -> { + EntityType parse = (EntityType) new I4AASGenericEnumParser(p, ctx, EntityType.class).parse(); + target.setEntityType(parse); + }); + + source.getI4AASComponent(ASSETINFO_GLOBAL_ASSET_ID_BROWSENAME).ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setGlobalAssetId(parse); + }); + }); + + source.getI4AASComponent(ASSETINFO_SPECIFIC_ASSET_ID_BROWSENAME).ifPresent(p -> { + IdentifierKeyValuePair parse = new IdentifierKeyValuePairParser(p, ctx).parse(); + target.setSpecificAssetId(parse); + }); + + source.getI4AASComponent("Statement").ifPresent(p -> { + p.getComponents().forEach(sme -> { + SubmodelElement parse = ParserUtils.parseSME(sme, ctx); + if (parse != null) { + target.getStatements().add(parse); + } + }); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParser.java new file mode 100644 index 000000000..811f30987 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParser.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; + +public class EnvironmentParser extends I4AASParser { + + public EnvironmentParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected AssetAdministrationShellEnvironment createTargetObject() { + target = new DefaultAssetAdministrationShellEnvironment(); + return target; + } + + @Override + protected void parseAndAttachChildren() { + for (UANodeWrapper uaNodeWrapper : source.getComponentsOfType(I4AASIdentifier.AASSubmodelType)) { + Submodel parse = new SubmodelParser(uaNodeWrapper, ctx).parse(); + target.getSubmodels().add(parse); + } + for (UANodeWrapper uaNodeWrapper : source.getComponentsOfType(I4AASIdentifier.AASAssetAdministrationShellType)) { + AssetAdministrationShell parse = new AssetAdministrationShellParser(uaNodeWrapper, ctx).parse(); + target.getAssetAdministrationShells().add(parse); + } + for (UANodeWrapper uaNodeWrapper : source.getComponentsOfType(I4AASIdentifier.AASAssetType)) { + Asset asset = new AssetParser(uaNodeWrapper, ctx).parse(); + target.getAssets().add(asset); + } + for (UANodeWrapper uaNodeWrapper : ctx.getDictionaryEntries()) { + ConceptDescription conceptDescription = new ConceptDescriptionParser(uaNodeWrapper, ctx).parse(); + target.getConceptDescriptions().add(conceptDescription); + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EventParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EventParser.java new file mode 100644 index 000000000..98bfd86fb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EventParser.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Event; +import io.adminshell.aas.v3.model.impl.DefaultBasicEvent; + +public class EventParser extends ReferableParser { + + public EventParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Event createTargetObject() { + return new DefaultBasicEvent(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/FileParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/FileParser.java new file mode 100644 index 000000000..aa8f5e91f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/FileParser.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.impl.DefaultFile; + +public class FileParser extends ReferableParser { + + public FileParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected File createTargetObject() { + return new DefaultFile(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getI4AASProperty(MIME_TYPE_BROWSENAME).ifPresent(p -> { + target.setMimeType(ParserUtils.extractValueAsString(p.getNodeVariable())); + }); + + source.getI4AASProperty("Value").ifPresent(p -> { + target.setValue(ParserUtils.extractValueAsString(p.getNodeVariable())); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASGenericEnumParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASGenericEnumParser.java new file mode 100644 index 000000000..18e9fd268 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASGenericEnumParser.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +public class I4AASGenericEnumParser extends I4AASParser> { + + private Class> targetEnum; + + public I4AASGenericEnumParser(UANodeWrapper src, ParserContext ctx, Class> targetEnumClass) { + super(src, ctx); + this.targetEnum = targetEnumClass; + } + + @Override + protected Enum createTargetObject() { + UAVariable nodeVariable = source.getNodeVariable(); + + Class loadEnum; + try { + loadEnum = (Class) getClass().getClassLoader() + .loadClass("org.opcfoundation.ua.i4aas.v3.types." + nodeVariable.getDataType()); + } catch (ClassNotFoundException e) { + throw new IllegalArgumentException(nodeVariable.getDataType() + " is not supported.", e); + } + + Integer enumIdx = ParserUtils.extractValueAsInteger(nodeVariable); + if (enumIdx == null) { + return null; + } + + Enum enumByIdx = loadEnum.getEnumConstants()[enumIdx]; + return findMatch(enumByIdx.name(), targetEnum); + + } + + public static final Enum findMatch(String name, Class> targetEnumClass) { + int lastUnderscore = name.lastIndexOf("_"); + String sourceEnumCandidateName = name.substring(0, lastUnderscore).toLowerCase(); + for (Enum enum1 : targetEnumClass.getEnumConstants()) { + if (enum1.name().toLowerCase().equals(sourceEnumCandidateName)) { + return enum1; + } + } + throw new IllegalArgumentException( + String.format("No match found in %s for %s", targetEnumClass.getSimpleName(), name)); + } + + @Override + protected void parseAndAttachChildren() { + // nothing to do + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASParser.java new file mode 100644 index 000000000..d7fa49c73 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/I4AASParser.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASConstants; + +public abstract class I4AASParser implements I4AASConstants { + + protected ParserContext ctx; + protected UANodeWrapper source; + protected TARGET target; + + public I4AASParser(UANodeWrapper src, ParserContext ctx) { + this.source = src; + this.ctx = ctx; + } + + protected abstract TARGET createTargetObject(); + + public final TARGET parse() { + target = createTargetObject(); + parseAndAttachChildren(); + return target; + } + + protected abstract void parseAndAttachChildren(); + + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifiableParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifiableParser.java new file mode 100644 index 000000000..6b0b44423 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifiableParser.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.List; +import java.util.Optional; + +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Identifiable; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation; +import io.adminshell.aas.v3.model.impl.DefaultIdentifier; + +public abstract class IdentifiableParser extends ReferableParser { + + public IdentifiableParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + Optional uaIdentification = source.getI4AASComponent(IDENTIFICATION_BROWSENAME); + uaIdentification.ifPresent(uaNode -> { + target.setIdentification(new DefaultIdentifier()); + uaNode.getI4AASProperty(IDENTIFICATION_ID_BROWSENAME).ifPresent(id -> { + target.getIdentification().setIdentifier(ParserUtils.extractValueAsString(id.getNodeVariable())); + }); + uaNode.getI4AASProperty(IDENTIFICATION_IDTYPE_BROWSENAME).ifPresent(idType -> { + IdentifierType parsedIdType; + parsedIdType = (IdentifierType) new I4AASGenericEnumParser(idType, ctx, IdentifierType.class).parse(); + target.getIdentification().setIdType(parsedIdType); + }); + }); + + Optional uaAdministration = source.getI4AASComponent(ADMINISTRATION_BROWSENAME); + uaAdministration.ifPresent(uaNode -> { + target.setAdministration(new DefaultAdministrativeInformation()); + uaNode.getI4AASProperty(ADMINISTRATION_VERSION_BROWSENAME).ifPresent(uaVar -> { + target.getAdministration().setVersion(ParserUtils.extractValueAsString(uaVar.getNodeVariable())); + }); + uaNode.getI4AASProperty(ADMINISTRATION_REVISION_BROWSENAME).ifPresent(uaVar -> { + target.getAdministration().setRevision(ParserUtils.extractValueAsString(uaVar.getNodeVariable())); + }); + + + uaNode.getI4AASComponent(DATASPECIFICATION_BROWSENAME).ifPresent(uaDataSpec -> { + List listOfEmbeddedDataSpecification = new DataSpecificationsParser(uaDataSpec, ctx).parse(); + target.getAdministration().setEmbeddedDataSpecifications(listOfEmbeddedDataSpecification); + }); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifierKeyValuePairParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifierKeyValuePairParser.java new file mode 100644 index 000000000..a54ba1cdf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/IdentifierKeyValuePairParser.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair; + +public class IdentifierKeyValuePairParser extends I4AASParser { + + public IdentifierKeyValuePairParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected IdentifierKeyValuePair createTargetObject() { + return new DefaultIdentifierKeyValuePair(); + } + + @Override + protected void parseAndAttachChildren() { + source.getI4AASComponent(IKVP_EXTERNAL_SUBJECT_ID_BROWSENAME).ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setExternalSubjectId(parse); + }); + }); + + source.getI4AASProperty(IKVP_KEY_BROWSENAME).ifPresent(p -> { + target.setKey(ParserUtils.extractValueAsString(p.getNodeVariable())); + }); + + source.getI4AASProperty(IKVP_VALUE_BROWSENAME).ifPresent(p -> { + target.setValue(ParserUtils.extractValueAsString(p.getNodeVariable())); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/KeyParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/KeyParser.java new file mode 100644 index 000000000..434917047 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/KeyParser.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import org.opcfoundation.ua.i4aas.v3.types.AASKeyDataType; + +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.impl.DefaultKey; + +public class KeyParser { + + private AASKeyDataType source; + + public KeyParser(AASKeyDataType key, ParserContext ctx) { + this.source = key; + } + + public Key parse() { + DefaultKey defaultKey = new DefaultKey(); + + defaultKey.setValue(source.getValue()); + + if (source.getIdType() != null) { + KeyType keyType = (KeyType) I4AASGenericEnumParser.findMatch(source.getIdType().name(), KeyType.class); + defaultKey.setIdType(keyType); + } + if (source.getType() != null) { + KeyElements keyElements = (KeyElements) I4AASGenericEnumParser.findMatch(source.getType().name(), KeyElements.class); + defaultKey.setType(keyElements); + } + + return defaultKey; + } + + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/MultiLanguagePropertyParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/MultiLanguagePropertyParser.java new file mode 100644 index 000000000..df6e880de --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/MultiLanguagePropertyParser.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.List; + +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty; + +public class MultiLanguagePropertyParser extends ReferableParser { + + public MultiLanguagePropertyParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected MultiLanguageProperty createTargetObject() { + return new DefaultMultiLanguageProperty(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getI4AASComponent("ValueId").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setValueId(parse); + }); + }); + + source.getI4AASProperty("Value").ifPresent(p -> { + List extractValueAsLangString = ParserUtils.extractValueAsLangString(p.getNodeVariable()); + target.setValues(extractValueAsLangString); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/NodeIdResolver.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/NodeIdResolver.java new file mode 100644 index 000000000..4dfb09a98 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/NodeIdResolver.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +import org.opcfoundation.ua._2011._03.uanodeset.UANode; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; + +public class NodeIdResolver { + + private Map nodeId2NodeMap; + + public NodeIdResolver(UANodeSet nodeset) { + nodeId2NodeMap = nodeset.getUAObjectOrUAVariableOrUAMethod().stream() + .collect(Collectors.toMap(node -> node.getNodeId(), Function.identity())); + } + + public UANode getUANode(String nodeId) { + return nodeId2NodeMap.get(nodeId); + } +} \ No newline at end of file diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/OperationParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/OperationParser.java new file mode 100644 index 000000000..9ad1bc82e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/OperationParser.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.impl.DefaultOperation; + +public class OperationParser extends ReferableParser { + + public OperationParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Operation createTargetObject() { + return new DefaultOperation(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContext.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContext.java new file mode 100644 index 000000000..a2ce4d492 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContext.java @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Stream; + +import org.opcfoundation.ua._2011._03.uanodeset.ListOfReferences; +import org.opcfoundation.ua._2011._03.uanodeset.Reference; +import org.opcfoundation.ua._2011._03.uanodeset.UANode; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASConstants; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class ParserContext { + + protected UANodeSet uaNodeset; + protected Map namespaceIdxMap = new HashMap<>(); + private int i4aasNsIdx; + + protected NodeIdResolver nodeId2NodeMap; + + private UANodeWrapper uaEnvironment; + private List conceptDictionaries; + + public ParserContext(UANodeSet uaNodeset) { + this.uaNodeset = uaNodeset; + + nodeId2NodeMap = new NodeIdResolver(uaNodeset); + + parseNamespaces(); + + Optional environmentNode = findNodeOfAASEnvironmentType(); + if (environmentNode.isPresent()) { + uaEnvironment = new UANodeWrapper(environmentNode.get(), nodeId2NodeMap, this); + } else { + // log no environment found + } + + conceptDictionaries = findNodesOfAASConceptDictionaryType(); + } + + private void parseNamespaces() { + for (int i = 0; i < uaNodeset.getNamespaceUris().getUri().size(); i++) { + String namespace = uaNodeset.getNamespaceUris().getUri().get(i); + int nsIdx = i + 1; + namespaceIdxMap.put(namespace, nsIdx); + if (namespace.equals(I4AASConstants.I4AAS_MODEL_URI)) { + i4aasNsIdx = nsIdx; + } + } + } + + protected Optional findNodeOfAASEnvironmentType() { + for (UANode uaNode : uaNodeset.getUAObjectOrUAVariableOrUAMethod()) { + ListOfReferences references = uaNode.getReferences(); + if (references != null) { + Optional aasEnvironmentNodeId = getTypeDefinitons(references) + .filter(ofType(I4AASIdentifier.AASEnvironmentType)).findAny(); + if (aasEnvironmentNodeId.isPresent()) { + return Optional.of(uaNode); + } + } + } + return Optional.empty(); + } + + protected List findNodesOfAASConceptDictionaryType() { + ArrayList result = new ArrayList<>(); + for (UANode uaNode : uaNodeset.getUAObjectOrUAVariableOrUAMethod()) { + ListOfReferences references = uaNode.getReferences(); + if (references != null) { + if (getTypeDefinitons(references).filter(ofTypeAASConcetpDescription()).findAny().isPresent()) { + result.add(new UANodeWrapper(uaNode, nodeId2NodeMap, this)); + } + } + } + return result; + } + + protected Stream getTypeDefinitons(ListOfReferences references) { + return getNodeIdsOfType(references, hasTypeDefinition()); + } + + protected Stream getComponents(ListOfReferences references) { + return getNodeIdsOfType(references, hasComponent()); + } + + protected Stream getProperties(ListOfReferences references) { + return getNodeIdsOfType(references, hasProperty()); + } + + protected Stream getDictionaryEntries(ListOfReferences references) { + return getNodeIdsOfType(references, hasDictionaryEntry()); + } + + protected Stream getNodeIdsOfType(ListOfReferences references, Predicate referenceType) { + return references != null ? references.getReference().stream().filter(referenceType).map(toValue()) + : Stream.empty(); + } + + private Predicate ofType(I4AASIdentifier identifier) { + return str -> str.equals(nodeIdOf(identifier)); + } + + protected String nodeIdOf(I4AASIdentifier identifier) { + return String.format("ns=%s;i=%s", getI4aasNsIdx(), identifier.getId()); + } + + protected String nodeIdOf(UaIdentifier identifier) { + return String.format("i=%s", identifier.getId()); + } + + protected Function toValue() { + return ref -> ref.getValue(); + } + + protected Predicate hasTypeDefinition() { + return typeOf(UaIdentifier.HasTypeDefinition); + } + + protected Predicate hasComponent() { + return typeOf(UaIdentifier.HasComponent).or(typeOf(UaIdentifier.HasOrderedComponent)); + } + + protected Predicate hasProperty() { + return typeOf(UaIdentifier.HasProperty); + } + + protected Predicate hasDictionaryEntry() { + return typeOf(UaIdentifier.HasDictionaryEntry); + } + + protected Predicate ofTypeAASConcetpDescription() { + return str -> str.equals(nodeIdOf(I4AASIdentifier.AASCustomConceptDescriptionType)) + || str.equals(nodeIdOf(I4AASIdentifier.AASIriConceptDescriptionType)) + || str.equals(nodeIdOf(I4AASIdentifier.AASCustomConceptDescriptionType)); + } + + + protected Predicate typeOf(UaIdentifier id) { + return ref -> ref.getReferenceType().equals(id.getName()) && ref.isIsForward(); + } + + public UANodeWrapper getEnvironment() { + return uaEnvironment; + } + + public int getI4aasNsIdx() { + return i4aasNsIdx; + } + + public List getDictionaryEntries() { + return conceptDictionaries; + } + +} \ No newline at end of file diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserUtils.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserUtils.java new file mode 100644 index 000000000..33c8dd3c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserUtils.java @@ -0,0 +1,216 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.ArrayList; +import java.util.Base64; +import java.util.List; + +import javax.xml.bind.JAXBElement; + +import org.opcfoundation.ua._2008._02.types.ListOfLocalizedText; +import org.opcfoundation.ua._2008._02.types.LocalizedText; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Value; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.Capability; +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.Event; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Range; +import io.adminshell.aas.v3.model.ReferenceElement; +import io.adminshell.aas.v3.model.RelationshipElement; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; + +public class ParserUtils { + + public static String extractValueAsString(UAVariable nodeVariable) { + Value uaValue = nodeVariable.getValue(); + if (uaValue != null) { + Object any = uaValue.getAny(); + if (any instanceof JAXBElement) { + JAXBElement anyJaxbElement = (JAXBElement) any; + if (anyJaxbElement.getValue() instanceof String) { + return (String) anyJaxbElement.getValue(); + } else if (anyJaxbElement.getValue() != null) { + new UnsupportedOperationException( + "Unsupported Type " + anyJaxbElement.getValue().getClass().getName()); + } + } else if (any != null) { + new UnsupportedOperationException("Unsupported Type " + any.getClass().getName()); + } + } + return null; + } + + public static Integer extractValueAsInteger(UAVariable nodeVariable) { + Value uaValue = nodeVariable.getValue(); + if (uaValue != null) { + Object any = uaValue.getAny(); + if (any instanceof JAXBElement) { + JAXBElement anyJaxbElement = (JAXBElement) any; + if (anyJaxbElement.getValue() instanceof Integer) { + return (Integer) anyJaxbElement.getValue(); + } else if (anyJaxbElement.getValue() != null) { + new UnsupportedOperationException( + "Unsupported Type " + anyJaxbElement.getValue().getClass().getName()); + } + } else if (any != null) { + new UnsupportedOperationException("Unsupported Type " + any.getClass().getName()); + } + } + return null; + } + + public static List extractValueAsLangString(UAVariable nodeVariable) { + List result = new ArrayList<>(); + Value uaValue = nodeVariable.getValue(); + if (uaValue != null) { + Object any = uaValue.getAny(); + if (any instanceof JAXBElement) { + JAXBElement anyJaxbElement = (JAXBElement) any; + if (anyJaxbElement.getValue() instanceof ListOfLocalizedText) { + List localizedTexts = ((ListOfLocalizedText) anyJaxbElement.getValue()) + .getLocalizedText(); + for (LocalizedText localizedText : localizedTexts) { + LangString langString = new LangString(localizedText.getText().getValue(), + localizedText.getLocale().getValue()); + result.add(langString); + } + } else if (anyJaxbElement.getValue() != null) { + new UnsupportedOperationException( + "Unsupported Type " + anyJaxbElement.getValue().getClass().getName()); + } + } else if (any != null) { + new UnsupportedOperationException("Unsupported Type " + any.getClass().getName()); + } + } + return result; + } + + public static byte[] extractValueAsByteString(UAVariable nodeVariable) { + String byteString = extractValueAsString(nodeVariable); + if (byteString == null) { + return null; + } + byte[] bytes = Base64.getDecoder().decode(byteString); + return bytes; + } + + + public static Boolean extractValueAsBoolean(UAVariable nodeVariable) { + Value uaValue = nodeVariable.getValue(); + if (uaValue != null) { + Object any = uaValue.getAny(); + if (any instanceof JAXBElement) { + JAXBElement anyJaxbElement = (JAXBElement) any; + if (anyJaxbElement.getValue() instanceof Boolean) { + return (Boolean) anyJaxbElement.getValue(); + } else if (anyJaxbElement.getValue() != null) { + new UnsupportedOperationException( + "Unsupported Type " + anyJaxbElement.getValue().getClass().getName()); + } + } else if (any != null) { + new UnsupportedOperationException("Unsupported Type " + any.getClass().getName()); + } + } + return null; + } + + public static SubmodelElement parseSME(UANodeWrapper source, ParserContext ctx) { + + if (source.getType().equals(I4AASIdentifier.AASBlobType)) { + Blob parse = new BlobParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASCapabilityType)) { + Capability parse = new CapabilityParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASEntityType)) { + Entity parse = new EntityParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASEventType)) { + Event parse = new EventParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASFileType)) { + File parse = new FileParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASMultiLanguagePropertyType)) { + MultiLanguageProperty parse = new MultiLanguagePropertyParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASOperationType)) { + Operation parse = new OperationParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASPropertyType)) { + Property parse = new PropertyParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASRangeType)) { + Range parse = new RangeParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASReferenceElementType)) { + ReferenceElement parse = new ReferenceElementParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASRelationshipElementType)) { + RelationshipElement parse = new RelationshipElementParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASAnnotatedRelationshipElementType)) { + AnnotatedRelationshipElement parse = new AnnotatedRelationshipElementParser(source, ctx).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASSubmodelElementCollectionType)) { + SubmodelElementCollection parse = new SubmodelElementCollectionParser(source, ctx, false).parse(); + return parse; + } + + if (source.getType().equals(I4AASIdentifier.AASOrderedSubmodelElementCollectionType)) { + SubmodelElementCollection parse = new SubmodelElementCollectionParser(source, ctx, true).parse(); + return parse; + } + + return null; + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/PropertyParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/PropertyParser.java new file mode 100644 index 000000000..a203290b6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/PropertyParser.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultProperty; + +public class PropertyParser extends ReferableParser { + + public PropertyParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Property createTargetObject() { + return new DefaultProperty(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getI4AASProperty("Value").ifPresent(p -> { + target.setValue(ParserUtils.extractValueAsString(p.getNodeVariable())); + }); + + source.getI4AASComponent("ValueId").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setValueId(parse); + }); + }); + + source.getI4AASProperty("ValueType").ifPresent(p -> { + String parse = new ValueTypeParser(p, ctx).parse(); + target.setValueType(parse); + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/QualifierParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/QualifierParser.java new file mode 100644 index 000000000..c961f740e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/QualifierParser.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; + +public class QualifierParser extends I4AASParser { + + public QualifierParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Qualifier createTargetObject() { + return new DefaultQualifier(); + } + + @Override + protected void parseAndAttachChildren() { + source.getI4AASProperty("Type").ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setType(parse); + }); + + source.getI4AASProperty("Value").ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setValue(parse); + }); + + source.getI4AASProperty("ValueId").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = null; + target.setValueId(parse); + }); + }); + + source.getI4AASProperty("ValueType").ifPresent(p -> { + String parse = new ValueTypeParser(p, ctx).parse(); + target.setValueType(parse); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RangeParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RangeParser.java new file mode 100644 index 000000000..0da29a1cd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RangeParser.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Range; +import io.adminshell.aas.v3.model.impl.DefaultRange; + +public class RangeParser extends ReferableParser { + + public RangeParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Range createTargetObject() { + return new DefaultRange(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getI4AASProperty("Max").ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setMax(parse); + }); + + source.getI4AASProperty("Min").ifPresent(p -> { + String parse = ParserUtils.extractValueAsString(p.getNodeVariable()); + target.setMin(parse); + }); + + source.getI4AASProperty("ValueType").ifPresent(p -> { + String parse = new ValueTypeParser(p, ctx).parse(); + target.setValueType(parse); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferableParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferableParser.java new file mode 100644 index 000000000..0b2e016c9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferableParser.java @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.List; +import java.util.Optional; + +import org.opcfoundation.ua._2011._03.uanodeset.LocalizedText; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.HasDataSpecification; +import io.adminshell.aas.v3.model.HasKind; +import io.adminshell.aas.v3.model.HasSemantics; +import io.adminshell.aas.v3.model.Identifier; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Qualifiable; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +public abstract class ReferableParser extends I4AASParser { + + public ReferableParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected void parseAndAttachChildren() { + target.setIdShort(source.getBrowseNameStringPart()); + + for (LocalizedText localizedText : source.getDescription()) { + LangString langString = new LangString(localizedText.getValue(), localizedText.getLocale()); + target.getDescriptions().add(langString); + } + + for (LocalizedText localizedText : source.getDisplayName()) { + String displayName = I4AASUtils.parseDisplayName(target, localizedText.getValue()); + LangString langString = new LangString(displayName, localizedText.getLocale()); + target.getDisplayNames().add(langString); + } + + Optional i4aasCategoryProperty = source.getI4AASProperty(CATEGORY_BROWSENAME); + if (i4aasCategoryProperty.isPresent()) { + UAVariable nodeVariable = i4aasCategoryProperty.get().getNodeVariable(); + target.setCategory(ParserUtils.extractValueAsString(nodeVariable)); + } + + if (target instanceof HasDataSpecification) { + parseHasDataSpecification((HasDataSpecification) target); + } + + if (target instanceof Qualifiable) { + parseQualifiable((Qualifiable) target); + } + + if (target instanceof HasKind) { + parseHasKind((HasKind) target); + } + + if (target instanceof HasSemantics) { + parseSemantics((HasSemantics) target); + } + } + + private void parseSemantics(HasSemantics target) { + //TODO I4AAS currently lacks with handling of KeyElements within ConceptDescriptions + source.getAASDictionaryEntry().ifPresent(p -> { + ConceptDescription cd = new ConceptDescriptionParser(p, ctx).parse(); + Identifier identification = cd.getIdentification(); + target.setSemanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder().idType(KeyType.valueOf(identification.getIdType().name())) + .value(identification.getIdentifier()).build()) + .build()); + }); + + } + + private void parseHasKind(HasKind target) { + source.getI4AASProperty("ModelingKind").ifPresent(p -> { + ModelingKind parse = (ModelingKind) new I4AASGenericEnumParser(p, ctx, ModelingKind.class).parse(); + target.setKind(parse); + }); + } + + private void parseQualifiable(Qualifiable target) { + source.getI4AASComponent(QUALIFIABLE_BROWSENAME).ifPresent(p -> { + p.getComponentsOfType(I4AASIdentifier.AASQualifierType).forEach(q -> { + Constraint parse = new QualifierParser(q, ctx).parse(); + target.getQualifiers().add(parse); + }); + }); + } + + private void parseHasDataSpecification(HasDataSpecification target) { + source.getI4AASComponent(DATASPECIFICATION_BROWSENAME).ifPresent(uaDataSpec -> { + List listOfEmbeddedDataSpecification = new DataSpecificationsParser(uaDataSpec, + ctx).parse(); + target.setEmbeddedDataSpecifications(listOfEmbeddedDataSpecification); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceElementParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceElementParser.java new file mode 100644 index 000000000..cc7b9065c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceElementParser.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.ReferenceElement; +import io.adminshell.aas.v3.model.impl.DefaultReferenceElement; + +public class ReferenceElementParser extends ReferableParser { + + public ReferenceElementParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected ReferenceElement createTargetObject() { + return new DefaultReferenceElement(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + source.getI4AASComponent("Value").ifPresent(p->{ + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key ->{ + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setValue(parse); + }); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceParser.java new file mode 100644 index 000000000..17def511d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ReferenceParser.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.List; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.JAXBException; + +import org.opcfoundation.ua._2008._02.types.ExtensionObject; +import org.opcfoundation.ua._2008._02.types.ListOfExtensionObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Value; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyDataType; +import org.w3c.dom.Node; + +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +public class ReferenceParser extends I4AASParser { + + static JAXBContext aasKeyJaxbCtx; + static { + try { + aasKeyJaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory + .createContext(new Class[] { AASKeyDataType.class }, null); + } catch (JAXBException e) { + new IllegalStateException("Unable to create JAXBContext to unmarshal reference keys.", e); + } + } + + public ReferenceParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Reference createTargetObject() { + return new DefaultReference(); + } + + @Override + protected void parseAndAttachChildren() { + Value value = source.getNodeVariable().getValue(); + if (value != null && value.getAny() instanceof JAXBElement) { + JAXBElement jaxb_leo = (JAXBElement) value.getAny(); + List keysExtObjList = jaxb_leo.getValue().getExtensionObject(); + for (ExtensionObject keyExtObj : keysExtObjList) { + Object nodeWithKey = keyExtObj.getBody().getValue().getAny(); + try { + JAXBElement jaxb_aasKeyDataType = aasKeyJaxbCtx.createUnmarshaller() + .unmarshal((Node) nodeWithKey, AASKeyDataType.class); + AASKeyDataType aasKeyDataType = jaxb_aasKeyDataType.getValue(); + Key parse = new KeyParser(aasKeyDataType, ctx).parse(); + target.getKeys().add(parse); + } catch (Exception e) { + new UnsupportedOperationException("Unable to read AASKeyDataType from content.", e); + } + } + } + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RelationshipElementParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RelationshipElementParser.java new file mode 100644 index 000000000..98283ee0c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/RelationshipElementParser.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.RelationshipElement; +import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement; + +public class RelationshipElementParser extends ReferableParser { + + public RelationshipElementParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected RelationshipElement createTargetObject() { + return new DefaultRelationshipElement(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getI4AASComponent("First").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setFirst(parse); + }); + }); + + source.getI4AASComponent("Second").ifPresent(p -> { + p.getI4AASProperty(REFERENCE_KEYS_BROWSENAME).ifPresent(key -> { + Reference parse = new ReferenceParser(key, ctx).parse(); + target.setSecond(parse); + }); + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelElementCollectionParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelElementCollectionParser.java new file mode 100644 index 000000000..ee41dd2f3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelElementCollectionParser.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.SubmodelElementCollection; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; + +public class SubmodelElementCollectionParser extends ReferableParser { + + private boolean ordered; + + public SubmodelElementCollectionParser(UANodeWrapper src, ParserContext ctx, boolean ordered) { + super(src, ctx); + this.ordered = ordered; + } + + @Override + protected SubmodelElementCollection createTargetObject() { + return new DefaultSubmodelElementCollection(); + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + target.setOrdered(ordered); + + source.getI4AASProperty("AllowDuplicates").ifPresent(p -> { + Boolean parse = ParserUtils.extractValueAsBoolean(p.getNodeVariable()); + target.setAllowDuplicates(parse); + }); + + source.getComponents().forEach(p -> { + SubmodelElement parse = ParserUtils.parseSME(p, ctx); + if (parse != null) { + target.getValues().add(parse); + } + }); + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelParser.java new file mode 100644 index 000000000..61d0955d2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/SubmodelParser.java @@ -0,0 +1,48 @@ +/* +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; + +public class SubmodelParser extends IdentifiableParser { + + public SubmodelParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected Submodel createTargetObject() { + DefaultSubmodel defaultSubmodel = new DefaultSubmodel(); + return defaultSubmodel; + } + + @Override + protected void parseAndAttachChildren() { + super.parseAndAttachChildren(); + + source.getComponents().forEach(sme -> { + SubmodelElement parse = ParserUtils.parseSME(sme, ctx); + if (parse != null) { + target.getSubmodelElements().add(parse); + } + }); + + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolver.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolver.java new file mode 100644 index 000000000..2207c1bb8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolver.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.Arrays; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.BasicIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class TypeResolver { + + private final int i4aasNsIdx; + + private final static Pattern ns0NodeIdPattern = Pattern.compile("^i=(\\d+)$"); + private final static Pattern nsXNodeIdPattern = Pattern.compile("^ns=(\\d+);i=(\\d+)$"); + + public TypeResolver(int i4aasNsIdx) { + this.i4aasNsIdx = i4aasNsIdx; + } + + public Optional getType(String typeId) { + Matcher ns0matcher = ns0NodeIdPattern.matcher(typeId); + if (ns0matcher.matches()) { + int parsedId = Integer.parseInt(ns0matcher.group(1)); + return Arrays.stream(UaIdentifier.values()).filter(identifier -> parsedId == identifier.getId()) + .findFirst(); + } + + Matcher nsXmatcher = nsXNodeIdPattern.matcher(typeId); + if (nsXmatcher.matches()) { + int parsedNs = Integer.parseInt(nsXmatcher.group(1)); + int parsedId = Integer.parseInt(nsXmatcher.group(2)); + if (parsedNs == i4aasNsIdx) { + return Arrays.stream(I4AASIdentifier.values()).filter(identifier -> parsedId == identifier.getId()) + .findFirst(); + } + } + + return Optional.empty(); + } + +} \ No newline at end of file diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/UANodeWrapper.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/UANodeWrapper.java new file mode 100644 index 000000000..7751f9e5e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/UANodeWrapper.java @@ -0,0 +1,223 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import org.opcfoundation.ua._2011._03.uanodeset.ListOfExtensions; +import org.opcfoundation.ua._2011._03.uanodeset.ListOfReferences; +import org.opcfoundation.ua._2011._03.uanodeset.LocalizedText; +import org.opcfoundation.ua._2011._03.uanodeset.UANode; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.BasicIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; + +/** + * This class provides some basic functionalities and preparsed attributes for a + * more convenient usage + * + */ +public class UANodeWrapper { + + private final static Pattern browseNamePattern = Pattern.compile("^(\\d+):(.*)$"); + + private UANode node; + private TypeResolver typeResolver; + private ParserContext ctx; + + private List components; + private List properties; + private List dictionaryEntries; + // UaIdentifier.HasDictionaryEntry + + private BasicIdentifier type; + + private int browseNameNamespace; + private String browseNameString; + + public UANodeWrapper(UANode node, NodeIdResolver nodeIdResolver, ParserContext parserContext) { + this.node = node; + this.ctx = parserContext; + typeResolver = new TypeResolver(parserContext.getI4aasNsIdx()); + // parse components + components = ctx.getComponents(getReferences()).map(nodeIdResolver::getUANode).filter(Objects::nonNull) + .map(uaNode -> new UANodeWrapper(uaNode, nodeIdResolver, ctx)).collect(Collectors.toList()); + // parse properties + properties = ctx.getProperties(getReferences()).map(nodeIdResolver::getUANode).filter(Objects::nonNull) + .map(uaNode -> new UANodeWrapper(uaNode, nodeIdResolver, ctx)).collect(Collectors.toList()); + // parse dictionaryEntries + dictionaryEntries = ctx.getDictionaryEntries(getReferences()).map(nodeIdResolver::getUANode) + .filter(Objects::nonNull).map(uaNode -> new UANodeWrapper(uaNode, nodeIdResolver, ctx)) + .collect(Collectors.toList()); + + // parse type definition + ctx.getTypeDefinitons(getReferences()).map(typeResolver::getType).findFirst().ifPresent(id -> type = id.get()); + parseBrowseName(node.getBrowseName()); + } + + private void parseBrowseName(String browseName) { + Matcher browseNameMatcher = browseNamePattern.matcher(browseName); + if (browseNameMatcher.matches()) { + browseNameNamespace = Integer.parseInt(browseNameMatcher.group(1)); + browseNameString = browseNameMatcher.group(2); + } + } + + public List getDisplayName() { + return node.getDisplayName(); + } + + public List getDescription() { + return node.getDescription(); + } + + public ListOfReferences getReferences() { + return node.getReferences(); + } + + public ListOfExtensions getExtensions() { + return node.getExtensions(); + } + + public String getNodeId() { + return node.getNodeId(); + } + + public String getBrowseName() { + return node.getBrowseName(); + } + + /** + * @return all Nodes which are referenced by HasComponent + */ + public List getComponents() { + return components; + } + + /** + * @return all Nodes which are referenced by HasProperty + */ + public List getProperties() { + return properties; + } + + /** + * @return all Nodes which are referenced by HasDictionaryEntries for + * hasSemantics + */ + public List getDictionaryEntries() { + return dictionaryEntries; + } + + public Optional getAASDictionaryEntry() { + return dictionaryEntries.stream().filter(node -> { + return node.getType().equals(I4AASIdentifier.AASCustomConceptDescriptionType) + || node.getType().equals(I4AASIdentifier.AASIrdiConceptDescriptionType) + || node.getType().equals(I4AASIdentifier.AASIriConceptDescriptionType); + }).findFirst(); + } + + public List getPropertiesAndComponents() { + List propertiesAndComponents = new ArrayList<>(); + propertiesAndComponents.addAll(properties); + propertiesAndComponents.addAll(components); + return propertiesAndComponents; + } + + /** + * @return Identifier of the Reference with Type HasTypeDefinition + */ + public BasicIdentifier getType() { + return type; + } + + /** + * see https://reference.opcfoundation.org/v104/Core/docs/Part3/5.2.4/ + * + * @return string part of the browse name + */ + public String getBrowseNameStringPart() { + return browseNameString; + } + + /** + * see https://reference.opcfoundation.org/v104/Core/docs/Part3/5.2.4/ + * + * @return namespace part of the browse name + */ + public int getBrowseNameNamespacePart() { + return browseNameNamespace; + } + + /** + * @param filterName string part of the I4AAS predefined browse name + * @return UANodeWrapper which is a component of the this UANodeWrapper and + * matches the given name + */ + public Optional getI4AASComponent(String filterName) { + return getComponents().stream().filter(c -> c.getBrowseNameNamespacePart() == ctx.getI4aasNsIdx() + && filterName.equals(c.getBrowseNameStringPart())).findFirst(); + } + + /** + * @param filterName string part of the I4AAS predefined browse name + * @return UANodeWrapper which is a property of the this UANodeWrapper and + * matches the given name + */ + public Optional getI4AASProperty(String filterName) { + return getProperties().stream().filter(c -> c.getBrowseNameNamespacePart() == ctx.getI4aasNsIdx() + && filterName.equals(c.getBrowseNameStringPart())).findFirst(); + } + + /** + * @param filterType filter type + * @return all UANodeWrapper which are components of the this UANodeWrapper and + * matches the given type + */ + public List getComponentsOfType(BasicIdentifier filterType) { + return getComponents().stream().filter(c -> c.getType() == filterType).collect(Collectors.toList()); + } + + /** + * @param filterType filter type + * @return all UANodeWrapper which are properties of the this UANodeWrapper and + * matches the given type + */ + public List getPropertiesOfType(BasicIdentifier filterType) { + return getProperties().stream().filter(c -> c.getType() == filterType).collect(Collectors.toList()); + } + + public UANode getNode() { + return node; + } + + public UAVariable getNodeVariable() { + return (UAVariable) node; + } + + public UAObject getNodeObject() { + return (UAObject) node; + } + +} diff --git a/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ValueTypeParser.java b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ValueTypeParser.java new file mode 100644 index 000000000..394b2ed07 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ValueTypeParser.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.Map; +import java.util.TreeMap; + +import org.opcfoundation.ua.i4aas.v3.types.AASValueTypeDataType; + +public class ValueTypeParser extends I4AASParser { + + private static Map staticMap = new TreeMap<>(); + static { + staticMap.put(AASValueTypeDataType.INT_32_5,"integer"); + staticMap.put(AASValueTypeDataType.LOCALIZED_TEXT_14,"langstring"); + staticMap.put(AASValueTypeDataType.STRING_11,"string"); + staticMap.put(AASValueTypeDataType.BOOLEAN_0,"boolean"); + staticMap.put(AASValueTypeDataType.FLOAT_9,"float"); + staticMap.put(AASValueTypeDataType.DOUBLE_10,"double"); + staticMap.put(AASValueTypeDataType.INT_64_7,"long"); + //to be extended + } + + public ValueTypeParser(UANodeWrapper src, ParserContext ctx) { + super(src, ctx); + } + + @Override + protected String createTargetObject() { + Integer enumIdx = ParserUtils.extractValueAsInteger(source.getNodeVariable()); + AASValueTypeDataType aasValueTypeDataType = AASValueTypeDataType.values()[enumIdx]; + return staticMap.get(aasValueTypeDataType); + } + + @Override + protected void parseAndAttachChildren() { + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionRequest.java new file mode 100644 index 000000000..7104ab7d8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionRequest.java @@ -0,0 +1,560 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ActivateSessionRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ActivateSessionRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ClientSignature" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SignatureData" minOccurs="0"/>
+ *         <element name="ClientSoftwareCertificates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfSignedSoftwareCertificate" minOccurs="0"/>
+ *         <element name="LocaleIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="UserIdentityToken" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="UserTokenSignature" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SignatureData" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ActivateSessionRequest", propOrder = { + "requestHeader", + "clientSignature", + "clientSoftwareCertificates", + "localeIds", + "userIdentityToken", + "userTokenSignature" +}) +public class ActivateSessionRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "ClientSignature", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientSignature; + @XmlElementRef(name = "ClientSoftwareCertificates", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientSoftwareCertificates; + @XmlElementRef(name = "LocaleIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement localeIds; + @XmlElementRef(name = "UserIdentityToken", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userIdentityToken; + @XmlElementRef(name = "UserTokenSignature", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userTokenSignature; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der clientSignature-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + */ + public JAXBElement getClientSignature() { + return clientSignature; + } + + /** + * Legt den Wert der clientSignature-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + */ + public void setClientSignature(JAXBElement value) { + this.clientSignature = value; + } + + /** + * Ruft den Wert der clientSoftwareCertificates-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + */ + public JAXBElement getClientSoftwareCertificates() { + return clientSoftwareCertificates; + } + + /** + * Legt den Wert der clientSoftwareCertificates-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + */ + public void setClientSoftwareCertificates(JAXBElement value) { + this.clientSoftwareCertificates = value; + } + + /** + * Ruft den Wert der localeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getLocaleIds() { + return localeIds; + } + + /** + * Legt den Wert der localeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setLocaleIds(JAXBElement value) { + this.localeIds = value; + } + + /** + * Ruft den Wert der userIdentityToken-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getUserIdentityToken() { + return userIdentityToken; + } + + /** + * Legt den Wert der userIdentityToken-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setUserIdentityToken(JAXBElement value) { + this.userIdentityToken = value; + } + + /** + * Ruft den Wert der userTokenSignature-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + */ + public JAXBElement getUserTokenSignature() { + return userTokenSignature; + } + + /** + * Legt den Wert der userTokenSignature-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + */ + public void setUserTokenSignature(JAXBElement value) { + this.userTokenSignature = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ActivateSessionRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.clientSignature = this.clientSignature; + _other.clientSoftwareCertificates = this.clientSoftwareCertificates; + _other.localeIds = this.localeIds; + _other.userIdentityToken = this.userIdentityToken; + _other.userTokenSignature = this.userTokenSignature; + } + + public<_B >ActivateSessionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ActivateSessionRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ActivateSessionRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ActivateSessionRequest.Builder builder() { + return new ActivateSessionRequest.Builder(null, null, false); + } + + public static<_B >ActivateSessionRequest.Builder<_B> copyOf(final ActivateSessionRequest _other) { + final ActivateSessionRequest.Builder<_B> _newBuilder = new ActivateSessionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ActivateSessionRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree clientSignaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientSignature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientSignaturePropertyTree!= null):((clientSignaturePropertyTree == null)||(!clientSignaturePropertyTree.isLeaf())))) { + _other.clientSignature = this.clientSignature; + } + final PropertyTree clientSoftwareCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientSoftwareCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientSoftwareCertificatesPropertyTree!= null):((clientSoftwareCertificatesPropertyTree == null)||(!clientSoftwareCertificatesPropertyTree.isLeaf())))) { + _other.clientSoftwareCertificates = this.clientSoftwareCertificates; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + _other.localeIds = this.localeIds; + } + final PropertyTree userIdentityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userIdentityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userIdentityTokenPropertyTree!= null):((userIdentityTokenPropertyTree == null)||(!userIdentityTokenPropertyTree.isLeaf())))) { + _other.userIdentityToken = this.userIdentityToken; + } + final PropertyTree userTokenSignaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userTokenSignature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userTokenSignaturePropertyTree!= null):((userTokenSignaturePropertyTree == null)||(!userTokenSignaturePropertyTree.isLeaf())))) { + _other.userTokenSignature = this.userTokenSignature; + } + } + + public<_B >ActivateSessionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ActivateSessionRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ActivateSessionRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ActivateSessionRequest.Builder<_B> copyOf(final ActivateSessionRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ActivateSessionRequest.Builder<_B> _newBuilder = new ActivateSessionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ActivateSessionRequest.Builder copyExcept(final ActivateSessionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ActivateSessionRequest.Builder copyOnly(final ActivateSessionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ActivateSessionRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement clientSignature; + private JAXBElement clientSoftwareCertificates; + private JAXBElement localeIds; + private JAXBElement userIdentityToken; + private JAXBElement userTokenSignature; + + public Builder(final _B _parentBuilder, final ActivateSessionRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.clientSignature = _other.clientSignature; + this.clientSoftwareCertificates = _other.clientSoftwareCertificates; + this.localeIds = _other.localeIds; + this.userIdentityToken = _other.userIdentityToken; + this.userTokenSignature = _other.userTokenSignature; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ActivateSessionRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree clientSignaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientSignature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientSignaturePropertyTree!= null):((clientSignaturePropertyTree == null)||(!clientSignaturePropertyTree.isLeaf())))) { + this.clientSignature = _other.clientSignature; + } + final PropertyTree clientSoftwareCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientSoftwareCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientSoftwareCertificatesPropertyTree!= null):((clientSoftwareCertificatesPropertyTree == null)||(!clientSoftwareCertificatesPropertyTree.isLeaf())))) { + this.clientSoftwareCertificates = _other.clientSoftwareCertificates; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + this.localeIds = _other.localeIds; + } + final PropertyTree userIdentityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userIdentityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userIdentityTokenPropertyTree!= null):((userIdentityTokenPropertyTree == null)||(!userIdentityTokenPropertyTree.isLeaf())))) { + this.userIdentityToken = _other.userIdentityToken; + } + final PropertyTree userTokenSignaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userTokenSignature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userTokenSignaturePropertyTree!= null):((userTokenSignaturePropertyTree == null)||(!userTokenSignaturePropertyTree.isLeaf())))) { + this.userTokenSignature = _other.userTokenSignature; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ActivateSessionRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.clientSignature = this.clientSignature; + _product.clientSoftwareCertificates = this.clientSoftwareCertificates; + _product.localeIds = this.localeIds; + _product.userIdentityToken = this.userIdentityToken; + _product.userTokenSignature = this.userTokenSignature; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public ActivateSessionRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientSignature" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param clientSignature + * Neuer Wert der Eigenschaft "clientSignature". + */ + public ActivateSessionRequest.Builder<_B> withClientSignature(final JAXBElement clientSignature) { + this.clientSignature = clientSignature; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientSoftwareCertificates" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param clientSoftwareCertificates + * Neuer Wert der Eigenschaft "clientSoftwareCertificates". + */ + public ActivateSessionRequest.Builder<_B> withClientSoftwareCertificates(final JAXBElement clientSoftwareCertificates) { + this.clientSoftwareCertificates = clientSoftwareCertificates; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localeIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param localeIds + * Neuer Wert der Eigenschaft "localeIds". + */ + public ActivateSessionRequest.Builder<_B> withLocaleIds(final JAXBElement localeIds) { + this.localeIds = localeIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userIdentityToken" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userIdentityToken + * Neuer Wert der Eigenschaft "userIdentityToken". + */ + public ActivateSessionRequest.Builder<_B> withUserIdentityToken(final JAXBElement userIdentityToken) { + this.userIdentityToken = userIdentityToken; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userTokenSignature" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userTokenSignature + * Neuer Wert der Eigenschaft "userTokenSignature". + */ + public ActivateSessionRequest.Builder<_B> withUserTokenSignature(final JAXBElement userTokenSignature) { + this.userTokenSignature = userTokenSignature; + return this; + } + + @Override + public ActivateSessionRequest build() { + if (_storedValue == null) { + return this.init(new ActivateSessionRequest()); + } else { + return ((ActivateSessionRequest) _storedValue); + } + } + + public ActivateSessionRequest.Builder<_B> copyOf(final ActivateSessionRequest _other) { + _other.copyTo(this); + return this; + } + + public ActivateSessionRequest.Builder<_B> copyOf(final ActivateSessionRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ActivateSessionRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ActivateSessionRequest.Select _root() { + return new ActivateSessionRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> clientSignature = null; + private com.kscs.util.jaxb.Selector> clientSoftwareCertificates = null; + private com.kscs.util.jaxb.Selector> localeIds = null; + private com.kscs.util.jaxb.Selector> userIdentityToken = null; + private com.kscs.util.jaxb.Selector> userTokenSignature = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.clientSignature!= null) { + products.put("clientSignature", this.clientSignature.init()); + } + if (this.clientSoftwareCertificates!= null) { + products.put("clientSoftwareCertificates", this.clientSoftwareCertificates.init()); + } + if (this.localeIds!= null) { + products.put("localeIds", this.localeIds.init()); + } + if (this.userIdentityToken!= null) { + products.put("userIdentityToken", this.userIdentityToken.init()); + } + if (this.userTokenSignature!= null) { + products.put("userTokenSignature", this.userTokenSignature.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> clientSignature() { + return ((this.clientSignature == null)?this.clientSignature = new com.kscs.util.jaxb.Selector>(this._root, this, "clientSignature"):this.clientSignature); + } + + public com.kscs.util.jaxb.Selector> clientSoftwareCertificates() { + return ((this.clientSoftwareCertificates == null)?this.clientSoftwareCertificates = new com.kscs.util.jaxb.Selector>(this._root, this, "clientSoftwareCertificates"):this.clientSoftwareCertificates); + } + + public com.kscs.util.jaxb.Selector> localeIds() { + return ((this.localeIds == null)?this.localeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "localeIds"):this.localeIds); + } + + public com.kscs.util.jaxb.Selector> userIdentityToken() { + return ((this.userIdentityToken == null)?this.userIdentityToken = new com.kscs.util.jaxb.Selector>(this._root, this, "userIdentityToken"):this.userIdentityToken); + } + + public com.kscs.util.jaxb.Selector> userTokenSignature() { + return ((this.userTokenSignature == null)?this.userTokenSignature = new com.kscs.util.jaxb.Selector>(this._root, this, "userTokenSignature"):this.userTokenSignature); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionResponse.java new file mode 100644 index 000000000..4b78d930f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ActivateSessionResponse.java @@ -0,0 +1,440 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ActivateSessionResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ActivateSessionResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="ServerNonce" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ActivateSessionResponse", propOrder = { + "responseHeader", + "serverNonce", + "results", + "diagnosticInfos" +}) +public class ActivateSessionResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "ServerNonce", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverNonce; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der serverNonce-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getServerNonce() { + return serverNonce; + } + + /** + * Legt den Wert der serverNonce-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setServerNonce(JAXBElement value) { + this.serverNonce = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ActivateSessionResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.serverNonce = this.serverNonce; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >ActivateSessionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ActivateSessionResponse.Builder<_B>(_parentBuilder, this, true); + } + + public ActivateSessionResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ActivateSessionResponse.Builder builder() { + return new ActivateSessionResponse.Builder(null, null, false); + } + + public static<_B >ActivateSessionResponse.Builder<_B> copyOf(final ActivateSessionResponse _other) { + final ActivateSessionResponse.Builder<_B> _newBuilder = new ActivateSessionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ActivateSessionResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree serverNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNoncePropertyTree!= null):((serverNoncePropertyTree == null)||(!serverNoncePropertyTree.isLeaf())))) { + _other.serverNonce = this.serverNonce; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >ActivateSessionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ActivateSessionResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ActivateSessionResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ActivateSessionResponse.Builder<_B> copyOf(final ActivateSessionResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ActivateSessionResponse.Builder<_B> _newBuilder = new ActivateSessionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ActivateSessionResponse.Builder copyExcept(final ActivateSessionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ActivateSessionResponse.Builder copyOnly(final ActivateSessionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ActivateSessionResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement serverNonce; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final ActivateSessionResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.serverNonce = _other.serverNonce; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ActivateSessionResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree serverNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNoncePropertyTree!= null):((serverNoncePropertyTree == null)||(!serverNoncePropertyTree.isLeaf())))) { + this.serverNonce = _other.serverNonce; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ActivateSessionResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.serverNonce = this.serverNonce; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public ActivateSessionResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverNonce" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverNonce + * Neuer Wert der Eigenschaft "serverNonce". + */ + public ActivateSessionResponse.Builder<_B> withServerNonce(final JAXBElement serverNonce) { + this.serverNonce = serverNonce; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public ActivateSessionResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public ActivateSessionResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public ActivateSessionResponse build() { + if (_storedValue == null) { + return this.init(new ActivateSessionResponse()); + } else { + return ((ActivateSessionResponse) _storedValue); + } + } + + public ActivateSessionResponse.Builder<_B> copyOf(final ActivateSessionResponse _other) { + _other.copyTo(this); + return this; + } + + public ActivateSessionResponse.Builder<_B> copyOf(final ActivateSessionResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ActivateSessionResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static ActivateSessionResponse.Select _root() { + return new ActivateSessionResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> serverNonce = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.serverNonce!= null) { + products.put("serverNonce", this.serverNonce.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> serverNonce() { + return ((this.serverNonce == null)?this.serverNonce = new com.kscs.util.jaxb.Selector>(this._root, this, "serverNonce"):this.serverNonce); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesItem.java new file mode 100644 index 000000000..1f36679e3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesItem.java @@ -0,0 +1,623 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddNodesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddNodesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ParentNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="RequestedNewNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="BrowseName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *         <element name="NodeClass" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeClass" minOccurs="0"/>
+ *         <element name="NodeAttributes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="TypeDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddNodesItem", propOrder = { + "parentNodeId", + "referenceTypeId", + "requestedNewNodeId", + "browseName", + "nodeClass", + "nodeAttributes", + "typeDefinition" +}) +public class AddNodesItem { + + @XmlElementRef(name = "ParentNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement parentNodeId; + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElementRef(name = "RequestedNewNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestedNewNodeId; + @XmlElementRef(name = "BrowseName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browseName; + @XmlElement(name = "NodeClass") + @XmlSchemaType(name = "string") + protected NodeClass nodeClass; + @XmlElementRef(name = "NodeAttributes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeAttributes; + @XmlElementRef(name = "TypeDefinition", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement typeDefinition; + + /** + * Ruft den Wert der parentNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getParentNodeId() { + return parentNodeId; + } + + /** + * Legt den Wert der parentNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setParentNodeId(JAXBElement value) { + this.parentNodeId = value; + } + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der requestedNewNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getRequestedNewNodeId() { + return requestedNewNodeId; + } + + /** + * Legt den Wert der requestedNewNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setRequestedNewNodeId(JAXBElement value) { + this.requestedNewNodeId = value; + } + + /** + * Ruft den Wert der browseName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getBrowseName() { + return browseName; + } + + /** + * Legt den Wert der browseName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setBrowseName(JAXBElement value) { + this.browseName = value; + } + + /** + * Ruft den Wert der nodeClass-Eigenschaft ab. + * + * @return + * possible object is + * {@link NodeClass } + * + */ + public NodeClass getNodeClass() { + return nodeClass; + } + + /** + * Legt den Wert der nodeClass-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link NodeClass } + * + */ + public void setNodeClass(NodeClass value) { + this.nodeClass = value; + } + + /** + * Ruft den Wert der nodeAttributes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getNodeAttributes() { + return nodeAttributes; + } + + /** + * Legt den Wert der nodeAttributes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setNodeAttributes(JAXBElement value) { + this.nodeAttributes = value; + } + + /** + * Ruft den Wert der typeDefinition-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTypeDefinition() { + return typeDefinition; + } + + /** + * Legt den Wert der typeDefinition-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTypeDefinition(JAXBElement value) { + this.typeDefinition = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesItem.Builder<_B> _other) { + _other.parentNodeId = this.parentNodeId; + _other.referenceTypeId = this.referenceTypeId; + _other.requestedNewNodeId = this.requestedNewNodeId; + _other.browseName = this.browseName; + _other.nodeClass = this.nodeClass; + _other.nodeAttributes = this.nodeAttributes; + _other.typeDefinition = this.typeDefinition; + } + + public<_B >AddNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddNodesItem.Builder<_B>(_parentBuilder, this, true); + } + + public AddNodesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddNodesItem.Builder builder() { + return new AddNodesItem.Builder(null, null, false); + } + + public static<_B >AddNodesItem.Builder<_B> copyOf(final AddNodesItem _other) { + final AddNodesItem.Builder<_B> _newBuilder = new AddNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree parentNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parentNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parentNodeIdPropertyTree!= null):((parentNodeIdPropertyTree == null)||(!parentNodeIdPropertyTree.isLeaf())))) { + _other.parentNodeId = this.parentNodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree requestedNewNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedNewNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedNewNodeIdPropertyTree!= null):((requestedNewNodeIdPropertyTree == null)||(!requestedNewNodeIdPropertyTree.isLeaf())))) { + _other.requestedNewNodeId = this.requestedNewNodeId; + } + final PropertyTree browseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNamePropertyTree!= null):((browseNamePropertyTree == null)||(!browseNamePropertyTree.isLeaf())))) { + _other.browseName = this.browseName; + } + final PropertyTree nodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassPropertyTree!= null):((nodeClassPropertyTree == null)||(!nodeClassPropertyTree.isLeaf())))) { + _other.nodeClass = this.nodeClass; + } + final PropertyTree nodeAttributesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeAttributes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeAttributesPropertyTree!= null):((nodeAttributesPropertyTree == null)||(!nodeAttributesPropertyTree.isLeaf())))) { + _other.nodeAttributes = this.nodeAttributes; + } + final PropertyTree typeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionPropertyTree!= null):((typeDefinitionPropertyTree == null)||(!typeDefinitionPropertyTree.isLeaf())))) { + _other.typeDefinition = this.typeDefinition; + } + } + + public<_B >AddNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddNodesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddNodesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddNodesItem.Builder<_B> copyOf(final AddNodesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddNodesItem.Builder<_B> _newBuilder = new AddNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddNodesItem.Builder copyExcept(final AddNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddNodesItem.Builder copyOnly(final AddNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddNodesItem _storedValue; + private JAXBElement parentNodeId; + private JAXBElement referenceTypeId; + private JAXBElement requestedNewNodeId; + private JAXBElement browseName; + private NodeClass nodeClass; + private JAXBElement nodeAttributes; + private JAXBElement typeDefinition; + + public Builder(final _B _parentBuilder, final AddNodesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.parentNodeId = _other.parentNodeId; + this.referenceTypeId = _other.referenceTypeId; + this.requestedNewNodeId = _other.requestedNewNodeId; + this.browseName = _other.browseName; + this.nodeClass = _other.nodeClass; + this.nodeAttributes = _other.nodeAttributes; + this.typeDefinition = _other.typeDefinition; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddNodesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree parentNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parentNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parentNodeIdPropertyTree!= null):((parentNodeIdPropertyTree == null)||(!parentNodeIdPropertyTree.isLeaf())))) { + this.parentNodeId = _other.parentNodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree requestedNewNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedNewNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedNewNodeIdPropertyTree!= null):((requestedNewNodeIdPropertyTree == null)||(!requestedNewNodeIdPropertyTree.isLeaf())))) { + this.requestedNewNodeId = _other.requestedNewNodeId; + } + final PropertyTree browseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNamePropertyTree!= null):((browseNamePropertyTree == null)||(!browseNamePropertyTree.isLeaf())))) { + this.browseName = _other.browseName; + } + final PropertyTree nodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassPropertyTree!= null):((nodeClassPropertyTree == null)||(!nodeClassPropertyTree.isLeaf())))) { + this.nodeClass = _other.nodeClass; + } + final PropertyTree nodeAttributesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeAttributes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeAttributesPropertyTree!= null):((nodeAttributesPropertyTree == null)||(!nodeAttributesPropertyTree.isLeaf())))) { + this.nodeAttributes = _other.nodeAttributes; + } + final PropertyTree typeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionPropertyTree!= null):((typeDefinitionPropertyTree == null)||(!typeDefinitionPropertyTree.isLeaf())))) { + this.typeDefinition = _other.typeDefinition; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddNodesItem >_P init(final _P _product) { + _product.parentNodeId = this.parentNodeId; + _product.referenceTypeId = this.referenceTypeId; + _product.requestedNewNodeId = this.requestedNewNodeId; + _product.browseName = this.browseName; + _product.nodeClass = this.nodeClass; + _product.nodeAttributes = this.nodeAttributes; + _product.typeDefinition = this.typeDefinition; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "parentNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param parentNodeId + * Neuer Wert der Eigenschaft "parentNodeId". + */ + public AddNodesItem.Builder<_B> withParentNodeId(final JAXBElement parentNodeId) { + this.parentNodeId = parentNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public AddNodesItem.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedNewNodeId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param requestedNewNodeId + * Neuer Wert der Eigenschaft "requestedNewNodeId". + */ + public AddNodesItem.Builder<_B> withRequestedNewNodeId(final JAXBElement requestedNewNodeId) { + this.requestedNewNodeId = requestedNewNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + public AddNodesItem.Builder<_B> withBrowseName(final JAXBElement browseName) { + this.browseName = browseName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + public AddNodesItem.Builder<_B> withNodeClass(final NodeClass nodeClass) { + this.nodeClass = nodeClass; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeAttributes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodeAttributes + * Neuer Wert der Eigenschaft "nodeAttributes". + */ + public AddNodesItem.Builder<_B> withNodeAttributes(final JAXBElement nodeAttributes) { + this.nodeAttributes = nodeAttributes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "typeDefinition" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param typeDefinition + * Neuer Wert der Eigenschaft "typeDefinition". + */ + public AddNodesItem.Builder<_B> withTypeDefinition(final JAXBElement typeDefinition) { + this.typeDefinition = typeDefinition; + return this; + } + + @Override + public AddNodesItem build() { + if (_storedValue == null) { + return this.init(new AddNodesItem()); + } else { + return ((AddNodesItem) _storedValue); + } + } + + public AddNodesItem.Builder<_B> copyOf(final AddNodesItem _other) { + _other.copyTo(this); + return this; + } + + public AddNodesItem.Builder<_B> copyOf(final AddNodesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddNodesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddNodesItem.Select _root() { + return new AddNodesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> parentNodeId = null; + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> requestedNewNodeId = null; + private com.kscs.util.jaxb.Selector> browseName = null; + private com.kscs.util.jaxb.Selector> nodeClass = null; + private com.kscs.util.jaxb.Selector> nodeAttributes = null; + private com.kscs.util.jaxb.Selector> typeDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.parentNodeId!= null) { + products.put("parentNodeId", this.parentNodeId.init()); + } + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.requestedNewNodeId!= null) { + products.put("requestedNewNodeId", this.requestedNewNodeId.init()); + } + if (this.browseName!= null) { + products.put("browseName", this.browseName.init()); + } + if (this.nodeClass!= null) { + products.put("nodeClass", this.nodeClass.init()); + } + if (this.nodeAttributes!= null) { + products.put("nodeAttributes", this.nodeAttributes.init()); + } + if (this.typeDefinition!= null) { + products.put("typeDefinition", this.typeDefinition.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> parentNodeId() { + return ((this.parentNodeId == null)?this.parentNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "parentNodeId"):this.parentNodeId); + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> requestedNewNodeId() { + return ((this.requestedNewNodeId == null)?this.requestedNewNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedNewNodeId"):this.requestedNewNodeId); + } + + public com.kscs.util.jaxb.Selector> browseName() { + return ((this.browseName == null)?this.browseName = new com.kscs.util.jaxb.Selector>(this._root, this, "browseName"):this.browseName); + } + + public com.kscs.util.jaxb.Selector> nodeClass() { + return ((this.nodeClass == null)?this.nodeClass = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeClass"):this.nodeClass); + } + + public com.kscs.util.jaxb.Selector> nodeAttributes() { + return ((this.nodeAttributes == null)?this.nodeAttributes = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeAttributes"):this.nodeAttributes); + } + + public com.kscs.util.jaxb.Selector> typeDefinition() { + return ((this.typeDefinition == null)?this.typeDefinition = new com.kscs.util.jaxb.Selector>(this._root, this, "typeDefinition"):this.typeDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesRequest.java new file mode 100644 index 000000000..96c7caaff --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddNodesRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddNodesRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="NodesToAdd" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfAddNodesItem" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddNodesRequest", propOrder = { + "requestHeader", + "nodesToAdd" +}) +public class AddNodesRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "NodesToAdd", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToAdd; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der nodesToAdd-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfAddNodesItem }{@code >} + * + */ + public JAXBElement getNodesToAdd() { + return nodesToAdd; + } + + /** + * Legt den Wert der nodesToAdd-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfAddNodesItem }{@code >} + * + */ + public void setNodesToAdd(JAXBElement value) { + this.nodesToAdd = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.nodesToAdd = this.nodesToAdd; + } + + public<_B >AddNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddNodesRequest.Builder<_B>(_parentBuilder, this, true); + } + + public AddNodesRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddNodesRequest.Builder builder() { + return new AddNodesRequest.Builder(null, null, false); + } + + public static<_B >AddNodesRequest.Builder<_B> copyOf(final AddNodesRequest _other) { + final AddNodesRequest.Builder<_B> _newBuilder = new AddNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree nodesToAddPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToAdd")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToAddPropertyTree!= null):((nodesToAddPropertyTree == null)||(!nodesToAddPropertyTree.isLeaf())))) { + _other.nodesToAdd = this.nodesToAdd; + } + } + + public<_B >AddNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddNodesRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddNodesRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddNodesRequest.Builder<_B> copyOf(final AddNodesRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddNodesRequest.Builder<_B> _newBuilder = new AddNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddNodesRequest.Builder copyExcept(final AddNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddNodesRequest.Builder copyOnly(final AddNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddNodesRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement nodesToAdd; + + public Builder(final _B _parentBuilder, final AddNodesRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.nodesToAdd = _other.nodesToAdd; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddNodesRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree nodesToAddPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToAdd")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToAddPropertyTree!= null):((nodesToAddPropertyTree == null)||(!nodesToAddPropertyTree.isLeaf())))) { + this.nodesToAdd = _other.nodesToAdd; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddNodesRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.nodesToAdd = this.nodesToAdd; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public AddNodesRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToAdd" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodesToAdd + * Neuer Wert der Eigenschaft "nodesToAdd". + */ + public AddNodesRequest.Builder<_B> withNodesToAdd(final JAXBElement nodesToAdd) { + this.nodesToAdd = nodesToAdd; + return this; + } + + @Override + public AddNodesRequest build() { + if (_storedValue == null) { + return this.init(new AddNodesRequest()); + } else { + return ((AddNodesRequest) _storedValue); + } + } + + public AddNodesRequest.Builder<_B> copyOf(final AddNodesRequest _other) { + _other.copyTo(this); + return this; + } + + public AddNodesRequest.Builder<_B> copyOf(final AddNodesRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddNodesRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddNodesRequest.Select _root() { + return new AddNodesRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> nodesToAdd = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.nodesToAdd!= null) { + products.put("nodesToAdd", this.nodesToAdd.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> nodesToAdd() { + return ((this.nodesToAdd == null)?this.nodesToAdd = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToAdd"):this.nodesToAdd); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResponse.java new file mode 100644 index 000000000..607eff830 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddNodesResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddNodesResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfAddNodesResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddNodesResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class AddNodesResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfAddNodesResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfAddNodesResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >AddNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddNodesResponse.Builder<_B>(_parentBuilder, this, true); + } + + public AddNodesResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddNodesResponse.Builder builder() { + return new AddNodesResponse.Builder(null, null, false); + } + + public static<_B >AddNodesResponse.Builder<_B> copyOf(final AddNodesResponse _other) { + final AddNodesResponse.Builder<_B> _newBuilder = new AddNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >AddNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddNodesResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddNodesResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddNodesResponse.Builder<_B> copyOf(final AddNodesResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddNodesResponse.Builder<_B> _newBuilder = new AddNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddNodesResponse.Builder copyExcept(final AddNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddNodesResponse.Builder copyOnly(final AddNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddNodesResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final AddNodesResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddNodesResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddNodesResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public AddNodesResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public AddNodesResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public AddNodesResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public AddNodesResponse build() { + if (_storedValue == null) { + return this.init(new AddNodesResponse()); + } else { + return ((AddNodesResponse) _storedValue); + } + } + + public AddNodesResponse.Builder<_B> copyOf(final AddNodesResponse _other) { + _other.copyTo(this); + return this; + } + + public AddNodesResponse.Builder<_B> copyOf(final AddNodesResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddNodesResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddNodesResponse.Select _root() { + return new AddNodesResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResult.java new file mode 100644 index 000000000..c113afc83 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddNodesResult.java @@ -0,0 +1,339 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddNodesResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddNodesResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="AddedNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddNodesResult", propOrder = { + "statusCode", + "addedNodeId" +}) +public class AddNodesResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "AddedNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement addedNodeId; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der addedNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAddedNodeId() { + return addedNodeId; + } + + /** + * Legt den Wert der addedNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAddedNodeId(JAXBElement value) { + this.addedNodeId = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.addedNodeId = this.addedNodeId; + } + + public<_B >AddNodesResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddNodesResult.Builder<_B>(_parentBuilder, this, true); + } + + public AddNodesResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddNodesResult.Builder builder() { + return new AddNodesResult.Builder(null, null, false); + } + + public static<_B >AddNodesResult.Builder<_B> copyOf(final AddNodesResult _other) { + final AddNodesResult.Builder<_B> _newBuilder = new AddNodesResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddNodesResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree addedNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addedNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addedNodeIdPropertyTree!= null):((addedNodeIdPropertyTree == null)||(!addedNodeIdPropertyTree.isLeaf())))) { + _other.addedNodeId = this.addedNodeId; + } + } + + public<_B >AddNodesResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddNodesResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddNodesResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddNodesResult.Builder<_B> copyOf(final AddNodesResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddNodesResult.Builder<_B> _newBuilder = new AddNodesResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddNodesResult.Builder copyExcept(final AddNodesResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddNodesResult.Builder copyOnly(final AddNodesResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddNodesResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement addedNodeId; + + public Builder(final _B _parentBuilder, final AddNodesResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.addedNodeId = _other.addedNodeId; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddNodesResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree addedNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addedNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addedNodeIdPropertyTree!= null):((addedNodeIdPropertyTree == null)||(!addedNodeIdPropertyTree.isLeaf())))) { + this.addedNodeId = _other.addedNodeId; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddNodesResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.addedNodeId = this.addedNodeId; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public AddNodesResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "addedNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param addedNodeId + * Neuer Wert der Eigenschaft "addedNodeId". + */ + public AddNodesResult.Builder<_B> withAddedNodeId(final JAXBElement addedNodeId) { + this.addedNodeId = addedNodeId; + return this; + } + + @Override + public AddNodesResult build() { + if (_storedValue == null) { + return this.init(new AddNodesResult()); + } else { + return ((AddNodesResult) _storedValue); + } + } + + public AddNodesResult.Builder<_B> copyOf(final AddNodesResult _other) { + _other.copyTo(this); + return this; + } + + public AddNodesResult.Builder<_B> copyOf(final AddNodesResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddNodesResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddNodesResult.Select _root() { + return new AddNodesResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> addedNodeId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.addedNodeId!= null) { + products.put("addedNodeId", this.addedNodeId.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> addedNodeId() { + return ((this.addedNodeId == null)?this.addedNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "addedNodeId"):this.addedNodeId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesItem.java new file mode 100644 index 000000000..3bb8c536d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesItem.java @@ -0,0 +1,563 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddReferencesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddReferencesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SourceNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IsForward" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="TargetServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TargetNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="TargetNodeClass" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeClass" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddReferencesItem", propOrder = { + "sourceNodeId", + "referenceTypeId", + "isForward", + "targetServerUri", + "targetNodeId", + "targetNodeClass" +}) +public class AddReferencesItem { + + @XmlElementRef(name = "SourceNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sourceNodeId; + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IsForward") + protected Boolean isForward; + @XmlElementRef(name = "TargetServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetServerUri; + @XmlElementRef(name = "TargetNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetNodeId; + @XmlElement(name = "TargetNodeClass") + @XmlSchemaType(name = "string") + protected NodeClass targetNodeClass; + + /** + * Ruft den Wert der sourceNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getSourceNodeId() { + return sourceNodeId; + } + + /** + * Legt den Wert der sourceNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setSourceNodeId(JAXBElement value) { + this.sourceNodeId = value; + } + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der isForward-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsForward() { + return isForward; + } + + /** + * Legt den Wert der isForward-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsForward(Boolean value) { + this.isForward = value; + } + + /** + * Ruft den Wert der targetServerUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getTargetServerUri() { + return targetServerUri; + } + + /** + * Legt den Wert der targetServerUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setTargetServerUri(JAXBElement value) { + this.targetServerUri = value; + } + + /** + * Ruft den Wert der targetNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTargetNodeId() { + return targetNodeId; + } + + /** + * Legt den Wert der targetNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTargetNodeId(JAXBElement value) { + this.targetNodeId = value; + } + + /** + * Ruft den Wert der targetNodeClass-Eigenschaft ab. + * + * @return + * possible object is + * {@link NodeClass } + * + */ + public NodeClass getTargetNodeClass() { + return targetNodeClass; + } + + /** + * Legt den Wert der targetNodeClass-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link NodeClass } + * + */ + public void setTargetNodeClass(NodeClass value) { + this.targetNodeClass = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddReferencesItem.Builder<_B> _other) { + _other.sourceNodeId = this.sourceNodeId; + _other.referenceTypeId = this.referenceTypeId; + _other.isForward = this.isForward; + _other.targetServerUri = this.targetServerUri; + _other.targetNodeId = this.targetNodeId; + _other.targetNodeClass = this.targetNodeClass; + } + + public<_B >AddReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddReferencesItem.Builder<_B>(_parentBuilder, this, true); + } + + public AddReferencesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddReferencesItem.Builder builder() { + return new AddReferencesItem.Builder(null, null, false); + } + + public static<_B >AddReferencesItem.Builder<_B> copyOf(final AddReferencesItem _other) { + final AddReferencesItem.Builder<_B> _newBuilder = new AddReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddReferencesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sourceNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourceNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourceNodeIdPropertyTree!= null):((sourceNodeIdPropertyTree == null)||(!sourceNodeIdPropertyTree.isLeaf())))) { + _other.sourceNodeId = this.sourceNodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + _other.isForward = this.isForward; + } + final PropertyTree targetServerUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetServerUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetServerUriPropertyTree!= null):((targetServerUriPropertyTree == null)||(!targetServerUriPropertyTree.isLeaf())))) { + _other.targetServerUri = this.targetServerUri; + } + final PropertyTree targetNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeIdPropertyTree!= null):((targetNodeIdPropertyTree == null)||(!targetNodeIdPropertyTree.isLeaf())))) { + _other.targetNodeId = this.targetNodeId; + } + final PropertyTree targetNodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeClassPropertyTree!= null):((targetNodeClassPropertyTree == null)||(!targetNodeClassPropertyTree.isLeaf())))) { + _other.targetNodeClass = this.targetNodeClass; + } + } + + public<_B >AddReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddReferencesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddReferencesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddReferencesItem.Builder<_B> copyOf(final AddReferencesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddReferencesItem.Builder<_B> _newBuilder = new AddReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddReferencesItem.Builder copyExcept(final AddReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddReferencesItem.Builder copyOnly(final AddReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddReferencesItem _storedValue; + private JAXBElement sourceNodeId; + private JAXBElement referenceTypeId; + private Boolean isForward; + private JAXBElement targetServerUri; + private JAXBElement targetNodeId; + private NodeClass targetNodeClass; + + public Builder(final _B _parentBuilder, final AddReferencesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.sourceNodeId = _other.sourceNodeId; + this.referenceTypeId = _other.referenceTypeId; + this.isForward = _other.isForward; + this.targetServerUri = _other.targetServerUri; + this.targetNodeId = _other.targetNodeId; + this.targetNodeClass = _other.targetNodeClass; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddReferencesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sourceNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourceNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourceNodeIdPropertyTree!= null):((sourceNodeIdPropertyTree == null)||(!sourceNodeIdPropertyTree.isLeaf())))) { + this.sourceNodeId = _other.sourceNodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + this.isForward = _other.isForward; + } + final PropertyTree targetServerUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetServerUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetServerUriPropertyTree!= null):((targetServerUriPropertyTree == null)||(!targetServerUriPropertyTree.isLeaf())))) { + this.targetServerUri = _other.targetServerUri; + } + final PropertyTree targetNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeIdPropertyTree!= null):((targetNodeIdPropertyTree == null)||(!targetNodeIdPropertyTree.isLeaf())))) { + this.targetNodeId = _other.targetNodeId; + } + final PropertyTree targetNodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeClassPropertyTree!= null):((targetNodeClassPropertyTree == null)||(!targetNodeClassPropertyTree.isLeaf())))) { + this.targetNodeClass = _other.targetNodeClass; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddReferencesItem >_P init(final _P _product) { + _product.sourceNodeId = this.sourceNodeId; + _product.referenceTypeId = this.referenceTypeId; + _product.isForward = this.isForward; + _product.targetServerUri = this.targetServerUri; + _product.targetNodeId = this.targetNodeId; + _product.targetNodeClass = this.targetNodeClass; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sourceNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sourceNodeId + * Neuer Wert der Eigenschaft "sourceNodeId". + */ + public AddReferencesItem.Builder<_B> withSourceNodeId(final JAXBElement sourceNodeId) { + this.sourceNodeId = sourceNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public AddReferencesItem.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isForward" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isForward + * Neuer Wert der Eigenschaft "isForward". + */ + public AddReferencesItem.Builder<_B> withIsForward(final Boolean isForward) { + this.isForward = isForward; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetServerUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param targetServerUri + * Neuer Wert der Eigenschaft "targetServerUri". + */ + public AddReferencesItem.Builder<_B> withTargetServerUri(final JAXBElement targetServerUri) { + this.targetServerUri = targetServerUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param targetNodeId + * Neuer Wert der Eigenschaft "targetNodeId". + */ + public AddReferencesItem.Builder<_B> withTargetNodeId(final JAXBElement targetNodeId) { + this.targetNodeId = targetNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetNodeClass" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param targetNodeClass + * Neuer Wert der Eigenschaft "targetNodeClass". + */ + public AddReferencesItem.Builder<_B> withTargetNodeClass(final NodeClass targetNodeClass) { + this.targetNodeClass = targetNodeClass; + return this; + } + + @Override + public AddReferencesItem build() { + if (_storedValue == null) { + return this.init(new AddReferencesItem()); + } else { + return ((AddReferencesItem) _storedValue); + } + } + + public AddReferencesItem.Builder<_B> copyOf(final AddReferencesItem _other) { + _other.copyTo(this); + return this; + } + + public AddReferencesItem.Builder<_B> copyOf(final AddReferencesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddReferencesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddReferencesItem.Select _root() { + return new AddReferencesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sourceNodeId = null; + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> isForward = null; + private com.kscs.util.jaxb.Selector> targetServerUri = null; + private com.kscs.util.jaxb.Selector> targetNodeId = null; + private com.kscs.util.jaxb.Selector> targetNodeClass = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sourceNodeId!= null) { + products.put("sourceNodeId", this.sourceNodeId.init()); + } + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.isForward!= null) { + products.put("isForward", this.isForward.init()); + } + if (this.targetServerUri!= null) { + products.put("targetServerUri", this.targetServerUri.init()); + } + if (this.targetNodeId!= null) { + products.put("targetNodeId", this.targetNodeId.init()); + } + if (this.targetNodeClass!= null) { + products.put("targetNodeClass", this.targetNodeClass.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sourceNodeId() { + return ((this.sourceNodeId == null)?this.sourceNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "sourceNodeId"):this.sourceNodeId); + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> isForward() { + return ((this.isForward == null)?this.isForward = new com.kscs.util.jaxb.Selector>(this._root, this, "isForward"):this.isForward); + } + + public com.kscs.util.jaxb.Selector> targetServerUri() { + return ((this.targetServerUri == null)?this.targetServerUri = new com.kscs.util.jaxb.Selector>(this._root, this, "targetServerUri"):this.targetServerUri); + } + + public com.kscs.util.jaxb.Selector> targetNodeId() { + return ((this.targetNodeId == null)?this.targetNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "targetNodeId"):this.targetNodeId); + } + + public com.kscs.util.jaxb.Selector> targetNodeClass() { + return ((this.targetNodeClass == null)?this.targetNodeClass = new com.kscs.util.jaxb.Selector>(this._root, this, "targetNodeClass"):this.targetNodeClass); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesRequest.java new file mode 100644 index 000000000..877aa30f1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddReferencesRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddReferencesRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ReferencesToAdd" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfAddReferencesItem" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddReferencesRequest", propOrder = { + "requestHeader", + "referencesToAdd" +}) +public class AddReferencesRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "ReferencesToAdd", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referencesToAdd; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der referencesToAdd-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfAddReferencesItem }{@code >} + * + */ + public JAXBElement getReferencesToAdd() { + return referencesToAdd; + } + + /** + * Legt den Wert der referencesToAdd-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfAddReferencesItem }{@code >} + * + */ + public void setReferencesToAdd(JAXBElement value) { + this.referencesToAdd = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddReferencesRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.referencesToAdd = this.referencesToAdd; + } + + public<_B >AddReferencesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddReferencesRequest.Builder<_B>(_parentBuilder, this, true); + } + + public AddReferencesRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddReferencesRequest.Builder builder() { + return new AddReferencesRequest.Builder(null, null, false); + } + + public static<_B >AddReferencesRequest.Builder<_B> copyOf(final AddReferencesRequest _other) { + final AddReferencesRequest.Builder<_B> _newBuilder = new AddReferencesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddReferencesRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree referencesToAddPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencesToAdd")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesToAddPropertyTree!= null):((referencesToAddPropertyTree == null)||(!referencesToAddPropertyTree.isLeaf())))) { + _other.referencesToAdd = this.referencesToAdd; + } + } + + public<_B >AddReferencesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddReferencesRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddReferencesRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddReferencesRequest.Builder<_B> copyOf(final AddReferencesRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddReferencesRequest.Builder<_B> _newBuilder = new AddReferencesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddReferencesRequest.Builder copyExcept(final AddReferencesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddReferencesRequest.Builder copyOnly(final AddReferencesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddReferencesRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement referencesToAdd; + + public Builder(final _B _parentBuilder, final AddReferencesRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.referencesToAdd = _other.referencesToAdd; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddReferencesRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree referencesToAddPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencesToAdd")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesToAddPropertyTree!= null):((referencesToAddPropertyTree == null)||(!referencesToAddPropertyTree.isLeaf())))) { + this.referencesToAdd = _other.referencesToAdd; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddReferencesRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.referencesToAdd = this.referencesToAdd; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public AddReferencesRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referencesToAdd" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referencesToAdd + * Neuer Wert der Eigenschaft "referencesToAdd". + */ + public AddReferencesRequest.Builder<_B> withReferencesToAdd(final JAXBElement referencesToAdd) { + this.referencesToAdd = referencesToAdd; + return this; + } + + @Override + public AddReferencesRequest build() { + if (_storedValue == null) { + return this.init(new AddReferencesRequest()); + } else { + return ((AddReferencesRequest) _storedValue); + } + } + + public AddReferencesRequest.Builder<_B> copyOf(final AddReferencesRequest _other) { + _other.copyTo(this); + return this; + } + + public AddReferencesRequest.Builder<_B> copyOf(final AddReferencesRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddReferencesRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddReferencesRequest.Select _root() { + return new AddReferencesRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> referencesToAdd = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.referencesToAdd!= null) { + products.put("referencesToAdd", this.referencesToAdd.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> referencesToAdd() { + return ((this.referencesToAdd == null)?this.referencesToAdd = new com.kscs.util.jaxb.Selector>(this._root, this, "referencesToAdd"):this.referencesToAdd); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesResponse.java new file mode 100644 index 000000000..dca5f6bf0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AddReferencesResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AddReferencesResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AddReferencesResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AddReferencesResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class AddReferencesResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddReferencesResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >AddReferencesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AddReferencesResponse.Builder<_B>(_parentBuilder, this, true); + } + + public AddReferencesResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AddReferencesResponse.Builder builder() { + return new AddReferencesResponse.Builder(null, null, false); + } + + public static<_B >AddReferencesResponse.Builder<_B> copyOf(final AddReferencesResponse _other) { + final AddReferencesResponse.Builder<_B> _newBuilder = new AddReferencesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AddReferencesResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >AddReferencesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AddReferencesResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AddReferencesResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AddReferencesResponse.Builder<_B> copyOf(final AddReferencesResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AddReferencesResponse.Builder<_B> _newBuilder = new AddReferencesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AddReferencesResponse.Builder copyExcept(final AddReferencesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AddReferencesResponse.Builder copyOnly(final AddReferencesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AddReferencesResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final AddReferencesResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AddReferencesResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AddReferencesResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public AddReferencesResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public AddReferencesResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public AddReferencesResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public AddReferencesResponse build() { + if (_storedValue == null) { + return this.init(new AddReferencesResponse()); + } else { + return ((AddReferencesResponse) _storedValue); + } + } + + public AddReferencesResponse.Builder<_B> copyOf(final AddReferencesResponse _other) { + _other.copyTo(this); + return this; + } + + public AddReferencesResponse.Builder<_B> copyOf(final AddReferencesResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AddReferencesResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static AddReferencesResponse.Select _root() { + return new AddReferencesResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AdditionalParametersType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AdditionalParametersType.java new file mode 100644 index 000000000..18de1b88e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AdditionalParametersType.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AdditionalParametersType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AdditionalParametersType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Parameters" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AdditionalParametersType", propOrder = { + "parameters" +}) +public class AdditionalParametersType { + + @XmlElementRef(name = "Parameters", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement parameters; + + /** + * Ruft den Wert der parameters-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getParameters() { + return parameters; + } + + /** + * Legt den Wert der parameters-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setParameters(JAXBElement value) { + this.parameters = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AdditionalParametersType.Builder<_B> _other) { + _other.parameters = this.parameters; + } + + public<_B >AdditionalParametersType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AdditionalParametersType.Builder<_B>(_parentBuilder, this, true); + } + + public AdditionalParametersType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AdditionalParametersType.Builder builder() { + return new AdditionalParametersType.Builder(null, null, false); + } + + public static<_B >AdditionalParametersType.Builder<_B> copyOf(final AdditionalParametersType _other) { + final AdditionalParametersType.Builder<_B> _newBuilder = new AdditionalParametersType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AdditionalParametersType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree parametersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parameters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parametersPropertyTree!= null):((parametersPropertyTree == null)||(!parametersPropertyTree.isLeaf())))) { + _other.parameters = this.parameters; + } + } + + public<_B >AdditionalParametersType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AdditionalParametersType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AdditionalParametersType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AdditionalParametersType.Builder<_B> copyOf(final AdditionalParametersType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AdditionalParametersType.Builder<_B> _newBuilder = new AdditionalParametersType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AdditionalParametersType.Builder copyExcept(final AdditionalParametersType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AdditionalParametersType.Builder copyOnly(final AdditionalParametersType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AdditionalParametersType _storedValue; + private JAXBElement parameters; + + public Builder(final _B _parentBuilder, final AdditionalParametersType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.parameters = _other.parameters; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AdditionalParametersType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree parametersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parameters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parametersPropertyTree!= null):((parametersPropertyTree == null)||(!parametersPropertyTree.isLeaf())))) { + this.parameters = _other.parameters; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AdditionalParametersType >_P init(final _P _product) { + _product.parameters = this.parameters; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "parameters" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param parameters + * Neuer Wert der Eigenschaft "parameters". + */ + public AdditionalParametersType.Builder<_B> withParameters(final JAXBElement parameters) { + this.parameters = parameters; + return this; + } + + @Override + public AdditionalParametersType build() { + if (_storedValue == null) { + return this.init(new AdditionalParametersType()); + } else { + return ((AdditionalParametersType) _storedValue); + } + } + + public AdditionalParametersType.Builder<_B> copyOf(final AdditionalParametersType _other) { + _other.copyTo(this); + return this; + } + + public AdditionalParametersType.Builder<_B> copyOf(final AdditionalParametersType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AdditionalParametersType.Selector + { + + + Select() { + super(null, null, null); + } + + public static AdditionalParametersType.Select _root() { + return new AdditionalParametersType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> parameters = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.parameters!= null) { + products.put("parameters", this.parameters.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> parameters() { + return ((this.parameters == null)?this.parameters = new com.kscs.util.jaxb.Selector>(this._root, this, "parameters"):this.parameters); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateConfiguration.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateConfiguration.java new file mode 100644 index 000000000..0f606fd2d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateConfiguration.java @@ -0,0 +1,502 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AggregateConfiguration complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AggregateConfiguration">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UseServerCapabilitiesDefaults" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="TreatUncertainAsBad" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="PercentDataBad" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="PercentDataGood" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="UseSlopedExtrapolation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AggregateConfiguration", propOrder = { + "useServerCapabilitiesDefaults", + "treatUncertainAsBad", + "percentDataBad", + "percentDataGood", + "useSlopedExtrapolation" +}) +public class AggregateConfiguration { + + @XmlElement(name = "UseServerCapabilitiesDefaults") + protected Boolean useServerCapabilitiesDefaults; + @XmlElement(name = "TreatUncertainAsBad") + protected Boolean treatUncertainAsBad; + @XmlElement(name = "PercentDataBad") + @XmlSchemaType(name = "unsignedByte") + protected Short percentDataBad; + @XmlElement(name = "PercentDataGood") + @XmlSchemaType(name = "unsignedByte") + protected Short percentDataGood; + @XmlElement(name = "UseSlopedExtrapolation") + protected Boolean useSlopedExtrapolation; + + /** + * Ruft den Wert der useServerCapabilitiesDefaults-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isUseServerCapabilitiesDefaults() { + return useServerCapabilitiesDefaults; + } + + /** + * Legt den Wert der useServerCapabilitiesDefaults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setUseServerCapabilitiesDefaults(Boolean value) { + this.useServerCapabilitiesDefaults = value; + } + + /** + * Ruft den Wert der treatUncertainAsBad-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isTreatUncertainAsBad() { + return treatUncertainAsBad; + } + + /** + * Legt den Wert der treatUncertainAsBad-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setTreatUncertainAsBad(Boolean value) { + this.treatUncertainAsBad = value; + } + + /** + * Ruft den Wert der percentDataBad-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getPercentDataBad() { + return percentDataBad; + } + + /** + * Legt den Wert der percentDataBad-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setPercentDataBad(Short value) { + this.percentDataBad = value; + } + + /** + * Ruft den Wert der percentDataGood-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getPercentDataGood() { + return percentDataGood; + } + + /** + * Legt den Wert der percentDataGood-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setPercentDataGood(Short value) { + this.percentDataGood = value; + } + + /** + * Ruft den Wert der useSlopedExtrapolation-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isUseSlopedExtrapolation() { + return useSlopedExtrapolation; + } + + /** + * Legt den Wert der useSlopedExtrapolation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setUseSlopedExtrapolation(Boolean value) { + this.useSlopedExtrapolation = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AggregateConfiguration.Builder<_B> _other) { + _other.useServerCapabilitiesDefaults = this.useServerCapabilitiesDefaults; + _other.treatUncertainAsBad = this.treatUncertainAsBad; + _other.percentDataBad = this.percentDataBad; + _other.percentDataGood = this.percentDataGood; + _other.useSlopedExtrapolation = this.useSlopedExtrapolation; + } + + public<_B >AggregateConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AggregateConfiguration.Builder<_B>(_parentBuilder, this, true); + } + + public AggregateConfiguration.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AggregateConfiguration.Builder builder() { + return new AggregateConfiguration.Builder(null, null, false); + } + + public static<_B >AggregateConfiguration.Builder<_B> copyOf(final AggregateConfiguration _other) { + final AggregateConfiguration.Builder<_B> _newBuilder = new AggregateConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AggregateConfiguration.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree useServerCapabilitiesDefaultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useServerCapabilitiesDefaults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useServerCapabilitiesDefaultsPropertyTree!= null):((useServerCapabilitiesDefaultsPropertyTree == null)||(!useServerCapabilitiesDefaultsPropertyTree.isLeaf())))) { + _other.useServerCapabilitiesDefaults = this.useServerCapabilitiesDefaults; + } + final PropertyTree treatUncertainAsBadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("treatUncertainAsBad")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(treatUncertainAsBadPropertyTree!= null):((treatUncertainAsBadPropertyTree == null)||(!treatUncertainAsBadPropertyTree.isLeaf())))) { + _other.treatUncertainAsBad = this.treatUncertainAsBad; + } + final PropertyTree percentDataBadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("percentDataBad")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(percentDataBadPropertyTree!= null):((percentDataBadPropertyTree == null)||(!percentDataBadPropertyTree.isLeaf())))) { + _other.percentDataBad = this.percentDataBad; + } + final PropertyTree percentDataGoodPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("percentDataGood")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(percentDataGoodPropertyTree!= null):((percentDataGoodPropertyTree == null)||(!percentDataGoodPropertyTree.isLeaf())))) { + _other.percentDataGood = this.percentDataGood; + } + final PropertyTree useSlopedExtrapolationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useSlopedExtrapolation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useSlopedExtrapolationPropertyTree!= null):((useSlopedExtrapolationPropertyTree == null)||(!useSlopedExtrapolationPropertyTree.isLeaf())))) { + _other.useSlopedExtrapolation = this.useSlopedExtrapolation; + } + } + + public<_B >AggregateConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AggregateConfiguration.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AggregateConfiguration.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AggregateConfiguration.Builder<_B> copyOf(final AggregateConfiguration _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AggregateConfiguration.Builder<_B> _newBuilder = new AggregateConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AggregateConfiguration.Builder copyExcept(final AggregateConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AggregateConfiguration.Builder copyOnly(final AggregateConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AggregateConfiguration _storedValue; + private Boolean useServerCapabilitiesDefaults; + private Boolean treatUncertainAsBad; + private Short percentDataBad; + private Short percentDataGood; + private Boolean useSlopedExtrapolation; + + public Builder(final _B _parentBuilder, final AggregateConfiguration _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.useServerCapabilitiesDefaults = _other.useServerCapabilitiesDefaults; + this.treatUncertainAsBad = _other.treatUncertainAsBad; + this.percentDataBad = _other.percentDataBad; + this.percentDataGood = _other.percentDataGood; + this.useSlopedExtrapolation = _other.useSlopedExtrapolation; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AggregateConfiguration _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree useServerCapabilitiesDefaultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useServerCapabilitiesDefaults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useServerCapabilitiesDefaultsPropertyTree!= null):((useServerCapabilitiesDefaultsPropertyTree == null)||(!useServerCapabilitiesDefaultsPropertyTree.isLeaf())))) { + this.useServerCapabilitiesDefaults = _other.useServerCapabilitiesDefaults; + } + final PropertyTree treatUncertainAsBadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("treatUncertainAsBad")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(treatUncertainAsBadPropertyTree!= null):((treatUncertainAsBadPropertyTree == null)||(!treatUncertainAsBadPropertyTree.isLeaf())))) { + this.treatUncertainAsBad = _other.treatUncertainAsBad; + } + final PropertyTree percentDataBadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("percentDataBad")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(percentDataBadPropertyTree!= null):((percentDataBadPropertyTree == null)||(!percentDataBadPropertyTree.isLeaf())))) { + this.percentDataBad = _other.percentDataBad; + } + final PropertyTree percentDataGoodPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("percentDataGood")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(percentDataGoodPropertyTree!= null):((percentDataGoodPropertyTree == null)||(!percentDataGoodPropertyTree.isLeaf())))) { + this.percentDataGood = _other.percentDataGood; + } + final PropertyTree useSlopedExtrapolationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useSlopedExtrapolation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useSlopedExtrapolationPropertyTree!= null):((useSlopedExtrapolationPropertyTree == null)||(!useSlopedExtrapolationPropertyTree.isLeaf())))) { + this.useSlopedExtrapolation = _other.useSlopedExtrapolation; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AggregateConfiguration >_P init(final _P _product) { + _product.useServerCapabilitiesDefaults = this.useServerCapabilitiesDefaults; + _product.treatUncertainAsBad = this.treatUncertainAsBad; + _product.percentDataBad = this.percentDataBad; + _product.percentDataGood = this.percentDataGood; + _product.useSlopedExtrapolation = this.useSlopedExtrapolation; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "useServerCapabilitiesDefaults" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param useServerCapabilitiesDefaults + * Neuer Wert der Eigenschaft "useServerCapabilitiesDefaults". + */ + public AggregateConfiguration.Builder<_B> withUseServerCapabilitiesDefaults(final Boolean useServerCapabilitiesDefaults) { + this.useServerCapabilitiesDefaults = useServerCapabilitiesDefaults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "treatUncertainAsBad" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param treatUncertainAsBad + * Neuer Wert der Eigenschaft "treatUncertainAsBad". + */ + public AggregateConfiguration.Builder<_B> withTreatUncertainAsBad(final Boolean treatUncertainAsBad) { + this.treatUncertainAsBad = treatUncertainAsBad; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "percentDataBad" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param percentDataBad + * Neuer Wert der Eigenschaft "percentDataBad". + */ + public AggregateConfiguration.Builder<_B> withPercentDataBad(final Short percentDataBad) { + this.percentDataBad = percentDataBad; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "percentDataGood" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param percentDataGood + * Neuer Wert der Eigenschaft "percentDataGood". + */ + public AggregateConfiguration.Builder<_B> withPercentDataGood(final Short percentDataGood) { + this.percentDataGood = percentDataGood; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "useSlopedExtrapolation" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param useSlopedExtrapolation + * Neuer Wert der Eigenschaft "useSlopedExtrapolation". + */ + public AggregateConfiguration.Builder<_B> withUseSlopedExtrapolation(final Boolean useSlopedExtrapolation) { + this.useSlopedExtrapolation = useSlopedExtrapolation; + return this; + } + + @Override + public AggregateConfiguration build() { + if (_storedValue == null) { + return this.init(new AggregateConfiguration()); + } else { + return ((AggregateConfiguration) _storedValue); + } + } + + public AggregateConfiguration.Builder<_B> copyOf(final AggregateConfiguration _other) { + _other.copyTo(this); + return this; + } + + public AggregateConfiguration.Builder<_B> copyOf(final AggregateConfiguration.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AggregateConfiguration.Selector + { + + + Select() { + super(null, null, null); + } + + public static AggregateConfiguration.Select _root() { + return new AggregateConfiguration.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> useServerCapabilitiesDefaults = null; + private com.kscs.util.jaxb.Selector> treatUncertainAsBad = null; + private com.kscs.util.jaxb.Selector> percentDataBad = null; + private com.kscs.util.jaxb.Selector> percentDataGood = null; + private com.kscs.util.jaxb.Selector> useSlopedExtrapolation = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.useServerCapabilitiesDefaults!= null) { + products.put("useServerCapabilitiesDefaults", this.useServerCapabilitiesDefaults.init()); + } + if (this.treatUncertainAsBad!= null) { + products.put("treatUncertainAsBad", this.treatUncertainAsBad.init()); + } + if (this.percentDataBad!= null) { + products.put("percentDataBad", this.percentDataBad.init()); + } + if (this.percentDataGood!= null) { + products.put("percentDataGood", this.percentDataGood.init()); + } + if (this.useSlopedExtrapolation!= null) { + products.put("useSlopedExtrapolation", this.useSlopedExtrapolation.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> useServerCapabilitiesDefaults() { + return ((this.useServerCapabilitiesDefaults == null)?this.useServerCapabilitiesDefaults = new com.kscs.util.jaxb.Selector>(this._root, this, "useServerCapabilitiesDefaults"):this.useServerCapabilitiesDefaults); + } + + public com.kscs.util.jaxb.Selector> treatUncertainAsBad() { + return ((this.treatUncertainAsBad == null)?this.treatUncertainAsBad = new com.kscs.util.jaxb.Selector>(this._root, this, "treatUncertainAsBad"):this.treatUncertainAsBad); + } + + public com.kscs.util.jaxb.Selector> percentDataBad() { + return ((this.percentDataBad == null)?this.percentDataBad = new com.kscs.util.jaxb.Selector>(this._root, this, "percentDataBad"):this.percentDataBad); + } + + public com.kscs.util.jaxb.Selector> percentDataGood() { + return ((this.percentDataGood == null)?this.percentDataGood = new com.kscs.util.jaxb.Selector>(this._root, this, "percentDataGood"):this.percentDataGood); + } + + public com.kscs.util.jaxb.Selector> useSlopedExtrapolation() { + return ((this.useSlopedExtrapolation == null)?this.useSlopedExtrapolation = new com.kscs.util.jaxb.Selector>(this._root, this, "useSlopedExtrapolation"):this.useSlopedExtrapolation); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilter.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilter.java new file mode 100644 index 000000000..4ab96d251 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilter.java @@ -0,0 +1,454 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AggregateFilter complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AggregateFilter">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringFilter">
+ *       <sequence>
+ *         <element name="StartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="AggregateType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ProcessingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="AggregateConfiguration" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AggregateConfiguration" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AggregateFilter", propOrder = { + "startTime", + "aggregateType", + "processingInterval", + "aggregateConfiguration" +}) +public class AggregateFilter + extends MonitoringFilter +{ + + @XmlElement(name = "StartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar startTime; + @XmlElementRef(name = "AggregateType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement aggregateType; + @XmlElement(name = "ProcessingInterval") + protected Double processingInterval; + @XmlElementRef(name = "AggregateConfiguration", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement aggregateConfiguration; + + /** + * Ruft den Wert der startTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getStartTime() { + return startTime; + } + + /** + * Legt den Wert der startTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setStartTime(XMLGregorianCalendar value) { + this.startTime = value; + } + + /** + * Ruft den Wert der aggregateType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAggregateType() { + return aggregateType; + } + + /** + * Legt den Wert der aggregateType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAggregateType(JAXBElement value) { + this.aggregateType = value; + } + + /** + * Ruft den Wert der processingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getProcessingInterval() { + return processingInterval; + } + + /** + * Legt den Wert der processingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setProcessingInterval(Double value) { + this.processingInterval = value; + } + + /** + * Ruft den Wert der aggregateConfiguration-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + */ + public JAXBElement getAggregateConfiguration() { + return aggregateConfiguration; + } + + /** + * Legt den Wert der aggregateConfiguration-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + */ + public void setAggregateConfiguration(JAXBElement value) { + this.aggregateConfiguration = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AggregateFilter.Builder<_B> _other) { + super.copyTo(_other); + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + _other.aggregateType = this.aggregateType; + _other.processingInterval = this.processingInterval; + _other.aggregateConfiguration = this.aggregateConfiguration; + } + + @Override + public<_B >AggregateFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AggregateFilter.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public AggregateFilter.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AggregateFilter.Builder builder() { + return new AggregateFilter.Builder(null, null, false); + } + + public static<_B >AggregateFilter.Builder<_B> copyOf(final MonitoringFilter _other) { + final AggregateFilter.Builder<_B> _newBuilder = new AggregateFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >AggregateFilter.Builder<_B> copyOf(final AggregateFilter _other) { + final AggregateFilter.Builder<_B> _newBuilder = new AggregateFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AggregateFilter.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + } + final PropertyTree aggregateTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateTypePropertyTree!= null):((aggregateTypePropertyTree == null)||(!aggregateTypePropertyTree.isLeaf())))) { + _other.aggregateType = this.aggregateType; + } + final PropertyTree processingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("processingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(processingIntervalPropertyTree!= null):((processingIntervalPropertyTree == null)||(!processingIntervalPropertyTree.isLeaf())))) { + _other.processingInterval = this.processingInterval; + } + final PropertyTree aggregateConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateConfigurationPropertyTree!= null):((aggregateConfigurationPropertyTree == null)||(!aggregateConfigurationPropertyTree.isLeaf())))) { + _other.aggregateConfiguration = this.aggregateConfiguration; + } + } + + @Override + public<_B >AggregateFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AggregateFilter.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public AggregateFilter.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AggregateFilter.Builder<_B> copyOf(final MonitoringFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AggregateFilter.Builder<_B> _newBuilder = new AggregateFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >AggregateFilter.Builder<_B> copyOf(final AggregateFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AggregateFilter.Builder<_B> _newBuilder = new AggregateFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AggregateFilter.Builder copyExcept(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AggregateFilter.Builder copyExcept(final AggregateFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AggregateFilter.Builder copyOnly(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static AggregateFilter.Builder copyOnly(final AggregateFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends MonitoringFilter.Builder<_B> + implements Buildable + { + + private XMLGregorianCalendar startTime; + private JAXBElement aggregateType; + private Double processingInterval; + private JAXBElement aggregateConfiguration; + + public Builder(final _B _parentBuilder, final AggregateFilter _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + this.aggregateType = _other.aggregateType; + this.processingInterval = _other.processingInterval; + this.aggregateConfiguration = _other.aggregateConfiguration; + } + } + + public Builder(final _B _parentBuilder, final AggregateFilter _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + } + final PropertyTree aggregateTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateTypePropertyTree!= null):((aggregateTypePropertyTree == null)||(!aggregateTypePropertyTree.isLeaf())))) { + this.aggregateType = _other.aggregateType; + } + final PropertyTree processingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("processingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(processingIntervalPropertyTree!= null):((processingIntervalPropertyTree == null)||(!processingIntervalPropertyTree.isLeaf())))) { + this.processingInterval = _other.processingInterval; + } + final PropertyTree aggregateConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateConfigurationPropertyTree!= null):((aggregateConfigurationPropertyTree == null)||(!aggregateConfigurationPropertyTree.isLeaf())))) { + this.aggregateConfiguration = _other.aggregateConfiguration; + } + } + } + + protected<_P extends AggregateFilter >_P init(final _P _product) { + _product.startTime = this.startTime; + _product.aggregateType = this.aggregateType; + _product.processingInterval = this.processingInterval; + _product.aggregateConfiguration = this.aggregateConfiguration; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "startTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param startTime + * Neuer Wert der Eigenschaft "startTime". + */ + public AggregateFilter.Builder<_B> withStartTime(final XMLGregorianCalendar startTime) { + this.startTime = startTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aggregateType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param aggregateType + * Neuer Wert der Eigenschaft "aggregateType". + */ + public AggregateFilter.Builder<_B> withAggregateType(final JAXBElement aggregateType) { + this.aggregateType = aggregateType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "processingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param processingInterval + * Neuer Wert der Eigenschaft "processingInterval". + */ + public AggregateFilter.Builder<_B> withProcessingInterval(final Double processingInterval) { + this.processingInterval = processingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aggregateConfiguration" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param aggregateConfiguration + * Neuer Wert der Eigenschaft "aggregateConfiguration". + */ + public AggregateFilter.Builder<_B> withAggregateConfiguration(final JAXBElement aggregateConfiguration) { + this.aggregateConfiguration = aggregateConfiguration; + return this; + } + + @Override + public AggregateFilter build() { + if (_storedValue == null) { + return this.init(new AggregateFilter()); + } else { + return ((AggregateFilter) _storedValue); + } + } + + public AggregateFilter.Builder<_B> copyOf(final AggregateFilter _other) { + _other.copyTo(this); + return this; + } + + public AggregateFilter.Builder<_B> copyOf(final AggregateFilter.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AggregateFilter.Selector + { + + + Select() { + super(null, null, null); + } + + public static AggregateFilter.Select _root() { + return new AggregateFilter.Select(); + } + + } + + public static class Selector , TParent > + extends MonitoringFilter.Selector + { + + private com.kscs.util.jaxb.Selector> startTime = null; + private com.kscs.util.jaxb.Selector> aggregateType = null; + private com.kscs.util.jaxb.Selector> processingInterval = null; + private com.kscs.util.jaxb.Selector> aggregateConfiguration = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.startTime!= null) { + products.put("startTime", this.startTime.init()); + } + if (this.aggregateType!= null) { + products.put("aggregateType", this.aggregateType.init()); + } + if (this.processingInterval!= null) { + products.put("processingInterval", this.processingInterval.init()); + } + if (this.aggregateConfiguration!= null) { + products.put("aggregateConfiguration", this.aggregateConfiguration.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> startTime() { + return ((this.startTime == null)?this.startTime = new com.kscs.util.jaxb.Selector>(this._root, this, "startTime"):this.startTime); + } + + public com.kscs.util.jaxb.Selector> aggregateType() { + return ((this.aggregateType == null)?this.aggregateType = new com.kscs.util.jaxb.Selector>(this._root, this, "aggregateType"):this.aggregateType); + } + + public com.kscs.util.jaxb.Selector> processingInterval() { + return ((this.processingInterval == null)?this.processingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "processingInterval"):this.processingInterval); + } + + public com.kscs.util.jaxb.Selector> aggregateConfiguration() { + return ((this.aggregateConfiguration == null)?this.aggregateConfiguration = new com.kscs.util.jaxb.Selector>(this._root, this, "aggregateConfiguration"):this.aggregateConfiguration); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilterResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilterResult.java new file mode 100644 index 000000000..f4fa4ee70 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AggregateFilterResult.java @@ -0,0 +1,394 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AggregateFilterResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AggregateFilterResult">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringFilterResult">
+ *       <sequence>
+ *         <element name="RevisedStartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="RevisedProcessingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RevisedAggregateConfiguration" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AggregateConfiguration" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AggregateFilterResult", propOrder = { + "revisedStartTime", + "revisedProcessingInterval", + "revisedAggregateConfiguration" +}) +public class AggregateFilterResult + extends MonitoringFilterResult +{ + + @XmlElement(name = "RevisedStartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar revisedStartTime; + @XmlElement(name = "RevisedProcessingInterval") + protected Double revisedProcessingInterval; + @XmlElementRef(name = "RevisedAggregateConfiguration", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement revisedAggregateConfiguration; + + /** + * Ruft den Wert der revisedStartTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getRevisedStartTime() { + return revisedStartTime; + } + + /** + * Legt den Wert der revisedStartTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setRevisedStartTime(XMLGregorianCalendar value) { + this.revisedStartTime = value; + } + + /** + * Ruft den Wert der revisedProcessingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRevisedProcessingInterval() { + return revisedProcessingInterval; + } + + /** + * Legt den Wert der revisedProcessingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRevisedProcessingInterval(Double value) { + this.revisedProcessingInterval = value; + } + + /** + * Ruft den Wert der revisedAggregateConfiguration-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + */ + public JAXBElement getRevisedAggregateConfiguration() { + return revisedAggregateConfiguration; + } + + /** + * Legt den Wert der revisedAggregateConfiguration-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + */ + public void setRevisedAggregateConfiguration(JAXBElement value) { + this.revisedAggregateConfiguration = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AggregateFilterResult.Builder<_B> _other) { + super.copyTo(_other); + _other.revisedStartTime = ((this.revisedStartTime == null)?null:((XMLGregorianCalendar) this.revisedStartTime.clone())); + _other.revisedProcessingInterval = this.revisedProcessingInterval; + _other.revisedAggregateConfiguration = this.revisedAggregateConfiguration; + } + + @Override + public<_B >AggregateFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AggregateFilterResult.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public AggregateFilterResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AggregateFilterResult.Builder builder() { + return new AggregateFilterResult.Builder(null, null, false); + } + + public static<_B >AggregateFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other) { + final AggregateFilterResult.Builder<_B> _newBuilder = new AggregateFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >AggregateFilterResult.Builder<_B> copyOf(final AggregateFilterResult _other) { + final AggregateFilterResult.Builder<_B> _newBuilder = new AggregateFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AggregateFilterResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree revisedStartTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedStartTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedStartTimePropertyTree!= null):((revisedStartTimePropertyTree == null)||(!revisedStartTimePropertyTree.isLeaf())))) { + _other.revisedStartTime = ((this.revisedStartTime == null)?null:((XMLGregorianCalendar) this.revisedStartTime.clone())); + } + final PropertyTree revisedProcessingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedProcessingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedProcessingIntervalPropertyTree!= null):((revisedProcessingIntervalPropertyTree == null)||(!revisedProcessingIntervalPropertyTree.isLeaf())))) { + _other.revisedProcessingInterval = this.revisedProcessingInterval; + } + final PropertyTree revisedAggregateConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedAggregateConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedAggregateConfigurationPropertyTree!= null):((revisedAggregateConfigurationPropertyTree == null)||(!revisedAggregateConfigurationPropertyTree.isLeaf())))) { + _other.revisedAggregateConfiguration = this.revisedAggregateConfiguration; + } + } + + @Override + public<_B >AggregateFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AggregateFilterResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public AggregateFilterResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AggregateFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AggregateFilterResult.Builder<_B> _newBuilder = new AggregateFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >AggregateFilterResult.Builder<_B> copyOf(final AggregateFilterResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AggregateFilterResult.Builder<_B> _newBuilder = new AggregateFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AggregateFilterResult.Builder copyExcept(final MonitoringFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AggregateFilterResult.Builder copyExcept(final AggregateFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AggregateFilterResult.Builder copyOnly(final MonitoringFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static AggregateFilterResult.Builder copyOnly(final AggregateFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends MonitoringFilterResult.Builder<_B> + implements Buildable + { + + private XMLGregorianCalendar revisedStartTime; + private Double revisedProcessingInterval; + private JAXBElement revisedAggregateConfiguration; + + public Builder(final _B _parentBuilder, final AggregateFilterResult _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.revisedStartTime = ((_other.revisedStartTime == null)?null:((XMLGregorianCalendar) _other.revisedStartTime.clone())); + this.revisedProcessingInterval = _other.revisedProcessingInterval; + this.revisedAggregateConfiguration = _other.revisedAggregateConfiguration; + } + } + + public Builder(final _B _parentBuilder, final AggregateFilterResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree revisedStartTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedStartTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedStartTimePropertyTree!= null):((revisedStartTimePropertyTree == null)||(!revisedStartTimePropertyTree.isLeaf())))) { + this.revisedStartTime = ((_other.revisedStartTime == null)?null:((XMLGregorianCalendar) _other.revisedStartTime.clone())); + } + final PropertyTree revisedProcessingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedProcessingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedProcessingIntervalPropertyTree!= null):((revisedProcessingIntervalPropertyTree == null)||(!revisedProcessingIntervalPropertyTree.isLeaf())))) { + this.revisedProcessingInterval = _other.revisedProcessingInterval; + } + final PropertyTree revisedAggregateConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedAggregateConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedAggregateConfigurationPropertyTree!= null):((revisedAggregateConfigurationPropertyTree == null)||(!revisedAggregateConfigurationPropertyTree.isLeaf())))) { + this.revisedAggregateConfiguration = _other.revisedAggregateConfiguration; + } + } + } + + protected<_P extends AggregateFilterResult >_P init(final _P _product) { + _product.revisedStartTime = this.revisedStartTime; + _product.revisedProcessingInterval = this.revisedProcessingInterval; + _product.revisedAggregateConfiguration = this.revisedAggregateConfiguration; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedStartTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param revisedStartTime + * Neuer Wert der Eigenschaft "revisedStartTime". + */ + public AggregateFilterResult.Builder<_B> withRevisedStartTime(final XMLGregorianCalendar revisedStartTime) { + this.revisedStartTime = revisedStartTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedProcessingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedProcessingInterval + * Neuer Wert der Eigenschaft "revisedProcessingInterval". + */ + public AggregateFilterResult.Builder<_B> withRevisedProcessingInterval(final Double revisedProcessingInterval) { + this.revisedProcessingInterval = revisedProcessingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedAggregateConfiguration" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedAggregateConfiguration + * Neuer Wert der Eigenschaft "revisedAggregateConfiguration". + */ + public AggregateFilterResult.Builder<_B> withRevisedAggregateConfiguration(final JAXBElement revisedAggregateConfiguration) { + this.revisedAggregateConfiguration = revisedAggregateConfiguration; + return this; + } + + @Override + public AggregateFilterResult build() { + if (_storedValue == null) { + return this.init(new AggregateFilterResult()); + } else { + return ((AggregateFilterResult) _storedValue); + } + } + + public AggregateFilterResult.Builder<_B> copyOf(final AggregateFilterResult _other) { + _other.copyTo(this); + return this; + } + + public AggregateFilterResult.Builder<_B> copyOf(final AggregateFilterResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AggregateFilterResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static AggregateFilterResult.Select _root() { + return new AggregateFilterResult.Select(); + } + + } + + public static class Selector , TParent > + extends MonitoringFilterResult.Selector + { + + private com.kscs.util.jaxb.Selector> revisedStartTime = null; + private com.kscs.util.jaxb.Selector> revisedProcessingInterval = null; + private com.kscs.util.jaxb.Selector> revisedAggregateConfiguration = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.revisedStartTime!= null) { + products.put("revisedStartTime", this.revisedStartTime.init()); + } + if (this.revisedProcessingInterval!= null) { + products.put("revisedProcessingInterval", this.revisedProcessingInterval.init()); + } + if (this.revisedAggregateConfiguration!= null) { + products.put("revisedAggregateConfiguration", this.revisedAggregateConfiguration.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> revisedStartTime() { + return ((this.revisedStartTime == null)?this.revisedStartTime = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedStartTime"):this.revisedStartTime); + } + + public com.kscs.util.jaxb.Selector> revisedProcessingInterval() { + return ((this.revisedProcessingInterval == null)?this.revisedProcessingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedProcessingInterval"):this.revisedProcessingInterval); + } + + public com.kscs.util.jaxb.Selector> revisedAggregateConfiguration() { + return ((this.revisedAggregateConfiguration == null)?this.revisedAggregateConfiguration = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedAggregateConfiguration"):this.revisedAggregateConfiguration); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AliasNameDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AliasNameDataType.java new file mode 100644 index 000000000..10d119b5f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AliasNameDataType.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AliasNameDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AliasNameDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AliasName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *         <element name="ReferencedNodes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfExpandedNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AliasNameDataType", propOrder = { + "aliasName", + "referencedNodes" +}) +public class AliasNameDataType { + + @XmlElementRef(name = "AliasName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement aliasName; + @XmlElementRef(name = "ReferencedNodes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referencedNodes; + + /** + * Ruft den Wert der aliasName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getAliasName() { + return aliasName; + } + + /** + * Legt den Wert der aliasName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setAliasName(JAXBElement value) { + this.aliasName = value; + } + + /** + * Ruft den Wert der referencedNodes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfExpandedNodeId }{@code >} + * + */ + public JAXBElement getReferencedNodes() { + return referencedNodes; + } + + /** + * Legt den Wert der referencedNodes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfExpandedNodeId }{@code >} + * + */ + public void setReferencedNodes(JAXBElement value) { + this.referencedNodes = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AliasNameDataType.Builder<_B> _other) { + _other.aliasName = this.aliasName; + _other.referencedNodes = this.referencedNodes; + } + + public<_B >AliasNameDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AliasNameDataType.Builder<_B>(_parentBuilder, this, true); + } + + public AliasNameDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AliasNameDataType.Builder builder() { + return new AliasNameDataType.Builder(null, null, false); + } + + public static<_B >AliasNameDataType.Builder<_B> copyOf(final AliasNameDataType _other) { + final AliasNameDataType.Builder<_B> _newBuilder = new AliasNameDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AliasNameDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree aliasNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aliasName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aliasNamePropertyTree!= null):((aliasNamePropertyTree == null)||(!aliasNamePropertyTree.isLeaf())))) { + _other.aliasName = this.aliasName; + } + final PropertyTree referencedNodesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencedNodes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencedNodesPropertyTree!= null):((referencedNodesPropertyTree == null)||(!referencedNodesPropertyTree.isLeaf())))) { + _other.referencedNodes = this.referencedNodes; + } + } + + public<_B >AliasNameDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AliasNameDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AliasNameDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AliasNameDataType.Builder<_B> copyOf(final AliasNameDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AliasNameDataType.Builder<_B> _newBuilder = new AliasNameDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AliasNameDataType.Builder copyExcept(final AliasNameDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AliasNameDataType.Builder copyOnly(final AliasNameDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AliasNameDataType _storedValue; + private JAXBElement aliasName; + private JAXBElement referencedNodes; + + public Builder(final _B _parentBuilder, final AliasNameDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.aliasName = _other.aliasName; + this.referencedNodes = _other.referencedNodes; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AliasNameDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree aliasNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aliasName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aliasNamePropertyTree!= null):((aliasNamePropertyTree == null)||(!aliasNamePropertyTree.isLeaf())))) { + this.aliasName = _other.aliasName; + } + final PropertyTree referencedNodesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencedNodes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencedNodesPropertyTree!= null):((referencedNodesPropertyTree == null)||(!referencedNodesPropertyTree.isLeaf())))) { + this.referencedNodes = _other.referencedNodes; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AliasNameDataType >_P init(final _P _product) { + _product.aliasName = this.aliasName; + _product.referencedNodes = this.referencedNodes; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aliasName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param aliasName + * Neuer Wert der Eigenschaft "aliasName". + */ + public AliasNameDataType.Builder<_B> withAliasName(final JAXBElement aliasName) { + this.aliasName = aliasName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referencedNodes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referencedNodes + * Neuer Wert der Eigenschaft "referencedNodes". + */ + public AliasNameDataType.Builder<_B> withReferencedNodes(final JAXBElement referencedNodes) { + this.referencedNodes = referencedNodes; + return this; + } + + @Override + public AliasNameDataType build() { + if (_storedValue == null) { + return this.init(new AliasNameDataType()); + } else { + return ((AliasNameDataType) _storedValue); + } + } + + public AliasNameDataType.Builder<_B> copyOf(final AliasNameDataType _other) { + _other.copyTo(this); + return this; + } + + public AliasNameDataType.Builder<_B> copyOf(final AliasNameDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AliasNameDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static AliasNameDataType.Select _root() { + return new AliasNameDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> aliasName = null; + private com.kscs.util.jaxb.Selector> referencedNodes = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.aliasName!= null) { + products.put("aliasName", this.aliasName.init()); + } + if (this.referencedNodes!= null) { + products.put("referencedNodes", this.referencedNodes.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> aliasName() { + return ((this.aliasName == null)?this.aliasName = new com.kscs.util.jaxb.Selector>(this._root, this, "aliasName"):this.aliasName); + } + + public com.kscs.util.jaxb.Selector> referencedNodes() { + return ((this.referencedNodes == null)?this.referencedNodes = new com.kscs.util.jaxb.Selector>(this._root, this, "referencedNodes"):this.referencedNodes); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Annotation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Annotation.java new file mode 100644 index 000000000..a00cb5276 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Annotation.java @@ -0,0 +1,384 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Annotation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Annotation">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="UserName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="AnnotationTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Annotation", propOrder = { + "message", + "userName", + "annotationTime" +}) +public class Annotation { + + @XmlElementRef(name = "Message", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement message; + @XmlElementRef(name = "UserName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userName; + @XmlElement(name = "AnnotationTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar annotationTime; + + /** + * Ruft den Wert der message-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getMessage() { + return message; + } + + /** + * Legt den Wert der message-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setMessage(JAXBElement value) { + this.message = value; + } + + /** + * Ruft den Wert der userName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getUserName() { + return userName; + } + + /** + * Legt den Wert der userName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setUserName(JAXBElement value) { + this.userName = value; + } + + /** + * Ruft den Wert der annotationTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getAnnotationTime() { + return annotationTime; + } + + /** + * Legt den Wert der annotationTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setAnnotationTime(XMLGregorianCalendar value) { + this.annotationTime = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Annotation.Builder<_B> _other) { + _other.message = this.message; + _other.userName = this.userName; + _other.annotationTime = ((this.annotationTime == null)?null:((XMLGregorianCalendar) this.annotationTime.clone())); + } + + public<_B >Annotation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Annotation.Builder<_B>(_parentBuilder, this, true); + } + + public Annotation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Annotation.Builder builder() { + return new Annotation.Builder(null, null, false); + } + + public static<_B >Annotation.Builder<_B> copyOf(final Annotation _other) { + final Annotation.Builder<_B> _newBuilder = new Annotation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Annotation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree messagePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("message")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messagePropertyTree!= null):((messagePropertyTree == null)||(!messagePropertyTree.isLeaf())))) { + _other.message = this.message; + } + final PropertyTree userNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNamePropertyTree!= null):((userNamePropertyTree == null)||(!userNamePropertyTree.isLeaf())))) { + _other.userName = this.userName; + } + final PropertyTree annotationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("annotationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(annotationTimePropertyTree!= null):((annotationTimePropertyTree == null)||(!annotationTimePropertyTree.isLeaf())))) { + _other.annotationTime = ((this.annotationTime == null)?null:((XMLGregorianCalendar) this.annotationTime.clone())); + } + } + + public<_B >Annotation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Annotation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Annotation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Annotation.Builder<_B> copyOf(final Annotation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Annotation.Builder<_B> _newBuilder = new Annotation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Annotation.Builder copyExcept(final Annotation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Annotation.Builder copyOnly(final Annotation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Annotation _storedValue; + private JAXBElement message; + private JAXBElement userName; + private XMLGregorianCalendar annotationTime; + + public Builder(final _B _parentBuilder, final Annotation _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.message = _other.message; + this.userName = _other.userName; + this.annotationTime = ((_other.annotationTime == null)?null:((XMLGregorianCalendar) _other.annotationTime.clone())); + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Annotation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree messagePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("message")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messagePropertyTree!= null):((messagePropertyTree == null)||(!messagePropertyTree.isLeaf())))) { + this.message = _other.message; + } + final PropertyTree userNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNamePropertyTree!= null):((userNamePropertyTree == null)||(!userNamePropertyTree.isLeaf())))) { + this.userName = _other.userName; + } + final PropertyTree annotationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("annotationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(annotationTimePropertyTree!= null):((annotationTimePropertyTree == null)||(!annotationTimePropertyTree.isLeaf())))) { + this.annotationTime = ((_other.annotationTime == null)?null:((XMLGregorianCalendar) _other.annotationTime.clone())); + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Annotation >_P init(final _P _product) { + _product.message = this.message; + _product.userName = this.userName; + _product.annotationTime = this.annotationTime; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "message" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param message + * Neuer Wert der Eigenschaft "message". + */ + public Annotation.Builder<_B> withMessage(final JAXBElement message) { + this.message = message; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param userName + * Neuer Wert der Eigenschaft "userName". + */ + public Annotation.Builder<_B> withUserName(final JAXBElement userName) { + this.userName = userName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "annotationTime" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param annotationTime + * Neuer Wert der Eigenschaft "annotationTime". + */ + public Annotation.Builder<_B> withAnnotationTime(final XMLGregorianCalendar annotationTime) { + this.annotationTime = annotationTime; + return this; + } + + @Override + public Annotation build() { + if (_storedValue == null) { + return this.init(new Annotation()); + } else { + return ((Annotation) _storedValue); + } + } + + public Annotation.Builder<_B> copyOf(final Annotation _other) { + _other.copyTo(this); + return this; + } + + public Annotation.Builder<_B> copyOf(final Annotation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Annotation.Selector + { + + + Select() { + super(null, null, null); + } + + public static Annotation.Select _root() { + return new Annotation.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> message = null; + private com.kscs.util.jaxb.Selector> userName = null; + private com.kscs.util.jaxb.Selector> annotationTime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.message!= null) { + products.put("message", this.message.init()); + } + if (this.userName!= null) { + products.put("userName", this.userName.init()); + } + if (this.annotationTime!= null) { + products.put("annotationTime", this.annotationTime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> message() { + return ((this.message == null)?this.message = new com.kscs.util.jaxb.Selector>(this._root, this, "message"):this.message); + } + + public com.kscs.util.jaxb.Selector> userName() { + return ((this.userName == null)?this.userName = new com.kscs.util.jaxb.Selector>(this._root, this, "userName"):this.userName); + } + + public com.kscs.util.jaxb.Selector> annotationTime() { + return ((this.annotationTime == null)?this.annotationTime = new com.kscs.util.jaxb.Selector>(this._root, this, "annotationTime"):this.annotationTime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AnonymousIdentityToken.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AnonymousIdentityToken.java new file mode 100644 index 000000000..8e091e12d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AnonymousIdentityToken.java @@ -0,0 +1,221 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AnonymousIdentityToken complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AnonymousIdentityToken">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserIdentityToken">
+ *       <sequence>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AnonymousIdentityToken") +public class AnonymousIdentityToken + extends UserIdentityToken +{ + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AnonymousIdentityToken.Builder<_B> _other) { + super.copyTo(_other); + } + + @Override + public<_B >AnonymousIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AnonymousIdentityToken.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public AnonymousIdentityToken.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AnonymousIdentityToken.Builder builder() { + return new AnonymousIdentityToken.Builder(null, null, false); + } + + public static<_B >AnonymousIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other) { + final AnonymousIdentityToken.Builder<_B> _newBuilder = new AnonymousIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >AnonymousIdentityToken.Builder<_B> copyOf(final AnonymousIdentityToken _other) { + final AnonymousIdentityToken.Builder<_B> _newBuilder = new AnonymousIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AnonymousIdentityToken.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + } + + @Override + public<_B >AnonymousIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AnonymousIdentityToken.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public AnonymousIdentityToken.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AnonymousIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AnonymousIdentityToken.Builder<_B> _newBuilder = new AnonymousIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >AnonymousIdentityToken.Builder<_B> copyOf(final AnonymousIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AnonymousIdentityToken.Builder<_B> _newBuilder = new AnonymousIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AnonymousIdentityToken.Builder copyExcept(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AnonymousIdentityToken.Builder copyExcept(final AnonymousIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AnonymousIdentityToken.Builder copyOnly(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static AnonymousIdentityToken.Builder copyOnly(final AnonymousIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends UserIdentityToken.Builder<_B> + implements Buildable + { + + + public Builder(final _B _parentBuilder, final AnonymousIdentityToken _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + } + } + + public Builder(final _B _parentBuilder, final AnonymousIdentityToken _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + } + } + + protected<_P extends AnonymousIdentityToken >_P init(final _P _product) { + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "policyId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param policyId + * Neuer Wert der Eigenschaft "policyId". + */ + @Override + public AnonymousIdentityToken.Builder<_B> withPolicyId(final JAXBElement policyId) { + super.withPolicyId(policyId); + return this; + } + + @Override + public AnonymousIdentityToken build() { + if (_storedValue == null) { + return this.init(new AnonymousIdentityToken()); + } else { + return ((AnonymousIdentityToken) _storedValue); + } + } + + public AnonymousIdentityToken.Builder<_B> copyOf(final AnonymousIdentityToken _other) { + _other.copyTo(this); + return this; + } + + public AnonymousIdentityToken.Builder<_B> copyOf(final AnonymousIdentityToken.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AnonymousIdentityToken.Selector + { + + + Select() { + super(null, null, null); + } + + public static AnonymousIdentityToken.Select _root() { + return new AnonymousIdentityToken.Select(); + } + + } + + public static class Selector , TParent > + extends UserIdentityToken.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationDescription.java new file mode 100644 index 000000000..13aaa25fb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationDescription.java @@ -0,0 +1,623 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ApplicationDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ApplicationDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ApplicationUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ProductUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ApplicationName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="ApplicationType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ApplicationType" minOccurs="0"/>
+ *         <element name="GatewayServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DiscoveryProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DiscoveryUrls" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ApplicationDescription", propOrder = { + "applicationUri", + "productUri", + "applicationName", + "applicationType", + "gatewayServerUri", + "discoveryProfileUri", + "discoveryUrls" +}) +public class ApplicationDescription { + + @XmlElementRef(name = "ApplicationUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement applicationUri; + @XmlElementRef(name = "ProductUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement productUri; + @XmlElementRef(name = "ApplicationName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement applicationName; + @XmlElement(name = "ApplicationType") + @XmlSchemaType(name = "string") + protected ApplicationType applicationType; + @XmlElementRef(name = "GatewayServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement gatewayServerUri; + @XmlElementRef(name = "DiscoveryProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement discoveryProfileUri; + @XmlElementRef(name = "DiscoveryUrls", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement discoveryUrls; + + /** + * Ruft den Wert der applicationUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getApplicationUri() { + return applicationUri; + } + + /** + * Legt den Wert der applicationUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setApplicationUri(JAXBElement value) { + this.applicationUri = value; + } + + /** + * Ruft den Wert der productUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getProductUri() { + return productUri; + } + + /** + * Legt den Wert der productUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setProductUri(JAXBElement value) { + this.productUri = value; + } + + /** + * Ruft den Wert der applicationName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getApplicationName() { + return applicationName; + } + + /** + * Legt den Wert der applicationName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setApplicationName(JAXBElement value) { + this.applicationName = value; + } + + /** + * Ruft den Wert der applicationType-Eigenschaft ab. + * + * @return + * possible object is + * {@link ApplicationType } + * + */ + public ApplicationType getApplicationType() { + return applicationType; + } + + /** + * Legt den Wert der applicationType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ApplicationType } + * + */ + public void setApplicationType(ApplicationType value) { + this.applicationType = value; + } + + /** + * Ruft den Wert der gatewayServerUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getGatewayServerUri() { + return gatewayServerUri; + } + + /** + * Legt den Wert der gatewayServerUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setGatewayServerUri(JAXBElement value) { + this.gatewayServerUri = value; + } + + /** + * Ruft den Wert der discoveryProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getDiscoveryProfileUri() { + return discoveryProfileUri; + } + + /** + * Legt den Wert der discoveryProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setDiscoveryProfileUri(JAXBElement value) { + this.discoveryProfileUri = value; + } + + /** + * Ruft den Wert der discoveryUrls-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getDiscoveryUrls() { + return discoveryUrls; + } + + /** + * Legt den Wert der discoveryUrls-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setDiscoveryUrls(JAXBElement value) { + this.discoveryUrls = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ApplicationDescription.Builder<_B> _other) { + _other.applicationUri = this.applicationUri; + _other.productUri = this.productUri; + _other.applicationName = this.applicationName; + _other.applicationType = this.applicationType; + _other.gatewayServerUri = this.gatewayServerUri; + _other.discoveryProfileUri = this.discoveryProfileUri; + _other.discoveryUrls = this.discoveryUrls; + } + + public<_B >ApplicationDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ApplicationDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ApplicationDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ApplicationDescription.Builder builder() { + return new ApplicationDescription.Builder(null, null, false); + } + + public static<_B >ApplicationDescription.Builder<_B> copyOf(final ApplicationDescription _other) { + final ApplicationDescription.Builder<_B> _newBuilder = new ApplicationDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ApplicationDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree applicationUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationUriPropertyTree!= null):((applicationUriPropertyTree == null)||(!applicationUriPropertyTree.isLeaf())))) { + _other.applicationUri = this.applicationUri; + } + final PropertyTree productUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productUriPropertyTree!= null):((productUriPropertyTree == null)||(!productUriPropertyTree.isLeaf())))) { + _other.productUri = this.productUri; + } + final PropertyTree applicationNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationNamePropertyTree!= null):((applicationNamePropertyTree == null)||(!applicationNamePropertyTree.isLeaf())))) { + _other.applicationName = this.applicationName; + } + final PropertyTree applicationTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationTypePropertyTree!= null):((applicationTypePropertyTree == null)||(!applicationTypePropertyTree.isLeaf())))) { + _other.applicationType = this.applicationType; + } + final PropertyTree gatewayServerUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("gatewayServerUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(gatewayServerUriPropertyTree!= null):((gatewayServerUriPropertyTree == null)||(!gatewayServerUriPropertyTree.isLeaf())))) { + _other.gatewayServerUri = this.gatewayServerUri; + } + final PropertyTree discoveryProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryProfileUriPropertyTree!= null):((discoveryProfileUriPropertyTree == null)||(!discoveryProfileUriPropertyTree.isLeaf())))) { + _other.discoveryProfileUri = this.discoveryProfileUri; + } + final PropertyTree discoveryUrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryUrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryUrlsPropertyTree!= null):((discoveryUrlsPropertyTree == null)||(!discoveryUrlsPropertyTree.isLeaf())))) { + _other.discoveryUrls = this.discoveryUrls; + } + } + + public<_B >ApplicationDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ApplicationDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ApplicationDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ApplicationDescription.Builder<_B> copyOf(final ApplicationDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ApplicationDescription.Builder<_B> _newBuilder = new ApplicationDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ApplicationDescription.Builder copyExcept(final ApplicationDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ApplicationDescription.Builder copyOnly(final ApplicationDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ApplicationDescription _storedValue; + private JAXBElement applicationUri; + private JAXBElement productUri; + private JAXBElement applicationName; + private ApplicationType applicationType; + private JAXBElement gatewayServerUri; + private JAXBElement discoveryProfileUri; + private JAXBElement discoveryUrls; + + public Builder(final _B _parentBuilder, final ApplicationDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.applicationUri = _other.applicationUri; + this.productUri = _other.productUri; + this.applicationName = _other.applicationName; + this.applicationType = _other.applicationType; + this.gatewayServerUri = _other.gatewayServerUri; + this.discoveryProfileUri = _other.discoveryProfileUri; + this.discoveryUrls = _other.discoveryUrls; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ApplicationDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree applicationUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationUriPropertyTree!= null):((applicationUriPropertyTree == null)||(!applicationUriPropertyTree.isLeaf())))) { + this.applicationUri = _other.applicationUri; + } + final PropertyTree productUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productUriPropertyTree!= null):((productUriPropertyTree == null)||(!productUriPropertyTree.isLeaf())))) { + this.productUri = _other.productUri; + } + final PropertyTree applicationNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationNamePropertyTree!= null):((applicationNamePropertyTree == null)||(!applicationNamePropertyTree.isLeaf())))) { + this.applicationName = _other.applicationName; + } + final PropertyTree applicationTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationTypePropertyTree!= null):((applicationTypePropertyTree == null)||(!applicationTypePropertyTree.isLeaf())))) { + this.applicationType = _other.applicationType; + } + final PropertyTree gatewayServerUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("gatewayServerUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(gatewayServerUriPropertyTree!= null):((gatewayServerUriPropertyTree == null)||(!gatewayServerUriPropertyTree.isLeaf())))) { + this.gatewayServerUri = _other.gatewayServerUri; + } + final PropertyTree discoveryProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryProfileUriPropertyTree!= null):((discoveryProfileUriPropertyTree == null)||(!discoveryProfileUriPropertyTree.isLeaf())))) { + this.discoveryProfileUri = _other.discoveryProfileUri; + } + final PropertyTree discoveryUrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryUrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryUrlsPropertyTree!= null):((discoveryUrlsPropertyTree == null)||(!discoveryUrlsPropertyTree.isLeaf())))) { + this.discoveryUrls = _other.discoveryUrls; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ApplicationDescription >_P init(final _P _product) { + _product.applicationUri = this.applicationUri; + _product.productUri = this.productUri; + _product.applicationName = this.applicationName; + _product.applicationType = this.applicationType; + _product.gatewayServerUri = this.gatewayServerUri; + _product.discoveryProfileUri = this.discoveryProfileUri; + _product.discoveryUrls = this.discoveryUrls; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "applicationUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param applicationUri + * Neuer Wert der Eigenschaft "applicationUri". + */ + public ApplicationDescription.Builder<_B> withApplicationUri(final JAXBElement applicationUri) { + this.applicationUri = applicationUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "productUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param productUri + * Neuer Wert der Eigenschaft "productUri". + */ + public ApplicationDescription.Builder<_B> withProductUri(final JAXBElement productUri) { + this.productUri = productUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "applicationName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param applicationName + * Neuer Wert der Eigenschaft "applicationName". + */ + public ApplicationDescription.Builder<_B> withApplicationName(final JAXBElement applicationName) { + this.applicationName = applicationName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "applicationType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param applicationType + * Neuer Wert der Eigenschaft "applicationType". + */ + public ApplicationDescription.Builder<_B> withApplicationType(final ApplicationType applicationType) { + this.applicationType = applicationType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "gatewayServerUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param gatewayServerUri + * Neuer Wert der Eigenschaft "gatewayServerUri". + */ + public ApplicationDescription.Builder<_B> withGatewayServerUri(final JAXBElement gatewayServerUri) { + this.gatewayServerUri = gatewayServerUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discoveryProfileUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param discoveryProfileUri + * Neuer Wert der Eigenschaft "discoveryProfileUri". + */ + public ApplicationDescription.Builder<_B> withDiscoveryProfileUri(final JAXBElement discoveryProfileUri) { + this.discoveryProfileUri = discoveryProfileUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discoveryUrls" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param discoveryUrls + * Neuer Wert der Eigenschaft "discoveryUrls". + */ + public ApplicationDescription.Builder<_B> withDiscoveryUrls(final JAXBElement discoveryUrls) { + this.discoveryUrls = discoveryUrls; + return this; + } + + @Override + public ApplicationDescription build() { + if (_storedValue == null) { + return this.init(new ApplicationDescription()); + } else { + return ((ApplicationDescription) _storedValue); + } + } + + public ApplicationDescription.Builder<_B> copyOf(final ApplicationDescription _other) { + _other.copyTo(this); + return this; + } + + public ApplicationDescription.Builder<_B> copyOf(final ApplicationDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ApplicationDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ApplicationDescription.Select _root() { + return new ApplicationDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> applicationUri = null; + private com.kscs.util.jaxb.Selector> productUri = null; + private com.kscs.util.jaxb.Selector> applicationName = null; + private com.kscs.util.jaxb.Selector> applicationType = null; + private com.kscs.util.jaxb.Selector> gatewayServerUri = null; + private com.kscs.util.jaxb.Selector> discoveryProfileUri = null; + private com.kscs.util.jaxb.Selector> discoveryUrls = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.applicationUri!= null) { + products.put("applicationUri", this.applicationUri.init()); + } + if (this.productUri!= null) { + products.put("productUri", this.productUri.init()); + } + if (this.applicationName!= null) { + products.put("applicationName", this.applicationName.init()); + } + if (this.applicationType!= null) { + products.put("applicationType", this.applicationType.init()); + } + if (this.gatewayServerUri!= null) { + products.put("gatewayServerUri", this.gatewayServerUri.init()); + } + if (this.discoveryProfileUri!= null) { + products.put("discoveryProfileUri", this.discoveryProfileUri.init()); + } + if (this.discoveryUrls!= null) { + products.put("discoveryUrls", this.discoveryUrls.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> applicationUri() { + return ((this.applicationUri == null)?this.applicationUri = new com.kscs.util.jaxb.Selector>(this._root, this, "applicationUri"):this.applicationUri); + } + + public com.kscs.util.jaxb.Selector> productUri() { + return ((this.productUri == null)?this.productUri = new com.kscs.util.jaxb.Selector>(this._root, this, "productUri"):this.productUri); + } + + public com.kscs.util.jaxb.Selector> applicationName() { + return ((this.applicationName == null)?this.applicationName = new com.kscs.util.jaxb.Selector>(this._root, this, "applicationName"):this.applicationName); + } + + public com.kscs.util.jaxb.Selector> applicationType() { + return ((this.applicationType == null)?this.applicationType = new com.kscs.util.jaxb.Selector>(this._root, this, "applicationType"):this.applicationType); + } + + public com.kscs.util.jaxb.Selector> gatewayServerUri() { + return ((this.gatewayServerUri == null)?this.gatewayServerUri = new com.kscs.util.jaxb.Selector>(this._root, this, "gatewayServerUri"):this.gatewayServerUri); + } + + public com.kscs.util.jaxb.Selector> discoveryProfileUri() { + return ((this.discoveryProfileUri == null)?this.discoveryProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "discoveryProfileUri"):this.discoveryProfileUri); + } + + public com.kscs.util.jaxb.Selector> discoveryUrls() { + return ((this.discoveryUrls == null)?this.discoveryUrls = new com.kscs.util.jaxb.Selector>(this._root, this, "discoveryUrls"):this.discoveryUrls); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationType.java new file mode 100644 index 000000000..d38c15a18 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ApplicationType.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für ApplicationType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="ApplicationType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Server_0"/>
+ *     <enumeration value="Client_1"/>
+ *     <enumeration value="ClientAndServer_2"/>
+ *     <enumeration value="DiscoveryServer_3"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "ApplicationType") +@XmlEnum +public enum ApplicationType { + + @XmlEnumValue("Server_0") + SERVER_0("Server_0"), + @XmlEnumValue("Client_1") + CLIENT_1("Client_1"), + @XmlEnumValue("ClientAndServer_2") + CLIENT_AND_SERVER_2("ClientAndServer_2"), + @XmlEnumValue("DiscoveryServer_3") + DISCOVERY_SERVER_3("DiscoveryServer_3"); + private final String value; + + ApplicationType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static ApplicationType fromValue(String v) { + for (ApplicationType c: ApplicationType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Argument.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Argument.java new file mode 100644 index 000000000..ff220b08b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Argument.java @@ -0,0 +1,501 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Argument complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Argument">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Argument", propOrder = { + "name", + "dataType", + "valueRank", + "arrayDimensions", + "description" +}) +public class Argument { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Argument.Builder<_B> _other) { + _other.name = this.name; + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.description = this.description; + } + + public<_B >Argument.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Argument.Builder<_B>(_parentBuilder, this, true); + } + + public Argument.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Argument.Builder builder() { + return new Argument.Builder(null, null, false); + } + + public static<_B >Argument.Builder<_B> copyOf(final Argument _other) { + final Argument.Builder<_B> _newBuilder = new Argument.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Argument.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + } + + public<_B >Argument.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Argument.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Argument.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Argument.Builder<_B> copyOf(final Argument _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Argument.Builder<_B> _newBuilder = new Argument.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Argument.Builder copyExcept(final Argument _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Argument.Builder copyOnly(final Argument _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Argument _storedValue; + private JAXBElement name; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private JAXBElement description; + + public Builder(final _B _parentBuilder, final Argument _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.description = _other.description; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Argument _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Argument >_P init(final _P _product) { + _product.name = this.name; + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.description = this.description; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public Argument.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public Argument.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public Argument.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public Argument.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public Argument.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + @Override + public Argument build() { + if (_storedValue == null) { + return this.init(new Argument()); + } else { + return ((Argument) _storedValue); + } + } + + public Argument.Builder<_B> copyOf(final Argument _other) { + _other.copyTo(this); + return this; + } + + public Argument.Builder<_B> copyOf(final Argument.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Argument.Selector + { + + + Select() { + super(null, null, null); + } + + public static Argument.Select _root() { + return new Argument.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> description = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AttributeOperand.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AttributeOperand.java new file mode 100644 index 000000000..1a6e46efa --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AttributeOperand.java @@ -0,0 +1,513 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AttributeOperand complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AttributeOperand">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}FilterOperand">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Alias" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="BrowsePath" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RelativePath" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AttributeOperand", propOrder = { + "nodeId", + "alias", + "browsePath", + "attributeId", + "indexRange" +}) +public class AttributeOperand + extends FilterOperand +{ + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElementRef(name = "Alias", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement alias; + @XmlElementRef(name = "BrowsePath", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browsePath; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der alias-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAlias() { + return alias; + } + + /** + * Legt den Wert der alias-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAlias(JAXBElement value) { + this.alias = value; + } + + /** + * Ruft den Wert der browsePath-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + */ + public JAXBElement getBrowsePath() { + return browsePath; + } + + /** + * Legt den Wert der browsePath-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + */ + public void setBrowsePath(JAXBElement value) { + this.browsePath = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AttributeOperand.Builder<_B> _other) { + super.copyTo(_other); + _other.nodeId = this.nodeId; + _other.alias = this.alias; + _other.browsePath = this.browsePath; + _other.attributeId = this.attributeId; + _other.indexRange = this.indexRange; + } + + @Override + public<_B >AttributeOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AttributeOperand.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public AttributeOperand.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AttributeOperand.Builder builder() { + return new AttributeOperand.Builder(null, null, false); + } + + public static<_B >AttributeOperand.Builder<_B> copyOf(final FilterOperand _other) { + final AttributeOperand.Builder<_B> _newBuilder = new AttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >AttributeOperand.Builder<_B> copyOf(final AttributeOperand _other) { + final AttributeOperand.Builder<_B> _newBuilder = new AttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AttributeOperand.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree aliasPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("alias")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aliasPropertyTree!= null):((aliasPropertyTree == null)||(!aliasPropertyTree.isLeaf())))) { + _other.alias = this.alias; + } + final PropertyTree browsePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathPropertyTree!= null):((browsePathPropertyTree == null)||(!browsePathPropertyTree.isLeaf())))) { + _other.browsePath = this.browsePath; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + } + + @Override + public<_B >AttributeOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AttributeOperand.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public AttributeOperand.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AttributeOperand.Builder<_B> copyOf(final FilterOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AttributeOperand.Builder<_B> _newBuilder = new AttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >AttributeOperand.Builder<_B> copyOf(final AttributeOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AttributeOperand.Builder<_B> _newBuilder = new AttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AttributeOperand.Builder copyExcept(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AttributeOperand.Builder copyExcept(final AttributeOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AttributeOperand.Builder copyOnly(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static AttributeOperand.Builder copyOnly(final AttributeOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends FilterOperand.Builder<_B> + implements Buildable + { + + private JAXBElement nodeId; + private JAXBElement alias; + private JAXBElement browsePath; + private Long attributeId; + private JAXBElement indexRange; + + public Builder(final _B _parentBuilder, final AttributeOperand _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.nodeId = _other.nodeId; + this.alias = _other.alias; + this.browsePath = _other.browsePath; + this.attributeId = _other.attributeId; + this.indexRange = _other.indexRange; + } + } + + public Builder(final _B _parentBuilder, final AttributeOperand _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree aliasPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("alias")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aliasPropertyTree!= null):((aliasPropertyTree == null)||(!aliasPropertyTree.isLeaf())))) { + this.alias = _other.alias; + } + final PropertyTree browsePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathPropertyTree!= null):((browsePathPropertyTree == null)||(!browsePathPropertyTree.isLeaf())))) { + this.browsePath = _other.browsePath; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + } + } + + protected<_P extends AttributeOperand >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.alias = this.alias; + _product.browsePath = this.browsePath; + _product.attributeId = this.attributeId; + _product.indexRange = this.indexRange; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public AttributeOperand.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "alias" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param alias + * Neuer Wert der Eigenschaft "alias". + */ + public AttributeOperand.Builder<_B> withAlias(final JAXBElement alias) { + this.alias = alias; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePath" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browsePath + * Neuer Wert der Eigenschaft "browsePath". + */ + public AttributeOperand.Builder<_B> withBrowsePath(final JAXBElement browsePath) { + this.browsePath = browsePath; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public AttributeOperand.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public AttributeOperand.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + @Override + public AttributeOperand build() { + if (_storedValue == null) { + return this.init(new AttributeOperand()); + } else { + return ((AttributeOperand) _storedValue); + } + } + + public AttributeOperand.Builder<_B> copyOf(final AttributeOperand _other) { + _other.copyTo(this); + return this; + } + + public AttributeOperand.Builder<_B> copyOf(final AttributeOperand.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AttributeOperand.Selector + { + + + Select() { + super(null, null, null); + } + + public static AttributeOperand.Select _root() { + return new AttributeOperand.Select(); + } + + } + + public static class Selector , TParent > + extends FilterOperand.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> alias = null; + private com.kscs.util.jaxb.Selector> browsePath = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.alias!= null) { + products.put("alias", this.alias.init()); + } + if (this.browsePath!= null) { + products.put("browsePath", this.browsePath.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> alias() { + return ((this.alias == null)?this.alias = new com.kscs.util.jaxb.Selector>(this._root, this, "alias"):this.alias); + } + + public com.kscs.util.jaxb.Selector> browsePath() { + return ((this.browsePath == null)?this.browsePath = new com.kscs.util.jaxb.Selector>(this._root, this, "browsePath"):this.browsePath); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisInformation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisInformation.java new file mode 100644 index 000000000..3df0e4e30 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisInformation.java @@ -0,0 +1,503 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für AxisInformation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AxisInformation">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EngineeringUnits" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EUInformation" minOccurs="0"/>
+ *         <element name="EURange" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Range" minOccurs="0"/>
+ *         <element name="Title" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="AxisScaleType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AxisScaleEnumeration" minOccurs="0"/>
+ *         <element name="AxisSteps" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDouble" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AxisInformation", propOrder = { + "engineeringUnits", + "euRange", + "title", + "axisScaleType", + "axisSteps" +}) +public class AxisInformation { + + @XmlElementRef(name = "EngineeringUnits", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement engineeringUnits; + @XmlElementRef(name = "EURange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement euRange; + @XmlElementRef(name = "Title", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement title; + @XmlElement(name = "AxisScaleType") + @XmlSchemaType(name = "string") + protected AxisScaleEnumeration axisScaleType; + @XmlElementRef(name = "AxisSteps", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement axisSteps; + + /** + * Ruft den Wert der engineeringUnits-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link EUInformation }{@code >} + * + */ + public JAXBElement getEngineeringUnits() { + return engineeringUnits; + } + + /** + * Legt den Wert der engineeringUnits-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link EUInformation }{@code >} + * + */ + public void setEngineeringUnits(JAXBElement value) { + this.engineeringUnits = value; + } + + /** + * Ruft den Wert der euRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link Range }{@code >} + * + */ + public JAXBElement getEURange() { + return euRange; + } + + /** + * Legt den Wert der euRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link Range }{@code >} + * + */ + public void setEURange(JAXBElement value) { + this.euRange = value; + } + + /** + * Ruft den Wert der title-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getTitle() { + return title; + } + + /** + * Legt den Wert der title-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setTitle(JAXBElement value) { + this.title = value; + } + + /** + * Ruft den Wert der axisScaleType-Eigenschaft ab. + * + * @return + * possible object is + * {@link AxisScaleEnumeration } + * + */ + public AxisScaleEnumeration getAxisScaleType() { + return axisScaleType; + } + + /** + * Legt den Wert der axisScaleType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link AxisScaleEnumeration } + * + */ + public void setAxisScaleType(AxisScaleEnumeration value) { + this.axisScaleType = value; + } + + /** + * Ruft den Wert der axisSteps-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + */ + public JAXBElement getAxisSteps() { + return axisSteps; + } + + /** + * Legt den Wert der axisSteps-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + */ + public void setAxisSteps(JAXBElement value) { + this.axisSteps = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AxisInformation.Builder<_B> _other) { + _other.engineeringUnits = this.engineeringUnits; + _other.euRange = this.euRange; + _other.title = this.title; + _other.axisScaleType = this.axisScaleType; + _other.axisSteps = this.axisSteps; + } + + public<_B >AxisInformation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new AxisInformation.Builder<_B>(_parentBuilder, this, true); + } + + public AxisInformation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static AxisInformation.Builder builder() { + return new AxisInformation.Builder(null, null, false); + } + + public static<_B >AxisInformation.Builder<_B> copyOf(final AxisInformation _other) { + final AxisInformation.Builder<_B> _newBuilder = new AxisInformation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final AxisInformation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree engineeringUnitsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("engineeringUnits")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(engineeringUnitsPropertyTree!= null):((engineeringUnitsPropertyTree == null)||(!engineeringUnitsPropertyTree.isLeaf())))) { + _other.engineeringUnits = this.engineeringUnits; + } + final PropertyTree euRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("euRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(euRangePropertyTree!= null):((euRangePropertyTree == null)||(!euRangePropertyTree.isLeaf())))) { + _other.euRange = this.euRange; + } + final PropertyTree titlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("title")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(titlePropertyTree!= null):((titlePropertyTree == null)||(!titlePropertyTree.isLeaf())))) { + _other.title = this.title; + } + final PropertyTree axisScaleTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("axisScaleType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(axisScaleTypePropertyTree!= null):((axisScaleTypePropertyTree == null)||(!axisScaleTypePropertyTree.isLeaf())))) { + _other.axisScaleType = this.axisScaleType; + } + final PropertyTree axisStepsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("axisSteps")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(axisStepsPropertyTree!= null):((axisStepsPropertyTree == null)||(!axisStepsPropertyTree.isLeaf())))) { + _other.axisSteps = this.axisSteps; + } + } + + public<_B >AxisInformation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new AxisInformation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public AxisInformation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >AxisInformation.Builder<_B> copyOf(final AxisInformation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final AxisInformation.Builder<_B> _newBuilder = new AxisInformation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static AxisInformation.Builder copyExcept(final AxisInformation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static AxisInformation.Builder copyOnly(final AxisInformation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final AxisInformation _storedValue; + private JAXBElement engineeringUnits; + private JAXBElement euRange; + private JAXBElement title; + private AxisScaleEnumeration axisScaleType; + private JAXBElement axisSteps; + + public Builder(final _B _parentBuilder, final AxisInformation _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.engineeringUnits = _other.engineeringUnits; + this.euRange = _other.euRange; + this.title = _other.title; + this.axisScaleType = _other.axisScaleType; + this.axisSteps = _other.axisSteps; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final AxisInformation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree engineeringUnitsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("engineeringUnits")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(engineeringUnitsPropertyTree!= null):((engineeringUnitsPropertyTree == null)||(!engineeringUnitsPropertyTree.isLeaf())))) { + this.engineeringUnits = _other.engineeringUnits; + } + final PropertyTree euRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("euRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(euRangePropertyTree!= null):((euRangePropertyTree == null)||(!euRangePropertyTree.isLeaf())))) { + this.euRange = _other.euRange; + } + final PropertyTree titlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("title")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(titlePropertyTree!= null):((titlePropertyTree == null)||(!titlePropertyTree.isLeaf())))) { + this.title = _other.title; + } + final PropertyTree axisScaleTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("axisScaleType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(axisScaleTypePropertyTree!= null):((axisScaleTypePropertyTree == null)||(!axisScaleTypePropertyTree.isLeaf())))) { + this.axisScaleType = _other.axisScaleType; + } + final PropertyTree axisStepsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("axisSteps")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(axisStepsPropertyTree!= null):((axisStepsPropertyTree == null)||(!axisStepsPropertyTree.isLeaf())))) { + this.axisSteps = _other.axisSteps; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends AxisInformation >_P init(final _P _product) { + _product.engineeringUnits = this.engineeringUnits; + _product.euRange = this.euRange; + _product.title = this.title; + _product.axisScaleType = this.axisScaleType; + _product.axisSteps = this.axisSteps; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "engineeringUnits" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param engineeringUnits + * Neuer Wert der Eigenschaft "engineeringUnits". + */ + public AxisInformation.Builder<_B> withEngineeringUnits(final JAXBElement engineeringUnits) { + this.engineeringUnits = engineeringUnits; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "euRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param euRange + * Neuer Wert der Eigenschaft "euRange". + */ + public AxisInformation.Builder<_B> withEURange(final JAXBElement euRange) { + this.euRange = euRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "title" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param title + * Neuer Wert der Eigenschaft "title". + */ + public AxisInformation.Builder<_B> withTitle(final JAXBElement title) { + this.title = title; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "axisScaleType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param axisScaleType + * Neuer Wert der Eigenschaft "axisScaleType". + */ + public AxisInformation.Builder<_B> withAxisScaleType(final AxisScaleEnumeration axisScaleType) { + this.axisScaleType = axisScaleType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "axisSteps" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param axisSteps + * Neuer Wert der Eigenschaft "axisSteps". + */ + public AxisInformation.Builder<_B> withAxisSteps(final JAXBElement axisSteps) { + this.axisSteps = axisSteps; + return this; + } + + @Override + public AxisInformation build() { + if (_storedValue == null) { + return this.init(new AxisInformation()); + } else { + return ((AxisInformation) _storedValue); + } + } + + public AxisInformation.Builder<_B> copyOf(final AxisInformation _other) { + _other.copyTo(this); + return this; + } + + public AxisInformation.Builder<_B> copyOf(final AxisInformation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends AxisInformation.Selector + { + + + Select() { + super(null, null, null); + } + + public static AxisInformation.Select _root() { + return new AxisInformation.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> engineeringUnits = null; + private com.kscs.util.jaxb.Selector> euRange = null; + private com.kscs.util.jaxb.Selector> title = null; + private com.kscs.util.jaxb.Selector> axisScaleType = null; + private com.kscs.util.jaxb.Selector> axisSteps = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.engineeringUnits!= null) { + products.put("engineeringUnits", this.engineeringUnits.init()); + } + if (this.euRange!= null) { + products.put("euRange", this.euRange.init()); + } + if (this.title!= null) { + products.put("title", this.title.init()); + } + if (this.axisScaleType!= null) { + products.put("axisScaleType", this.axisScaleType.init()); + } + if (this.axisSteps!= null) { + products.put("axisSteps", this.axisSteps.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> engineeringUnits() { + return ((this.engineeringUnits == null)?this.engineeringUnits = new com.kscs.util.jaxb.Selector>(this._root, this, "engineeringUnits"):this.engineeringUnits); + } + + public com.kscs.util.jaxb.Selector> euRange() { + return ((this.euRange == null)?this.euRange = new com.kscs.util.jaxb.Selector>(this._root, this, "euRange"):this.euRange); + } + + public com.kscs.util.jaxb.Selector> title() { + return ((this.title == null)?this.title = new com.kscs.util.jaxb.Selector>(this._root, this, "title"):this.title); + } + + public com.kscs.util.jaxb.Selector> axisScaleType() { + return ((this.axisScaleType == null)?this.axisScaleType = new com.kscs.util.jaxb.Selector>(this._root, this, "axisScaleType"):this.axisScaleType); + } + + public com.kscs.util.jaxb.Selector> axisSteps() { + return ((this.axisSteps == null)?this.axisSteps = new com.kscs.util.jaxb.Selector>(this._root, this, "axisSteps"):this.axisSteps); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisScaleEnumeration.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisScaleEnumeration.java new file mode 100644 index 000000000..4176deb9b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/AxisScaleEnumeration.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für AxisScaleEnumeration. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="AxisScaleEnumeration">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Linear_0"/>
+ *     <enumeration value="Log_1"/>
+ *     <enumeration value="Ln_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "AxisScaleEnumeration") +@XmlEnum +public enum AxisScaleEnumeration { + + @XmlEnumValue("Linear_0") + LINEAR_0("Linear_0"), + @XmlEnumValue("Log_1") + LOG_1("Log_1"), + @XmlEnumValue("Ln_2") + LN_2("Ln_2"); + private final String value; + + AxisScaleEnumeration(String v) { + value = v; + } + + public String value() { + return value; + } + + public static AxisScaleEnumeration fromValue(String v) { + for (AxisScaleEnumeration c: AxisScaleEnumeration.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerConnectionTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerConnectionTransportDataType.java new file mode 100644 index 000000000..a6b0eacb8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerConnectionTransportDataType.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrokerConnectionTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrokerConnectionTransportDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}ConnectionTransportDataType">
+ *       <sequence>
+ *         <element name="ResourceUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="AuthenticationProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrokerConnectionTransportDataType", propOrder = { + "resourceUri", + "authenticationProfileUri" +}) +public class BrokerConnectionTransportDataType + extends ConnectionTransportDataType +{ + + @XmlElementRef(name = "ResourceUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement resourceUri; + @XmlElementRef(name = "AuthenticationProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationProfileUri; + + /** + * Ruft den Wert der resourceUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getResourceUri() { + return resourceUri; + } + + /** + * Legt den Wert der resourceUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setResourceUri(JAXBElement value) { + this.resourceUri = value; + } + + /** + * Ruft den Wert der authenticationProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAuthenticationProfileUri() { + return authenticationProfileUri; + } + + /** + * Legt den Wert der authenticationProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAuthenticationProfileUri(JAXBElement value) { + this.authenticationProfileUri = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerConnectionTransportDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.resourceUri = this.resourceUri; + _other.authenticationProfileUri = this.authenticationProfileUri; + } + + @Override + public<_B >BrokerConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrokerConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public BrokerConnectionTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrokerConnectionTransportDataType.Builder builder() { + return new BrokerConnectionTransportDataType.Builder(null, null, false); + } + + public static<_B >BrokerConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other) { + final BrokerConnectionTransportDataType.Builder<_B> _newBuilder = new BrokerConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >BrokerConnectionTransportDataType.Builder<_B> copyOf(final BrokerConnectionTransportDataType _other) { + final BrokerConnectionTransportDataType.Builder<_B> _newBuilder = new BrokerConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerConnectionTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + _other.resourceUri = this.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + _other.authenticationProfileUri = this.authenticationProfileUri; + } + } + + @Override + public<_B >BrokerConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrokerConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public BrokerConnectionTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrokerConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerConnectionTransportDataType.Builder<_B> _newBuilder = new BrokerConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >BrokerConnectionTransportDataType.Builder<_B> copyOf(final BrokerConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerConnectionTransportDataType.Builder<_B> _newBuilder = new BrokerConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrokerConnectionTransportDataType.Builder copyExcept(final ConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerConnectionTransportDataType.Builder copyExcept(final BrokerConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerConnectionTransportDataType.Builder copyOnly(final ConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static BrokerConnectionTransportDataType.Builder copyOnly(final BrokerConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends ConnectionTransportDataType.Builder<_B> + implements Buildable + { + + private JAXBElement resourceUri; + private JAXBElement authenticationProfileUri; + + public Builder(final _B _parentBuilder, final BrokerConnectionTransportDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.resourceUri = _other.resourceUri; + this.authenticationProfileUri = _other.authenticationProfileUri; + } + } + + public Builder(final _B _parentBuilder, final BrokerConnectionTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + this.resourceUri = _other.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + this.authenticationProfileUri = _other.authenticationProfileUri; + } + } + } + + protected<_P extends BrokerConnectionTransportDataType >_P init(final _P _product) { + _product.resourceUri = this.resourceUri; + _product.authenticationProfileUri = this.authenticationProfileUri; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "resourceUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param resourceUri + * Neuer Wert der Eigenschaft "resourceUri". + */ + public BrokerConnectionTransportDataType.Builder<_B> withResourceUri(final JAXBElement resourceUri) { + this.resourceUri = resourceUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationProfileUri" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param authenticationProfileUri + * Neuer Wert der Eigenschaft "authenticationProfileUri". + */ + public BrokerConnectionTransportDataType.Builder<_B> withAuthenticationProfileUri(final JAXBElement authenticationProfileUri) { + this.authenticationProfileUri = authenticationProfileUri; + return this; + } + + @Override + public BrokerConnectionTransportDataType build() { + if (_storedValue == null) { + return this.init(new BrokerConnectionTransportDataType()); + } else { + return ((BrokerConnectionTransportDataType) _storedValue); + } + } + + public BrokerConnectionTransportDataType.Builder<_B> copyOf(final BrokerConnectionTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public BrokerConnectionTransportDataType.Builder<_B> copyOf(final BrokerConnectionTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrokerConnectionTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrokerConnectionTransportDataType.Select _root() { + return new BrokerConnectionTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends ConnectionTransportDataType.Selector + { + + private com.kscs.util.jaxb.Selector> resourceUri = null; + private com.kscs.util.jaxb.Selector> authenticationProfileUri = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.resourceUri!= null) { + products.put("resourceUri", this.resourceUri.init()); + } + if (this.authenticationProfileUri!= null) { + products.put("authenticationProfileUri", this.authenticationProfileUri.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> resourceUri() { + return ((this.resourceUri == null)?this.resourceUri = new com.kscs.util.jaxb.Selector>(this._root, this, "resourceUri"):this.resourceUri); + } + + public com.kscs.util.jaxb.Selector> authenticationProfileUri() { + return ((this.authenticationProfileUri == null)?this.authenticationProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationProfileUri"):this.authenticationProfileUri); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetReaderTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetReaderTransportDataType.java new file mode 100644 index 000000000..4dfa2e878 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetReaderTransportDataType.java @@ -0,0 +1,513 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrokerDataSetReaderTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrokerDataSetReaderTransportDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetReaderTransportDataType">
+ *       <sequence>
+ *         <element name="QueueName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ResourceUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="AuthenticationProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="RequestedDeliveryGuarantee" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerTransportQualityOfService" minOccurs="0"/>
+ *         <element name="MetaDataQueueName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrokerDataSetReaderTransportDataType", propOrder = { + "queueName", + "resourceUri", + "authenticationProfileUri", + "requestedDeliveryGuarantee", + "metaDataQueueName" +}) +public class BrokerDataSetReaderTransportDataType + extends DataSetReaderTransportDataType +{ + + @XmlElementRef(name = "QueueName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queueName; + @XmlElementRef(name = "ResourceUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement resourceUri; + @XmlElementRef(name = "AuthenticationProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationProfileUri; + @XmlElement(name = "RequestedDeliveryGuarantee") + @XmlSchemaType(name = "string") + protected BrokerTransportQualityOfService requestedDeliveryGuarantee; + @XmlElementRef(name = "MetaDataQueueName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement metaDataQueueName; + + /** + * Ruft den Wert der queueName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getQueueName() { + return queueName; + } + + /** + * Legt den Wert der queueName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setQueueName(JAXBElement value) { + this.queueName = value; + } + + /** + * Ruft den Wert der resourceUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getResourceUri() { + return resourceUri; + } + + /** + * Legt den Wert der resourceUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setResourceUri(JAXBElement value) { + this.resourceUri = value; + } + + /** + * Ruft den Wert der authenticationProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAuthenticationProfileUri() { + return authenticationProfileUri; + } + + /** + * Legt den Wert der authenticationProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAuthenticationProfileUri(JAXBElement value) { + this.authenticationProfileUri = value; + } + + /** + * Ruft den Wert der requestedDeliveryGuarantee-Eigenschaft ab. + * + * @return + * possible object is + * {@link BrokerTransportQualityOfService } + * + */ + public BrokerTransportQualityOfService getRequestedDeliveryGuarantee() { + return requestedDeliveryGuarantee; + } + + /** + * Legt den Wert der requestedDeliveryGuarantee-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BrokerTransportQualityOfService } + * + */ + public void setRequestedDeliveryGuarantee(BrokerTransportQualityOfService value) { + this.requestedDeliveryGuarantee = value; + } + + /** + * Ruft den Wert der metaDataQueueName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getMetaDataQueueName() { + return metaDataQueueName; + } + + /** + * Legt den Wert der metaDataQueueName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setMetaDataQueueName(JAXBElement value) { + this.metaDataQueueName = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerDataSetReaderTransportDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.queueName = this.queueName; + _other.resourceUri = this.resourceUri; + _other.authenticationProfileUri = this.authenticationProfileUri; + _other.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + _other.metaDataQueueName = this.metaDataQueueName; + } + + @Override + public<_B >BrokerDataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrokerDataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public BrokerDataSetReaderTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrokerDataSetReaderTransportDataType.Builder builder() { + return new BrokerDataSetReaderTransportDataType.Builder(null, null, false); + } + + public static<_B >BrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final DataSetReaderTransportDataType _other) { + final BrokerDataSetReaderTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >BrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final BrokerDataSetReaderTransportDataType _other) { + final BrokerDataSetReaderTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerDataSetReaderTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree queueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueNamePropertyTree!= null):((queueNamePropertyTree == null)||(!queueNamePropertyTree.isLeaf())))) { + _other.queueName = this.queueName; + } + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + _other.resourceUri = this.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + _other.authenticationProfileUri = this.authenticationProfileUri; + } + final PropertyTree requestedDeliveryGuaranteePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedDeliveryGuarantee")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedDeliveryGuaranteePropertyTree!= null):((requestedDeliveryGuaranteePropertyTree == null)||(!requestedDeliveryGuaranteePropertyTree.isLeaf())))) { + _other.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + } + final PropertyTree metaDataQueueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataQueueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataQueueNamePropertyTree!= null):((metaDataQueueNamePropertyTree == null)||(!metaDataQueueNamePropertyTree.isLeaf())))) { + _other.metaDataQueueName = this.metaDataQueueName; + } + } + + @Override + public<_B >BrokerDataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrokerDataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public BrokerDataSetReaderTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final DataSetReaderTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerDataSetReaderTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >BrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final BrokerDataSetReaderTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerDataSetReaderTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrokerDataSetReaderTransportDataType.Builder copyExcept(final DataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerDataSetReaderTransportDataType.Builder copyExcept(final BrokerDataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerDataSetReaderTransportDataType.Builder copyOnly(final DataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static BrokerDataSetReaderTransportDataType.Builder copyOnly(final BrokerDataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataSetReaderTransportDataType.Builder<_B> + implements Buildable + { + + private JAXBElement queueName; + private JAXBElement resourceUri; + private JAXBElement authenticationProfileUri; + private BrokerTransportQualityOfService requestedDeliveryGuarantee; + private JAXBElement metaDataQueueName; + + public Builder(final _B _parentBuilder, final BrokerDataSetReaderTransportDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.queueName = _other.queueName; + this.resourceUri = _other.resourceUri; + this.authenticationProfileUri = _other.authenticationProfileUri; + this.requestedDeliveryGuarantee = _other.requestedDeliveryGuarantee; + this.metaDataQueueName = _other.metaDataQueueName; + } + } + + public Builder(final _B _parentBuilder, final BrokerDataSetReaderTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree queueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueNamePropertyTree!= null):((queueNamePropertyTree == null)||(!queueNamePropertyTree.isLeaf())))) { + this.queueName = _other.queueName; + } + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + this.resourceUri = _other.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + this.authenticationProfileUri = _other.authenticationProfileUri; + } + final PropertyTree requestedDeliveryGuaranteePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedDeliveryGuarantee")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedDeliveryGuaranteePropertyTree!= null):((requestedDeliveryGuaranteePropertyTree == null)||(!requestedDeliveryGuaranteePropertyTree.isLeaf())))) { + this.requestedDeliveryGuarantee = _other.requestedDeliveryGuarantee; + } + final PropertyTree metaDataQueueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataQueueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataQueueNamePropertyTree!= null):((metaDataQueueNamePropertyTree == null)||(!metaDataQueueNamePropertyTree.isLeaf())))) { + this.metaDataQueueName = _other.metaDataQueueName; + } + } + } + + protected<_P extends BrokerDataSetReaderTransportDataType >_P init(final _P _product) { + _product.queueName = this.queueName; + _product.resourceUri = this.resourceUri; + _product.authenticationProfileUri = this.authenticationProfileUri; + _product.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + _product.metaDataQueueName = this.metaDataQueueName; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "queueName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param queueName + * Neuer Wert der Eigenschaft "queueName". + */ + public BrokerDataSetReaderTransportDataType.Builder<_B> withQueueName(final JAXBElement queueName) { + this.queueName = queueName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "resourceUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param resourceUri + * Neuer Wert der Eigenschaft "resourceUri". + */ + public BrokerDataSetReaderTransportDataType.Builder<_B> withResourceUri(final JAXBElement resourceUri) { + this.resourceUri = resourceUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationProfileUri" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param authenticationProfileUri + * Neuer Wert der Eigenschaft "authenticationProfileUri". + */ + public BrokerDataSetReaderTransportDataType.Builder<_B> withAuthenticationProfileUri(final JAXBElement authenticationProfileUri) { + this.authenticationProfileUri = authenticationProfileUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedDeliveryGuarantee" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedDeliveryGuarantee + * Neuer Wert der Eigenschaft "requestedDeliveryGuarantee". + */ + public BrokerDataSetReaderTransportDataType.Builder<_B> withRequestedDeliveryGuarantee(final BrokerTransportQualityOfService requestedDeliveryGuarantee) { + this.requestedDeliveryGuarantee = requestedDeliveryGuarantee; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "metaDataQueueName" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param metaDataQueueName + * Neuer Wert der Eigenschaft "metaDataQueueName". + */ + public BrokerDataSetReaderTransportDataType.Builder<_B> withMetaDataQueueName(final JAXBElement metaDataQueueName) { + this.metaDataQueueName = metaDataQueueName; + return this; + } + + @Override + public BrokerDataSetReaderTransportDataType build() { + if (_storedValue == null) { + return this.init(new BrokerDataSetReaderTransportDataType()); + } else { + return ((BrokerDataSetReaderTransportDataType) _storedValue); + } + } + + public BrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final BrokerDataSetReaderTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public BrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final BrokerDataSetReaderTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrokerDataSetReaderTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrokerDataSetReaderTransportDataType.Select _root() { + return new BrokerDataSetReaderTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataSetReaderTransportDataType.Selector + { + + private com.kscs.util.jaxb.Selector> queueName = null; + private com.kscs.util.jaxb.Selector> resourceUri = null; + private com.kscs.util.jaxb.Selector> authenticationProfileUri = null; + private com.kscs.util.jaxb.Selector> requestedDeliveryGuarantee = null; + private com.kscs.util.jaxb.Selector> metaDataQueueName = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.queueName!= null) { + products.put("queueName", this.queueName.init()); + } + if (this.resourceUri!= null) { + products.put("resourceUri", this.resourceUri.init()); + } + if (this.authenticationProfileUri!= null) { + products.put("authenticationProfileUri", this.authenticationProfileUri.init()); + } + if (this.requestedDeliveryGuarantee!= null) { + products.put("requestedDeliveryGuarantee", this.requestedDeliveryGuarantee.init()); + } + if (this.metaDataQueueName!= null) { + products.put("metaDataQueueName", this.metaDataQueueName.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> queueName() { + return ((this.queueName == null)?this.queueName = new com.kscs.util.jaxb.Selector>(this._root, this, "queueName"):this.queueName); + } + + public com.kscs.util.jaxb.Selector> resourceUri() { + return ((this.resourceUri == null)?this.resourceUri = new com.kscs.util.jaxb.Selector>(this._root, this, "resourceUri"):this.resourceUri); + } + + public com.kscs.util.jaxb.Selector> authenticationProfileUri() { + return ((this.authenticationProfileUri == null)?this.authenticationProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationProfileUri"):this.authenticationProfileUri); + } + + public com.kscs.util.jaxb.Selector> requestedDeliveryGuarantee() { + return ((this.requestedDeliveryGuarantee == null)?this.requestedDeliveryGuarantee = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedDeliveryGuarantee"):this.requestedDeliveryGuarantee); + } + + public com.kscs.util.jaxb.Selector> metaDataQueueName() { + return ((this.metaDataQueueName == null)?this.metaDataQueueName = new com.kscs.util.jaxb.Selector>(this._root, this, "metaDataQueueName"):this.metaDataQueueName); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetWriterTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetWriterTransportDataType.java new file mode 100644 index 000000000..ee9ed6bf1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerDataSetWriterTransportDataType.java @@ -0,0 +1,573 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrokerDataSetWriterTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrokerDataSetWriterTransportDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetWriterTransportDataType">
+ *       <sequence>
+ *         <element name="QueueName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ResourceUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="AuthenticationProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="RequestedDeliveryGuarantee" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerTransportQualityOfService" minOccurs="0"/>
+ *         <element name="MetaDataQueueName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="MetaDataUpdateTime" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrokerDataSetWriterTransportDataType", propOrder = { + "queueName", + "resourceUri", + "authenticationProfileUri", + "requestedDeliveryGuarantee", + "metaDataQueueName", + "metaDataUpdateTime" +}) +public class BrokerDataSetWriterTransportDataType + extends DataSetWriterTransportDataType +{ + + @XmlElementRef(name = "QueueName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queueName; + @XmlElementRef(name = "ResourceUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement resourceUri; + @XmlElementRef(name = "AuthenticationProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationProfileUri; + @XmlElement(name = "RequestedDeliveryGuarantee") + @XmlSchemaType(name = "string") + protected BrokerTransportQualityOfService requestedDeliveryGuarantee; + @XmlElementRef(name = "MetaDataQueueName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement metaDataQueueName; + @XmlElement(name = "MetaDataUpdateTime") + protected Double metaDataUpdateTime; + + /** + * Ruft den Wert der queueName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getQueueName() { + return queueName; + } + + /** + * Legt den Wert der queueName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setQueueName(JAXBElement value) { + this.queueName = value; + } + + /** + * Ruft den Wert der resourceUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getResourceUri() { + return resourceUri; + } + + /** + * Legt den Wert der resourceUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setResourceUri(JAXBElement value) { + this.resourceUri = value; + } + + /** + * Ruft den Wert der authenticationProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAuthenticationProfileUri() { + return authenticationProfileUri; + } + + /** + * Legt den Wert der authenticationProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAuthenticationProfileUri(JAXBElement value) { + this.authenticationProfileUri = value; + } + + /** + * Ruft den Wert der requestedDeliveryGuarantee-Eigenschaft ab. + * + * @return + * possible object is + * {@link BrokerTransportQualityOfService } + * + */ + public BrokerTransportQualityOfService getRequestedDeliveryGuarantee() { + return requestedDeliveryGuarantee; + } + + /** + * Legt den Wert der requestedDeliveryGuarantee-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BrokerTransportQualityOfService } + * + */ + public void setRequestedDeliveryGuarantee(BrokerTransportQualityOfService value) { + this.requestedDeliveryGuarantee = value; + } + + /** + * Ruft den Wert der metaDataQueueName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getMetaDataQueueName() { + return metaDataQueueName; + } + + /** + * Legt den Wert der metaDataQueueName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setMetaDataQueueName(JAXBElement value) { + this.metaDataQueueName = value; + } + + /** + * Ruft den Wert der metaDataUpdateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getMetaDataUpdateTime() { + return metaDataUpdateTime; + } + + /** + * Legt den Wert der metaDataUpdateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setMetaDataUpdateTime(Double value) { + this.metaDataUpdateTime = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerDataSetWriterTransportDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.queueName = this.queueName; + _other.resourceUri = this.resourceUri; + _other.authenticationProfileUri = this.authenticationProfileUri; + _other.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + _other.metaDataQueueName = this.metaDataQueueName; + _other.metaDataUpdateTime = this.metaDataUpdateTime; + } + + @Override + public<_B >BrokerDataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrokerDataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public BrokerDataSetWriterTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrokerDataSetWriterTransportDataType.Builder builder() { + return new BrokerDataSetWriterTransportDataType.Builder(null, null, false); + } + + public static<_B >BrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final DataSetWriterTransportDataType _other) { + final BrokerDataSetWriterTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >BrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final BrokerDataSetWriterTransportDataType _other) { + final BrokerDataSetWriterTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerDataSetWriterTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree queueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueNamePropertyTree!= null):((queueNamePropertyTree == null)||(!queueNamePropertyTree.isLeaf())))) { + _other.queueName = this.queueName; + } + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + _other.resourceUri = this.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + _other.authenticationProfileUri = this.authenticationProfileUri; + } + final PropertyTree requestedDeliveryGuaranteePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedDeliveryGuarantee")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedDeliveryGuaranteePropertyTree!= null):((requestedDeliveryGuaranteePropertyTree == null)||(!requestedDeliveryGuaranteePropertyTree.isLeaf())))) { + _other.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + } + final PropertyTree metaDataQueueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataQueueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataQueueNamePropertyTree!= null):((metaDataQueueNamePropertyTree == null)||(!metaDataQueueNamePropertyTree.isLeaf())))) { + _other.metaDataQueueName = this.metaDataQueueName; + } + final PropertyTree metaDataUpdateTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataUpdateTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataUpdateTimePropertyTree!= null):((metaDataUpdateTimePropertyTree == null)||(!metaDataUpdateTimePropertyTree.isLeaf())))) { + _other.metaDataUpdateTime = this.metaDataUpdateTime; + } + } + + @Override + public<_B >BrokerDataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrokerDataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public BrokerDataSetWriterTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final DataSetWriterTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerDataSetWriterTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >BrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final BrokerDataSetWriterTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerDataSetWriterTransportDataType.Builder<_B> _newBuilder = new BrokerDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrokerDataSetWriterTransportDataType.Builder copyExcept(final DataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerDataSetWriterTransportDataType.Builder copyExcept(final BrokerDataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerDataSetWriterTransportDataType.Builder copyOnly(final DataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static BrokerDataSetWriterTransportDataType.Builder copyOnly(final BrokerDataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataSetWriterTransportDataType.Builder<_B> + implements Buildable + { + + private JAXBElement queueName; + private JAXBElement resourceUri; + private JAXBElement authenticationProfileUri; + private BrokerTransportQualityOfService requestedDeliveryGuarantee; + private JAXBElement metaDataQueueName; + private Double metaDataUpdateTime; + + public Builder(final _B _parentBuilder, final BrokerDataSetWriterTransportDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.queueName = _other.queueName; + this.resourceUri = _other.resourceUri; + this.authenticationProfileUri = _other.authenticationProfileUri; + this.requestedDeliveryGuarantee = _other.requestedDeliveryGuarantee; + this.metaDataQueueName = _other.metaDataQueueName; + this.metaDataUpdateTime = _other.metaDataUpdateTime; + } + } + + public Builder(final _B _parentBuilder, final BrokerDataSetWriterTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree queueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueNamePropertyTree!= null):((queueNamePropertyTree == null)||(!queueNamePropertyTree.isLeaf())))) { + this.queueName = _other.queueName; + } + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + this.resourceUri = _other.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + this.authenticationProfileUri = _other.authenticationProfileUri; + } + final PropertyTree requestedDeliveryGuaranteePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedDeliveryGuarantee")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedDeliveryGuaranteePropertyTree!= null):((requestedDeliveryGuaranteePropertyTree == null)||(!requestedDeliveryGuaranteePropertyTree.isLeaf())))) { + this.requestedDeliveryGuarantee = _other.requestedDeliveryGuarantee; + } + final PropertyTree metaDataQueueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataQueueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataQueueNamePropertyTree!= null):((metaDataQueueNamePropertyTree == null)||(!metaDataQueueNamePropertyTree.isLeaf())))) { + this.metaDataQueueName = _other.metaDataQueueName; + } + final PropertyTree metaDataUpdateTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataUpdateTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataUpdateTimePropertyTree!= null):((metaDataUpdateTimePropertyTree == null)||(!metaDataUpdateTimePropertyTree.isLeaf())))) { + this.metaDataUpdateTime = _other.metaDataUpdateTime; + } + } + } + + protected<_P extends BrokerDataSetWriterTransportDataType >_P init(final _P _product) { + _product.queueName = this.queueName; + _product.resourceUri = this.resourceUri; + _product.authenticationProfileUri = this.authenticationProfileUri; + _product.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + _product.metaDataQueueName = this.metaDataQueueName; + _product.metaDataUpdateTime = this.metaDataUpdateTime; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "queueName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param queueName + * Neuer Wert der Eigenschaft "queueName". + */ + public BrokerDataSetWriterTransportDataType.Builder<_B> withQueueName(final JAXBElement queueName) { + this.queueName = queueName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "resourceUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param resourceUri + * Neuer Wert der Eigenschaft "resourceUri". + */ + public BrokerDataSetWriterTransportDataType.Builder<_B> withResourceUri(final JAXBElement resourceUri) { + this.resourceUri = resourceUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationProfileUri" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param authenticationProfileUri + * Neuer Wert der Eigenschaft "authenticationProfileUri". + */ + public BrokerDataSetWriterTransportDataType.Builder<_B> withAuthenticationProfileUri(final JAXBElement authenticationProfileUri) { + this.authenticationProfileUri = authenticationProfileUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedDeliveryGuarantee" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedDeliveryGuarantee + * Neuer Wert der Eigenschaft "requestedDeliveryGuarantee". + */ + public BrokerDataSetWriterTransportDataType.Builder<_B> withRequestedDeliveryGuarantee(final BrokerTransportQualityOfService requestedDeliveryGuarantee) { + this.requestedDeliveryGuarantee = requestedDeliveryGuarantee; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "metaDataQueueName" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param metaDataQueueName + * Neuer Wert der Eigenschaft "metaDataQueueName". + */ + public BrokerDataSetWriterTransportDataType.Builder<_B> withMetaDataQueueName(final JAXBElement metaDataQueueName) { + this.metaDataQueueName = metaDataQueueName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "metaDataUpdateTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param metaDataUpdateTime + * Neuer Wert der Eigenschaft "metaDataUpdateTime". + */ + public BrokerDataSetWriterTransportDataType.Builder<_B> withMetaDataUpdateTime(final Double metaDataUpdateTime) { + this.metaDataUpdateTime = metaDataUpdateTime; + return this; + } + + @Override + public BrokerDataSetWriterTransportDataType build() { + if (_storedValue == null) { + return this.init(new BrokerDataSetWriterTransportDataType()); + } else { + return ((BrokerDataSetWriterTransportDataType) _storedValue); + } + } + + public BrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final BrokerDataSetWriterTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public BrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final BrokerDataSetWriterTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrokerDataSetWriterTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrokerDataSetWriterTransportDataType.Select _root() { + return new BrokerDataSetWriterTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataSetWriterTransportDataType.Selector + { + + private com.kscs.util.jaxb.Selector> queueName = null; + private com.kscs.util.jaxb.Selector> resourceUri = null; + private com.kscs.util.jaxb.Selector> authenticationProfileUri = null; + private com.kscs.util.jaxb.Selector> requestedDeliveryGuarantee = null; + private com.kscs.util.jaxb.Selector> metaDataQueueName = null; + private com.kscs.util.jaxb.Selector> metaDataUpdateTime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.queueName!= null) { + products.put("queueName", this.queueName.init()); + } + if (this.resourceUri!= null) { + products.put("resourceUri", this.resourceUri.init()); + } + if (this.authenticationProfileUri!= null) { + products.put("authenticationProfileUri", this.authenticationProfileUri.init()); + } + if (this.requestedDeliveryGuarantee!= null) { + products.put("requestedDeliveryGuarantee", this.requestedDeliveryGuarantee.init()); + } + if (this.metaDataQueueName!= null) { + products.put("metaDataQueueName", this.metaDataQueueName.init()); + } + if (this.metaDataUpdateTime!= null) { + products.put("metaDataUpdateTime", this.metaDataUpdateTime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> queueName() { + return ((this.queueName == null)?this.queueName = new com.kscs.util.jaxb.Selector>(this._root, this, "queueName"):this.queueName); + } + + public com.kscs.util.jaxb.Selector> resourceUri() { + return ((this.resourceUri == null)?this.resourceUri = new com.kscs.util.jaxb.Selector>(this._root, this, "resourceUri"):this.resourceUri); + } + + public com.kscs.util.jaxb.Selector> authenticationProfileUri() { + return ((this.authenticationProfileUri == null)?this.authenticationProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationProfileUri"):this.authenticationProfileUri); + } + + public com.kscs.util.jaxb.Selector> requestedDeliveryGuarantee() { + return ((this.requestedDeliveryGuarantee == null)?this.requestedDeliveryGuarantee = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedDeliveryGuarantee"):this.requestedDeliveryGuarantee); + } + + public com.kscs.util.jaxb.Selector> metaDataQueueName() { + return ((this.metaDataQueueName == null)?this.metaDataQueueName = new com.kscs.util.jaxb.Selector>(this._root, this, "metaDataQueueName"):this.metaDataQueueName); + } + + public com.kscs.util.jaxb.Selector> metaDataUpdateTime() { + return ((this.metaDataUpdateTime == null)?this.metaDataUpdateTime = new com.kscs.util.jaxb.Selector>(this._root, this, "metaDataUpdateTime"):this.metaDataUpdateTime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerTransportQualityOfService.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerTransportQualityOfService.java new file mode 100644 index 000000000..fbcec659f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerTransportQualityOfService.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für BrokerTransportQualityOfService. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="BrokerTransportQualityOfService">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="NotSpecified_0"/>
+ *     <enumeration value="BestEffort_1"/>
+ *     <enumeration value="AtLeastOnce_2"/>
+ *     <enumeration value="AtMostOnce_3"/>
+ *     <enumeration value="ExactlyOnce_4"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "BrokerTransportQualityOfService") +@XmlEnum +public enum BrokerTransportQualityOfService { + + @XmlEnumValue("NotSpecified_0") + NOT_SPECIFIED_0("NotSpecified_0"), + @XmlEnumValue("BestEffort_1") + BEST_EFFORT_1("BestEffort_1"), + @XmlEnumValue("AtLeastOnce_2") + AT_LEAST_ONCE_2("AtLeastOnce_2"), + @XmlEnumValue("AtMostOnce_3") + AT_MOST_ONCE_3("AtMostOnce_3"), + @XmlEnumValue("ExactlyOnce_4") + EXACTLY_ONCE_4("ExactlyOnce_4"); + private final String value; + + BrokerTransportQualityOfService(String v) { + value = v; + } + + public String value() { + return value; + } + + public static BrokerTransportQualityOfService fromValue(String v) { + for (BrokerTransportQualityOfService c: BrokerTransportQualityOfService.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerWriterGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerWriterGroupTransportDataType.java new file mode 100644 index 000000000..715c6a8bd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrokerWriterGroupTransportDataType.java @@ -0,0 +1,453 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrokerWriterGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrokerWriterGroupTransportDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupTransportDataType">
+ *       <sequence>
+ *         <element name="QueueName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ResourceUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="AuthenticationProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="RequestedDeliveryGuarantee" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerTransportQualityOfService" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrokerWriterGroupTransportDataType", propOrder = { + "queueName", + "resourceUri", + "authenticationProfileUri", + "requestedDeliveryGuarantee" +}) +public class BrokerWriterGroupTransportDataType + extends WriterGroupTransportDataType +{ + + @XmlElementRef(name = "QueueName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queueName; + @XmlElementRef(name = "ResourceUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement resourceUri; + @XmlElementRef(name = "AuthenticationProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationProfileUri; + @XmlElement(name = "RequestedDeliveryGuarantee") + @XmlSchemaType(name = "string") + protected BrokerTransportQualityOfService requestedDeliveryGuarantee; + + /** + * Ruft den Wert der queueName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getQueueName() { + return queueName; + } + + /** + * Legt den Wert der queueName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setQueueName(JAXBElement value) { + this.queueName = value; + } + + /** + * Ruft den Wert der resourceUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getResourceUri() { + return resourceUri; + } + + /** + * Legt den Wert der resourceUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setResourceUri(JAXBElement value) { + this.resourceUri = value; + } + + /** + * Ruft den Wert der authenticationProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAuthenticationProfileUri() { + return authenticationProfileUri; + } + + /** + * Legt den Wert der authenticationProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAuthenticationProfileUri(JAXBElement value) { + this.authenticationProfileUri = value; + } + + /** + * Ruft den Wert der requestedDeliveryGuarantee-Eigenschaft ab. + * + * @return + * possible object is + * {@link BrokerTransportQualityOfService } + * + */ + public BrokerTransportQualityOfService getRequestedDeliveryGuarantee() { + return requestedDeliveryGuarantee; + } + + /** + * Legt den Wert der requestedDeliveryGuarantee-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BrokerTransportQualityOfService } + * + */ + public void setRequestedDeliveryGuarantee(BrokerTransportQualityOfService value) { + this.requestedDeliveryGuarantee = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerWriterGroupTransportDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.queueName = this.queueName; + _other.resourceUri = this.resourceUri; + _other.authenticationProfileUri = this.authenticationProfileUri; + _other.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + } + + @Override + public<_B >BrokerWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrokerWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public BrokerWriterGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrokerWriterGroupTransportDataType.Builder builder() { + return new BrokerWriterGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >BrokerWriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other) { + final BrokerWriterGroupTransportDataType.Builder<_B> _newBuilder = new BrokerWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >BrokerWriterGroupTransportDataType.Builder<_B> copyOf(final BrokerWriterGroupTransportDataType _other) { + final BrokerWriterGroupTransportDataType.Builder<_B> _newBuilder = new BrokerWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrokerWriterGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree queueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueNamePropertyTree!= null):((queueNamePropertyTree == null)||(!queueNamePropertyTree.isLeaf())))) { + _other.queueName = this.queueName; + } + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + _other.resourceUri = this.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + _other.authenticationProfileUri = this.authenticationProfileUri; + } + final PropertyTree requestedDeliveryGuaranteePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedDeliveryGuarantee")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedDeliveryGuaranteePropertyTree!= null):((requestedDeliveryGuaranteePropertyTree == null)||(!requestedDeliveryGuaranteePropertyTree.isLeaf())))) { + _other.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + } + } + + @Override + public<_B >BrokerWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrokerWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public BrokerWriterGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrokerWriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerWriterGroupTransportDataType.Builder<_B> _newBuilder = new BrokerWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >BrokerWriterGroupTransportDataType.Builder<_B> copyOf(final BrokerWriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrokerWriterGroupTransportDataType.Builder<_B> _newBuilder = new BrokerWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrokerWriterGroupTransportDataType.Builder copyExcept(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerWriterGroupTransportDataType.Builder copyExcept(final BrokerWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrokerWriterGroupTransportDataType.Builder copyOnly(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static BrokerWriterGroupTransportDataType.Builder copyOnly(final BrokerWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends WriterGroupTransportDataType.Builder<_B> + implements Buildable + { + + private JAXBElement queueName; + private JAXBElement resourceUri; + private JAXBElement authenticationProfileUri; + private BrokerTransportQualityOfService requestedDeliveryGuarantee; + + public Builder(final _B _parentBuilder, final BrokerWriterGroupTransportDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.queueName = _other.queueName; + this.resourceUri = _other.resourceUri; + this.authenticationProfileUri = _other.authenticationProfileUri; + this.requestedDeliveryGuarantee = _other.requestedDeliveryGuarantee; + } + } + + public Builder(final _B _parentBuilder, final BrokerWriterGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree queueNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueNamePropertyTree!= null):((queueNamePropertyTree == null)||(!queueNamePropertyTree.isLeaf())))) { + this.queueName = _other.queueName; + } + final PropertyTree resourceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resourceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resourceUriPropertyTree!= null):((resourceUriPropertyTree == null)||(!resourceUriPropertyTree.isLeaf())))) { + this.resourceUri = _other.resourceUri; + } + final PropertyTree authenticationProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationProfileUriPropertyTree!= null):((authenticationProfileUriPropertyTree == null)||(!authenticationProfileUriPropertyTree.isLeaf())))) { + this.authenticationProfileUri = _other.authenticationProfileUri; + } + final PropertyTree requestedDeliveryGuaranteePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedDeliveryGuarantee")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedDeliveryGuaranteePropertyTree!= null):((requestedDeliveryGuaranteePropertyTree == null)||(!requestedDeliveryGuaranteePropertyTree.isLeaf())))) { + this.requestedDeliveryGuarantee = _other.requestedDeliveryGuarantee; + } + } + } + + protected<_P extends BrokerWriterGroupTransportDataType >_P init(final _P _product) { + _product.queueName = this.queueName; + _product.resourceUri = this.resourceUri; + _product.authenticationProfileUri = this.authenticationProfileUri; + _product.requestedDeliveryGuarantee = this.requestedDeliveryGuarantee; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "queueName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param queueName + * Neuer Wert der Eigenschaft "queueName". + */ + public BrokerWriterGroupTransportDataType.Builder<_B> withQueueName(final JAXBElement queueName) { + this.queueName = queueName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "resourceUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param resourceUri + * Neuer Wert der Eigenschaft "resourceUri". + */ + public BrokerWriterGroupTransportDataType.Builder<_B> withResourceUri(final JAXBElement resourceUri) { + this.resourceUri = resourceUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationProfileUri" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param authenticationProfileUri + * Neuer Wert der Eigenschaft "authenticationProfileUri". + */ + public BrokerWriterGroupTransportDataType.Builder<_B> withAuthenticationProfileUri(final JAXBElement authenticationProfileUri) { + this.authenticationProfileUri = authenticationProfileUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedDeliveryGuarantee" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedDeliveryGuarantee + * Neuer Wert der Eigenschaft "requestedDeliveryGuarantee". + */ + public BrokerWriterGroupTransportDataType.Builder<_B> withRequestedDeliveryGuarantee(final BrokerTransportQualityOfService requestedDeliveryGuarantee) { + this.requestedDeliveryGuarantee = requestedDeliveryGuarantee; + return this; + } + + @Override + public BrokerWriterGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new BrokerWriterGroupTransportDataType()); + } else { + return ((BrokerWriterGroupTransportDataType) _storedValue); + } + } + + public BrokerWriterGroupTransportDataType.Builder<_B> copyOf(final BrokerWriterGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public BrokerWriterGroupTransportDataType.Builder<_B> copyOf(final BrokerWriterGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrokerWriterGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrokerWriterGroupTransportDataType.Select _root() { + return new BrokerWriterGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends WriterGroupTransportDataType.Selector + { + + private com.kscs.util.jaxb.Selector> queueName = null; + private com.kscs.util.jaxb.Selector> resourceUri = null; + private com.kscs.util.jaxb.Selector> authenticationProfileUri = null; + private com.kscs.util.jaxb.Selector> requestedDeliveryGuarantee = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.queueName!= null) { + products.put("queueName", this.queueName.init()); + } + if (this.resourceUri!= null) { + products.put("resourceUri", this.resourceUri.init()); + } + if (this.authenticationProfileUri!= null) { + products.put("authenticationProfileUri", this.authenticationProfileUri.init()); + } + if (this.requestedDeliveryGuarantee!= null) { + products.put("requestedDeliveryGuarantee", this.requestedDeliveryGuarantee.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> queueName() { + return ((this.queueName == null)?this.queueName = new com.kscs.util.jaxb.Selector>(this._root, this, "queueName"):this.queueName); + } + + public com.kscs.util.jaxb.Selector> resourceUri() { + return ((this.resourceUri == null)?this.resourceUri = new com.kscs.util.jaxb.Selector>(this._root, this, "resourceUri"):this.resourceUri); + } + + public com.kscs.util.jaxb.Selector> authenticationProfileUri() { + return ((this.authenticationProfileUri == null)?this.authenticationProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationProfileUri"):this.authenticationProfileUri); + } + + public com.kscs.util.jaxb.Selector> requestedDeliveryGuarantee() { + return ((this.requestedDeliveryGuarantee == null)?this.requestedDeliveryGuarantee = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedDeliveryGuarantee"):this.requestedDeliveryGuarantee); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDescription.java new file mode 100644 index 000000000..055b3d4da --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDescription.java @@ -0,0 +1,565 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowseDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowseDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="BrowseDirection" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrowseDirection" minOccurs="0"/>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IncludeSubtypes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="NodeClassMask" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ResultMask" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowseDescription", propOrder = { + "nodeId", + "browseDirection", + "referenceTypeId", + "includeSubtypes", + "nodeClassMask", + "resultMask" +}) +public class BrowseDescription { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElement(name = "BrowseDirection") + @XmlSchemaType(name = "string") + protected BrowseDirection browseDirection; + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IncludeSubtypes") + protected Boolean includeSubtypes; + @XmlElement(name = "NodeClassMask") + @XmlSchemaType(name = "unsignedInt") + protected Long nodeClassMask; + @XmlElement(name = "ResultMask") + @XmlSchemaType(name = "unsignedInt") + protected Long resultMask; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der browseDirection-Eigenschaft ab. + * + * @return + * possible object is + * {@link BrowseDirection } + * + */ + public BrowseDirection getBrowseDirection() { + return browseDirection; + } + + /** + * Legt den Wert der browseDirection-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BrowseDirection } + * + */ + public void setBrowseDirection(BrowseDirection value) { + this.browseDirection = value; + } + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der includeSubtypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIncludeSubtypes() { + return includeSubtypes; + } + + /** + * Legt den Wert der includeSubtypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIncludeSubtypes(Boolean value) { + this.includeSubtypes = value; + } + + /** + * Ruft den Wert der nodeClassMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNodeClassMask() { + return nodeClassMask; + } + + /** + * Legt den Wert der nodeClassMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNodeClassMask(Long value) { + this.nodeClassMask = value; + } + + /** + * Ruft den Wert der resultMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getResultMask() { + return resultMask; + } + + /** + * Legt den Wert der resultMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setResultMask(Long value) { + this.resultMask = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseDescription.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.browseDirection = this.browseDirection; + _other.referenceTypeId = this.referenceTypeId; + _other.includeSubtypes = this.includeSubtypes; + _other.nodeClassMask = this.nodeClassMask; + _other.resultMask = this.resultMask; + } + + public<_B >BrowseDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowseDescription.Builder<_B>(_parentBuilder, this, true); + } + + public BrowseDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowseDescription.Builder builder() { + return new BrowseDescription.Builder(null, null, false); + } + + public static<_B >BrowseDescription.Builder<_B> copyOf(final BrowseDescription _other) { + final BrowseDescription.Builder<_B> _newBuilder = new BrowseDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree browseDirectionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseDirection")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseDirectionPropertyTree!= null):((browseDirectionPropertyTree == null)||(!browseDirectionPropertyTree.isLeaf())))) { + _other.browseDirection = this.browseDirection; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree includeSubtypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("includeSubtypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(includeSubtypesPropertyTree!= null):((includeSubtypesPropertyTree == null)||(!includeSubtypesPropertyTree.isLeaf())))) { + _other.includeSubtypes = this.includeSubtypes; + } + final PropertyTree nodeClassMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClassMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassMaskPropertyTree!= null):((nodeClassMaskPropertyTree == null)||(!nodeClassMaskPropertyTree.isLeaf())))) { + _other.nodeClassMask = this.nodeClassMask; + } + final PropertyTree resultMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resultMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultMaskPropertyTree!= null):((resultMaskPropertyTree == null)||(!resultMaskPropertyTree.isLeaf())))) { + _other.resultMask = this.resultMask; + } + } + + public<_B >BrowseDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowseDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowseDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowseDescription.Builder<_B> copyOf(final BrowseDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowseDescription.Builder<_B> _newBuilder = new BrowseDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowseDescription.Builder copyExcept(final BrowseDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowseDescription.Builder copyOnly(final BrowseDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowseDescription _storedValue; + private JAXBElement nodeId; + private BrowseDirection browseDirection; + private JAXBElement referenceTypeId; + private Boolean includeSubtypes; + private Long nodeClassMask; + private Long resultMask; + + public Builder(final _B _parentBuilder, final BrowseDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.browseDirection = _other.browseDirection; + this.referenceTypeId = _other.referenceTypeId; + this.includeSubtypes = _other.includeSubtypes; + this.nodeClassMask = _other.nodeClassMask; + this.resultMask = _other.resultMask; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowseDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree browseDirectionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseDirection")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseDirectionPropertyTree!= null):((browseDirectionPropertyTree == null)||(!browseDirectionPropertyTree.isLeaf())))) { + this.browseDirection = _other.browseDirection; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree includeSubtypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("includeSubtypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(includeSubtypesPropertyTree!= null):((includeSubtypesPropertyTree == null)||(!includeSubtypesPropertyTree.isLeaf())))) { + this.includeSubtypes = _other.includeSubtypes; + } + final PropertyTree nodeClassMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClassMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassMaskPropertyTree!= null):((nodeClassMaskPropertyTree == null)||(!nodeClassMaskPropertyTree.isLeaf())))) { + this.nodeClassMask = _other.nodeClassMask; + } + final PropertyTree resultMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("resultMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultMaskPropertyTree!= null):((resultMaskPropertyTree == null)||(!resultMaskPropertyTree.isLeaf())))) { + this.resultMask = _other.resultMask; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowseDescription >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.browseDirection = this.browseDirection; + _product.referenceTypeId = this.referenceTypeId; + _product.includeSubtypes = this.includeSubtypes; + _product.nodeClassMask = this.nodeClassMask; + _product.resultMask = this.resultMask; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public BrowseDescription.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseDirection" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param browseDirection + * Neuer Wert der Eigenschaft "browseDirection". + */ + public BrowseDescription.Builder<_B> withBrowseDirection(final BrowseDirection browseDirection) { + this.browseDirection = browseDirection; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public BrowseDescription.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "includeSubtypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param includeSubtypes + * Neuer Wert der Eigenschaft "includeSubtypes". + */ + public BrowseDescription.Builder<_B> withIncludeSubtypes(final Boolean includeSubtypes) { + this.includeSubtypes = includeSubtypes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClassMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodeClassMask + * Neuer Wert der Eigenschaft "nodeClassMask". + */ + public BrowseDescription.Builder<_B> withNodeClassMask(final Long nodeClassMask) { + this.nodeClassMask = nodeClassMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "resultMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param resultMask + * Neuer Wert der Eigenschaft "resultMask". + */ + public BrowseDescription.Builder<_B> withResultMask(final Long resultMask) { + this.resultMask = resultMask; + return this; + } + + @Override + public BrowseDescription build() { + if (_storedValue == null) { + return this.init(new BrowseDescription()); + } else { + return ((BrowseDescription) _storedValue); + } + } + + public BrowseDescription.Builder<_B> copyOf(final BrowseDescription _other) { + _other.copyTo(this); + return this; + } + + public BrowseDescription.Builder<_B> copyOf(final BrowseDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowseDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowseDescription.Select _root() { + return new BrowseDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> browseDirection = null; + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> includeSubtypes = null; + private com.kscs.util.jaxb.Selector> nodeClassMask = null; + private com.kscs.util.jaxb.Selector> resultMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.browseDirection!= null) { + products.put("browseDirection", this.browseDirection.init()); + } + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.includeSubtypes!= null) { + products.put("includeSubtypes", this.includeSubtypes.init()); + } + if (this.nodeClassMask!= null) { + products.put("nodeClassMask", this.nodeClassMask.init()); + } + if (this.resultMask!= null) { + products.put("resultMask", this.resultMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> browseDirection() { + return ((this.browseDirection == null)?this.browseDirection = new com.kscs.util.jaxb.Selector>(this._root, this, "browseDirection"):this.browseDirection); + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> includeSubtypes() { + return ((this.includeSubtypes == null)?this.includeSubtypes = new com.kscs.util.jaxb.Selector>(this._root, this, "includeSubtypes"):this.includeSubtypes); + } + + public com.kscs.util.jaxb.Selector> nodeClassMask() { + return ((this.nodeClassMask == null)?this.nodeClassMask = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeClassMask"):this.nodeClassMask); + } + + public com.kscs.util.jaxb.Selector> resultMask() { + return ((this.resultMask == null)?this.resultMask = new com.kscs.util.jaxb.Selector>(this._root, this, "resultMask"):this.resultMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDirection.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDirection.java new file mode 100644 index 000000000..4bd4b7bed --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseDirection.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für BrowseDirection. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="BrowseDirection">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Forward_0"/>
+ *     <enumeration value="Inverse_1"/>
+ *     <enumeration value="Both_2"/>
+ *     <enumeration value="Invalid_3"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "BrowseDirection") +@XmlEnum +public enum BrowseDirection { + + @XmlEnumValue("Forward_0") + FORWARD_0("Forward_0"), + @XmlEnumValue("Inverse_1") + INVERSE_1("Inverse_1"), + @XmlEnumValue("Both_2") + BOTH_2("Both_2"), + @XmlEnumValue("Invalid_3") + INVALID_3("Invalid_3"); + private final String value; + + BrowseDirection(String v) { + value = v; + } + + public String value() { + return value; + } + + public static BrowseDirection fromValue(String v) { + for (BrowseDirection c: BrowseDirection.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextRequest.java new file mode 100644 index 000000000..e89cf41c7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextRequest.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowseNextRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowseNextRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ReleaseContinuationPoints" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="ContinuationPoints" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfByteString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowseNextRequest", propOrder = { + "requestHeader", + "releaseContinuationPoints", + "continuationPoints" +}) +public class BrowseNextRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "ReleaseContinuationPoints") + protected Boolean releaseContinuationPoints; + @XmlElementRef(name = "ContinuationPoints", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement continuationPoints; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der releaseContinuationPoints-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isReleaseContinuationPoints() { + return releaseContinuationPoints; + } + + /** + * Legt den Wert der releaseContinuationPoints-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setReleaseContinuationPoints(Boolean value) { + this.releaseContinuationPoints = value; + } + + /** + * Ruft den Wert der continuationPoints-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public JAXBElement getContinuationPoints() { + return continuationPoints; + } + + /** + * Legt den Wert der continuationPoints-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public void setContinuationPoints(JAXBElement value) { + this.continuationPoints = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseNextRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.releaseContinuationPoints = this.releaseContinuationPoints; + _other.continuationPoints = this.continuationPoints; + } + + public<_B >BrowseNextRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowseNextRequest.Builder<_B>(_parentBuilder, this, true); + } + + public BrowseNextRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowseNextRequest.Builder builder() { + return new BrowseNextRequest.Builder(null, null, false); + } + + public static<_B >BrowseNextRequest.Builder<_B> copyOf(final BrowseNextRequest _other) { + final BrowseNextRequest.Builder<_B> _newBuilder = new BrowseNextRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseNextRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree releaseContinuationPointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("releaseContinuationPoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(releaseContinuationPointsPropertyTree!= null):((releaseContinuationPointsPropertyTree == null)||(!releaseContinuationPointsPropertyTree.isLeaf())))) { + _other.releaseContinuationPoints = this.releaseContinuationPoints; + } + final PropertyTree continuationPointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointsPropertyTree!= null):((continuationPointsPropertyTree == null)||(!continuationPointsPropertyTree.isLeaf())))) { + _other.continuationPoints = this.continuationPoints; + } + } + + public<_B >BrowseNextRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowseNextRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowseNextRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowseNextRequest.Builder<_B> copyOf(final BrowseNextRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowseNextRequest.Builder<_B> _newBuilder = new BrowseNextRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowseNextRequest.Builder copyExcept(final BrowseNextRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowseNextRequest.Builder copyOnly(final BrowseNextRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowseNextRequest _storedValue; + private JAXBElement requestHeader; + private Boolean releaseContinuationPoints; + private JAXBElement continuationPoints; + + public Builder(final _B _parentBuilder, final BrowseNextRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.releaseContinuationPoints = _other.releaseContinuationPoints; + this.continuationPoints = _other.continuationPoints; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowseNextRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree releaseContinuationPointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("releaseContinuationPoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(releaseContinuationPointsPropertyTree!= null):((releaseContinuationPointsPropertyTree == null)||(!releaseContinuationPointsPropertyTree.isLeaf())))) { + this.releaseContinuationPoints = _other.releaseContinuationPoints; + } + final PropertyTree continuationPointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointsPropertyTree!= null):((continuationPointsPropertyTree == null)||(!continuationPointsPropertyTree.isLeaf())))) { + this.continuationPoints = _other.continuationPoints; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowseNextRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.releaseContinuationPoints = this.releaseContinuationPoints; + _product.continuationPoints = this.continuationPoints; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public BrowseNextRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "releaseContinuationPoints" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param releaseContinuationPoints + * Neuer Wert der Eigenschaft "releaseContinuationPoints". + */ + public BrowseNextRequest.Builder<_B> withReleaseContinuationPoints(final Boolean releaseContinuationPoints) { + this.releaseContinuationPoints = releaseContinuationPoints; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "continuationPoints" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param continuationPoints + * Neuer Wert der Eigenschaft "continuationPoints". + */ + public BrowseNextRequest.Builder<_B> withContinuationPoints(final JAXBElement continuationPoints) { + this.continuationPoints = continuationPoints; + return this; + } + + @Override + public BrowseNextRequest build() { + if (_storedValue == null) { + return this.init(new BrowseNextRequest()); + } else { + return ((BrowseNextRequest) _storedValue); + } + } + + public BrowseNextRequest.Builder<_B> copyOf(final BrowseNextRequest _other) { + _other.copyTo(this); + return this; + } + + public BrowseNextRequest.Builder<_B> copyOf(final BrowseNextRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowseNextRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowseNextRequest.Select _root() { + return new BrowseNextRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> releaseContinuationPoints = null; + private com.kscs.util.jaxb.Selector> continuationPoints = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.releaseContinuationPoints!= null) { + products.put("releaseContinuationPoints", this.releaseContinuationPoints.init()); + } + if (this.continuationPoints!= null) { + products.put("continuationPoints", this.continuationPoints.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> releaseContinuationPoints() { + return ((this.releaseContinuationPoints == null)?this.releaseContinuationPoints = new com.kscs.util.jaxb.Selector>(this._root, this, "releaseContinuationPoints"):this.releaseContinuationPoints); + } + + public com.kscs.util.jaxb.Selector> continuationPoints() { + return ((this.continuationPoints == null)?this.continuationPoints = new com.kscs.util.jaxb.Selector>(this._root, this, "continuationPoints"):this.continuationPoints); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextResponse.java new file mode 100644 index 000000000..b82bf0d9f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseNextResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowseNextResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowseNextResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfBrowseResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowseNextResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class BrowseNextResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseNextResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >BrowseNextResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowseNextResponse.Builder<_B>(_parentBuilder, this, true); + } + + public BrowseNextResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowseNextResponse.Builder builder() { + return new BrowseNextResponse.Builder(null, null, false); + } + + public static<_B >BrowseNextResponse.Builder<_B> copyOf(final BrowseNextResponse _other) { + final BrowseNextResponse.Builder<_B> _newBuilder = new BrowseNextResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseNextResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >BrowseNextResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowseNextResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowseNextResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowseNextResponse.Builder<_B> copyOf(final BrowseNextResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowseNextResponse.Builder<_B> _newBuilder = new BrowseNextResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowseNextResponse.Builder copyExcept(final BrowseNextResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowseNextResponse.Builder copyOnly(final BrowseNextResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowseNextResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final BrowseNextResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowseNextResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowseNextResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public BrowseNextResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public BrowseNextResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public BrowseNextResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public BrowseNextResponse build() { + if (_storedValue == null) { + return this.init(new BrowseNextResponse()); + } else { + return ((BrowseNextResponse) _storedValue); + } + } + + public BrowseNextResponse.Builder<_B> copyOf(final BrowseNextResponse _other) { + _other.copyTo(this); + return this; + } + + public BrowseNextResponse.Builder<_B> copyOf(final BrowseNextResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowseNextResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowseNextResponse.Select _root() { + return new BrowseNextResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePath.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePath.java new file mode 100644 index 000000000..869435fe4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePath.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowsePath complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowsePath">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StartingNode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="RelativePath" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RelativePath" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowsePath", propOrder = { + "startingNode", + "relativePath" +}) +public class BrowsePath { + + @XmlElementRef(name = "StartingNode", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement startingNode; + @XmlElementRef(name = "RelativePath", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement relativePath; + + /** + * Ruft den Wert der startingNode-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getStartingNode() { + return startingNode; + } + + /** + * Legt den Wert der startingNode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setStartingNode(JAXBElement value) { + this.startingNode = value; + } + + /** + * Ruft den Wert der relativePath-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + */ + public JAXBElement getRelativePath() { + return relativePath; + } + + /** + * Legt den Wert der relativePath-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + */ + public void setRelativePath(JAXBElement value) { + this.relativePath = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowsePath.Builder<_B> _other) { + _other.startingNode = this.startingNode; + _other.relativePath = this.relativePath; + } + + public<_B >BrowsePath.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowsePath.Builder<_B>(_parentBuilder, this, true); + } + + public BrowsePath.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowsePath.Builder builder() { + return new BrowsePath.Builder(null, null, false); + } + + public static<_B >BrowsePath.Builder<_B> copyOf(final BrowsePath _other) { + final BrowsePath.Builder<_B> _newBuilder = new BrowsePath.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowsePath.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree startingNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startingNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startingNodePropertyTree!= null):((startingNodePropertyTree == null)||(!startingNodePropertyTree.isLeaf())))) { + _other.startingNode = this.startingNode; + } + final PropertyTree relativePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("relativePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(relativePathPropertyTree!= null):((relativePathPropertyTree == null)||(!relativePathPropertyTree.isLeaf())))) { + _other.relativePath = this.relativePath; + } + } + + public<_B >BrowsePath.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowsePath.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowsePath.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowsePath.Builder<_B> copyOf(final BrowsePath _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowsePath.Builder<_B> _newBuilder = new BrowsePath.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowsePath.Builder copyExcept(final BrowsePath _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowsePath.Builder copyOnly(final BrowsePath _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowsePath _storedValue; + private JAXBElement startingNode; + private JAXBElement relativePath; + + public Builder(final _B _parentBuilder, final BrowsePath _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.startingNode = _other.startingNode; + this.relativePath = _other.relativePath; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowsePath _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree startingNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startingNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startingNodePropertyTree!= null):((startingNodePropertyTree == null)||(!startingNodePropertyTree.isLeaf())))) { + this.startingNode = _other.startingNode; + } + final PropertyTree relativePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("relativePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(relativePathPropertyTree!= null):((relativePathPropertyTree == null)||(!relativePathPropertyTree.isLeaf())))) { + this.relativePath = _other.relativePath; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowsePath >_P init(final _P _product) { + _product.startingNode = this.startingNode; + _product.relativePath = this.relativePath; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "startingNode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param startingNode + * Neuer Wert der Eigenschaft "startingNode". + */ + public BrowsePath.Builder<_B> withStartingNode(final JAXBElement startingNode) { + this.startingNode = startingNode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "relativePath" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param relativePath + * Neuer Wert der Eigenschaft "relativePath". + */ + public BrowsePath.Builder<_B> withRelativePath(final JAXBElement relativePath) { + this.relativePath = relativePath; + return this; + } + + @Override + public BrowsePath build() { + if (_storedValue == null) { + return this.init(new BrowsePath()); + } else { + return ((BrowsePath) _storedValue); + } + } + + public BrowsePath.Builder<_B> copyOf(final BrowsePath _other) { + _other.copyTo(this); + return this; + } + + public BrowsePath.Builder<_B> copyOf(final BrowsePath.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowsePath.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowsePath.Select _root() { + return new BrowsePath.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> startingNode = null; + private com.kscs.util.jaxb.Selector> relativePath = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.startingNode!= null) { + products.put("startingNode", this.startingNode.init()); + } + if (this.relativePath!= null) { + products.put("relativePath", this.relativePath.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> startingNode() { + return ((this.startingNode == null)?this.startingNode = new com.kscs.util.jaxb.Selector>(this._root, this, "startingNode"):this.startingNode); + } + + public com.kscs.util.jaxb.Selector> relativePath() { + return ((this.relativePath == null)?this.relativePath = new com.kscs.util.jaxb.Selector>(this._root, this, "relativePath"):this.relativePath); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathResult.java new file mode 100644 index 000000000..3509fcb99 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathResult.java @@ -0,0 +1,339 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowsePathResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowsePathResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="Targets" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfBrowsePathTarget" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowsePathResult", propOrder = { + "statusCode", + "targets" +}) +public class BrowsePathResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "Targets", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targets; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der targets-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfBrowsePathTarget }{@code >} + * + */ + public JAXBElement getTargets() { + return targets; + } + + /** + * Legt den Wert der targets-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfBrowsePathTarget }{@code >} + * + */ + public void setTargets(JAXBElement value) { + this.targets = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowsePathResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.targets = this.targets; + } + + public<_B >BrowsePathResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowsePathResult.Builder<_B>(_parentBuilder, this, true); + } + + public BrowsePathResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowsePathResult.Builder builder() { + return new BrowsePathResult.Builder(null, null, false); + } + + public static<_B >BrowsePathResult.Builder<_B> copyOf(final BrowsePathResult _other) { + final BrowsePathResult.Builder<_B> _newBuilder = new BrowsePathResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowsePathResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree targetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetsPropertyTree!= null):((targetsPropertyTree == null)||(!targetsPropertyTree.isLeaf())))) { + _other.targets = this.targets; + } + } + + public<_B >BrowsePathResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowsePathResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowsePathResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowsePathResult.Builder<_B> copyOf(final BrowsePathResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowsePathResult.Builder<_B> _newBuilder = new BrowsePathResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowsePathResult.Builder copyExcept(final BrowsePathResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowsePathResult.Builder copyOnly(final BrowsePathResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowsePathResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement targets; + + public Builder(final _B _parentBuilder, final BrowsePathResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.targets = _other.targets; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowsePathResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree targetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetsPropertyTree!= null):((targetsPropertyTree == null)||(!targetsPropertyTree.isLeaf())))) { + this.targets = _other.targets; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowsePathResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.targets = this.targets; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public BrowsePathResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "targets" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param targets + * Neuer Wert der Eigenschaft "targets". + */ + public BrowsePathResult.Builder<_B> withTargets(final JAXBElement targets) { + this.targets = targets; + return this; + } + + @Override + public BrowsePathResult build() { + if (_storedValue == null) { + return this.init(new BrowsePathResult()); + } else { + return ((BrowsePathResult) _storedValue); + } + } + + public BrowsePathResult.Builder<_B> copyOf(final BrowsePathResult _other) { + _other.copyTo(this); + return this; + } + + public BrowsePathResult.Builder<_B> copyOf(final BrowsePathResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowsePathResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowsePathResult.Select _root() { + return new BrowsePathResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> targets = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.targets!= null) { + products.put("targets", this.targets.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> targets() { + return ((this.targets == null)?this.targets = new com.kscs.util.jaxb.Selector>(this._root, this, "targets"):this.targets); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathTarget.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathTarget.java new file mode 100644 index 000000000..9aa31e144 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowsePathTarget.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowsePathTarget complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowsePathTarget">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TargetId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="RemainingPathIndex" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowsePathTarget", propOrder = { + "targetId", + "remainingPathIndex" +}) +public class BrowsePathTarget { + + @XmlElementRef(name = "TargetId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetId; + @XmlElement(name = "RemainingPathIndex") + @XmlSchemaType(name = "unsignedInt") + protected Long remainingPathIndex; + + /** + * Ruft den Wert der targetId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTargetId() { + return targetId; + } + + /** + * Legt den Wert der targetId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTargetId(JAXBElement value) { + this.targetId = value; + } + + /** + * Ruft den Wert der remainingPathIndex-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRemainingPathIndex() { + return remainingPathIndex; + } + + /** + * Legt den Wert der remainingPathIndex-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRemainingPathIndex(Long value) { + this.remainingPathIndex = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowsePathTarget.Builder<_B> _other) { + _other.targetId = this.targetId; + _other.remainingPathIndex = this.remainingPathIndex; + } + + public<_B >BrowsePathTarget.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowsePathTarget.Builder<_B>(_parentBuilder, this, true); + } + + public BrowsePathTarget.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowsePathTarget.Builder builder() { + return new BrowsePathTarget.Builder(null, null, false); + } + + public static<_B >BrowsePathTarget.Builder<_B> copyOf(final BrowsePathTarget _other) { + final BrowsePathTarget.Builder<_B> _newBuilder = new BrowsePathTarget.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowsePathTarget.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree targetIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetIdPropertyTree!= null):((targetIdPropertyTree == null)||(!targetIdPropertyTree.isLeaf())))) { + _other.targetId = this.targetId; + } + final PropertyTree remainingPathIndexPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("remainingPathIndex")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(remainingPathIndexPropertyTree!= null):((remainingPathIndexPropertyTree == null)||(!remainingPathIndexPropertyTree.isLeaf())))) { + _other.remainingPathIndex = this.remainingPathIndex; + } + } + + public<_B >BrowsePathTarget.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowsePathTarget.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowsePathTarget.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowsePathTarget.Builder<_B> copyOf(final BrowsePathTarget _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowsePathTarget.Builder<_B> _newBuilder = new BrowsePathTarget.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowsePathTarget.Builder copyExcept(final BrowsePathTarget _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowsePathTarget.Builder copyOnly(final BrowsePathTarget _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowsePathTarget _storedValue; + private JAXBElement targetId; + private Long remainingPathIndex; + + public Builder(final _B _parentBuilder, final BrowsePathTarget _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.targetId = _other.targetId; + this.remainingPathIndex = _other.remainingPathIndex; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowsePathTarget _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree targetIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetIdPropertyTree!= null):((targetIdPropertyTree == null)||(!targetIdPropertyTree.isLeaf())))) { + this.targetId = _other.targetId; + } + final PropertyTree remainingPathIndexPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("remainingPathIndex")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(remainingPathIndexPropertyTree!= null):((remainingPathIndexPropertyTree == null)||(!remainingPathIndexPropertyTree.isLeaf())))) { + this.remainingPathIndex = _other.remainingPathIndex; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowsePathTarget >_P init(final _P _product) { + _product.targetId = this.targetId; + _product.remainingPathIndex = this.remainingPathIndex; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param targetId + * Neuer Wert der Eigenschaft "targetId". + */ + public BrowsePathTarget.Builder<_B> withTargetId(final JAXBElement targetId) { + this.targetId = targetId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "remainingPathIndex" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param remainingPathIndex + * Neuer Wert der Eigenschaft "remainingPathIndex". + */ + public BrowsePathTarget.Builder<_B> withRemainingPathIndex(final Long remainingPathIndex) { + this.remainingPathIndex = remainingPathIndex; + return this; + } + + @Override + public BrowsePathTarget build() { + if (_storedValue == null) { + return this.init(new BrowsePathTarget()); + } else { + return ((BrowsePathTarget) _storedValue); + } + } + + public BrowsePathTarget.Builder<_B> copyOf(final BrowsePathTarget _other) { + _other.copyTo(this); + return this; + } + + public BrowsePathTarget.Builder<_B> copyOf(final BrowsePathTarget.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowsePathTarget.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowsePathTarget.Select _root() { + return new BrowsePathTarget.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> targetId = null; + private com.kscs.util.jaxb.Selector> remainingPathIndex = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.targetId!= null) { + products.put("targetId", this.targetId.init()); + } + if (this.remainingPathIndex!= null) { + products.put("remainingPathIndex", this.remainingPathIndex.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> targetId() { + return ((this.targetId == null)?this.targetId = new com.kscs.util.jaxb.Selector>(this._root, this, "targetId"):this.targetId); + } + + public com.kscs.util.jaxb.Selector> remainingPathIndex() { + return ((this.remainingPathIndex == null)?this.remainingPathIndex = new com.kscs.util.jaxb.Selector>(this._root, this, "remainingPathIndex"):this.remainingPathIndex); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseRequest.java new file mode 100644 index 000000000..da1279a98 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseRequest.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowseRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowseRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="View" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ViewDescription" minOccurs="0"/>
+ *         <element name="RequestedMaxReferencesPerNode" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="NodesToBrowse" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfBrowseDescription" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowseRequest", propOrder = { + "requestHeader", + "view", + "requestedMaxReferencesPerNode", + "nodesToBrowse" +}) +public class BrowseRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "View", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement view; + @XmlElement(name = "RequestedMaxReferencesPerNode") + @XmlSchemaType(name = "unsignedInt") + protected Long requestedMaxReferencesPerNode; + @XmlElementRef(name = "NodesToBrowse", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToBrowse; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der view-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + */ + public JAXBElement getView() { + return view; + } + + /** + * Legt den Wert der view-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + */ + public void setView(JAXBElement value) { + this.view = value; + } + + /** + * Ruft den Wert der requestedMaxReferencesPerNode-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestedMaxReferencesPerNode() { + return requestedMaxReferencesPerNode; + } + + /** + * Legt den Wert der requestedMaxReferencesPerNode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestedMaxReferencesPerNode(Long value) { + this.requestedMaxReferencesPerNode = value; + } + + /** + * Ruft den Wert der nodesToBrowse-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfBrowseDescription }{@code >} + * + */ + public JAXBElement getNodesToBrowse() { + return nodesToBrowse; + } + + /** + * Legt den Wert der nodesToBrowse-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfBrowseDescription }{@code >} + * + */ + public void setNodesToBrowse(JAXBElement value) { + this.nodesToBrowse = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.view = this.view; + _other.requestedMaxReferencesPerNode = this.requestedMaxReferencesPerNode; + _other.nodesToBrowse = this.nodesToBrowse; + } + + public<_B >BrowseRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowseRequest.Builder<_B>(_parentBuilder, this, true); + } + + public BrowseRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowseRequest.Builder builder() { + return new BrowseRequest.Builder(null, null, false); + } + + public static<_B >BrowseRequest.Builder<_B> copyOf(final BrowseRequest _other) { + final BrowseRequest.Builder<_B> _newBuilder = new BrowseRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree viewPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("view")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewPropertyTree!= null):((viewPropertyTree == null)||(!viewPropertyTree.isLeaf())))) { + _other.view = this.view; + } + final PropertyTree requestedMaxReferencesPerNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedMaxReferencesPerNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedMaxReferencesPerNodePropertyTree!= null):((requestedMaxReferencesPerNodePropertyTree == null)||(!requestedMaxReferencesPerNodePropertyTree.isLeaf())))) { + _other.requestedMaxReferencesPerNode = this.requestedMaxReferencesPerNode; + } + final PropertyTree nodesToBrowsePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToBrowse")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToBrowsePropertyTree!= null):((nodesToBrowsePropertyTree == null)||(!nodesToBrowsePropertyTree.isLeaf())))) { + _other.nodesToBrowse = this.nodesToBrowse; + } + } + + public<_B >BrowseRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowseRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowseRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowseRequest.Builder<_B> copyOf(final BrowseRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowseRequest.Builder<_B> _newBuilder = new BrowseRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowseRequest.Builder copyExcept(final BrowseRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowseRequest.Builder copyOnly(final BrowseRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowseRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement view; + private Long requestedMaxReferencesPerNode; + private JAXBElement nodesToBrowse; + + public Builder(final _B _parentBuilder, final BrowseRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.view = _other.view; + this.requestedMaxReferencesPerNode = _other.requestedMaxReferencesPerNode; + this.nodesToBrowse = _other.nodesToBrowse; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowseRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree viewPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("view")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewPropertyTree!= null):((viewPropertyTree == null)||(!viewPropertyTree.isLeaf())))) { + this.view = _other.view; + } + final PropertyTree requestedMaxReferencesPerNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedMaxReferencesPerNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedMaxReferencesPerNodePropertyTree!= null):((requestedMaxReferencesPerNodePropertyTree == null)||(!requestedMaxReferencesPerNodePropertyTree.isLeaf())))) { + this.requestedMaxReferencesPerNode = _other.requestedMaxReferencesPerNode; + } + final PropertyTree nodesToBrowsePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToBrowse")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToBrowsePropertyTree!= null):((nodesToBrowsePropertyTree == null)||(!nodesToBrowsePropertyTree.isLeaf())))) { + this.nodesToBrowse = _other.nodesToBrowse; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowseRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.view = this.view; + _product.requestedMaxReferencesPerNode = this.requestedMaxReferencesPerNode; + _product.nodesToBrowse = this.nodesToBrowse; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public BrowseRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "view" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param view + * Neuer Wert der Eigenschaft "view". + */ + public BrowseRequest.Builder<_B> withView(final JAXBElement view) { + this.view = view; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedMaxReferencesPerNode" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedMaxReferencesPerNode + * Neuer Wert der Eigenschaft "requestedMaxReferencesPerNode". + */ + public BrowseRequest.Builder<_B> withRequestedMaxReferencesPerNode(final Long requestedMaxReferencesPerNode) { + this.requestedMaxReferencesPerNode = requestedMaxReferencesPerNode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToBrowse" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodesToBrowse + * Neuer Wert der Eigenschaft "nodesToBrowse". + */ + public BrowseRequest.Builder<_B> withNodesToBrowse(final JAXBElement nodesToBrowse) { + this.nodesToBrowse = nodesToBrowse; + return this; + } + + @Override + public BrowseRequest build() { + if (_storedValue == null) { + return this.init(new BrowseRequest()); + } else { + return ((BrowseRequest) _storedValue); + } + } + + public BrowseRequest.Builder<_B> copyOf(final BrowseRequest _other) { + _other.copyTo(this); + return this; + } + + public BrowseRequest.Builder<_B> copyOf(final BrowseRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowseRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowseRequest.Select _root() { + return new BrowseRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> view = null; + private com.kscs.util.jaxb.Selector> requestedMaxReferencesPerNode = null; + private com.kscs.util.jaxb.Selector> nodesToBrowse = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.view!= null) { + products.put("view", this.view.init()); + } + if (this.requestedMaxReferencesPerNode!= null) { + products.put("requestedMaxReferencesPerNode", this.requestedMaxReferencesPerNode.init()); + } + if (this.nodesToBrowse!= null) { + products.put("nodesToBrowse", this.nodesToBrowse.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> view() { + return ((this.view == null)?this.view = new com.kscs.util.jaxb.Selector>(this._root, this, "view"):this.view); + } + + public com.kscs.util.jaxb.Selector> requestedMaxReferencesPerNode() { + return ((this.requestedMaxReferencesPerNode == null)?this.requestedMaxReferencesPerNode = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedMaxReferencesPerNode"):this.requestedMaxReferencesPerNode); + } + + public com.kscs.util.jaxb.Selector> nodesToBrowse() { + return ((this.nodesToBrowse == null)?this.nodesToBrowse = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToBrowse"):this.nodesToBrowse); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResponse.java new file mode 100644 index 000000000..759eaf81f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowseResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowseResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfBrowseResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowseResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class BrowseResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >BrowseResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowseResponse.Builder<_B>(_parentBuilder, this, true); + } + + public BrowseResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowseResponse.Builder builder() { + return new BrowseResponse.Builder(null, null, false); + } + + public static<_B >BrowseResponse.Builder<_B> copyOf(final BrowseResponse _other) { + final BrowseResponse.Builder<_B> _newBuilder = new BrowseResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >BrowseResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowseResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowseResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowseResponse.Builder<_B> copyOf(final BrowseResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowseResponse.Builder<_B> _newBuilder = new BrowseResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowseResponse.Builder copyExcept(final BrowseResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowseResponse.Builder copyOnly(final BrowseResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowseResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final BrowseResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowseResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowseResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public BrowseResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public BrowseResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public BrowseResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public BrowseResponse build() { + if (_storedValue == null) { + return this.init(new BrowseResponse()); + } else { + return ((BrowseResponse) _storedValue); + } + } + + public BrowseResponse.Builder<_B> copyOf(final BrowseResponse _other) { + _other.copyTo(this); + return this; + } + + public BrowseResponse.Builder<_B> copyOf(final BrowseResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowseResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowseResponse.Select _root() { + return new BrowseResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResult.java new file mode 100644 index 000000000..ab02506bc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResult.java @@ -0,0 +1,399 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BrowseResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BrowseResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="ContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="References" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfReferenceDescription" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BrowseResult", propOrder = { + "statusCode", + "continuationPoint", + "references" +}) +public class BrowseResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "ContinuationPoint", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement continuationPoint; + @XmlElementRef(name = "References", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement references; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der continuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getContinuationPoint() { + return continuationPoint; + } + + /** + * Legt den Wert der continuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setContinuationPoint(JAXBElement value) { + this.continuationPoint = value; + } + + /** + * Ruft den Wert der references-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfReferenceDescription }{@code >} + * + */ + public JAXBElement getReferences() { + return references; + } + + /** + * Legt den Wert der references-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfReferenceDescription }{@code >} + * + */ + public void setReferences(JAXBElement value) { + this.references = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.continuationPoint = this.continuationPoint; + _other.references = this.references; + } + + public<_B >BrowseResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BrowseResult.Builder<_B>(_parentBuilder, this, true); + } + + public BrowseResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BrowseResult.Builder builder() { + return new BrowseResult.Builder(null, null, false); + } + + public static<_B >BrowseResult.Builder<_B> copyOf(final BrowseResult _other) { + final BrowseResult.Builder<_B> _newBuilder = new BrowseResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BrowseResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + _other.continuationPoint = this.continuationPoint; + } + final PropertyTree referencesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("references")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesPropertyTree!= null):((referencesPropertyTree == null)||(!referencesPropertyTree.isLeaf())))) { + _other.references = this.references; + } + } + + public<_B >BrowseResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BrowseResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BrowseResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BrowseResult.Builder<_B> copyOf(final BrowseResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BrowseResult.Builder<_B> _newBuilder = new BrowseResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BrowseResult.Builder copyExcept(final BrowseResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BrowseResult.Builder copyOnly(final BrowseResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BrowseResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement continuationPoint; + private JAXBElement references; + + public Builder(final _B _parentBuilder, final BrowseResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.continuationPoint = _other.continuationPoint; + this.references = _other.references; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BrowseResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + this.continuationPoint = _other.continuationPoint; + } + final PropertyTree referencesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("references")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesPropertyTree!= null):((referencesPropertyTree == null)||(!referencesPropertyTree.isLeaf())))) { + this.references = _other.references; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BrowseResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.continuationPoint = this.continuationPoint; + _product.references = this.references; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public BrowseResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "continuationPoint" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param continuationPoint + * Neuer Wert der Eigenschaft "continuationPoint". + */ + public BrowseResult.Builder<_B> withContinuationPoint(final JAXBElement continuationPoint) { + this.continuationPoint = continuationPoint; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + public BrowseResult.Builder<_B> withReferences(final JAXBElement references) { + this.references = references; + return this; + } + + @Override + public BrowseResult build() { + if (_storedValue == null) { + return this.init(new BrowseResult()); + } else { + return ((BrowseResult) _storedValue); + } + } + + public BrowseResult.Builder<_B> copyOf(final BrowseResult _other) { + _other.copyTo(this); + return this; + } + + public BrowseResult.Builder<_B> copyOf(final BrowseResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BrowseResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static BrowseResult.Select _root() { + return new BrowseResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> continuationPoint = null; + private com.kscs.util.jaxb.Selector> references = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.continuationPoint!= null) { + products.put("continuationPoint", this.continuationPoint.init()); + } + if (this.references!= null) { + products.put("references", this.references.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> continuationPoint() { + return ((this.continuationPoint == null)?this.continuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "continuationPoint"):this.continuationPoint); + } + + public com.kscs.util.jaxb.Selector> references() { + return ((this.references == null)?this.references = new com.kscs.util.jaxb.Selector>(this._root, this, "references"):this.references); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResultMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResultMask.java new file mode 100644 index 000000000..e703a1c49 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BrowseResultMask.java @@ -0,0 +1,82 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für BrowseResultMask. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="BrowseResultMask">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="None_0"/>
+ *     <enumeration value="ReferenceTypeId_1"/>
+ *     <enumeration value="IsForward_2"/>
+ *     <enumeration value="NodeClass_4"/>
+ *     <enumeration value="BrowseName_8"/>
+ *     <enumeration value="DisplayName_16"/>
+ *     <enumeration value="TypeDefinition_32"/>
+ *     <enumeration value="All_63"/>
+ *     <enumeration value="ReferenceTypeInfo_3"/>
+ *     <enumeration value="TargetInfo_60"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "BrowseResultMask") +@XmlEnum +public enum BrowseResultMask { + + @XmlEnumValue("None_0") + NONE_0("None_0"), + @XmlEnumValue("ReferenceTypeId_1") + REFERENCE_TYPE_ID_1("ReferenceTypeId_1"), + @XmlEnumValue("IsForward_2") + IS_FORWARD_2("IsForward_2"), + @XmlEnumValue("NodeClass_4") + NODE_CLASS_4("NodeClass_4"), + @XmlEnumValue("BrowseName_8") + BROWSE_NAME_8("BrowseName_8"), + @XmlEnumValue("DisplayName_16") + DISPLAY_NAME_16("DisplayName_16"), + @XmlEnumValue("TypeDefinition_32") + TYPE_DEFINITION_32("TypeDefinition_32"), + @XmlEnumValue("All_63") + ALL_63("All_63"), + @XmlEnumValue("ReferenceTypeInfo_3") + REFERENCE_TYPE_INFO_3("ReferenceTypeInfo_3"), + @XmlEnumValue("TargetInfo_60") + TARGET_INFO_60("TargetInfo_60"); + private final String value; + + BrowseResultMask(String v) { + value = v; + } + + public String value() { + return value; + } + + public static BrowseResultMask fromValue(String v) { + for (BrowseResultMask c: BrowseResultMask.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BuildInfo.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BuildInfo.java new file mode 100644 index 000000000..c1c3ac24a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/BuildInfo.java @@ -0,0 +1,564 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für BuildInfo complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="BuildInfo">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ProductUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ManufacturerName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ProductName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SoftwareVersion" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="BuildNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="BuildDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "BuildInfo", propOrder = { + "productUri", + "manufacturerName", + "productName", + "softwareVersion", + "buildNumber", + "buildDate" +}) +public class BuildInfo { + + @XmlElementRef(name = "ProductUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement productUri; + @XmlElementRef(name = "ManufacturerName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement manufacturerName; + @XmlElementRef(name = "ProductName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement productName; + @XmlElementRef(name = "SoftwareVersion", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement softwareVersion; + @XmlElementRef(name = "BuildNumber", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement buildNumber; + @XmlElement(name = "BuildDate") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar buildDate; + + /** + * Ruft den Wert der productUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getProductUri() { + return productUri; + } + + /** + * Legt den Wert der productUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setProductUri(JAXBElement value) { + this.productUri = value; + } + + /** + * Ruft den Wert der manufacturerName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getManufacturerName() { + return manufacturerName; + } + + /** + * Legt den Wert der manufacturerName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setManufacturerName(JAXBElement value) { + this.manufacturerName = value; + } + + /** + * Ruft den Wert der productName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getProductName() { + return productName; + } + + /** + * Legt den Wert der productName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setProductName(JAXBElement value) { + this.productName = value; + } + + /** + * Ruft den Wert der softwareVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSoftwareVersion() { + return softwareVersion; + } + + /** + * Legt den Wert der softwareVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSoftwareVersion(JAXBElement value) { + this.softwareVersion = value; + } + + /** + * Ruft den Wert der buildNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getBuildNumber() { + return buildNumber; + } + + /** + * Legt den Wert der buildNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setBuildNumber(JAXBElement value) { + this.buildNumber = value; + } + + /** + * Ruft den Wert der buildDate-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getBuildDate() { + return buildDate; + } + + /** + * Legt den Wert der buildDate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setBuildDate(XMLGregorianCalendar value) { + this.buildDate = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BuildInfo.Builder<_B> _other) { + _other.productUri = this.productUri; + _other.manufacturerName = this.manufacturerName; + _other.productName = this.productName; + _other.softwareVersion = this.softwareVersion; + _other.buildNumber = this.buildNumber; + _other.buildDate = ((this.buildDate == null)?null:((XMLGregorianCalendar) this.buildDate.clone())); + } + + public<_B >BuildInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new BuildInfo.Builder<_B>(_parentBuilder, this, true); + } + + public BuildInfo.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static BuildInfo.Builder builder() { + return new BuildInfo.Builder(null, null, false); + } + + public static<_B >BuildInfo.Builder<_B> copyOf(final BuildInfo _other) { + final BuildInfo.Builder<_B> _newBuilder = new BuildInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final BuildInfo.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree productUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productUriPropertyTree!= null):((productUriPropertyTree == null)||(!productUriPropertyTree.isLeaf())))) { + _other.productUri = this.productUri; + } + final PropertyTree manufacturerNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("manufacturerName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(manufacturerNamePropertyTree!= null):((manufacturerNamePropertyTree == null)||(!manufacturerNamePropertyTree.isLeaf())))) { + _other.manufacturerName = this.manufacturerName; + } + final PropertyTree productNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productNamePropertyTree!= null):((productNamePropertyTree == null)||(!productNamePropertyTree.isLeaf())))) { + _other.productName = this.productName; + } + final PropertyTree softwareVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("softwareVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(softwareVersionPropertyTree!= null):((softwareVersionPropertyTree == null)||(!softwareVersionPropertyTree.isLeaf())))) { + _other.softwareVersion = this.softwareVersion; + } + final PropertyTree buildNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("buildNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(buildNumberPropertyTree!= null):((buildNumberPropertyTree == null)||(!buildNumberPropertyTree.isLeaf())))) { + _other.buildNumber = this.buildNumber; + } + final PropertyTree buildDatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("buildDate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(buildDatePropertyTree!= null):((buildDatePropertyTree == null)||(!buildDatePropertyTree.isLeaf())))) { + _other.buildDate = ((this.buildDate == null)?null:((XMLGregorianCalendar) this.buildDate.clone())); + } + } + + public<_B >BuildInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new BuildInfo.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public BuildInfo.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >BuildInfo.Builder<_B> copyOf(final BuildInfo _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final BuildInfo.Builder<_B> _newBuilder = new BuildInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static BuildInfo.Builder copyExcept(final BuildInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static BuildInfo.Builder copyOnly(final BuildInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final BuildInfo _storedValue; + private JAXBElement productUri; + private JAXBElement manufacturerName; + private JAXBElement productName; + private JAXBElement softwareVersion; + private JAXBElement buildNumber; + private XMLGregorianCalendar buildDate; + + public Builder(final _B _parentBuilder, final BuildInfo _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.productUri = _other.productUri; + this.manufacturerName = _other.manufacturerName; + this.productName = _other.productName; + this.softwareVersion = _other.softwareVersion; + this.buildNumber = _other.buildNumber; + this.buildDate = ((_other.buildDate == null)?null:((XMLGregorianCalendar) _other.buildDate.clone())); + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final BuildInfo _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree productUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productUriPropertyTree!= null):((productUriPropertyTree == null)||(!productUriPropertyTree.isLeaf())))) { + this.productUri = _other.productUri; + } + final PropertyTree manufacturerNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("manufacturerName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(manufacturerNamePropertyTree!= null):((manufacturerNamePropertyTree == null)||(!manufacturerNamePropertyTree.isLeaf())))) { + this.manufacturerName = _other.manufacturerName; + } + final PropertyTree productNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productNamePropertyTree!= null):((productNamePropertyTree == null)||(!productNamePropertyTree.isLeaf())))) { + this.productName = _other.productName; + } + final PropertyTree softwareVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("softwareVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(softwareVersionPropertyTree!= null):((softwareVersionPropertyTree == null)||(!softwareVersionPropertyTree.isLeaf())))) { + this.softwareVersion = _other.softwareVersion; + } + final PropertyTree buildNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("buildNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(buildNumberPropertyTree!= null):((buildNumberPropertyTree == null)||(!buildNumberPropertyTree.isLeaf())))) { + this.buildNumber = _other.buildNumber; + } + final PropertyTree buildDatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("buildDate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(buildDatePropertyTree!= null):((buildDatePropertyTree == null)||(!buildDatePropertyTree.isLeaf())))) { + this.buildDate = ((_other.buildDate == null)?null:((XMLGregorianCalendar) _other.buildDate.clone())); + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends BuildInfo >_P init(final _P _product) { + _product.productUri = this.productUri; + _product.manufacturerName = this.manufacturerName; + _product.productName = this.productName; + _product.softwareVersion = this.softwareVersion; + _product.buildNumber = this.buildNumber; + _product.buildDate = this.buildDate; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "productUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param productUri + * Neuer Wert der Eigenschaft "productUri". + */ + public BuildInfo.Builder<_B> withProductUri(final JAXBElement productUri) { + this.productUri = productUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "manufacturerName" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param manufacturerName + * Neuer Wert der Eigenschaft "manufacturerName". + */ + public BuildInfo.Builder<_B> withManufacturerName(final JAXBElement manufacturerName) { + this.manufacturerName = manufacturerName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "productName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param productName + * Neuer Wert der Eigenschaft "productName". + */ + public BuildInfo.Builder<_B> withProductName(final JAXBElement productName) { + this.productName = productName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "softwareVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param softwareVersion + * Neuer Wert der Eigenschaft "softwareVersion". + */ + public BuildInfo.Builder<_B> withSoftwareVersion(final JAXBElement softwareVersion) { + this.softwareVersion = softwareVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "buildNumber" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param buildNumber + * Neuer Wert der Eigenschaft "buildNumber". + */ + public BuildInfo.Builder<_B> withBuildNumber(final JAXBElement buildNumber) { + this.buildNumber = buildNumber; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "buildDate" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param buildDate + * Neuer Wert der Eigenschaft "buildDate". + */ + public BuildInfo.Builder<_B> withBuildDate(final XMLGregorianCalendar buildDate) { + this.buildDate = buildDate; + return this; + } + + @Override + public BuildInfo build() { + if (_storedValue == null) { + return this.init(new BuildInfo()); + } else { + return ((BuildInfo) _storedValue); + } + } + + public BuildInfo.Builder<_B> copyOf(final BuildInfo _other) { + _other.copyTo(this); + return this; + } + + public BuildInfo.Builder<_B> copyOf(final BuildInfo.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends BuildInfo.Selector + { + + + Select() { + super(null, null, null); + } + + public static BuildInfo.Select _root() { + return new BuildInfo.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> productUri = null; + private com.kscs.util.jaxb.Selector> manufacturerName = null; + private com.kscs.util.jaxb.Selector> productName = null; + private com.kscs.util.jaxb.Selector> softwareVersion = null; + private com.kscs.util.jaxb.Selector> buildNumber = null; + private com.kscs.util.jaxb.Selector> buildDate = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.productUri!= null) { + products.put("productUri", this.productUri.init()); + } + if (this.manufacturerName!= null) { + products.put("manufacturerName", this.manufacturerName.init()); + } + if (this.productName!= null) { + products.put("productName", this.productName.init()); + } + if (this.softwareVersion!= null) { + products.put("softwareVersion", this.softwareVersion.init()); + } + if (this.buildNumber!= null) { + products.put("buildNumber", this.buildNumber.init()); + } + if (this.buildDate!= null) { + products.put("buildDate", this.buildDate.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> productUri() { + return ((this.productUri == null)?this.productUri = new com.kscs.util.jaxb.Selector>(this._root, this, "productUri"):this.productUri); + } + + public com.kscs.util.jaxb.Selector> manufacturerName() { + return ((this.manufacturerName == null)?this.manufacturerName = new com.kscs.util.jaxb.Selector>(this._root, this, "manufacturerName"):this.manufacturerName); + } + + public com.kscs.util.jaxb.Selector> productName() { + return ((this.productName == null)?this.productName = new com.kscs.util.jaxb.Selector>(this._root, this, "productName"):this.productName); + } + + public com.kscs.util.jaxb.Selector> softwareVersion() { + return ((this.softwareVersion == null)?this.softwareVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "softwareVersion"):this.softwareVersion); + } + + public com.kscs.util.jaxb.Selector> buildNumber() { + return ((this.buildNumber == null)?this.buildNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "buildNumber"):this.buildNumber); + } + + public com.kscs.util.jaxb.Selector> buildDate() { + return ((this.buildDate == null)?this.buildDate = new com.kscs.util.jaxb.Selector>(this._root, this, "buildDate"):this.buildDate); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodRequest.java new file mode 100644 index 000000000..5823d3942 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodRequest.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CallMethodRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CallMethodRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ObjectId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="MethodId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="InputArguments" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CallMethodRequest", propOrder = { + "objectId", + "methodId", + "inputArguments" +}) +public class CallMethodRequest { + + @XmlElementRef(name = "ObjectId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement objectId; + @XmlElementRef(name = "MethodId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement methodId; + @XmlElementRef(name = "InputArguments", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement inputArguments; + + /** + * Ruft den Wert der objectId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getObjectId() { + return objectId; + } + + /** + * Legt den Wert der objectId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setObjectId(JAXBElement value) { + this.objectId = value; + } + + /** + * Ruft den Wert der methodId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getMethodId() { + return methodId; + } + + /** + * Legt den Wert der methodId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setMethodId(JAXBElement value) { + this.methodId = value; + } + + /** + * Ruft den Wert der inputArguments-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getInputArguments() { + return inputArguments; + } + + /** + * Legt den Wert der inputArguments-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setInputArguments(JAXBElement value) { + this.inputArguments = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallMethodRequest.Builder<_B> _other) { + _other.objectId = this.objectId; + _other.methodId = this.methodId; + _other.inputArguments = this.inputArguments; + } + + public<_B >CallMethodRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CallMethodRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CallMethodRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CallMethodRequest.Builder builder() { + return new CallMethodRequest.Builder(null, null, false); + } + + public static<_B >CallMethodRequest.Builder<_B> copyOf(final CallMethodRequest _other) { + final CallMethodRequest.Builder<_B> _newBuilder = new CallMethodRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallMethodRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree objectIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("objectId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(objectIdPropertyTree!= null):((objectIdPropertyTree == null)||(!objectIdPropertyTree.isLeaf())))) { + _other.objectId = this.objectId; + } + final PropertyTree methodIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("methodId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(methodIdPropertyTree!= null):((methodIdPropertyTree == null)||(!methodIdPropertyTree.isLeaf())))) { + _other.methodId = this.methodId; + } + final PropertyTree inputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inputArgumentsPropertyTree!= null):((inputArgumentsPropertyTree == null)||(!inputArgumentsPropertyTree.isLeaf())))) { + _other.inputArguments = this.inputArguments; + } + } + + public<_B >CallMethodRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CallMethodRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CallMethodRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CallMethodRequest.Builder<_B> copyOf(final CallMethodRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CallMethodRequest.Builder<_B> _newBuilder = new CallMethodRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CallMethodRequest.Builder copyExcept(final CallMethodRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CallMethodRequest.Builder copyOnly(final CallMethodRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CallMethodRequest _storedValue; + private JAXBElement objectId; + private JAXBElement methodId; + private JAXBElement inputArguments; + + public Builder(final _B _parentBuilder, final CallMethodRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.objectId = _other.objectId; + this.methodId = _other.methodId; + this.inputArguments = _other.inputArguments; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CallMethodRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree objectIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("objectId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(objectIdPropertyTree!= null):((objectIdPropertyTree == null)||(!objectIdPropertyTree.isLeaf())))) { + this.objectId = _other.objectId; + } + final PropertyTree methodIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("methodId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(methodIdPropertyTree!= null):((methodIdPropertyTree == null)||(!methodIdPropertyTree.isLeaf())))) { + this.methodId = _other.methodId; + } + final PropertyTree inputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inputArgumentsPropertyTree!= null):((inputArgumentsPropertyTree == null)||(!inputArgumentsPropertyTree.isLeaf())))) { + this.inputArguments = _other.inputArguments; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CallMethodRequest >_P init(final _P _product) { + _product.objectId = this.objectId; + _product.methodId = this.methodId; + _product.inputArguments = this.inputArguments; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "objectId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param objectId + * Neuer Wert der Eigenschaft "objectId". + */ + public CallMethodRequest.Builder<_B> withObjectId(final JAXBElement objectId) { + this.objectId = objectId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "methodId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param methodId + * Neuer Wert der Eigenschaft "methodId". + */ + public CallMethodRequest.Builder<_B> withMethodId(final JAXBElement methodId) { + this.methodId = methodId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "inputArguments" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param inputArguments + * Neuer Wert der Eigenschaft "inputArguments". + */ + public CallMethodRequest.Builder<_B> withInputArguments(final JAXBElement inputArguments) { + this.inputArguments = inputArguments; + return this; + } + + @Override + public CallMethodRequest build() { + if (_storedValue == null) { + return this.init(new CallMethodRequest()); + } else { + return ((CallMethodRequest) _storedValue); + } + } + + public CallMethodRequest.Builder<_B> copyOf(final CallMethodRequest _other) { + _other.copyTo(this); + return this; + } + + public CallMethodRequest.Builder<_B> copyOf(final CallMethodRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CallMethodRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CallMethodRequest.Select _root() { + return new CallMethodRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> objectId = null; + private com.kscs.util.jaxb.Selector> methodId = null; + private com.kscs.util.jaxb.Selector> inputArguments = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.objectId!= null) { + products.put("objectId", this.objectId.init()); + } + if (this.methodId!= null) { + products.put("methodId", this.methodId.init()); + } + if (this.inputArguments!= null) { + products.put("inputArguments", this.inputArguments.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> objectId() { + return ((this.objectId == null)?this.objectId = new com.kscs.util.jaxb.Selector>(this._root, this, "objectId"):this.objectId); + } + + public com.kscs.util.jaxb.Selector> methodId() { + return ((this.methodId == null)?this.methodId = new com.kscs.util.jaxb.Selector>(this._root, this, "methodId"):this.methodId); + } + + public com.kscs.util.jaxb.Selector> inputArguments() { + return ((this.inputArguments == null)?this.inputArguments = new com.kscs.util.jaxb.Selector>(this._root, this, "inputArguments"):this.inputArguments); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodResult.java new file mode 100644 index 000000000..030177f9f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallMethodResult.java @@ -0,0 +1,459 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CallMethodResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CallMethodResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="InputArgumentResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="InputArgumentDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *         <element name="OutputArguments" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CallMethodResult", propOrder = { + "statusCode", + "inputArgumentResults", + "inputArgumentDiagnosticInfos", + "outputArguments" +}) +public class CallMethodResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "InputArgumentResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement inputArgumentResults; + @XmlElementRef(name = "InputArgumentDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement inputArgumentDiagnosticInfos; + @XmlElementRef(name = "OutputArguments", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement outputArguments; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der inputArgumentResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getInputArgumentResults() { + return inputArgumentResults; + } + + /** + * Legt den Wert der inputArgumentResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setInputArgumentResults(JAXBElement value) { + this.inputArgumentResults = value; + } + + /** + * Ruft den Wert der inputArgumentDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getInputArgumentDiagnosticInfos() { + return inputArgumentDiagnosticInfos; + } + + /** + * Legt den Wert der inputArgumentDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setInputArgumentDiagnosticInfos(JAXBElement value) { + this.inputArgumentDiagnosticInfos = value; + } + + /** + * Ruft den Wert der outputArguments-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getOutputArguments() { + return outputArguments; + } + + /** + * Legt den Wert der outputArguments-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setOutputArguments(JAXBElement value) { + this.outputArguments = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallMethodResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.inputArgumentResults = this.inputArgumentResults; + _other.inputArgumentDiagnosticInfos = this.inputArgumentDiagnosticInfos; + _other.outputArguments = this.outputArguments; + } + + public<_B >CallMethodResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CallMethodResult.Builder<_B>(_parentBuilder, this, true); + } + + public CallMethodResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CallMethodResult.Builder builder() { + return new CallMethodResult.Builder(null, null, false); + } + + public static<_B >CallMethodResult.Builder<_B> copyOf(final CallMethodResult _other) { + final CallMethodResult.Builder<_B> _newBuilder = new CallMethodResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallMethodResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree inputArgumentResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inputArgumentResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inputArgumentResultsPropertyTree!= null):((inputArgumentResultsPropertyTree == null)||(!inputArgumentResultsPropertyTree.isLeaf())))) { + _other.inputArgumentResults = this.inputArgumentResults; + } + final PropertyTree inputArgumentDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inputArgumentDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inputArgumentDiagnosticInfosPropertyTree!= null):((inputArgumentDiagnosticInfosPropertyTree == null)||(!inputArgumentDiagnosticInfosPropertyTree.isLeaf())))) { + _other.inputArgumentDiagnosticInfos = this.inputArgumentDiagnosticInfos; + } + final PropertyTree outputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("outputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(outputArgumentsPropertyTree!= null):((outputArgumentsPropertyTree == null)||(!outputArgumentsPropertyTree.isLeaf())))) { + _other.outputArguments = this.outputArguments; + } + } + + public<_B >CallMethodResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CallMethodResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CallMethodResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CallMethodResult.Builder<_B> copyOf(final CallMethodResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CallMethodResult.Builder<_B> _newBuilder = new CallMethodResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CallMethodResult.Builder copyExcept(final CallMethodResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CallMethodResult.Builder copyOnly(final CallMethodResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CallMethodResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement inputArgumentResults; + private JAXBElement inputArgumentDiagnosticInfos; + private JAXBElement outputArguments; + + public Builder(final _B _parentBuilder, final CallMethodResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.inputArgumentResults = _other.inputArgumentResults; + this.inputArgumentDiagnosticInfos = _other.inputArgumentDiagnosticInfos; + this.outputArguments = _other.outputArguments; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CallMethodResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree inputArgumentResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inputArgumentResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inputArgumentResultsPropertyTree!= null):((inputArgumentResultsPropertyTree == null)||(!inputArgumentResultsPropertyTree.isLeaf())))) { + this.inputArgumentResults = _other.inputArgumentResults; + } + final PropertyTree inputArgumentDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inputArgumentDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inputArgumentDiagnosticInfosPropertyTree!= null):((inputArgumentDiagnosticInfosPropertyTree == null)||(!inputArgumentDiagnosticInfosPropertyTree.isLeaf())))) { + this.inputArgumentDiagnosticInfos = _other.inputArgumentDiagnosticInfos; + } + final PropertyTree outputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("outputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(outputArgumentsPropertyTree!= null):((outputArgumentsPropertyTree == null)||(!outputArgumentsPropertyTree.isLeaf())))) { + this.outputArguments = _other.outputArguments; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CallMethodResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.inputArgumentResults = this.inputArgumentResults; + _product.inputArgumentDiagnosticInfos = this.inputArgumentDiagnosticInfos; + _product.outputArguments = this.outputArguments; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public CallMethodResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "inputArgumentResults" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param inputArgumentResults + * Neuer Wert der Eigenschaft "inputArgumentResults". + */ + public CallMethodResult.Builder<_B> withInputArgumentResults(final JAXBElement inputArgumentResults) { + this.inputArgumentResults = inputArgumentResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "inputArgumentDiagnosticInfos" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param inputArgumentDiagnosticInfos + * Neuer Wert der Eigenschaft "inputArgumentDiagnosticInfos". + */ + public CallMethodResult.Builder<_B> withInputArgumentDiagnosticInfos(final JAXBElement inputArgumentDiagnosticInfos) { + this.inputArgumentDiagnosticInfos = inputArgumentDiagnosticInfos; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "outputArguments" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param outputArguments + * Neuer Wert der Eigenschaft "outputArguments". + */ + public CallMethodResult.Builder<_B> withOutputArguments(final JAXBElement outputArguments) { + this.outputArguments = outputArguments; + return this; + } + + @Override + public CallMethodResult build() { + if (_storedValue == null) { + return this.init(new CallMethodResult()); + } else { + return ((CallMethodResult) _storedValue); + } + } + + public CallMethodResult.Builder<_B> copyOf(final CallMethodResult _other) { + _other.copyTo(this); + return this; + } + + public CallMethodResult.Builder<_B> copyOf(final CallMethodResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CallMethodResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static CallMethodResult.Select _root() { + return new CallMethodResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> inputArgumentResults = null; + private com.kscs.util.jaxb.Selector> inputArgumentDiagnosticInfos = null; + private com.kscs.util.jaxb.Selector> outputArguments = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.inputArgumentResults!= null) { + products.put("inputArgumentResults", this.inputArgumentResults.init()); + } + if (this.inputArgumentDiagnosticInfos!= null) { + products.put("inputArgumentDiagnosticInfos", this.inputArgumentDiagnosticInfos.init()); + } + if (this.outputArguments!= null) { + products.put("outputArguments", this.outputArguments.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> inputArgumentResults() { + return ((this.inputArgumentResults == null)?this.inputArgumentResults = new com.kscs.util.jaxb.Selector>(this._root, this, "inputArgumentResults"):this.inputArgumentResults); + } + + public com.kscs.util.jaxb.Selector> inputArgumentDiagnosticInfos() { + return ((this.inputArgumentDiagnosticInfos == null)?this.inputArgumentDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "inputArgumentDiagnosticInfos"):this.inputArgumentDiagnosticInfos); + } + + public com.kscs.util.jaxb.Selector> outputArguments() { + return ((this.outputArguments == null)?this.outputArguments = new com.kscs.util.jaxb.Selector>(this._root, this, "outputArguments"):this.outputArguments); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallRequest.java new file mode 100644 index 000000000..8fe770206 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CallRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CallRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="MethodsToCall" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfCallMethodRequest" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CallRequest", propOrder = { + "requestHeader", + "methodsToCall" +}) +public class CallRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "MethodsToCall", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement methodsToCall; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der methodsToCall-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfCallMethodRequest }{@code >} + * + */ + public JAXBElement getMethodsToCall() { + return methodsToCall; + } + + /** + * Legt den Wert der methodsToCall-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfCallMethodRequest }{@code >} + * + */ + public void setMethodsToCall(JAXBElement value) { + this.methodsToCall = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.methodsToCall = this.methodsToCall; + } + + public<_B >CallRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CallRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CallRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CallRequest.Builder builder() { + return new CallRequest.Builder(null, null, false); + } + + public static<_B >CallRequest.Builder<_B> copyOf(final CallRequest _other) { + final CallRequest.Builder<_B> _newBuilder = new CallRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree methodsToCallPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("methodsToCall")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(methodsToCallPropertyTree!= null):((methodsToCallPropertyTree == null)||(!methodsToCallPropertyTree.isLeaf())))) { + _other.methodsToCall = this.methodsToCall; + } + } + + public<_B >CallRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CallRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CallRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CallRequest.Builder<_B> copyOf(final CallRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CallRequest.Builder<_B> _newBuilder = new CallRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CallRequest.Builder copyExcept(final CallRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CallRequest.Builder copyOnly(final CallRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CallRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement methodsToCall; + + public Builder(final _B _parentBuilder, final CallRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.methodsToCall = _other.methodsToCall; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CallRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree methodsToCallPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("methodsToCall")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(methodsToCallPropertyTree!= null):((methodsToCallPropertyTree == null)||(!methodsToCallPropertyTree.isLeaf())))) { + this.methodsToCall = _other.methodsToCall; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CallRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.methodsToCall = this.methodsToCall; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CallRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "methodsToCall" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param methodsToCall + * Neuer Wert der Eigenschaft "methodsToCall". + */ + public CallRequest.Builder<_B> withMethodsToCall(final JAXBElement methodsToCall) { + this.methodsToCall = methodsToCall; + return this; + } + + @Override + public CallRequest build() { + if (_storedValue == null) { + return this.init(new CallRequest()); + } else { + return ((CallRequest) _storedValue); + } + } + + public CallRequest.Builder<_B> copyOf(final CallRequest _other) { + _other.copyTo(this); + return this; + } + + public CallRequest.Builder<_B> copyOf(final CallRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CallRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CallRequest.Select _root() { + return new CallRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> methodsToCall = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.methodsToCall!= null) { + products.put("methodsToCall", this.methodsToCall.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> methodsToCall() { + return ((this.methodsToCall == null)?this.methodsToCall = new com.kscs.util.jaxb.Selector>(this._root, this, "methodsToCall"):this.methodsToCall); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallResponse.java new file mode 100644 index 000000000..182e52e3d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CallResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CallResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CallResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfCallMethodResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CallResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class CallResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfCallMethodResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfCallMethodResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >CallResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CallResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CallResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CallResponse.Builder builder() { + return new CallResponse.Builder(null, null, false); + } + + public static<_B >CallResponse.Builder<_B> copyOf(final CallResponse _other) { + final CallResponse.Builder<_B> _newBuilder = new CallResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CallResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >CallResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CallResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CallResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CallResponse.Builder<_B> copyOf(final CallResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CallResponse.Builder<_B> _newBuilder = new CallResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CallResponse.Builder copyExcept(final CallResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CallResponse.Builder copyOnly(final CallResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CallResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final CallResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CallResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CallResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CallResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public CallResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public CallResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public CallResponse build() { + if (_storedValue == null) { + return this.init(new CallResponse()); + } else { + return ((CallResponse) _storedValue); + } + } + + public CallResponse.Builder<_B> copyOf(final CallResponse _other) { + _other.copyTo(this); + return this; + } + + public CallResponse.Builder<_B> copyOf(final CallResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CallResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CallResponse.Select _root() { + return new CallResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelRequest.java new file mode 100644 index 000000000..7d5f38b89 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelRequest.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CancelRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CancelRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="RequestHandle" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CancelRequest", propOrder = { + "requestHeader", + "requestHandle" +}) +public class CancelRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "RequestHandle") + @XmlSchemaType(name = "unsignedInt") + protected Long requestHandle; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der requestHandle-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestHandle() { + return requestHandle; + } + + /** + * Legt den Wert der requestHandle-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestHandle(Long value) { + this.requestHandle = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CancelRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.requestHandle = this.requestHandle; + } + + public<_B >CancelRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CancelRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CancelRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CancelRequest.Builder builder() { + return new CancelRequest.Builder(null, null, false); + } + + public static<_B >CancelRequest.Builder<_B> copyOf(final CancelRequest _other) { + final CancelRequest.Builder<_B> _newBuilder = new CancelRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CancelRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree requestHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHandlePropertyTree!= null):((requestHandlePropertyTree == null)||(!requestHandlePropertyTree.isLeaf())))) { + _other.requestHandle = this.requestHandle; + } + } + + public<_B >CancelRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CancelRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CancelRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CancelRequest.Builder<_B> copyOf(final CancelRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CancelRequest.Builder<_B> _newBuilder = new CancelRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CancelRequest.Builder copyExcept(final CancelRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CancelRequest.Builder copyOnly(final CancelRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CancelRequest _storedValue; + private JAXBElement requestHeader; + private Long requestHandle; + + public Builder(final _B _parentBuilder, final CancelRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.requestHandle = _other.requestHandle; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CancelRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree requestHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHandlePropertyTree!= null):((requestHandlePropertyTree == null)||(!requestHandlePropertyTree.isLeaf())))) { + this.requestHandle = _other.requestHandle; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CancelRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.requestHandle = this.requestHandle; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CancelRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHandle" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHandle + * Neuer Wert der Eigenschaft "requestHandle". + */ + public CancelRequest.Builder<_B> withRequestHandle(final Long requestHandle) { + this.requestHandle = requestHandle; + return this; + } + + @Override + public CancelRequest build() { + if (_storedValue == null) { + return this.init(new CancelRequest()); + } else { + return ((CancelRequest) _storedValue); + } + } + + public CancelRequest.Builder<_B> copyOf(final CancelRequest _other) { + _other.copyTo(this); + return this; + } + + public CancelRequest.Builder<_B> copyOf(final CancelRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CancelRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CancelRequest.Select _root() { + return new CancelRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> requestHandle = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.requestHandle!= null) { + products.put("requestHandle", this.requestHandle.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> requestHandle() { + return ((this.requestHandle == null)?this.requestHandle = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHandle"):this.requestHandle); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelResponse.java new file mode 100644 index 000000000..6e5780b8e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CancelResponse.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CancelResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CancelResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="CancelCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CancelResponse", propOrder = { + "responseHeader", + "cancelCount" +}) +public class CancelResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElement(name = "CancelCount") + @XmlSchemaType(name = "unsignedInt") + protected Long cancelCount; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der cancelCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCancelCount() { + return cancelCount; + } + + /** + * Legt den Wert der cancelCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCancelCount(Long value) { + this.cancelCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CancelResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.cancelCount = this.cancelCount; + } + + public<_B >CancelResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CancelResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CancelResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CancelResponse.Builder builder() { + return new CancelResponse.Builder(null, null, false); + } + + public static<_B >CancelResponse.Builder<_B> copyOf(final CancelResponse _other) { + final CancelResponse.Builder<_B> _newBuilder = new CancelResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CancelResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree cancelCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cancelCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cancelCountPropertyTree!= null):((cancelCountPropertyTree == null)||(!cancelCountPropertyTree.isLeaf())))) { + _other.cancelCount = this.cancelCount; + } + } + + public<_B >CancelResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CancelResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CancelResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CancelResponse.Builder<_B> copyOf(final CancelResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CancelResponse.Builder<_B> _newBuilder = new CancelResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CancelResponse.Builder copyExcept(final CancelResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CancelResponse.Builder copyOnly(final CancelResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CancelResponse _storedValue; + private JAXBElement responseHeader; + private Long cancelCount; + + public Builder(final _B _parentBuilder, final CancelResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.cancelCount = _other.cancelCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CancelResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree cancelCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cancelCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cancelCountPropertyTree!= null):((cancelCountPropertyTree == null)||(!cancelCountPropertyTree.isLeaf())))) { + this.cancelCount = _other.cancelCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CancelResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.cancelCount = this.cancelCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CancelResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "cancelCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param cancelCount + * Neuer Wert der Eigenschaft "cancelCount". + */ + public CancelResponse.Builder<_B> withCancelCount(final Long cancelCount) { + this.cancelCount = cancelCount; + return this; + } + + @Override + public CancelResponse build() { + if (_storedValue == null) { + return this.init(new CancelResponse()); + } else { + return ((CancelResponse) _storedValue); + } + } + + public CancelResponse.Builder<_B> copyOf(final CancelResponse _other) { + _other.copyTo(this); + return this; + } + + public CancelResponse.Builder<_B> copyOf(final CancelResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CancelResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CancelResponse.Select _root() { + return new CancelResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> cancelCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.cancelCount!= null) { + products.put("cancelCount", this.cancelCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> cancelCount() { + return ((this.cancelCount == null)?this.cancelCount = new com.kscs.util.jaxb.Selector>(this._root, this, "cancelCount"):this.cancelCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CartesianCoordinates.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CartesianCoordinates.java new file mode 100644 index 000000000..2a0ed48eb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CartesianCoordinates.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CartesianCoordinates complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CartesianCoordinates">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CartesianCoordinates") +@XmlSeeAlso({ + ThreeDCartesianCoordinates.class +}) +public class CartesianCoordinates { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CartesianCoordinates.Builder<_B> _other) { + } + + public<_B >CartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CartesianCoordinates.Builder<_B>(_parentBuilder, this, true); + } + + public CartesianCoordinates.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CartesianCoordinates.Builder builder() { + return new CartesianCoordinates.Builder(null, null, false); + } + + public static<_B >CartesianCoordinates.Builder<_B> copyOf(final CartesianCoordinates _other) { + final CartesianCoordinates.Builder<_B> _newBuilder = new CartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CartesianCoordinates.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >CartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CartesianCoordinates.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CartesianCoordinates.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CartesianCoordinates.Builder<_B> copyOf(final CartesianCoordinates _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CartesianCoordinates.Builder<_B> _newBuilder = new CartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CartesianCoordinates.Builder copyExcept(final CartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CartesianCoordinates.Builder copyOnly(final CartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CartesianCoordinates _storedValue; + + public Builder(final _B _parentBuilder, final CartesianCoordinates _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CartesianCoordinates _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CartesianCoordinates >_P init(final _P _product) { + return _product; + } + + @Override + public CartesianCoordinates build() { + if (_storedValue == null) { + return this.init(new CartesianCoordinates()); + } else { + return ((CartesianCoordinates) _storedValue); + } + } + + public CartesianCoordinates.Builder<_B> copyOf(final CartesianCoordinates _other) { + _other.copyTo(this); + return this; + } + + public CartesianCoordinates.Builder<_B> copyOf(final CartesianCoordinates.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CartesianCoordinates.Selector + { + + + Select() { + super(null, null, null); + } + + public static CartesianCoordinates.Select _root() { + return new CartesianCoordinates.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ChannelSecurityToken.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ChannelSecurityToken.java new file mode 100644 index 000000000..cfa353d07 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ChannelSecurityToken.java @@ -0,0 +1,445 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ChannelSecurityToken complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ChannelSecurityToken">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ChannelId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TokenId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CreatedAt" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="RevisedLifetime" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ChannelSecurityToken", propOrder = { + "channelId", + "tokenId", + "createdAt", + "revisedLifetime" +}) +public class ChannelSecurityToken { + + @XmlElement(name = "ChannelId") + @XmlSchemaType(name = "unsignedInt") + protected Long channelId; + @XmlElement(name = "TokenId") + @XmlSchemaType(name = "unsignedInt") + protected Long tokenId; + @XmlElement(name = "CreatedAt") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar createdAt; + @XmlElement(name = "RevisedLifetime") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedLifetime; + + /** + * Ruft den Wert der channelId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getChannelId() { + return channelId; + } + + /** + * Legt den Wert der channelId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setChannelId(Long value) { + this.channelId = value; + } + + /** + * Ruft den Wert der tokenId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTokenId() { + return tokenId; + } + + /** + * Legt den Wert der tokenId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTokenId(Long value) { + this.tokenId = value; + } + + /** + * Ruft den Wert der createdAt-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getCreatedAt() { + return createdAt; + } + + /** + * Legt den Wert der createdAt-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setCreatedAt(XMLGregorianCalendar value) { + this.createdAt = value; + } + + /** + * Ruft den Wert der revisedLifetime-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedLifetime() { + return revisedLifetime; + } + + /** + * Legt den Wert der revisedLifetime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedLifetime(Long value) { + this.revisedLifetime = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ChannelSecurityToken.Builder<_B> _other) { + _other.channelId = this.channelId; + _other.tokenId = this.tokenId; + _other.createdAt = ((this.createdAt == null)?null:((XMLGregorianCalendar) this.createdAt.clone())); + _other.revisedLifetime = this.revisedLifetime; + } + + public<_B >ChannelSecurityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ChannelSecurityToken.Builder<_B>(_parentBuilder, this, true); + } + + public ChannelSecurityToken.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ChannelSecurityToken.Builder builder() { + return new ChannelSecurityToken.Builder(null, null, false); + } + + public static<_B >ChannelSecurityToken.Builder<_B> copyOf(final ChannelSecurityToken _other) { + final ChannelSecurityToken.Builder<_B> _newBuilder = new ChannelSecurityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ChannelSecurityToken.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree channelIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("channelId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(channelIdPropertyTree!= null):((channelIdPropertyTree == null)||(!channelIdPropertyTree.isLeaf())))) { + _other.channelId = this.channelId; + } + final PropertyTree tokenIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("tokenId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(tokenIdPropertyTree!= null):((tokenIdPropertyTree == null)||(!tokenIdPropertyTree.isLeaf())))) { + _other.tokenId = this.tokenId; + } + final PropertyTree createdAtPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createdAt")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createdAtPropertyTree!= null):((createdAtPropertyTree == null)||(!createdAtPropertyTree.isLeaf())))) { + _other.createdAt = ((this.createdAt == null)?null:((XMLGregorianCalendar) this.createdAt.clone())); + } + final PropertyTree revisedLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedLifetimePropertyTree!= null):((revisedLifetimePropertyTree == null)||(!revisedLifetimePropertyTree.isLeaf())))) { + _other.revisedLifetime = this.revisedLifetime; + } + } + + public<_B >ChannelSecurityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ChannelSecurityToken.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ChannelSecurityToken.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ChannelSecurityToken.Builder<_B> copyOf(final ChannelSecurityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ChannelSecurityToken.Builder<_B> _newBuilder = new ChannelSecurityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ChannelSecurityToken.Builder copyExcept(final ChannelSecurityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ChannelSecurityToken.Builder copyOnly(final ChannelSecurityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ChannelSecurityToken _storedValue; + private Long channelId; + private Long tokenId; + private XMLGregorianCalendar createdAt; + private Long revisedLifetime; + + public Builder(final _B _parentBuilder, final ChannelSecurityToken _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.channelId = _other.channelId; + this.tokenId = _other.tokenId; + this.createdAt = ((_other.createdAt == null)?null:((XMLGregorianCalendar) _other.createdAt.clone())); + this.revisedLifetime = _other.revisedLifetime; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ChannelSecurityToken _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree channelIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("channelId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(channelIdPropertyTree!= null):((channelIdPropertyTree == null)||(!channelIdPropertyTree.isLeaf())))) { + this.channelId = _other.channelId; + } + final PropertyTree tokenIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("tokenId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(tokenIdPropertyTree!= null):((tokenIdPropertyTree == null)||(!tokenIdPropertyTree.isLeaf())))) { + this.tokenId = _other.tokenId; + } + final PropertyTree createdAtPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createdAt")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createdAtPropertyTree!= null):((createdAtPropertyTree == null)||(!createdAtPropertyTree.isLeaf())))) { + this.createdAt = ((_other.createdAt == null)?null:((XMLGregorianCalendar) _other.createdAt.clone())); + } + final PropertyTree revisedLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedLifetimePropertyTree!= null):((revisedLifetimePropertyTree == null)||(!revisedLifetimePropertyTree.isLeaf())))) { + this.revisedLifetime = _other.revisedLifetime; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ChannelSecurityToken >_P init(final _P _product) { + _product.channelId = this.channelId; + _product.tokenId = this.tokenId; + _product.createdAt = this.createdAt; + _product.revisedLifetime = this.revisedLifetime; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "channelId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param channelId + * Neuer Wert der Eigenschaft "channelId". + */ + public ChannelSecurityToken.Builder<_B> withChannelId(final Long channelId) { + this.channelId = channelId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "tokenId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param tokenId + * Neuer Wert der Eigenschaft "tokenId". + */ + public ChannelSecurityToken.Builder<_B> withTokenId(final Long tokenId) { + this.tokenId = tokenId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createdAt" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param createdAt + * Neuer Wert der Eigenschaft "createdAt". + */ + public ChannelSecurityToken.Builder<_B> withCreatedAt(final XMLGregorianCalendar createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedLifetime" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param revisedLifetime + * Neuer Wert der Eigenschaft "revisedLifetime". + */ + public ChannelSecurityToken.Builder<_B> withRevisedLifetime(final Long revisedLifetime) { + this.revisedLifetime = revisedLifetime; + return this; + } + + @Override + public ChannelSecurityToken build() { + if (_storedValue == null) { + return this.init(new ChannelSecurityToken()); + } else { + return ((ChannelSecurityToken) _storedValue); + } + } + + public ChannelSecurityToken.Builder<_B> copyOf(final ChannelSecurityToken _other) { + _other.copyTo(this); + return this; + } + + public ChannelSecurityToken.Builder<_B> copyOf(final ChannelSecurityToken.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ChannelSecurityToken.Selector + { + + + Select() { + super(null, null, null); + } + + public static ChannelSecurityToken.Select _root() { + return new ChannelSecurityToken.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> channelId = null; + private com.kscs.util.jaxb.Selector> tokenId = null; + private com.kscs.util.jaxb.Selector> createdAt = null; + private com.kscs.util.jaxb.Selector> revisedLifetime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.channelId!= null) { + products.put("channelId", this.channelId.init()); + } + if (this.tokenId!= null) { + products.put("tokenId", this.tokenId.init()); + } + if (this.createdAt!= null) { + products.put("createdAt", this.createdAt.init()); + } + if (this.revisedLifetime!= null) { + products.put("revisedLifetime", this.revisedLifetime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> channelId() { + return ((this.channelId == null)?this.channelId = new com.kscs.util.jaxb.Selector>(this._root, this, "channelId"):this.channelId); + } + + public com.kscs.util.jaxb.Selector> tokenId() { + return ((this.tokenId == null)?this.tokenId = new com.kscs.util.jaxb.Selector>(this._root, this, "tokenId"):this.tokenId); + } + + public com.kscs.util.jaxb.Selector> createdAt() { + return ((this.createdAt == null)?this.createdAt = new com.kscs.util.jaxb.Selector>(this._root, this, "createdAt"):this.createdAt); + } + + public com.kscs.util.jaxb.Selector> revisedLifetime() { + return ((this.revisedLifetime == null)?this.revisedLifetime = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedLifetime"):this.revisedLifetime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelRequest.java new file mode 100644 index 000000000..f54a41780 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelRequest.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CloseSecureChannelRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CloseSecureChannelRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CloseSecureChannelRequest", propOrder = { + "requestHeader" +}) +public class CloseSecureChannelRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSecureChannelRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + } + + public<_B >CloseSecureChannelRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CloseSecureChannelRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CloseSecureChannelRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CloseSecureChannelRequest.Builder builder() { + return new CloseSecureChannelRequest.Builder(null, null, false); + } + + public static<_B >CloseSecureChannelRequest.Builder<_B> copyOf(final CloseSecureChannelRequest _other) { + final CloseSecureChannelRequest.Builder<_B> _newBuilder = new CloseSecureChannelRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSecureChannelRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + } + + public<_B >CloseSecureChannelRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CloseSecureChannelRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CloseSecureChannelRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CloseSecureChannelRequest.Builder<_B> copyOf(final CloseSecureChannelRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CloseSecureChannelRequest.Builder<_B> _newBuilder = new CloseSecureChannelRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CloseSecureChannelRequest.Builder copyExcept(final CloseSecureChannelRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CloseSecureChannelRequest.Builder copyOnly(final CloseSecureChannelRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CloseSecureChannelRequest _storedValue; + private JAXBElement requestHeader; + + public Builder(final _B _parentBuilder, final CloseSecureChannelRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CloseSecureChannelRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CloseSecureChannelRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CloseSecureChannelRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + @Override + public CloseSecureChannelRequest build() { + if (_storedValue == null) { + return this.init(new CloseSecureChannelRequest()); + } else { + return ((CloseSecureChannelRequest) _storedValue); + } + } + + public CloseSecureChannelRequest.Builder<_B> copyOf(final CloseSecureChannelRequest _other) { + _other.copyTo(this); + return this; + } + + public CloseSecureChannelRequest.Builder<_B> copyOf(final CloseSecureChannelRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CloseSecureChannelRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CloseSecureChannelRequest.Select _root() { + return new CloseSecureChannelRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelResponse.java new file mode 100644 index 000000000..7d6e17f6f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSecureChannelResponse.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CloseSecureChannelResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CloseSecureChannelResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CloseSecureChannelResponse", propOrder = { + "responseHeader" +}) +public class CloseSecureChannelResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSecureChannelResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + } + + public<_B >CloseSecureChannelResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CloseSecureChannelResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CloseSecureChannelResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CloseSecureChannelResponse.Builder builder() { + return new CloseSecureChannelResponse.Builder(null, null, false); + } + + public static<_B >CloseSecureChannelResponse.Builder<_B> copyOf(final CloseSecureChannelResponse _other) { + final CloseSecureChannelResponse.Builder<_B> _newBuilder = new CloseSecureChannelResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSecureChannelResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + } + + public<_B >CloseSecureChannelResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CloseSecureChannelResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CloseSecureChannelResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CloseSecureChannelResponse.Builder<_B> copyOf(final CloseSecureChannelResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CloseSecureChannelResponse.Builder<_B> _newBuilder = new CloseSecureChannelResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CloseSecureChannelResponse.Builder copyExcept(final CloseSecureChannelResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CloseSecureChannelResponse.Builder copyOnly(final CloseSecureChannelResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CloseSecureChannelResponse _storedValue; + private JAXBElement responseHeader; + + public Builder(final _B _parentBuilder, final CloseSecureChannelResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CloseSecureChannelResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CloseSecureChannelResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CloseSecureChannelResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + @Override + public CloseSecureChannelResponse build() { + if (_storedValue == null) { + return this.init(new CloseSecureChannelResponse()); + } else { + return ((CloseSecureChannelResponse) _storedValue); + } + } + + public CloseSecureChannelResponse.Builder<_B> copyOf(final CloseSecureChannelResponse _other) { + _other.copyTo(this); + return this; + } + + public CloseSecureChannelResponse.Builder<_B> copyOf(final CloseSecureChannelResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CloseSecureChannelResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CloseSecureChannelResponse.Select _root() { + return new CloseSecureChannelResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionRequest.java new file mode 100644 index 000000000..2cfb1f795 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionRequest.java @@ -0,0 +1,321 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CloseSessionRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CloseSessionRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="DeleteSubscriptions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CloseSessionRequest", propOrder = { + "requestHeader", + "deleteSubscriptions" +}) +public class CloseSessionRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "DeleteSubscriptions") + protected Boolean deleteSubscriptions; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der deleteSubscriptions-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isDeleteSubscriptions() { + return deleteSubscriptions; + } + + /** + * Legt den Wert der deleteSubscriptions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setDeleteSubscriptions(Boolean value) { + this.deleteSubscriptions = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSessionRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.deleteSubscriptions = this.deleteSubscriptions; + } + + public<_B >CloseSessionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CloseSessionRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CloseSessionRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CloseSessionRequest.Builder builder() { + return new CloseSessionRequest.Builder(null, null, false); + } + + public static<_B >CloseSessionRequest.Builder<_B> copyOf(final CloseSessionRequest _other) { + final CloseSessionRequest.Builder<_B> _newBuilder = new CloseSessionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSessionRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree deleteSubscriptionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteSubscriptions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteSubscriptionsPropertyTree!= null):((deleteSubscriptionsPropertyTree == null)||(!deleteSubscriptionsPropertyTree.isLeaf())))) { + _other.deleteSubscriptions = this.deleteSubscriptions; + } + } + + public<_B >CloseSessionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CloseSessionRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CloseSessionRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CloseSessionRequest.Builder<_B> copyOf(final CloseSessionRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CloseSessionRequest.Builder<_B> _newBuilder = new CloseSessionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CloseSessionRequest.Builder copyExcept(final CloseSessionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CloseSessionRequest.Builder copyOnly(final CloseSessionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CloseSessionRequest _storedValue; + private JAXBElement requestHeader; + private Boolean deleteSubscriptions; + + public Builder(final _B _parentBuilder, final CloseSessionRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.deleteSubscriptions = _other.deleteSubscriptions; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CloseSessionRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree deleteSubscriptionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteSubscriptions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteSubscriptionsPropertyTree!= null):((deleteSubscriptionsPropertyTree == null)||(!deleteSubscriptionsPropertyTree.isLeaf())))) { + this.deleteSubscriptions = _other.deleteSubscriptions; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CloseSessionRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.deleteSubscriptions = this.deleteSubscriptions; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CloseSessionRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteSubscriptions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param deleteSubscriptions + * Neuer Wert der Eigenschaft "deleteSubscriptions". + */ + public CloseSessionRequest.Builder<_B> withDeleteSubscriptions(final Boolean deleteSubscriptions) { + this.deleteSubscriptions = deleteSubscriptions; + return this; + } + + @Override + public CloseSessionRequest build() { + if (_storedValue == null) { + return this.init(new CloseSessionRequest()); + } else { + return ((CloseSessionRequest) _storedValue); + } + } + + public CloseSessionRequest.Builder<_B> copyOf(final CloseSessionRequest _other) { + _other.copyTo(this); + return this; + } + + public CloseSessionRequest.Builder<_B> copyOf(final CloseSessionRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CloseSessionRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CloseSessionRequest.Select _root() { + return new CloseSessionRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> deleteSubscriptions = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.deleteSubscriptions!= null) { + products.put("deleteSubscriptions", this.deleteSubscriptions.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> deleteSubscriptions() { + return ((this.deleteSubscriptions == null)?this.deleteSubscriptions = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteSubscriptions"):this.deleteSubscriptions); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionResponse.java new file mode 100644 index 000000000..755cf6505 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CloseSessionResponse.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CloseSessionResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CloseSessionResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CloseSessionResponse", propOrder = { + "responseHeader" +}) +public class CloseSessionResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSessionResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + } + + public<_B >CloseSessionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CloseSessionResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CloseSessionResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CloseSessionResponse.Builder builder() { + return new CloseSessionResponse.Builder(null, null, false); + } + + public static<_B >CloseSessionResponse.Builder<_B> copyOf(final CloseSessionResponse _other) { + final CloseSessionResponse.Builder<_B> _newBuilder = new CloseSessionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CloseSessionResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + } + + public<_B >CloseSessionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CloseSessionResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CloseSessionResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CloseSessionResponse.Builder<_B> copyOf(final CloseSessionResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CloseSessionResponse.Builder<_B> _newBuilder = new CloseSessionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CloseSessionResponse.Builder copyExcept(final CloseSessionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CloseSessionResponse.Builder copyOnly(final CloseSessionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CloseSessionResponse _storedValue; + private JAXBElement responseHeader; + + public Builder(final _B _parentBuilder, final CloseSessionResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CloseSessionResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CloseSessionResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CloseSessionResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + @Override + public CloseSessionResponse build() { + if (_storedValue == null) { + return this.init(new CloseSessionResponse()); + } else { + return ((CloseSessionResponse) _storedValue); + } + } + + public CloseSessionResponse.Builder<_B> copyOf(final CloseSessionResponse _other) { + _other.copyTo(this); + return this; + } + + public CloseSessionResponse.Builder<_B> copyOf(final CloseSessionResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CloseSessionResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CloseSessionResponse.Select _root() { + return new CloseSessionResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ComplexNumberType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ComplexNumberType.java new file mode 100644 index 000000000..5a79dc5d7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ComplexNumberType.java @@ -0,0 +1,319 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ComplexNumberType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ComplexNumberType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Real" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
+ *         <element name="Imaginary" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ComplexNumberType", propOrder = { + "real", + "imaginary" +}) +public class ComplexNumberType { + + @XmlElement(name = "Real") + protected Float real; + @XmlElement(name = "Imaginary") + protected Float imaginary; + + /** + * Ruft den Wert der real-Eigenschaft ab. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getReal() { + return real; + } + + /** + * Legt den Wert der real-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setReal(Float value) { + this.real = value; + } + + /** + * Ruft den Wert der imaginary-Eigenschaft ab. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getImaginary() { + return imaginary; + } + + /** + * Legt den Wert der imaginary-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setImaginary(Float value) { + this.imaginary = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ComplexNumberType.Builder<_B> _other) { + _other.real = this.real; + _other.imaginary = this.imaginary; + } + + public<_B >ComplexNumberType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ComplexNumberType.Builder<_B>(_parentBuilder, this, true); + } + + public ComplexNumberType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ComplexNumberType.Builder builder() { + return new ComplexNumberType.Builder(null, null, false); + } + + public static<_B >ComplexNumberType.Builder<_B> copyOf(final ComplexNumberType _other) { + final ComplexNumberType.Builder<_B> _newBuilder = new ComplexNumberType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ComplexNumberType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree realPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("real")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(realPropertyTree!= null):((realPropertyTree == null)||(!realPropertyTree.isLeaf())))) { + _other.real = this.real; + } + final PropertyTree imaginaryPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("imaginary")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(imaginaryPropertyTree!= null):((imaginaryPropertyTree == null)||(!imaginaryPropertyTree.isLeaf())))) { + _other.imaginary = this.imaginary; + } + } + + public<_B >ComplexNumberType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ComplexNumberType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ComplexNumberType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ComplexNumberType.Builder<_B> copyOf(final ComplexNumberType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ComplexNumberType.Builder<_B> _newBuilder = new ComplexNumberType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ComplexNumberType.Builder copyExcept(final ComplexNumberType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ComplexNumberType.Builder copyOnly(final ComplexNumberType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ComplexNumberType _storedValue; + private Float real; + private Float imaginary; + + public Builder(final _B _parentBuilder, final ComplexNumberType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.real = _other.real; + this.imaginary = _other.imaginary; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ComplexNumberType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree realPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("real")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(realPropertyTree!= null):((realPropertyTree == null)||(!realPropertyTree.isLeaf())))) { + this.real = _other.real; + } + final PropertyTree imaginaryPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("imaginary")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(imaginaryPropertyTree!= null):((imaginaryPropertyTree == null)||(!imaginaryPropertyTree.isLeaf())))) { + this.imaginary = _other.imaginary; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ComplexNumberType >_P init(final _P _product) { + _product.real = this.real; + _product.imaginary = this.imaginary; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "real" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param real + * Neuer Wert der Eigenschaft "real". + */ + public ComplexNumberType.Builder<_B> withReal(final Float real) { + this.real = real; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "imaginary" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param imaginary + * Neuer Wert der Eigenschaft "imaginary". + */ + public ComplexNumberType.Builder<_B> withImaginary(final Float imaginary) { + this.imaginary = imaginary; + return this; + } + + @Override + public ComplexNumberType build() { + if (_storedValue == null) { + return this.init(new ComplexNumberType()); + } else { + return ((ComplexNumberType) _storedValue); + } + } + + public ComplexNumberType.Builder<_B> copyOf(final ComplexNumberType _other) { + _other.copyTo(this); + return this; + } + + public ComplexNumberType.Builder<_B> copyOf(final ComplexNumberType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ComplexNumberType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ComplexNumberType.Select _root() { + return new ComplexNumberType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> real = null; + private com.kscs.util.jaxb.Selector> imaginary = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.real!= null) { + products.put("real", this.real.init()); + } + if (this.imaginary!= null) { + products.put("imaginary", this.imaginary.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> real() { + return ((this.real == null)?this.real = new com.kscs.util.jaxb.Selector>(this._root, this, "real"):this.real); + } + + public com.kscs.util.jaxb.Selector> imaginary() { + return ((this.imaginary == null)?this.imaginary = new com.kscs.util.jaxb.Selector>(this._root, this, "imaginary"):this.imaginary); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConfigurationVersionDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConfigurationVersionDataType.java new file mode 100644 index 000000000..6ba7b9909 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConfigurationVersionDataType.java @@ -0,0 +1,322 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ConfigurationVersionDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ConfigurationVersionDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MajorVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MinorVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ConfigurationVersionDataType", propOrder = { + "majorVersion", + "minorVersion" +}) +public class ConfigurationVersionDataType { + + @XmlElement(name = "MajorVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long majorVersion; + @XmlElement(name = "MinorVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long minorVersion; + + /** + * Ruft den Wert der majorVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMajorVersion() { + return majorVersion; + } + + /** + * Legt den Wert der majorVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMajorVersion(Long value) { + this.majorVersion = value; + } + + /** + * Ruft den Wert der minorVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMinorVersion() { + return minorVersion; + } + + /** + * Legt den Wert der minorVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMinorVersion(Long value) { + this.minorVersion = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ConfigurationVersionDataType.Builder<_B> _other) { + _other.majorVersion = this.majorVersion; + _other.minorVersion = this.minorVersion; + } + + public<_B >ConfigurationVersionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ConfigurationVersionDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ConfigurationVersionDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ConfigurationVersionDataType.Builder builder() { + return new ConfigurationVersionDataType.Builder(null, null, false); + } + + public static<_B >ConfigurationVersionDataType.Builder<_B> copyOf(final ConfigurationVersionDataType _other) { + final ConfigurationVersionDataType.Builder<_B> _newBuilder = new ConfigurationVersionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ConfigurationVersionDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree majorVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("majorVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(majorVersionPropertyTree!= null):((majorVersionPropertyTree == null)||(!majorVersionPropertyTree.isLeaf())))) { + _other.majorVersion = this.majorVersion; + } + final PropertyTree minorVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("minorVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(minorVersionPropertyTree!= null):((minorVersionPropertyTree == null)||(!minorVersionPropertyTree.isLeaf())))) { + _other.minorVersion = this.minorVersion; + } + } + + public<_B >ConfigurationVersionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ConfigurationVersionDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ConfigurationVersionDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ConfigurationVersionDataType.Builder<_B> copyOf(final ConfigurationVersionDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ConfigurationVersionDataType.Builder<_B> _newBuilder = new ConfigurationVersionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ConfigurationVersionDataType.Builder copyExcept(final ConfigurationVersionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ConfigurationVersionDataType.Builder copyOnly(final ConfigurationVersionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ConfigurationVersionDataType _storedValue; + private Long majorVersion; + private Long minorVersion; + + public Builder(final _B _parentBuilder, final ConfigurationVersionDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.majorVersion = _other.majorVersion; + this.minorVersion = _other.minorVersion; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ConfigurationVersionDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree majorVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("majorVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(majorVersionPropertyTree!= null):((majorVersionPropertyTree == null)||(!majorVersionPropertyTree.isLeaf())))) { + this.majorVersion = _other.majorVersion; + } + final PropertyTree minorVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("minorVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(minorVersionPropertyTree!= null):((minorVersionPropertyTree == null)||(!minorVersionPropertyTree.isLeaf())))) { + this.minorVersion = _other.minorVersion; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ConfigurationVersionDataType >_P init(final _P _product) { + _product.majorVersion = this.majorVersion; + _product.minorVersion = this.minorVersion; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "majorVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param majorVersion + * Neuer Wert der Eigenschaft "majorVersion". + */ + public ConfigurationVersionDataType.Builder<_B> withMajorVersion(final Long majorVersion) { + this.majorVersion = majorVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "minorVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param minorVersion + * Neuer Wert der Eigenschaft "minorVersion". + */ + public ConfigurationVersionDataType.Builder<_B> withMinorVersion(final Long minorVersion) { + this.minorVersion = minorVersion; + return this; + } + + @Override + public ConfigurationVersionDataType build() { + if (_storedValue == null) { + return this.init(new ConfigurationVersionDataType()); + } else { + return ((ConfigurationVersionDataType) _storedValue); + } + } + + public ConfigurationVersionDataType.Builder<_B> copyOf(final ConfigurationVersionDataType _other) { + _other.copyTo(this); + return this; + } + + public ConfigurationVersionDataType.Builder<_B> copyOf(final ConfigurationVersionDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ConfigurationVersionDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ConfigurationVersionDataType.Select _root() { + return new ConfigurationVersionDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> majorVersion = null; + private com.kscs.util.jaxb.Selector> minorVersion = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.majorVersion!= null) { + products.put("majorVersion", this.majorVersion.init()); + } + if (this.minorVersion!= null) { + products.put("minorVersion", this.minorVersion.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> majorVersion() { + return ((this.majorVersion == null)?this.majorVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "majorVersion"):this.majorVersion); + } + + public com.kscs.util.jaxb.Selector> minorVersion() { + return ((this.minorVersion == null)?this.minorVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "minorVersion"):this.minorVersion); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConnectionTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConnectionTransportDataType.java new file mode 100644 index 000000000..e6c5366c2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ConnectionTransportDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ConnectionTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ConnectionTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ConnectionTransportDataType") +@XmlSeeAlso({ + DatagramConnectionTransportDataType.class, + BrokerConnectionTransportDataType.class +}) +public class ConnectionTransportDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ConnectionTransportDataType.Builder<_B> _other) { + } + + public<_B >ConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ConnectionTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ConnectionTransportDataType.Builder builder() { + return new ConnectionTransportDataType.Builder(null, null, false); + } + + public static<_B >ConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other) { + final ConnectionTransportDataType.Builder<_B> _newBuilder = new ConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ConnectionTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >ConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ConnectionTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ConnectionTransportDataType.Builder<_B> _newBuilder = new ConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ConnectionTransportDataType.Builder copyExcept(final ConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ConnectionTransportDataType.Builder copyOnly(final ConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ConnectionTransportDataType _storedValue; + + public Builder(final _B _parentBuilder, final ConnectionTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ConnectionTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ConnectionTransportDataType >_P init(final _P _product) { + return _product; + } + + @Override + public ConnectionTransportDataType build() { + if (_storedValue == null) { + return this.init(new ConnectionTransportDataType()); + } else { + return ((ConnectionTransportDataType) _storedValue); + } + } + + public ConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ConnectionTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ConnectionTransportDataType.Select _root() { + return new ConnectionTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilter.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilter.java new file mode 100644 index 000000000..bc81bc7b8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilter.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ContentFilter complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ContentFilter">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Elements" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfContentFilterElement" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ContentFilter", propOrder = { + "elements" +}) +public class ContentFilter { + + @XmlElementRef(name = "Elements", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement elements; + + /** + * Ruft den Wert der elements-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfContentFilterElement }{@code >} + * + */ + public JAXBElement getElements() { + return elements; + } + + /** + * Legt den Wert der elements-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfContentFilterElement }{@code >} + * + */ + public void setElements(JAXBElement value) { + this.elements = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilter.Builder<_B> _other) { + _other.elements = this.elements; + } + + public<_B >ContentFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ContentFilter.Builder<_B>(_parentBuilder, this, true); + } + + public ContentFilter.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ContentFilter.Builder builder() { + return new ContentFilter.Builder(null, null, false); + } + + public static<_B >ContentFilter.Builder<_B> copyOf(final ContentFilter _other) { + final ContentFilter.Builder<_B> _newBuilder = new ContentFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilter.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree elementsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elements")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementsPropertyTree!= null):((elementsPropertyTree == null)||(!elementsPropertyTree.isLeaf())))) { + _other.elements = this.elements; + } + } + + public<_B >ContentFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ContentFilter.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ContentFilter.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ContentFilter.Builder<_B> copyOf(final ContentFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ContentFilter.Builder<_B> _newBuilder = new ContentFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ContentFilter.Builder copyExcept(final ContentFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ContentFilter.Builder copyOnly(final ContentFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ContentFilter _storedValue; + private JAXBElement elements; + + public Builder(final _B _parentBuilder, final ContentFilter _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.elements = _other.elements; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ContentFilter _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree elementsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elements")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementsPropertyTree!= null):((elementsPropertyTree == null)||(!elementsPropertyTree.isLeaf())))) { + this.elements = _other.elements; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ContentFilter >_P init(final _P _product) { + _product.elements = this.elements; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "elements" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param elements + * Neuer Wert der Eigenschaft "elements". + */ + public ContentFilter.Builder<_B> withElements(final JAXBElement elements) { + this.elements = elements; + return this; + } + + @Override + public ContentFilter build() { + if (_storedValue == null) { + return this.init(new ContentFilter()); + } else { + return ((ContentFilter) _storedValue); + } + } + + public ContentFilter.Builder<_B> copyOf(final ContentFilter _other) { + _other.copyTo(this); + return this; + } + + public ContentFilter.Builder<_B> copyOf(final ContentFilter.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ContentFilter.Selector + { + + + Select() { + super(null, null, null); + } + + public static ContentFilter.Select _root() { + return new ContentFilter.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> elements = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.elements!= null) { + products.put("elements", this.elements.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> elements() { + return ((this.elements == null)?this.elements = new com.kscs.util.jaxb.Selector>(this._root, this, "elements"):this.elements); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElement.java new file mode 100644 index 000000000..c6a19dd34 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElement.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ContentFilterElement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ContentFilterElement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="FilterOperator" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}FilterOperator" minOccurs="0"/>
+ *         <element name="FilterOperands" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ContentFilterElement", propOrder = { + "filterOperator", + "filterOperands" +}) +public class ContentFilterElement { + + @XmlElement(name = "FilterOperator") + @XmlSchemaType(name = "string") + protected FilterOperator filterOperator; + @XmlElementRef(name = "FilterOperands", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filterOperands; + + /** + * Ruft den Wert der filterOperator-Eigenschaft ab. + * + * @return + * possible object is + * {@link FilterOperator } + * + */ + public FilterOperator getFilterOperator() { + return filterOperator; + } + + /** + * Legt den Wert der filterOperator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FilterOperator } + * + */ + public void setFilterOperator(FilterOperator value) { + this.filterOperator = value; + } + + /** + * Ruft den Wert der filterOperands-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public JAXBElement getFilterOperands() { + return filterOperands; + } + + /** + * Legt den Wert der filterOperands-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public void setFilterOperands(JAXBElement value) { + this.filterOperands = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilterElement.Builder<_B> _other) { + _other.filterOperator = this.filterOperator; + _other.filterOperands = this.filterOperands; + } + + public<_B >ContentFilterElement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ContentFilterElement.Builder<_B>(_parentBuilder, this, true); + } + + public ContentFilterElement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ContentFilterElement.Builder builder() { + return new ContentFilterElement.Builder(null, null, false); + } + + public static<_B >ContentFilterElement.Builder<_B> copyOf(final ContentFilterElement _other) { + final ContentFilterElement.Builder<_B> _newBuilder = new ContentFilterElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilterElement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree filterOperatorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterOperator")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterOperatorPropertyTree!= null):((filterOperatorPropertyTree == null)||(!filterOperatorPropertyTree.isLeaf())))) { + _other.filterOperator = this.filterOperator; + } + final PropertyTree filterOperandsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterOperands")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterOperandsPropertyTree!= null):((filterOperandsPropertyTree == null)||(!filterOperandsPropertyTree.isLeaf())))) { + _other.filterOperands = this.filterOperands; + } + } + + public<_B >ContentFilterElement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ContentFilterElement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ContentFilterElement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ContentFilterElement.Builder<_B> copyOf(final ContentFilterElement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ContentFilterElement.Builder<_B> _newBuilder = new ContentFilterElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ContentFilterElement.Builder copyExcept(final ContentFilterElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ContentFilterElement.Builder copyOnly(final ContentFilterElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ContentFilterElement _storedValue; + private FilterOperator filterOperator; + private JAXBElement filterOperands; + + public Builder(final _B _parentBuilder, final ContentFilterElement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.filterOperator = _other.filterOperator; + this.filterOperands = _other.filterOperands; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ContentFilterElement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree filterOperatorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterOperator")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterOperatorPropertyTree!= null):((filterOperatorPropertyTree == null)||(!filterOperatorPropertyTree.isLeaf())))) { + this.filterOperator = _other.filterOperator; + } + final PropertyTree filterOperandsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterOperands")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterOperandsPropertyTree!= null):((filterOperandsPropertyTree == null)||(!filterOperandsPropertyTree.isLeaf())))) { + this.filterOperands = _other.filterOperands; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ContentFilterElement >_P init(final _P _product) { + _product.filterOperator = this.filterOperator; + _product.filterOperands = this.filterOperands; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filterOperator" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param filterOperator + * Neuer Wert der Eigenschaft "filterOperator". + */ + public ContentFilterElement.Builder<_B> withFilterOperator(final FilterOperator filterOperator) { + this.filterOperator = filterOperator; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filterOperands" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param filterOperands + * Neuer Wert der Eigenschaft "filterOperands". + */ + public ContentFilterElement.Builder<_B> withFilterOperands(final JAXBElement filterOperands) { + this.filterOperands = filterOperands; + return this; + } + + @Override + public ContentFilterElement build() { + if (_storedValue == null) { + return this.init(new ContentFilterElement()); + } else { + return ((ContentFilterElement) _storedValue); + } + } + + public ContentFilterElement.Builder<_B> copyOf(final ContentFilterElement _other) { + _other.copyTo(this); + return this; + } + + public ContentFilterElement.Builder<_B> copyOf(final ContentFilterElement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ContentFilterElement.Selector + { + + + Select() { + super(null, null, null); + } + + public static ContentFilterElement.Select _root() { + return new ContentFilterElement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> filterOperator = null; + private com.kscs.util.jaxb.Selector> filterOperands = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.filterOperator!= null) { + products.put("filterOperator", this.filterOperator.init()); + } + if (this.filterOperands!= null) { + products.put("filterOperands", this.filterOperands.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> filterOperator() { + return ((this.filterOperator == null)?this.filterOperator = new com.kscs.util.jaxb.Selector>(this._root, this, "filterOperator"):this.filterOperator); + } + + public com.kscs.util.jaxb.Selector> filterOperands() { + return ((this.filterOperands == null)?this.filterOperands = new com.kscs.util.jaxb.Selector>(this._root, this, "filterOperands"):this.filterOperands); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElementResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElementResult.java new file mode 100644 index 000000000..a28a06d04 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterElementResult.java @@ -0,0 +1,399 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ContentFilterElementResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ContentFilterElementResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="OperandStatusCodes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="OperandDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ContentFilterElementResult", propOrder = { + "statusCode", + "operandStatusCodes", + "operandDiagnosticInfos" +}) +public class ContentFilterElementResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "OperandStatusCodes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement operandStatusCodes; + @XmlElementRef(name = "OperandDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement operandDiagnosticInfos; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der operandStatusCodes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getOperandStatusCodes() { + return operandStatusCodes; + } + + /** + * Legt den Wert der operandStatusCodes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setOperandStatusCodes(JAXBElement value) { + this.operandStatusCodes = value; + } + + /** + * Ruft den Wert der operandDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getOperandDiagnosticInfos() { + return operandDiagnosticInfos; + } + + /** + * Legt den Wert der operandDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setOperandDiagnosticInfos(JAXBElement value) { + this.operandDiagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilterElementResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.operandStatusCodes = this.operandStatusCodes; + _other.operandDiagnosticInfos = this.operandDiagnosticInfos; + } + + public<_B >ContentFilterElementResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ContentFilterElementResult.Builder<_B>(_parentBuilder, this, true); + } + + public ContentFilterElementResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ContentFilterElementResult.Builder builder() { + return new ContentFilterElementResult.Builder(null, null, false); + } + + public static<_B >ContentFilterElementResult.Builder<_B> copyOf(final ContentFilterElementResult _other) { + final ContentFilterElementResult.Builder<_B> _newBuilder = new ContentFilterElementResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilterElementResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree operandStatusCodesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operandStatusCodes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operandStatusCodesPropertyTree!= null):((operandStatusCodesPropertyTree == null)||(!operandStatusCodesPropertyTree.isLeaf())))) { + _other.operandStatusCodes = this.operandStatusCodes; + } + final PropertyTree operandDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operandDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operandDiagnosticInfosPropertyTree!= null):((operandDiagnosticInfosPropertyTree == null)||(!operandDiagnosticInfosPropertyTree.isLeaf())))) { + _other.operandDiagnosticInfos = this.operandDiagnosticInfos; + } + } + + public<_B >ContentFilterElementResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ContentFilterElementResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ContentFilterElementResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ContentFilterElementResult.Builder<_B> copyOf(final ContentFilterElementResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ContentFilterElementResult.Builder<_B> _newBuilder = new ContentFilterElementResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ContentFilterElementResult.Builder copyExcept(final ContentFilterElementResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ContentFilterElementResult.Builder copyOnly(final ContentFilterElementResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ContentFilterElementResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement operandStatusCodes; + private JAXBElement operandDiagnosticInfos; + + public Builder(final _B _parentBuilder, final ContentFilterElementResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.operandStatusCodes = _other.operandStatusCodes; + this.operandDiagnosticInfos = _other.operandDiagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ContentFilterElementResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree operandStatusCodesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operandStatusCodes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operandStatusCodesPropertyTree!= null):((operandStatusCodesPropertyTree == null)||(!operandStatusCodesPropertyTree.isLeaf())))) { + this.operandStatusCodes = _other.operandStatusCodes; + } + final PropertyTree operandDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operandDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operandDiagnosticInfosPropertyTree!= null):((operandDiagnosticInfosPropertyTree == null)||(!operandDiagnosticInfosPropertyTree.isLeaf())))) { + this.operandDiagnosticInfos = _other.operandDiagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ContentFilterElementResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.operandStatusCodes = this.operandStatusCodes; + _product.operandDiagnosticInfos = this.operandDiagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public ContentFilterElementResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "operandStatusCodes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param operandStatusCodes + * Neuer Wert der Eigenschaft "operandStatusCodes". + */ + public ContentFilterElementResult.Builder<_B> withOperandStatusCodes(final JAXBElement operandStatusCodes) { + this.operandStatusCodes = operandStatusCodes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "operandDiagnosticInfos" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param operandDiagnosticInfos + * Neuer Wert der Eigenschaft "operandDiagnosticInfos". + */ + public ContentFilterElementResult.Builder<_B> withOperandDiagnosticInfos(final JAXBElement operandDiagnosticInfos) { + this.operandDiagnosticInfos = operandDiagnosticInfos; + return this; + } + + @Override + public ContentFilterElementResult build() { + if (_storedValue == null) { + return this.init(new ContentFilterElementResult()); + } else { + return ((ContentFilterElementResult) _storedValue); + } + } + + public ContentFilterElementResult.Builder<_B> copyOf(final ContentFilterElementResult _other) { + _other.copyTo(this); + return this; + } + + public ContentFilterElementResult.Builder<_B> copyOf(final ContentFilterElementResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ContentFilterElementResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ContentFilterElementResult.Select _root() { + return new ContentFilterElementResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> operandStatusCodes = null; + private com.kscs.util.jaxb.Selector> operandDiagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.operandStatusCodes!= null) { + products.put("operandStatusCodes", this.operandStatusCodes.init()); + } + if (this.operandDiagnosticInfos!= null) { + products.put("operandDiagnosticInfos", this.operandDiagnosticInfos.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> operandStatusCodes() { + return ((this.operandStatusCodes == null)?this.operandStatusCodes = new com.kscs.util.jaxb.Selector>(this._root, this, "operandStatusCodes"):this.operandStatusCodes); + } + + public com.kscs.util.jaxb.Selector> operandDiagnosticInfos() { + return ((this.operandDiagnosticInfos == null)?this.operandDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "operandDiagnosticInfos"):this.operandDiagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterResult.java new file mode 100644 index 000000000..32256da18 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ContentFilterResult.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ContentFilterResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ContentFilterResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ElementResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfContentFilterElementResult" minOccurs="0"/>
+ *         <element name="ElementDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ContentFilterResult", propOrder = { + "elementResults", + "elementDiagnosticInfos" +}) +public class ContentFilterResult { + + @XmlElementRef(name = "ElementResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement elementResults; + @XmlElementRef(name = "ElementDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement elementDiagnosticInfos; + + /** + * Ruft den Wert der elementResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfContentFilterElementResult }{@code >} + * + */ + public JAXBElement getElementResults() { + return elementResults; + } + + /** + * Legt den Wert der elementResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfContentFilterElementResult }{@code >} + * + */ + public void setElementResults(JAXBElement value) { + this.elementResults = value; + } + + /** + * Ruft den Wert der elementDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getElementDiagnosticInfos() { + return elementDiagnosticInfos; + } + + /** + * Legt den Wert der elementDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setElementDiagnosticInfos(JAXBElement value) { + this.elementDiagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilterResult.Builder<_B> _other) { + _other.elementResults = this.elementResults; + _other.elementDiagnosticInfos = this.elementDiagnosticInfos; + } + + public<_B >ContentFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ContentFilterResult.Builder<_B>(_parentBuilder, this, true); + } + + public ContentFilterResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ContentFilterResult.Builder builder() { + return new ContentFilterResult.Builder(null, null, false); + } + + public static<_B >ContentFilterResult.Builder<_B> copyOf(final ContentFilterResult _other) { + final ContentFilterResult.Builder<_B> _newBuilder = new ContentFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ContentFilterResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree elementResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementResultsPropertyTree!= null):((elementResultsPropertyTree == null)||(!elementResultsPropertyTree.isLeaf())))) { + _other.elementResults = this.elementResults; + } + final PropertyTree elementDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementDiagnosticInfosPropertyTree!= null):((elementDiagnosticInfosPropertyTree == null)||(!elementDiagnosticInfosPropertyTree.isLeaf())))) { + _other.elementDiagnosticInfos = this.elementDiagnosticInfos; + } + } + + public<_B >ContentFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ContentFilterResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ContentFilterResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ContentFilterResult.Builder<_B> copyOf(final ContentFilterResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ContentFilterResult.Builder<_B> _newBuilder = new ContentFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ContentFilterResult.Builder copyExcept(final ContentFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ContentFilterResult.Builder copyOnly(final ContentFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ContentFilterResult _storedValue; + private JAXBElement elementResults; + private JAXBElement elementDiagnosticInfos; + + public Builder(final _B _parentBuilder, final ContentFilterResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.elementResults = _other.elementResults; + this.elementDiagnosticInfos = _other.elementDiagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ContentFilterResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree elementResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementResultsPropertyTree!= null):((elementResultsPropertyTree == null)||(!elementResultsPropertyTree.isLeaf())))) { + this.elementResults = _other.elementResults; + } + final PropertyTree elementDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elementDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementDiagnosticInfosPropertyTree!= null):((elementDiagnosticInfosPropertyTree == null)||(!elementDiagnosticInfosPropertyTree.isLeaf())))) { + this.elementDiagnosticInfos = _other.elementDiagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ContentFilterResult >_P init(final _P _product) { + _product.elementResults = this.elementResults; + _product.elementDiagnosticInfos = this.elementDiagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "elementResults" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param elementResults + * Neuer Wert der Eigenschaft "elementResults". + */ + public ContentFilterResult.Builder<_B> withElementResults(final JAXBElement elementResults) { + this.elementResults = elementResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "elementDiagnosticInfos" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param elementDiagnosticInfos + * Neuer Wert der Eigenschaft "elementDiagnosticInfos". + */ + public ContentFilterResult.Builder<_B> withElementDiagnosticInfos(final JAXBElement elementDiagnosticInfos) { + this.elementDiagnosticInfos = elementDiagnosticInfos; + return this; + } + + @Override + public ContentFilterResult build() { + if (_storedValue == null) { + return this.init(new ContentFilterResult()); + } else { + return ((ContentFilterResult) _storedValue); + } + } + + public ContentFilterResult.Builder<_B> copyOf(final ContentFilterResult _other) { + _other.copyTo(this); + return this; + } + + public ContentFilterResult.Builder<_B> copyOf(final ContentFilterResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ContentFilterResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ContentFilterResult.Select _root() { + return new ContentFilterResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> elementResults = null; + private com.kscs.util.jaxb.Selector> elementDiagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.elementResults!= null) { + products.put("elementResults", this.elementResults.init()); + } + if (this.elementDiagnosticInfos!= null) { + products.put("elementDiagnosticInfos", this.elementDiagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> elementResults() { + return ((this.elementResults == null)?this.elementResults = new com.kscs.util.jaxb.Selector>(this._root, this, "elementResults"):this.elementResults); + } + + public com.kscs.util.jaxb.Selector> elementDiagnosticInfos() { + return ((this.elementDiagnosticInfos == null)?this.elementDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "elementDiagnosticInfos"):this.elementDiagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsRequest.java new file mode 100644 index 000000000..2ad6bbe7e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsRequest.java @@ -0,0 +1,444 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CreateMonitoredItemsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreateMonitoredItemsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TimestampsToReturn" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TimestampsToReturn" minOccurs="0"/>
+ *         <element name="ItemsToCreate" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfMonitoredItemCreateRequest" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreateMonitoredItemsRequest", propOrder = { + "requestHeader", + "subscriptionId", + "timestampsToReturn", + "itemsToCreate" +}) +public class CreateMonitoredItemsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "TimestampsToReturn") + @XmlSchemaType(name = "string") + protected TimestampsToReturn timestampsToReturn; + @XmlElementRef(name = "ItemsToCreate", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement itemsToCreate; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der timestampsToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link TimestampsToReturn } + * + */ + public TimestampsToReturn getTimestampsToReturn() { + return timestampsToReturn; + } + + /** + * Legt den Wert der timestampsToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TimestampsToReturn } + * + */ + public void setTimestampsToReturn(TimestampsToReturn value) { + this.timestampsToReturn = value; + } + + /** + * Ruft den Wert der itemsToCreate-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateRequest }{@code >} + * + */ + public JAXBElement getItemsToCreate() { + return itemsToCreate; + } + + /** + * Legt den Wert der itemsToCreate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateRequest }{@code >} + * + */ + public void setItemsToCreate(JAXBElement value) { + this.itemsToCreate = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateMonitoredItemsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.timestampsToReturn = this.timestampsToReturn; + _other.itemsToCreate = this.itemsToCreate; + } + + public<_B >CreateMonitoredItemsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CreateMonitoredItemsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CreateMonitoredItemsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CreateMonitoredItemsRequest.Builder builder() { + return new CreateMonitoredItemsRequest.Builder(null, null, false); + } + + public static<_B >CreateMonitoredItemsRequest.Builder<_B> copyOf(final CreateMonitoredItemsRequest _other) { + final CreateMonitoredItemsRequest.Builder<_B> _newBuilder = new CreateMonitoredItemsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateMonitoredItemsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + _other.timestampsToReturn = this.timestampsToReturn; + } + final PropertyTree itemsToCreatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("itemsToCreate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(itemsToCreatePropertyTree!= null):((itemsToCreatePropertyTree == null)||(!itemsToCreatePropertyTree.isLeaf())))) { + _other.itemsToCreate = this.itemsToCreate; + } + } + + public<_B >CreateMonitoredItemsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CreateMonitoredItemsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CreateMonitoredItemsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CreateMonitoredItemsRequest.Builder<_B> copyOf(final CreateMonitoredItemsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CreateMonitoredItemsRequest.Builder<_B> _newBuilder = new CreateMonitoredItemsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CreateMonitoredItemsRequest.Builder copyExcept(final CreateMonitoredItemsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CreateMonitoredItemsRequest.Builder copyOnly(final CreateMonitoredItemsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CreateMonitoredItemsRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private TimestampsToReturn timestampsToReturn; + private JAXBElement itemsToCreate; + + public Builder(final _B _parentBuilder, final CreateMonitoredItemsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.timestampsToReturn = _other.timestampsToReturn; + this.itemsToCreate = _other.itemsToCreate; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CreateMonitoredItemsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + this.timestampsToReturn = _other.timestampsToReturn; + } + final PropertyTree itemsToCreatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("itemsToCreate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(itemsToCreatePropertyTree!= null):((itemsToCreatePropertyTree == null)||(!itemsToCreatePropertyTree.isLeaf())))) { + this.itemsToCreate = _other.itemsToCreate; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CreateMonitoredItemsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.timestampsToReturn = this.timestampsToReturn; + _product.itemsToCreate = this.itemsToCreate; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CreateMonitoredItemsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public CreateMonitoredItemsRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestampsToReturn" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param timestampsToReturn + * Neuer Wert der Eigenschaft "timestampsToReturn". + */ + public CreateMonitoredItemsRequest.Builder<_B> withTimestampsToReturn(final TimestampsToReturn timestampsToReturn) { + this.timestampsToReturn = timestampsToReturn; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "itemsToCreate" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param itemsToCreate + * Neuer Wert der Eigenschaft "itemsToCreate". + */ + public CreateMonitoredItemsRequest.Builder<_B> withItemsToCreate(final JAXBElement itemsToCreate) { + this.itemsToCreate = itemsToCreate; + return this; + } + + @Override + public CreateMonitoredItemsRequest build() { + if (_storedValue == null) { + return this.init(new CreateMonitoredItemsRequest()); + } else { + return ((CreateMonitoredItemsRequest) _storedValue); + } + } + + public CreateMonitoredItemsRequest.Builder<_B> copyOf(final CreateMonitoredItemsRequest _other) { + _other.copyTo(this); + return this; + } + + public CreateMonitoredItemsRequest.Builder<_B> copyOf(final CreateMonitoredItemsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CreateMonitoredItemsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CreateMonitoredItemsRequest.Select _root() { + return new CreateMonitoredItemsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> timestampsToReturn = null; + private com.kscs.util.jaxb.Selector> itemsToCreate = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.timestampsToReturn!= null) { + products.put("timestampsToReturn", this.timestampsToReturn.init()); + } + if (this.itemsToCreate!= null) { + products.put("itemsToCreate", this.itemsToCreate.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> timestampsToReturn() { + return ((this.timestampsToReturn == null)?this.timestampsToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "timestampsToReturn"):this.timestampsToReturn); + } + + public com.kscs.util.jaxb.Selector> itemsToCreate() { + return ((this.itemsToCreate == null)?this.itemsToCreate = new com.kscs.util.jaxb.Selector>(this._root, this, "itemsToCreate"):this.itemsToCreate); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsResponse.java new file mode 100644 index 000000000..4e051622f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateMonitoredItemsResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CreateMonitoredItemsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreateMonitoredItemsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfMonitoredItemCreateResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreateMonitoredItemsResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class CreateMonitoredItemsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateMonitoredItemsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >CreateMonitoredItemsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CreateMonitoredItemsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CreateMonitoredItemsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CreateMonitoredItemsResponse.Builder builder() { + return new CreateMonitoredItemsResponse.Builder(null, null, false); + } + + public static<_B >CreateMonitoredItemsResponse.Builder<_B> copyOf(final CreateMonitoredItemsResponse _other) { + final CreateMonitoredItemsResponse.Builder<_B> _newBuilder = new CreateMonitoredItemsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateMonitoredItemsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >CreateMonitoredItemsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CreateMonitoredItemsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CreateMonitoredItemsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CreateMonitoredItemsResponse.Builder<_B> copyOf(final CreateMonitoredItemsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CreateMonitoredItemsResponse.Builder<_B> _newBuilder = new CreateMonitoredItemsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CreateMonitoredItemsResponse.Builder copyExcept(final CreateMonitoredItemsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CreateMonitoredItemsResponse.Builder copyOnly(final CreateMonitoredItemsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CreateMonitoredItemsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final CreateMonitoredItemsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CreateMonitoredItemsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CreateMonitoredItemsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CreateMonitoredItemsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public CreateMonitoredItemsResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public CreateMonitoredItemsResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public CreateMonitoredItemsResponse build() { + if (_storedValue == null) { + return this.init(new CreateMonitoredItemsResponse()); + } else { + return ((CreateMonitoredItemsResponse) _storedValue); + } + } + + public CreateMonitoredItemsResponse.Builder<_B> copyOf(final CreateMonitoredItemsResponse _other) { + _other.copyTo(this); + return this; + } + + public CreateMonitoredItemsResponse.Builder<_B> copyOf(final CreateMonitoredItemsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CreateMonitoredItemsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CreateMonitoredItemsResponse.Select _root() { + return new CreateMonitoredItemsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionRequest.java new file mode 100644 index 000000000..f5b7ed4cc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionRequest.java @@ -0,0 +1,743 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CreateSessionRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreateSessionRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ClientDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ApplicationDescription" minOccurs="0"/>
+ *         <element name="ServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="EndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SessionName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ClientNonce" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="ClientCertificate" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="RequestedSessionTimeout" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="MaxResponseMessageSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreateSessionRequest", propOrder = { + "requestHeader", + "clientDescription", + "serverUri", + "endpointUrl", + "sessionName", + "clientNonce", + "clientCertificate", + "requestedSessionTimeout", + "maxResponseMessageSize" +}) +public class CreateSessionRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "ClientDescription", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientDescription; + @XmlElementRef(name = "ServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUri; + @XmlElementRef(name = "EndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrl; + @XmlElementRef(name = "SessionName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sessionName; + @XmlElementRef(name = "ClientNonce", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientNonce; + @XmlElementRef(name = "ClientCertificate", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientCertificate; + @XmlElement(name = "RequestedSessionTimeout") + protected Double requestedSessionTimeout; + @XmlElement(name = "MaxResponseMessageSize") + @XmlSchemaType(name = "unsignedInt") + protected Long maxResponseMessageSize; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der clientDescription-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + */ + public JAXBElement getClientDescription() { + return clientDescription; + } + + /** + * Legt den Wert der clientDescription-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + */ + public void setClientDescription(JAXBElement value) { + this.clientDescription = value; + } + + /** + * Ruft den Wert der serverUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getServerUri() { + return serverUri; + } + + /** + * Legt den Wert der serverUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setServerUri(JAXBElement value) { + this.serverUri = value; + } + + /** + * Ruft den Wert der endpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEndpointUrl() { + return endpointUrl; + } + + /** + * Legt den Wert der endpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEndpointUrl(JAXBElement value) { + this.endpointUrl = value; + } + + /** + * Ruft den Wert der sessionName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSessionName() { + return sessionName; + } + + /** + * Legt den Wert der sessionName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSessionName(JAXBElement value) { + this.sessionName = value; + } + + /** + * Ruft den Wert der clientNonce-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getClientNonce() { + return clientNonce; + } + + /** + * Legt den Wert der clientNonce-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setClientNonce(JAXBElement value) { + this.clientNonce = value; + } + + /** + * Ruft den Wert der clientCertificate-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getClientCertificate() { + return clientCertificate; + } + + /** + * Legt den Wert der clientCertificate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setClientCertificate(JAXBElement value) { + this.clientCertificate = value; + } + + /** + * Ruft den Wert der requestedSessionTimeout-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRequestedSessionTimeout() { + return requestedSessionTimeout; + } + + /** + * Legt den Wert der requestedSessionTimeout-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRequestedSessionTimeout(Double value) { + this.requestedSessionTimeout = value; + } + + /** + * Ruft den Wert der maxResponseMessageSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxResponseMessageSize() { + return maxResponseMessageSize; + } + + /** + * Legt den Wert der maxResponseMessageSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxResponseMessageSize(Long value) { + this.maxResponseMessageSize = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSessionRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.clientDescription = this.clientDescription; + _other.serverUri = this.serverUri; + _other.endpointUrl = this.endpointUrl; + _other.sessionName = this.sessionName; + _other.clientNonce = this.clientNonce; + _other.clientCertificate = this.clientCertificate; + _other.requestedSessionTimeout = this.requestedSessionTimeout; + _other.maxResponseMessageSize = this.maxResponseMessageSize; + } + + public<_B >CreateSessionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CreateSessionRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CreateSessionRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CreateSessionRequest.Builder builder() { + return new CreateSessionRequest.Builder(null, null, false); + } + + public static<_B >CreateSessionRequest.Builder<_B> copyOf(final CreateSessionRequest _other) { + final CreateSessionRequest.Builder<_B> _newBuilder = new CreateSessionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSessionRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree clientDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientDescriptionPropertyTree!= null):((clientDescriptionPropertyTree == null)||(!clientDescriptionPropertyTree.isLeaf())))) { + _other.clientDescription = this.clientDescription; + } + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + _other.serverUri = this.serverUri; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + _other.endpointUrl = this.endpointUrl; + } + final PropertyTree sessionNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionNamePropertyTree!= null):((sessionNamePropertyTree == null)||(!sessionNamePropertyTree.isLeaf())))) { + _other.sessionName = this.sessionName; + } + final PropertyTree clientNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientNoncePropertyTree!= null):((clientNoncePropertyTree == null)||(!clientNoncePropertyTree.isLeaf())))) { + _other.clientNonce = this.clientNonce; + } + final PropertyTree clientCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientCertificatePropertyTree!= null):((clientCertificatePropertyTree == null)||(!clientCertificatePropertyTree.isLeaf())))) { + _other.clientCertificate = this.clientCertificate; + } + final PropertyTree requestedSessionTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedSessionTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedSessionTimeoutPropertyTree!= null):((requestedSessionTimeoutPropertyTree == null)||(!requestedSessionTimeoutPropertyTree.isLeaf())))) { + _other.requestedSessionTimeout = this.requestedSessionTimeout; + } + final PropertyTree maxResponseMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxResponseMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxResponseMessageSizePropertyTree!= null):((maxResponseMessageSizePropertyTree == null)||(!maxResponseMessageSizePropertyTree.isLeaf())))) { + _other.maxResponseMessageSize = this.maxResponseMessageSize; + } + } + + public<_B >CreateSessionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CreateSessionRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CreateSessionRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CreateSessionRequest.Builder<_B> copyOf(final CreateSessionRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CreateSessionRequest.Builder<_B> _newBuilder = new CreateSessionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CreateSessionRequest.Builder copyExcept(final CreateSessionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CreateSessionRequest.Builder copyOnly(final CreateSessionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CreateSessionRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement clientDescription; + private JAXBElement serverUri; + private JAXBElement endpointUrl; + private JAXBElement sessionName; + private JAXBElement clientNonce; + private JAXBElement clientCertificate; + private Double requestedSessionTimeout; + private Long maxResponseMessageSize; + + public Builder(final _B _parentBuilder, final CreateSessionRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.clientDescription = _other.clientDescription; + this.serverUri = _other.serverUri; + this.endpointUrl = _other.endpointUrl; + this.sessionName = _other.sessionName; + this.clientNonce = _other.clientNonce; + this.clientCertificate = _other.clientCertificate; + this.requestedSessionTimeout = _other.requestedSessionTimeout; + this.maxResponseMessageSize = _other.maxResponseMessageSize; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CreateSessionRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree clientDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientDescriptionPropertyTree!= null):((clientDescriptionPropertyTree == null)||(!clientDescriptionPropertyTree.isLeaf())))) { + this.clientDescription = _other.clientDescription; + } + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + this.serverUri = _other.serverUri; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + this.endpointUrl = _other.endpointUrl; + } + final PropertyTree sessionNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionNamePropertyTree!= null):((sessionNamePropertyTree == null)||(!sessionNamePropertyTree.isLeaf())))) { + this.sessionName = _other.sessionName; + } + final PropertyTree clientNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientNoncePropertyTree!= null):((clientNoncePropertyTree == null)||(!clientNoncePropertyTree.isLeaf())))) { + this.clientNonce = _other.clientNonce; + } + final PropertyTree clientCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientCertificatePropertyTree!= null):((clientCertificatePropertyTree == null)||(!clientCertificatePropertyTree.isLeaf())))) { + this.clientCertificate = _other.clientCertificate; + } + final PropertyTree requestedSessionTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedSessionTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedSessionTimeoutPropertyTree!= null):((requestedSessionTimeoutPropertyTree == null)||(!requestedSessionTimeoutPropertyTree.isLeaf())))) { + this.requestedSessionTimeout = _other.requestedSessionTimeout; + } + final PropertyTree maxResponseMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxResponseMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxResponseMessageSizePropertyTree!= null):((maxResponseMessageSizePropertyTree == null)||(!maxResponseMessageSizePropertyTree.isLeaf())))) { + this.maxResponseMessageSize = _other.maxResponseMessageSize; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CreateSessionRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.clientDescription = this.clientDescription; + _product.serverUri = this.serverUri; + _product.endpointUrl = this.endpointUrl; + _product.sessionName = this.sessionName; + _product.clientNonce = this.clientNonce; + _product.clientCertificate = this.clientCertificate; + _product.requestedSessionTimeout = this.requestedSessionTimeout; + _product.maxResponseMessageSize = this.maxResponseMessageSize; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CreateSessionRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param clientDescription + * Neuer Wert der Eigenschaft "clientDescription". + */ + public CreateSessionRequest.Builder<_B> withClientDescription(final JAXBElement clientDescription) { + this.clientDescription = clientDescription; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUri + * Neuer Wert der Eigenschaft "serverUri". + */ + public CreateSessionRequest.Builder<_B> withServerUri(final JAXBElement serverUri) { + this.serverUri = serverUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrl + * Neuer Wert der Eigenschaft "endpointUrl". + */ + public CreateSessionRequest.Builder<_B> withEndpointUrl(final JAXBElement endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sessionName + * Neuer Wert der Eigenschaft "sessionName". + */ + public CreateSessionRequest.Builder<_B> withSessionName(final JAXBElement sessionName) { + this.sessionName = sessionName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientNonce" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param clientNonce + * Neuer Wert der Eigenschaft "clientNonce". + */ + public CreateSessionRequest.Builder<_B> withClientNonce(final JAXBElement clientNonce) { + this.clientNonce = clientNonce; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientCertificate" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param clientCertificate + * Neuer Wert der Eigenschaft "clientCertificate". + */ + public CreateSessionRequest.Builder<_B> withClientCertificate(final JAXBElement clientCertificate) { + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedSessionTimeout" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedSessionTimeout + * Neuer Wert der Eigenschaft "requestedSessionTimeout". + */ + public CreateSessionRequest.Builder<_B> withRequestedSessionTimeout(final Double requestedSessionTimeout) { + this.requestedSessionTimeout = requestedSessionTimeout; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxResponseMessageSize" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxResponseMessageSize + * Neuer Wert der Eigenschaft "maxResponseMessageSize". + */ + public CreateSessionRequest.Builder<_B> withMaxResponseMessageSize(final Long maxResponseMessageSize) { + this.maxResponseMessageSize = maxResponseMessageSize; + return this; + } + + @Override + public CreateSessionRequest build() { + if (_storedValue == null) { + return this.init(new CreateSessionRequest()); + } else { + return ((CreateSessionRequest) _storedValue); + } + } + + public CreateSessionRequest.Builder<_B> copyOf(final CreateSessionRequest _other) { + _other.copyTo(this); + return this; + } + + public CreateSessionRequest.Builder<_B> copyOf(final CreateSessionRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CreateSessionRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CreateSessionRequest.Select _root() { + return new CreateSessionRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> clientDescription = null; + private com.kscs.util.jaxb.Selector> serverUri = null; + private com.kscs.util.jaxb.Selector> endpointUrl = null; + private com.kscs.util.jaxb.Selector> sessionName = null; + private com.kscs.util.jaxb.Selector> clientNonce = null; + private com.kscs.util.jaxb.Selector> clientCertificate = null; + private com.kscs.util.jaxb.Selector> requestedSessionTimeout = null; + private com.kscs.util.jaxb.Selector> maxResponseMessageSize = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.clientDescription!= null) { + products.put("clientDescription", this.clientDescription.init()); + } + if (this.serverUri!= null) { + products.put("serverUri", this.serverUri.init()); + } + if (this.endpointUrl!= null) { + products.put("endpointUrl", this.endpointUrl.init()); + } + if (this.sessionName!= null) { + products.put("sessionName", this.sessionName.init()); + } + if (this.clientNonce!= null) { + products.put("clientNonce", this.clientNonce.init()); + } + if (this.clientCertificate!= null) { + products.put("clientCertificate", this.clientCertificate.init()); + } + if (this.requestedSessionTimeout!= null) { + products.put("requestedSessionTimeout", this.requestedSessionTimeout.init()); + } + if (this.maxResponseMessageSize!= null) { + products.put("maxResponseMessageSize", this.maxResponseMessageSize.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> clientDescription() { + return ((this.clientDescription == null)?this.clientDescription = new com.kscs.util.jaxb.Selector>(this._root, this, "clientDescription"):this.clientDescription); + } + + public com.kscs.util.jaxb.Selector> serverUri() { + return ((this.serverUri == null)?this.serverUri = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUri"):this.serverUri); + } + + public com.kscs.util.jaxb.Selector> endpointUrl() { + return ((this.endpointUrl == null)?this.endpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrl"):this.endpointUrl); + } + + public com.kscs.util.jaxb.Selector> sessionName() { + return ((this.sessionName == null)?this.sessionName = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionName"):this.sessionName); + } + + public com.kscs.util.jaxb.Selector> clientNonce() { + return ((this.clientNonce == null)?this.clientNonce = new com.kscs.util.jaxb.Selector>(this._root, this, "clientNonce"):this.clientNonce); + } + + public com.kscs.util.jaxb.Selector> clientCertificate() { + return ((this.clientCertificate == null)?this.clientCertificate = new com.kscs.util.jaxb.Selector>(this._root, this, "clientCertificate"):this.clientCertificate); + } + + public com.kscs.util.jaxb.Selector> requestedSessionTimeout() { + return ((this.requestedSessionTimeout == null)?this.requestedSessionTimeout = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedSessionTimeout"):this.requestedSessionTimeout); + } + + public com.kscs.util.jaxb.Selector> maxResponseMessageSize() { + return ((this.maxResponseMessageSize == null)?this.maxResponseMessageSize = new com.kscs.util.jaxb.Selector>(this._root, this, "maxResponseMessageSize"):this.maxResponseMessageSize); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionResponse.java new file mode 100644 index 000000000..e5b2f5d00 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSessionResponse.java @@ -0,0 +1,803 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CreateSessionResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreateSessionResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="SessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AuthenticationToken" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="RevisedSessionTimeout" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="ServerNonce" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="ServerCertificate" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="ServerEndpoints" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEndpointDescription" minOccurs="0"/>
+ *         <element name="ServerSoftwareCertificates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfSignedSoftwareCertificate" minOccurs="0"/>
+ *         <element name="ServerSignature" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SignatureData" minOccurs="0"/>
+ *         <element name="MaxRequestMessageSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreateSessionResponse", propOrder = { + "responseHeader", + "sessionId", + "authenticationToken", + "revisedSessionTimeout", + "serverNonce", + "serverCertificate", + "serverEndpoints", + "serverSoftwareCertificates", + "serverSignature", + "maxRequestMessageSize" +}) +public class CreateSessionResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "SessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sessionId; + @XmlElementRef(name = "AuthenticationToken", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationToken; + @XmlElement(name = "RevisedSessionTimeout") + protected Double revisedSessionTimeout; + @XmlElementRef(name = "ServerNonce", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverNonce; + @XmlElementRef(name = "ServerCertificate", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverCertificate; + @XmlElementRef(name = "ServerEndpoints", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverEndpoints; + @XmlElementRef(name = "ServerSoftwareCertificates", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverSoftwareCertificates; + @XmlElementRef(name = "ServerSignature", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverSignature; + @XmlElement(name = "MaxRequestMessageSize") + @XmlSchemaType(name = "unsignedInt") + protected Long maxRequestMessageSize; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der sessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getSessionId() { + return sessionId; + } + + /** + * Legt den Wert der sessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setSessionId(JAXBElement value) { + this.sessionId = value; + } + + /** + * Ruft den Wert der authenticationToken-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAuthenticationToken() { + return authenticationToken; + } + + /** + * Legt den Wert der authenticationToken-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAuthenticationToken(JAXBElement value) { + this.authenticationToken = value; + } + + /** + * Ruft den Wert der revisedSessionTimeout-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRevisedSessionTimeout() { + return revisedSessionTimeout; + } + + /** + * Legt den Wert der revisedSessionTimeout-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRevisedSessionTimeout(Double value) { + this.revisedSessionTimeout = value; + } + + /** + * Ruft den Wert der serverNonce-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getServerNonce() { + return serverNonce; + } + + /** + * Legt den Wert der serverNonce-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setServerNonce(JAXBElement value) { + this.serverNonce = value; + } + + /** + * Ruft den Wert der serverCertificate-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getServerCertificate() { + return serverCertificate; + } + + /** + * Legt den Wert der serverCertificate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setServerCertificate(JAXBElement value) { + this.serverCertificate = value; + } + + /** + * Ruft den Wert der serverEndpoints-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public JAXBElement getServerEndpoints() { + return serverEndpoints; + } + + /** + * Legt den Wert der serverEndpoints-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public void setServerEndpoints(JAXBElement value) { + this.serverEndpoints = value; + } + + /** + * Ruft den Wert der serverSoftwareCertificates-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + */ + public JAXBElement getServerSoftwareCertificates() { + return serverSoftwareCertificates; + } + + /** + * Legt den Wert der serverSoftwareCertificates-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + */ + public void setServerSoftwareCertificates(JAXBElement value) { + this.serverSoftwareCertificates = value; + } + + /** + * Ruft den Wert der serverSignature-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + */ + public JAXBElement getServerSignature() { + return serverSignature; + } + + /** + * Legt den Wert der serverSignature-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + */ + public void setServerSignature(JAXBElement value) { + this.serverSignature = value; + } + + /** + * Ruft den Wert der maxRequestMessageSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxRequestMessageSize() { + return maxRequestMessageSize; + } + + /** + * Legt den Wert der maxRequestMessageSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxRequestMessageSize(Long value) { + this.maxRequestMessageSize = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSessionResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.sessionId = this.sessionId; + _other.authenticationToken = this.authenticationToken; + _other.revisedSessionTimeout = this.revisedSessionTimeout; + _other.serverNonce = this.serverNonce; + _other.serverCertificate = this.serverCertificate; + _other.serverEndpoints = this.serverEndpoints; + _other.serverSoftwareCertificates = this.serverSoftwareCertificates; + _other.serverSignature = this.serverSignature; + _other.maxRequestMessageSize = this.maxRequestMessageSize; + } + + public<_B >CreateSessionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CreateSessionResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CreateSessionResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CreateSessionResponse.Builder builder() { + return new CreateSessionResponse.Builder(null, null, false); + } + + public static<_B >CreateSessionResponse.Builder<_B> copyOf(final CreateSessionResponse _other) { + final CreateSessionResponse.Builder<_B> _newBuilder = new CreateSessionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSessionResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + _other.sessionId = this.sessionId; + } + final PropertyTree authenticationTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationTokenPropertyTree!= null):((authenticationTokenPropertyTree == null)||(!authenticationTokenPropertyTree.isLeaf())))) { + _other.authenticationToken = this.authenticationToken; + } + final PropertyTree revisedSessionTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedSessionTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedSessionTimeoutPropertyTree!= null):((revisedSessionTimeoutPropertyTree == null)||(!revisedSessionTimeoutPropertyTree.isLeaf())))) { + _other.revisedSessionTimeout = this.revisedSessionTimeout; + } + final PropertyTree serverNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNoncePropertyTree!= null):((serverNoncePropertyTree == null)||(!serverNoncePropertyTree.isLeaf())))) { + _other.serverNonce = this.serverNonce; + } + final PropertyTree serverCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCertificatePropertyTree!= null):((serverCertificatePropertyTree == null)||(!serverCertificatePropertyTree.isLeaf())))) { + _other.serverCertificate = this.serverCertificate; + } + final PropertyTree serverEndpointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverEndpoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverEndpointsPropertyTree!= null):((serverEndpointsPropertyTree == null)||(!serverEndpointsPropertyTree.isLeaf())))) { + _other.serverEndpoints = this.serverEndpoints; + } + final PropertyTree serverSoftwareCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverSoftwareCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverSoftwareCertificatesPropertyTree!= null):((serverSoftwareCertificatesPropertyTree == null)||(!serverSoftwareCertificatesPropertyTree.isLeaf())))) { + _other.serverSoftwareCertificates = this.serverSoftwareCertificates; + } + final PropertyTree serverSignaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverSignature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverSignaturePropertyTree!= null):((serverSignaturePropertyTree == null)||(!serverSignaturePropertyTree.isLeaf())))) { + _other.serverSignature = this.serverSignature; + } + final PropertyTree maxRequestMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxRequestMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxRequestMessageSizePropertyTree!= null):((maxRequestMessageSizePropertyTree == null)||(!maxRequestMessageSizePropertyTree.isLeaf())))) { + _other.maxRequestMessageSize = this.maxRequestMessageSize; + } + } + + public<_B >CreateSessionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CreateSessionResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CreateSessionResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CreateSessionResponse.Builder<_B> copyOf(final CreateSessionResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CreateSessionResponse.Builder<_B> _newBuilder = new CreateSessionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CreateSessionResponse.Builder copyExcept(final CreateSessionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CreateSessionResponse.Builder copyOnly(final CreateSessionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CreateSessionResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement sessionId; + private JAXBElement authenticationToken; + private Double revisedSessionTimeout; + private JAXBElement serverNonce; + private JAXBElement serverCertificate; + private JAXBElement serverEndpoints; + private JAXBElement serverSoftwareCertificates; + private JAXBElement serverSignature; + private Long maxRequestMessageSize; + + public Builder(final _B _parentBuilder, final CreateSessionResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.sessionId = _other.sessionId; + this.authenticationToken = _other.authenticationToken; + this.revisedSessionTimeout = _other.revisedSessionTimeout; + this.serverNonce = _other.serverNonce; + this.serverCertificate = _other.serverCertificate; + this.serverEndpoints = _other.serverEndpoints; + this.serverSoftwareCertificates = _other.serverSoftwareCertificates; + this.serverSignature = _other.serverSignature; + this.maxRequestMessageSize = _other.maxRequestMessageSize; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CreateSessionResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + this.sessionId = _other.sessionId; + } + final PropertyTree authenticationTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationTokenPropertyTree!= null):((authenticationTokenPropertyTree == null)||(!authenticationTokenPropertyTree.isLeaf())))) { + this.authenticationToken = _other.authenticationToken; + } + final PropertyTree revisedSessionTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedSessionTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedSessionTimeoutPropertyTree!= null):((revisedSessionTimeoutPropertyTree == null)||(!revisedSessionTimeoutPropertyTree.isLeaf())))) { + this.revisedSessionTimeout = _other.revisedSessionTimeout; + } + final PropertyTree serverNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNoncePropertyTree!= null):((serverNoncePropertyTree == null)||(!serverNoncePropertyTree.isLeaf())))) { + this.serverNonce = _other.serverNonce; + } + final PropertyTree serverCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCertificatePropertyTree!= null):((serverCertificatePropertyTree == null)||(!serverCertificatePropertyTree.isLeaf())))) { + this.serverCertificate = _other.serverCertificate; + } + final PropertyTree serverEndpointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverEndpoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverEndpointsPropertyTree!= null):((serverEndpointsPropertyTree == null)||(!serverEndpointsPropertyTree.isLeaf())))) { + this.serverEndpoints = _other.serverEndpoints; + } + final PropertyTree serverSoftwareCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverSoftwareCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverSoftwareCertificatesPropertyTree!= null):((serverSoftwareCertificatesPropertyTree == null)||(!serverSoftwareCertificatesPropertyTree.isLeaf())))) { + this.serverSoftwareCertificates = _other.serverSoftwareCertificates; + } + final PropertyTree serverSignaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverSignature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverSignaturePropertyTree!= null):((serverSignaturePropertyTree == null)||(!serverSignaturePropertyTree.isLeaf())))) { + this.serverSignature = _other.serverSignature; + } + final PropertyTree maxRequestMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxRequestMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxRequestMessageSizePropertyTree!= null):((maxRequestMessageSizePropertyTree == null)||(!maxRequestMessageSizePropertyTree.isLeaf())))) { + this.maxRequestMessageSize = _other.maxRequestMessageSize; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CreateSessionResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.sessionId = this.sessionId; + _product.authenticationToken = this.authenticationToken; + _product.revisedSessionTimeout = this.revisedSessionTimeout; + _product.serverNonce = this.serverNonce; + _product.serverCertificate = this.serverCertificate; + _product.serverEndpoints = this.serverEndpoints; + _product.serverSoftwareCertificates = this.serverSoftwareCertificates; + _product.serverSignature = this.serverSignature; + _product.maxRequestMessageSize = this.maxRequestMessageSize; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CreateSessionResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param sessionId + * Neuer Wert der Eigenschaft "sessionId". + */ + public CreateSessionResponse.Builder<_B> withSessionId(final JAXBElement sessionId) { + this.sessionId = sessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationToken" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param authenticationToken + * Neuer Wert der Eigenschaft "authenticationToken". + */ + public CreateSessionResponse.Builder<_B> withAuthenticationToken(final JAXBElement authenticationToken) { + this.authenticationToken = authenticationToken; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedSessionTimeout" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedSessionTimeout + * Neuer Wert der Eigenschaft "revisedSessionTimeout". + */ + public CreateSessionResponse.Builder<_B> withRevisedSessionTimeout(final Double revisedSessionTimeout) { + this.revisedSessionTimeout = revisedSessionTimeout; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverNonce" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverNonce + * Neuer Wert der Eigenschaft "serverNonce". + */ + public CreateSessionResponse.Builder<_B> withServerNonce(final JAXBElement serverNonce) { + this.serverNonce = serverNonce; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverCertificate" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param serverCertificate + * Neuer Wert der Eigenschaft "serverCertificate". + */ + public CreateSessionResponse.Builder<_B> withServerCertificate(final JAXBElement serverCertificate) { + this.serverCertificate = serverCertificate; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverEndpoints" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverEndpoints + * Neuer Wert der Eigenschaft "serverEndpoints". + */ + public CreateSessionResponse.Builder<_B> withServerEndpoints(final JAXBElement serverEndpoints) { + this.serverEndpoints = serverEndpoints; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverSoftwareCertificates" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param serverSoftwareCertificates + * Neuer Wert der Eigenschaft "serverSoftwareCertificates". + */ + public CreateSessionResponse.Builder<_B> withServerSoftwareCertificates(final JAXBElement serverSoftwareCertificates) { + this.serverSoftwareCertificates = serverSoftwareCertificates; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverSignature" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverSignature + * Neuer Wert der Eigenschaft "serverSignature". + */ + public CreateSessionResponse.Builder<_B> withServerSignature(final JAXBElement serverSignature) { + this.serverSignature = serverSignature; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxRequestMessageSize" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxRequestMessageSize + * Neuer Wert der Eigenschaft "maxRequestMessageSize". + */ + public CreateSessionResponse.Builder<_B> withMaxRequestMessageSize(final Long maxRequestMessageSize) { + this.maxRequestMessageSize = maxRequestMessageSize; + return this; + } + + @Override + public CreateSessionResponse build() { + if (_storedValue == null) { + return this.init(new CreateSessionResponse()); + } else { + return ((CreateSessionResponse) _storedValue); + } + } + + public CreateSessionResponse.Builder<_B> copyOf(final CreateSessionResponse _other) { + _other.copyTo(this); + return this; + } + + public CreateSessionResponse.Builder<_B> copyOf(final CreateSessionResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CreateSessionResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CreateSessionResponse.Select _root() { + return new CreateSessionResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> sessionId = null; + private com.kscs.util.jaxb.Selector> authenticationToken = null; + private com.kscs.util.jaxb.Selector> revisedSessionTimeout = null; + private com.kscs.util.jaxb.Selector> serverNonce = null; + private com.kscs.util.jaxb.Selector> serverCertificate = null; + private com.kscs.util.jaxb.Selector> serverEndpoints = null; + private com.kscs.util.jaxb.Selector> serverSoftwareCertificates = null; + private com.kscs.util.jaxb.Selector> serverSignature = null; + private com.kscs.util.jaxb.Selector> maxRequestMessageSize = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.sessionId!= null) { + products.put("sessionId", this.sessionId.init()); + } + if (this.authenticationToken!= null) { + products.put("authenticationToken", this.authenticationToken.init()); + } + if (this.revisedSessionTimeout!= null) { + products.put("revisedSessionTimeout", this.revisedSessionTimeout.init()); + } + if (this.serverNonce!= null) { + products.put("serverNonce", this.serverNonce.init()); + } + if (this.serverCertificate!= null) { + products.put("serverCertificate", this.serverCertificate.init()); + } + if (this.serverEndpoints!= null) { + products.put("serverEndpoints", this.serverEndpoints.init()); + } + if (this.serverSoftwareCertificates!= null) { + products.put("serverSoftwareCertificates", this.serverSoftwareCertificates.init()); + } + if (this.serverSignature!= null) { + products.put("serverSignature", this.serverSignature.init()); + } + if (this.maxRequestMessageSize!= null) { + products.put("maxRequestMessageSize", this.maxRequestMessageSize.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> sessionId() { + return ((this.sessionId == null)?this.sessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionId"):this.sessionId); + } + + public com.kscs.util.jaxb.Selector> authenticationToken() { + return ((this.authenticationToken == null)?this.authenticationToken = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationToken"):this.authenticationToken); + } + + public com.kscs.util.jaxb.Selector> revisedSessionTimeout() { + return ((this.revisedSessionTimeout == null)?this.revisedSessionTimeout = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedSessionTimeout"):this.revisedSessionTimeout); + } + + public com.kscs.util.jaxb.Selector> serverNonce() { + return ((this.serverNonce == null)?this.serverNonce = new com.kscs.util.jaxb.Selector>(this._root, this, "serverNonce"):this.serverNonce); + } + + public com.kscs.util.jaxb.Selector> serverCertificate() { + return ((this.serverCertificate == null)?this.serverCertificate = new com.kscs.util.jaxb.Selector>(this._root, this, "serverCertificate"):this.serverCertificate); + } + + public com.kscs.util.jaxb.Selector> serverEndpoints() { + return ((this.serverEndpoints == null)?this.serverEndpoints = new com.kscs.util.jaxb.Selector>(this._root, this, "serverEndpoints"):this.serverEndpoints); + } + + public com.kscs.util.jaxb.Selector> serverSoftwareCertificates() { + return ((this.serverSoftwareCertificates == null)?this.serverSoftwareCertificates = new com.kscs.util.jaxb.Selector>(this._root, this, "serverSoftwareCertificates"):this.serverSoftwareCertificates); + } + + public com.kscs.util.jaxb.Selector> serverSignature() { + return ((this.serverSignature == null)?this.serverSignature = new com.kscs.util.jaxb.Selector>(this._root, this, "serverSignature"):this.serverSignature); + } + + public com.kscs.util.jaxb.Selector> maxRequestMessageSize() { + return ((this.maxRequestMessageSize == null)?this.maxRequestMessageSize = new com.kscs.util.jaxb.Selector>(this._root, this, "maxRequestMessageSize"):this.maxRequestMessageSize); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionRequest.java new file mode 100644 index 000000000..468ba0579 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionRequest.java @@ -0,0 +1,626 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CreateSubscriptionRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreateSubscriptionRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="RequestedPublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RequestedLifetimeCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RequestedMaxKeepAliveCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxNotificationsPerPublish" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="PublishingEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="Priority" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreateSubscriptionRequest", propOrder = { + "requestHeader", + "requestedPublishingInterval", + "requestedLifetimeCount", + "requestedMaxKeepAliveCount", + "maxNotificationsPerPublish", + "publishingEnabled", + "priority" +}) +public class CreateSubscriptionRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "RequestedPublishingInterval") + protected Double requestedPublishingInterval; + @XmlElement(name = "RequestedLifetimeCount") + @XmlSchemaType(name = "unsignedInt") + protected Long requestedLifetimeCount; + @XmlElement(name = "RequestedMaxKeepAliveCount") + @XmlSchemaType(name = "unsignedInt") + protected Long requestedMaxKeepAliveCount; + @XmlElement(name = "MaxNotificationsPerPublish") + @XmlSchemaType(name = "unsignedInt") + protected Long maxNotificationsPerPublish; + @XmlElement(name = "PublishingEnabled") + protected Boolean publishingEnabled; + @XmlElement(name = "Priority") + @XmlSchemaType(name = "unsignedByte") + protected Short priority; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der requestedPublishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRequestedPublishingInterval() { + return requestedPublishingInterval; + } + + /** + * Legt den Wert der requestedPublishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRequestedPublishingInterval(Double value) { + this.requestedPublishingInterval = value; + } + + /** + * Ruft den Wert der requestedLifetimeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestedLifetimeCount() { + return requestedLifetimeCount; + } + + /** + * Legt den Wert der requestedLifetimeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestedLifetimeCount(Long value) { + this.requestedLifetimeCount = value; + } + + /** + * Ruft den Wert der requestedMaxKeepAliveCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestedMaxKeepAliveCount() { + return requestedMaxKeepAliveCount; + } + + /** + * Legt den Wert der requestedMaxKeepAliveCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestedMaxKeepAliveCount(Long value) { + this.requestedMaxKeepAliveCount = value; + } + + /** + * Ruft den Wert der maxNotificationsPerPublish-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxNotificationsPerPublish() { + return maxNotificationsPerPublish; + } + + /** + * Legt den Wert der maxNotificationsPerPublish-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxNotificationsPerPublish(Long value) { + this.maxNotificationsPerPublish = value; + } + + /** + * Ruft den Wert der publishingEnabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isPublishingEnabled() { + return publishingEnabled; + } + + /** + * Legt den Wert der publishingEnabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setPublishingEnabled(Boolean value) { + this.publishingEnabled = value; + } + + /** + * Ruft den Wert der priority-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getPriority() { + return priority; + } + + /** + * Legt den Wert der priority-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setPriority(Short value) { + this.priority = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSubscriptionRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.requestedPublishingInterval = this.requestedPublishingInterval; + _other.requestedLifetimeCount = this.requestedLifetimeCount; + _other.requestedMaxKeepAliveCount = this.requestedMaxKeepAliveCount; + _other.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + _other.publishingEnabled = this.publishingEnabled; + _other.priority = this.priority; + } + + public<_B >CreateSubscriptionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CreateSubscriptionRequest.Builder<_B>(_parentBuilder, this, true); + } + + public CreateSubscriptionRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CreateSubscriptionRequest.Builder builder() { + return new CreateSubscriptionRequest.Builder(null, null, false); + } + + public static<_B >CreateSubscriptionRequest.Builder<_B> copyOf(final CreateSubscriptionRequest _other) { + final CreateSubscriptionRequest.Builder<_B> _newBuilder = new CreateSubscriptionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSubscriptionRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree requestedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedPublishingIntervalPropertyTree!= null):((requestedPublishingIntervalPropertyTree == null)||(!requestedPublishingIntervalPropertyTree.isLeaf())))) { + _other.requestedPublishingInterval = this.requestedPublishingInterval; + } + final PropertyTree requestedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedLifetimeCountPropertyTree!= null):((requestedLifetimeCountPropertyTree == null)||(!requestedLifetimeCountPropertyTree.isLeaf())))) { + _other.requestedLifetimeCount = this.requestedLifetimeCount; + } + final PropertyTree requestedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedMaxKeepAliveCountPropertyTree!= null):((requestedMaxKeepAliveCountPropertyTree == null)||(!requestedMaxKeepAliveCountPropertyTree.isLeaf())))) { + _other.requestedMaxKeepAliveCount = this.requestedMaxKeepAliveCount; + } + final PropertyTree maxNotificationsPerPublishPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNotificationsPerPublish")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNotificationsPerPublishPropertyTree!= null):((maxNotificationsPerPublishPropertyTree == null)||(!maxNotificationsPerPublishPropertyTree.isLeaf())))) { + _other.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + } + final PropertyTree publishingEnabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingEnabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingEnabledPropertyTree!= null):((publishingEnabledPropertyTree == null)||(!publishingEnabledPropertyTree.isLeaf())))) { + _other.publishingEnabled = this.publishingEnabled; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + _other.priority = this.priority; + } + } + + public<_B >CreateSubscriptionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CreateSubscriptionRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CreateSubscriptionRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CreateSubscriptionRequest.Builder<_B> copyOf(final CreateSubscriptionRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CreateSubscriptionRequest.Builder<_B> _newBuilder = new CreateSubscriptionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CreateSubscriptionRequest.Builder copyExcept(final CreateSubscriptionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CreateSubscriptionRequest.Builder copyOnly(final CreateSubscriptionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CreateSubscriptionRequest _storedValue; + private JAXBElement requestHeader; + private Double requestedPublishingInterval; + private Long requestedLifetimeCount; + private Long requestedMaxKeepAliveCount; + private Long maxNotificationsPerPublish; + private Boolean publishingEnabled; + private Short priority; + + public Builder(final _B _parentBuilder, final CreateSubscriptionRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.requestedPublishingInterval = _other.requestedPublishingInterval; + this.requestedLifetimeCount = _other.requestedLifetimeCount; + this.requestedMaxKeepAliveCount = _other.requestedMaxKeepAliveCount; + this.maxNotificationsPerPublish = _other.maxNotificationsPerPublish; + this.publishingEnabled = _other.publishingEnabled; + this.priority = _other.priority; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CreateSubscriptionRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree requestedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedPublishingIntervalPropertyTree!= null):((requestedPublishingIntervalPropertyTree == null)||(!requestedPublishingIntervalPropertyTree.isLeaf())))) { + this.requestedPublishingInterval = _other.requestedPublishingInterval; + } + final PropertyTree requestedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedLifetimeCountPropertyTree!= null):((requestedLifetimeCountPropertyTree == null)||(!requestedLifetimeCountPropertyTree.isLeaf())))) { + this.requestedLifetimeCount = _other.requestedLifetimeCount; + } + final PropertyTree requestedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedMaxKeepAliveCountPropertyTree!= null):((requestedMaxKeepAliveCountPropertyTree == null)||(!requestedMaxKeepAliveCountPropertyTree.isLeaf())))) { + this.requestedMaxKeepAliveCount = _other.requestedMaxKeepAliveCount; + } + final PropertyTree maxNotificationsPerPublishPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNotificationsPerPublish")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNotificationsPerPublishPropertyTree!= null):((maxNotificationsPerPublishPropertyTree == null)||(!maxNotificationsPerPublishPropertyTree.isLeaf())))) { + this.maxNotificationsPerPublish = _other.maxNotificationsPerPublish; + } + final PropertyTree publishingEnabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingEnabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingEnabledPropertyTree!= null):((publishingEnabledPropertyTree == null)||(!publishingEnabledPropertyTree.isLeaf())))) { + this.publishingEnabled = _other.publishingEnabled; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + this.priority = _other.priority; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CreateSubscriptionRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.requestedPublishingInterval = this.requestedPublishingInterval; + _product.requestedLifetimeCount = this.requestedLifetimeCount; + _product.requestedMaxKeepAliveCount = this.requestedMaxKeepAliveCount; + _product.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + _product.publishingEnabled = this.publishingEnabled; + _product.priority = this.priority; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public CreateSubscriptionRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedPublishingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedPublishingInterval + * Neuer Wert der Eigenschaft "requestedPublishingInterval". + */ + public CreateSubscriptionRequest.Builder<_B> withRequestedPublishingInterval(final Double requestedPublishingInterval) { + this.requestedPublishingInterval = requestedPublishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedLifetimeCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedLifetimeCount + * Neuer Wert der Eigenschaft "requestedLifetimeCount". + */ + public CreateSubscriptionRequest.Builder<_B> withRequestedLifetimeCount(final Long requestedLifetimeCount) { + this.requestedLifetimeCount = requestedLifetimeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedMaxKeepAliveCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedMaxKeepAliveCount + * Neuer Wert der Eigenschaft "requestedMaxKeepAliveCount". + */ + public CreateSubscriptionRequest.Builder<_B> withRequestedMaxKeepAliveCount(final Long requestedMaxKeepAliveCount) { + this.requestedMaxKeepAliveCount = requestedMaxKeepAliveCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxNotificationsPerPublish" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxNotificationsPerPublish + * Neuer Wert der Eigenschaft "maxNotificationsPerPublish". + */ + public CreateSubscriptionRequest.Builder<_B> withMaxNotificationsPerPublish(final Long maxNotificationsPerPublish) { + this.maxNotificationsPerPublish = maxNotificationsPerPublish; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingEnabled" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingEnabled + * Neuer Wert der Eigenschaft "publishingEnabled". + */ + public CreateSubscriptionRequest.Builder<_B> withPublishingEnabled(final Boolean publishingEnabled) { + this.publishingEnabled = publishingEnabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "priority" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param priority + * Neuer Wert der Eigenschaft "priority". + */ + public CreateSubscriptionRequest.Builder<_B> withPriority(final Short priority) { + this.priority = priority; + return this; + } + + @Override + public CreateSubscriptionRequest build() { + if (_storedValue == null) { + return this.init(new CreateSubscriptionRequest()); + } else { + return ((CreateSubscriptionRequest) _storedValue); + } + } + + public CreateSubscriptionRequest.Builder<_B> copyOf(final CreateSubscriptionRequest _other) { + _other.copyTo(this); + return this; + } + + public CreateSubscriptionRequest.Builder<_B> copyOf(final CreateSubscriptionRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CreateSubscriptionRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static CreateSubscriptionRequest.Select _root() { + return new CreateSubscriptionRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> requestedPublishingInterval = null; + private com.kscs.util.jaxb.Selector> requestedLifetimeCount = null; + private com.kscs.util.jaxb.Selector> requestedMaxKeepAliveCount = null; + private com.kscs.util.jaxb.Selector> maxNotificationsPerPublish = null; + private com.kscs.util.jaxb.Selector> publishingEnabled = null; + private com.kscs.util.jaxb.Selector> priority = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.requestedPublishingInterval!= null) { + products.put("requestedPublishingInterval", this.requestedPublishingInterval.init()); + } + if (this.requestedLifetimeCount!= null) { + products.put("requestedLifetimeCount", this.requestedLifetimeCount.init()); + } + if (this.requestedMaxKeepAliveCount!= null) { + products.put("requestedMaxKeepAliveCount", this.requestedMaxKeepAliveCount.init()); + } + if (this.maxNotificationsPerPublish!= null) { + products.put("maxNotificationsPerPublish", this.maxNotificationsPerPublish.init()); + } + if (this.publishingEnabled!= null) { + products.put("publishingEnabled", this.publishingEnabled.init()); + } + if (this.priority!= null) { + products.put("priority", this.priority.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> requestedPublishingInterval() { + return ((this.requestedPublishingInterval == null)?this.requestedPublishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedPublishingInterval"):this.requestedPublishingInterval); + } + + public com.kscs.util.jaxb.Selector> requestedLifetimeCount() { + return ((this.requestedLifetimeCount == null)?this.requestedLifetimeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedLifetimeCount"):this.requestedLifetimeCount); + } + + public com.kscs.util.jaxb.Selector> requestedMaxKeepAliveCount() { + return ((this.requestedMaxKeepAliveCount == null)?this.requestedMaxKeepAliveCount = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedMaxKeepAliveCount"):this.requestedMaxKeepAliveCount); + } + + public com.kscs.util.jaxb.Selector> maxNotificationsPerPublish() { + return ((this.maxNotificationsPerPublish == null)?this.maxNotificationsPerPublish = new com.kscs.util.jaxb.Selector>(this._root, this, "maxNotificationsPerPublish"):this.maxNotificationsPerPublish); + } + + public com.kscs.util.jaxb.Selector> publishingEnabled() { + return ((this.publishingEnabled == null)?this.publishingEnabled = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingEnabled"):this.publishingEnabled); + } + + public com.kscs.util.jaxb.Selector> priority() { + return ((this.priority == null)?this.priority = new com.kscs.util.jaxb.Selector>(this._root, this, "priority"):this.priority); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionResponse.java new file mode 100644 index 000000000..c3f1530aa --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CreateSubscriptionResponse.java @@ -0,0 +1,505 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CreateSubscriptionResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreateSubscriptionResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RevisedPublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RevisedLifetimeCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RevisedMaxKeepAliveCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreateSubscriptionResponse", propOrder = { + "responseHeader", + "subscriptionId", + "revisedPublishingInterval", + "revisedLifetimeCount", + "revisedMaxKeepAliveCount" +}) +public class CreateSubscriptionResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "RevisedPublishingInterval") + protected Double revisedPublishingInterval; + @XmlElement(name = "RevisedLifetimeCount") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedLifetimeCount; + @XmlElement(name = "RevisedMaxKeepAliveCount") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedMaxKeepAliveCount; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der revisedPublishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRevisedPublishingInterval() { + return revisedPublishingInterval; + } + + /** + * Legt den Wert der revisedPublishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRevisedPublishingInterval(Double value) { + this.revisedPublishingInterval = value; + } + + /** + * Ruft den Wert der revisedLifetimeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedLifetimeCount() { + return revisedLifetimeCount; + } + + /** + * Legt den Wert der revisedLifetimeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedLifetimeCount(Long value) { + this.revisedLifetimeCount = value; + } + + /** + * Ruft den Wert der revisedMaxKeepAliveCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedMaxKeepAliveCount() { + return revisedMaxKeepAliveCount; + } + + /** + * Legt den Wert der revisedMaxKeepAliveCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedMaxKeepAliveCount(Long value) { + this.revisedMaxKeepAliveCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSubscriptionResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.subscriptionId = this.subscriptionId; + _other.revisedPublishingInterval = this.revisedPublishingInterval; + _other.revisedLifetimeCount = this.revisedLifetimeCount; + _other.revisedMaxKeepAliveCount = this.revisedMaxKeepAliveCount; + } + + public<_B >CreateSubscriptionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CreateSubscriptionResponse.Builder<_B>(_parentBuilder, this, true); + } + + public CreateSubscriptionResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CreateSubscriptionResponse.Builder builder() { + return new CreateSubscriptionResponse.Builder(null, null, false); + } + + public static<_B >CreateSubscriptionResponse.Builder<_B> copyOf(final CreateSubscriptionResponse _other) { + final CreateSubscriptionResponse.Builder<_B> _newBuilder = new CreateSubscriptionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CreateSubscriptionResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree revisedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedPublishingIntervalPropertyTree!= null):((revisedPublishingIntervalPropertyTree == null)||(!revisedPublishingIntervalPropertyTree.isLeaf())))) { + _other.revisedPublishingInterval = this.revisedPublishingInterval; + } + final PropertyTree revisedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedLifetimeCountPropertyTree!= null):((revisedLifetimeCountPropertyTree == null)||(!revisedLifetimeCountPropertyTree.isLeaf())))) { + _other.revisedLifetimeCount = this.revisedLifetimeCount; + } + final PropertyTree revisedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedMaxKeepAliveCountPropertyTree!= null):((revisedMaxKeepAliveCountPropertyTree == null)||(!revisedMaxKeepAliveCountPropertyTree.isLeaf())))) { + _other.revisedMaxKeepAliveCount = this.revisedMaxKeepAliveCount; + } + } + + public<_B >CreateSubscriptionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CreateSubscriptionResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CreateSubscriptionResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CreateSubscriptionResponse.Builder<_B> copyOf(final CreateSubscriptionResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CreateSubscriptionResponse.Builder<_B> _newBuilder = new CreateSubscriptionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CreateSubscriptionResponse.Builder copyExcept(final CreateSubscriptionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CreateSubscriptionResponse.Builder copyOnly(final CreateSubscriptionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CreateSubscriptionResponse _storedValue; + private JAXBElement responseHeader; + private Long subscriptionId; + private Double revisedPublishingInterval; + private Long revisedLifetimeCount; + private Long revisedMaxKeepAliveCount; + + public Builder(final _B _parentBuilder, final CreateSubscriptionResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.subscriptionId = _other.subscriptionId; + this.revisedPublishingInterval = _other.revisedPublishingInterval; + this.revisedLifetimeCount = _other.revisedLifetimeCount; + this.revisedMaxKeepAliveCount = _other.revisedMaxKeepAliveCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CreateSubscriptionResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree revisedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedPublishingIntervalPropertyTree!= null):((revisedPublishingIntervalPropertyTree == null)||(!revisedPublishingIntervalPropertyTree.isLeaf())))) { + this.revisedPublishingInterval = _other.revisedPublishingInterval; + } + final PropertyTree revisedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedLifetimeCountPropertyTree!= null):((revisedLifetimeCountPropertyTree == null)||(!revisedLifetimeCountPropertyTree.isLeaf())))) { + this.revisedLifetimeCount = _other.revisedLifetimeCount; + } + final PropertyTree revisedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedMaxKeepAliveCountPropertyTree!= null):((revisedMaxKeepAliveCountPropertyTree == null)||(!revisedMaxKeepAliveCountPropertyTree.isLeaf())))) { + this.revisedMaxKeepAliveCount = _other.revisedMaxKeepAliveCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CreateSubscriptionResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.subscriptionId = this.subscriptionId; + _product.revisedPublishingInterval = this.revisedPublishingInterval; + _product.revisedLifetimeCount = this.revisedLifetimeCount; + _product.revisedMaxKeepAliveCount = this.revisedMaxKeepAliveCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public CreateSubscriptionResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public CreateSubscriptionResponse.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedPublishingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedPublishingInterval + * Neuer Wert der Eigenschaft "revisedPublishingInterval". + */ + public CreateSubscriptionResponse.Builder<_B> withRevisedPublishingInterval(final Double revisedPublishingInterval) { + this.revisedPublishingInterval = revisedPublishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedLifetimeCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param revisedLifetimeCount + * Neuer Wert der Eigenschaft "revisedLifetimeCount". + */ + public CreateSubscriptionResponse.Builder<_B> withRevisedLifetimeCount(final Long revisedLifetimeCount) { + this.revisedLifetimeCount = revisedLifetimeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedMaxKeepAliveCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedMaxKeepAliveCount + * Neuer Wert der Eigenschaft "revisedMaxKeepAliveCount". + */ + public CreateSubscriptionResponse.Builder<_B> withRevisedMaxKeepAliveCount(final Long revisedMaxKeepAliveCount) { + this.revisedMaxKeepAliveCount = revisedMaxKeepAliveCount; + return this; + } + + @Override + public CreateSubscriptionResponse build() { + if (_storedValue == null) { + return this.init(new CreateSubscriptionResponse()); + } else { + return ((CreateSubscriptionResponse) _storedValue); + } + } + + public CreateSubscriptionResponse.Builder<_B> copyOf(final CreateSubscriptionResponse _other) { + _other.copyTo(this); + return this; + } + + public CreateSubscriptionResponse.Builder<_B> copyOf(final CreateSubscriptionResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CreateSubscriptionResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static CreateSubscriptionResponse.Select _root() { + return new CreateSubscriptionResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> revisedPublishingInterval = null; + private com.kscs.util.jaxb.Selector> revisedLifetimeCount = null; + private com.kscs.util.jaxb.Selector> revisedMaxKeepAliveCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.revisedPublishingInterval!= null) { + products.put("revisedPublishingInterval", this.revisedPublishingInterval.init()); + } + if (this.revisedLifetimeCount!= null) { + products.put("revisedLifetimeCount", this.revisedLifetimeCount.init()); + } + if (this.revisedMaxKeepAliveCount!= null) { + products.put("revisedMaxKeepAliveCount", this.revisedMaxKeepAliveCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> revisedPublishingInterval() { + return ((this.revisedPublishingInterval == null)?this.revisedPublishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedPublishingInterval"):this.revisedPublishingInterval); + } + + public com.kscs.util.jaxb.Selector> revisedLifetimeCount() { + return ((this.revisedLifetimeCount == null)?this.revisedLifetimeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedLifetimeCount"):this.revisedLifetimeCount); + } + + public com.kscs.util.jaxb.Selector> revisedMaxKeepAliveCount() { + return ((this.revisedMaxKeepAliveCount == null)?this.revisedMaxKeepAliveCount = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedMaxKeepAliveCount"):this.revisedMaxKeepAliveCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CurrencyUnitType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CurrencyUnitType.java new file mode 100644 index 000000000..45ba9481f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/CurrencyUnitType.java @@ -0,0 +1,441 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für CurrencyUnitType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CurrencyUnitType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NumericCode" type="{http://www.w3.org/2001/XMLSchema}short" minOccurs="0"/>
+ *         <element name="Exponent" type="{http://www.w3.org/2001/XMLSchema}byte" minOccurs="0"/>
+ *         <element name="AlphabeticCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Currency" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CurrencyUnitType", propOrder = { + "numericCode", + "exponent", + "alphabeticCode", + "currency" +}) +public class CurrencyUnitType { + + @XmlElement(name = "NumericCode") + protected Short numericCode; + @XmlElement(name = "Exponent") + protected Byte exponent; + @XmlElementRef(name = "AlphabeticCode", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement alphabeticCode; + @XmlElementRef(name = "Currency", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement currency; + + /** + * Ruft den Wert der numericCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getNumericCode() { + return numericCode; + } + + /** + * Legt den Wert der numericCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setNumericCode(Short value) { + this.numericCode = value; + } + + /** + * Ruft den Wert der exponent-Eigenschaft ab. + * + * @return + * possible object is + * {@link Byte } + * + */ + public Byte getExponent() { + return exponent; + } + + /** + * Legt den Wert der exponent-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Byte } + * + */ + public void setExponent(Byte value) { + this.exponent = value; + } + + /** + * Ruft den Wert der alphabeticCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAlphabeticCode() { + return alphabeticCode; + } + + /** + * Legt den Wert der alphabeticCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAlphabeticCode(JAXBElement value) { + this.alphabeticCode = value; + } + + /** + * Ruft den Wert der currency-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getCurrency() { + return currency; + } + + /** + * Legt den Wert der currency-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setCurrency(JAXBElement value) { + this.currency = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CurrencyUnitType.Builder<_B> _other) { + _other.numericCode = this.numericCode; + _other.exponent = this.exponent; + _other.alphabeticCode = this.alphabeticCode; + _other.currency = this.currency; + } + + public<_B >CurrencyUnitType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new CurrencyUnitType.Builder<_B>(_parentBuilder, this, true); + } + + public CurrencyUnitType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static CurrencyUnitType.Builder builder() { + return new CurrencyUnitType.Builder(null, null, false); + } + + public static<_B >CurrencyUnitType.Builder<_B> copyOf(final CurrencyUnitType _other) { + final CurrencyUnitType.Builder<_B> _newBuilder = new CurrencyUnitType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final CurrencyUnitType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree numericCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numericCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numericCodePropertyTree!= null):((numericCodePropertyTree == null)||(!numericCodePropertyTree.isLeaf())))) { + _other.numericCode = this.numericCode; + } + final PropertyTree exponentPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("exponent")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(exponentPropertyTree!= null):((exponentPropertyTree == null)||(!exponentPropertyTree.isLeaf())))) { + _other.exponent = this.exponent; + } + final PropertyTree alphabeticCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("alphabeticCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(alphabeticCodePropertyTree!= null):((alphabeticCodePropertyTree == null)||(!alphabeticCodePropertyTree.isLeaf())))) { + _other.alphabeticCode = this.alphabeticCode; + } + final PropertyTree currencyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currency")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currencyPropertyTree!= null):((currencyPropertyTree == null)||(!currencyPropertyTree.isLeaf())))) { + _other.currency = this.currency; + } + } + + public<_B >CurrencyUnitType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new CurrencyUnitType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public CurrencyUnitType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >CurrencyUnitType.Builder<_B> copyOf(final CurrencyUnitType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final CurrencyUnitType.Builder<_B> _newBuilder = new CurrencyUnitType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static CurrencyUnitType.Builder copyExcept(final CurrencyUnitType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static CurrencyUnitType.Builder copyOnly(final CurrencyUnitType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final CurrencyUnitType _storedValue; + private Short numericCode; + private Byte exponent; + private JAXBElement alphabeticCode; + private JAXBElement currency; + + public Builder(final _B _parentBuilder, final CurrencyUnitType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.numericCode = _other.numericCode; + this.exponent = _other.exponent; + this.alphabeticCode = _other.alphabeticCode; + this.currency = _other.currency; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final CurrencyUnitType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree numericCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numericCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numericCodePropertyTree!= null):((numericCodePropertyTree == null)||(!numericCodePropertyTree.isLeaf())))) { + this.numericCode = _other.numericCode; + } + final PropertyTree exponentPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("exponent")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(exponentPropertyTree!= null):((exponentPropertyTree == null)||(!exponentPropertyTree.isLeaf())))) { + this.exponent = _other.exponent; + } + final PropertyTree alphabeticCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("alphabeticCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(alphabeticCodePropertyTree!= null):((alphabeticCodePropertyTree == null)||(!alphabeticCodePropertyTree.isLeaf())))) { + this.alphabeticCode = _other.alphabeticCode; + } + final PropertyTree currencyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currency")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currencyPropertyTree!= null):((currencyPropertyTree == null)||(!currencyPropertyTree.isLeaf())))) { + this.currency = _other.currency; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends CurrencyUnitType >_P init(final _P _product) { + _product.numericCode = this.numericCode; + _product.exponent = this.exponent; + _product.alphabeticCode = this.alphabeticCode; + _product.currency = this.currency; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "numericCode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param numericCode + * Neuer Wert der Eigenschaft "numericCode". + */ + public CurrencyUnitType.Builder<_B> withNumericCode(final Short numericCode) { + this.numericCode = numericCode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "exponent" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param exponent + * Neuer Wert der Eigenschaft "exponent". + */ + public CurrencyUnitType.Builder<_B> withExponent(final Byte exponent) { + this.exponent = exponent; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "alphabeticCode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param alphabeticCode + * Neuer Wert der Eigenschaft "alphabeticCode". + */ + public CurrencyUnitType.Builder<_B> withAlphabeticCode(final JAXBElement alphabeticCode) { + this.alphabeticCode = alphabeticCode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currency" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param currency + * Neuer Wert der Eigenschaft "currency". + */ + public CurrencyUnitType.Builder<_B> withCurrency(final JAXBElement currency) { + this.currency = currency; + return this; + } + + @Override + public CurrencyUnitType build() { + if (_storedValue == null) { + return this.init(new CurrencyUnitType()); + } else { + return ((CurrencyUnitType) _storedValue); + } + } + + public CurrencyUnitType.Builder<_B> copyOf(final CurrencyUnitType _other) { + _other.copyTo(this); + return this; + } + + public CurrencyUnitType.Builder<_B> copyOf(final CurrencyUnitType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends CurrencyUnitType.Selector + { + + + Select() { + super(null, null, null); + } + + public static CurrencyUnitType.Select _root() { + return new CurrencyUnitType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> numericCode = null; + private com.kscs.util.jaxb.Selector> exponent = null; + private com.kscs.util.jaxb.Selector> alphabeticCode = null; + private com.kscs.util.jaxb.Selector> currency = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.numericCode!= null) { + products.put("numericCode", this.numericCode.init()); + } + if (this.exponent!= null) { + products.put("exponent", this.exponent.init()); + } + if (this.alphabeticCode!= null) { + products.put("alphabeticCode", this.alphabeticCode.init()); + } + if (this.currency!= null) { + products.put("currency", this.currency.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> numericCode() { + return ((this.numericCode == null)?this.numericCode = new com.kscs.util.jaxb.Selector>(this._root, this, "numericCode"):this.numericCode); + } + + public com.kscs.util.jaxb.Selector> exponent() { + return ((this.exponent == null)?this.exponent = new com.kscs.util.jaxb.Selector>(this._root, this, "exponent"):this.exponent); + } + + public com.kscs.util.jaxb.Selector> alphabeticCode() { + return ((this.alphabeticCode == null)?this.alphabeticCode = new com.kscs.util.jaxb.Selector>(this._root, this, "alphabeticCode"):this.alphabeticCode); + } + + public com.kscs.util.jaxb.Selector> currency() { + return ((this.currency == null)?this.currency = new com.kscs.util.jaxb.Selector>(this._root, this, "currency"):this.currency); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeFilter.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeFilter.java new file mode 100644 index 000000000..da90a649c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeFilter.java @@ -0,0 +1,392 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataChangeFilter complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataChangeFilter">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringFilter">
+ *       <sequence>
+ *         <element name="Trigger" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataChangeTrigger" minOccurs="0"/>
+ *         <element name="DeadbandType" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DeadbandValue" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataChangeFilter", propOrder = { + "trigger", + "deadbandType", + "deadbandValue" +}) +public class DataChangeFilter + extends MonitoringFilter +{ + + @XmlElement(name = "Trigger") + @XmlSchemaType(name = "string") + protected DataChangeTrigger trigger; + @XmlElement(name = "DeadbandType") + @XmlSchemaType(name = "unsignedInt") + protected Long deadbandType; + @XmlElement(name = "DeadbandValue") + protected Double deadbandValue; + + /** + * Ruft den Wert der trigger-Eigenschaft ab. + * + * @return + * possible object is + * {@link DataChangeTrigger } + * + */ + public DataChangeTrigger getTrigger() { + return trigger; + } + + /** + * Legt den Wert der trigger-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DataChangeTrigger } + * + */ + public void setTrigger(DataChangeTrigger value) { + this.trigger = value; + } + + /** + * Ruft den Wert der deadbandType-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDeadbandType() { + return deadbandType; + } + + /** + * Legt den Wert der deadbandType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDeadbandType(Long value) { + this.deadbandType = value; + } + + /** + * Ruft den Wert der deadbandValue-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getDeadbandValue() { + return deadbandValue; + } + + /** + * Legt den Wert der deadbandValue-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setDeadbandValue(Double value) { + this.deadbandValue = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataChangeFilter.Builder<_B> _other) { + super.copyTo(_other); + _other.trigger = this.trigger; + _other.deadbandType = this.deadbandType; + _other.deadbandValue = this.deadbandValue; + } + + @Override + public<_B >DataChangeFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataChangeFilter.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DataChangeFilter.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataChangeFilter.Builder builder() { + return new DataChangeFilter.Builder(null, null, false); + } + + public static<_B >DataChangeFilter.Builder<_B> copyOf(final MonitoringFilter _other) { + final DataChangeFilter.Builder<_B> _newBuilder = new DataChangeFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DataChangeFilter.Builder<_B> copyOf(final DataChangeFilter _other) { + final DataChangeFilter.Builder<_B> _newBuilder = new DataChangeFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataChangeFilter.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree triggerPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trigger")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(triggerPropertyTree!= null):((triggerPropertyTree == null)||(!triggerPropertyTree.isLeaf())))) { + _other.trigger = this.trigger; + } + final PropertyTree deadbandTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandTypePropertyTree!= null):((deadbandTypePropertyTree == null)||(!deadbandTypePropertyTree.isLeaf())))) { + _other.deadbandType = this.deadbandType; + } + final PropertyTree deadbandValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandValuePropertyTree!= null):((deadbandValuePropertyTree == null)||(!deadbandValuePropertyTree.isLeaf())))) { + _other.deadbandValue = this.deadbandValue; + } + } + + @Override + public<_B >DataChangeFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataChangeFilter.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DataChangeFilter.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataChangeFilter.Builder<_B> copyOf(final MonitoringFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataChangeFilter.Builder<_B> _newBuilder = new DataChangeFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DataChangeFilter.Builder<_B> copyOf(final DataChangeFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataChangeFilter.Builder<_B> _newBuilder = new DataChangeFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataChangeFilter.Builder copyExcept(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataChangeFilter.Builder copyExcept(final DataChangeFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataChangeFilter.Builder copyOnly(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DataChangeFilter.Builder copyOnly(final DataChangeFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends MonitoringFilter.Builder<_B> + implements Buildable + { + + private DataChangeTrigger trigger; + private Long deadbandType; + private Double deadbandValue; + + public Builder(final _B _parentBuilder, final DataChangeFilter _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.trigger = _other.trigger; + this.deadbandType = _other.deadbandType; + this.deadbandValue = _other.deadbandValue; + } + } + + public Builder(final _B _parentBuilder, final DataChangeFilter _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree triggerPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trigger")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(triggerPropertyTree!= null):((triggerPropertyTree == null)||(!triggerPropertyTree.isLeaf())))) { + this.trigger = _other.trigger; + } + final PropertyTree deadbandTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandTypePropertyTree!= null):((deadbandTypePropertyTree == null)||(!deadbandTypePropertyTree.isLeaf())))) { + this.deadbandType = _other.deadbandType; + } + final PropertyTree deadbandValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandValuePropertyTree!= null):((deadbandValuePropertyTree == null)||(!deadbandValuePropertyTree.isLeaf())))) { + this.deadbandValue = _other.deadbandValue; + } + } + } + + protected<_P extends DataChangeFilter >_P init(final _P _product) { + _product.trigger = this.trigger; + _product.deadbandType = this.deadbandType; + _product.deadbandValue = this.deadbandValue; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "trigger" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param trigger + * Neuer Wert der Eigenschaft "trigger". + */ + public DataChangeFilter.Builder<_B> withTrigger(final DataChangeTrigger trigger) { + this.trigger = trigger; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deadbandType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param deadbandType + * Neuer Wert der Eigenschaft "deadbandType". + */ + public DataChangeFilter.Builder<_B> withDeadbandType(final Long deadbandType) { + this.deadbandType = deadbandType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deadbandValue" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param deadbandValue + * Neuer Wert der Eigenschaft "deadbandValue". + */ + public DataChangeFilter.Builder<_B> withDeadbandValue(final Double deadbandValue) { + this.deadbandValue = deadbandValue; + return this; + } + + @Override + public DataChangeFilter build() { + if (_storedValue == null) { + return this.init(new DataChangeFilter()); + } else { + return ((DataChangeFilter) _storedValue); + } + } + + public DataChangeFilter.Builder<_B> copyOf(final DataChangeFilter _other) { + _other.copyTo(this); + return this; + } + + public DataChangeFilter.Builder<_B> copyOf(final DataChangeFilter.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataChangeFilter.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataChangeFilter.Select _root() { + return new DataChangeFilter.Select(); + } + + } + + public static class Selector , TParent > + extends MonitoringFilter.Selector + { + + private com.kscs.util.jaxb.Selector> trigger = null; + private com.kscs.util.jaxb.Selector> deadbandType = null; + private com.kscs.util.jaxb.Selector> deadbandValue = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.trigger!= null) { + products.put("trigger", this.trigger.init()); + } + if (this.deadbandType!= null) { + products.put("deadbandType", this.deadbandType.init()); + } + if (this.deadbandValue!= null) { + products.put("deadbandValue", this.deadbandValue.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> trigger() { + return ((this.trigger == null)?this.trigger = new com.kscs.util.jaxb.Selector>(this._root, this, "trigger"):this.trigger); + } + + public com.kscs.util.jaxb.Selector> deadbandType() { + return ((this.deadbandType == null)?this.deadbandType = new com.kscs.util.jaxb.Selector>(this._root, this, "deadbandType"):this.deadbandType); + } + + public com.kscs.util.jaxb.Selector> deadbandValue() { + return ((this.deadbandValue == null)?this.deadbandValue = new com.kscs.util.jaxb.Selector>(this._root, this, "deadbandValue"):this.deadbandValue); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeNotification.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeNotification.java new file mode 100644 index 000000000..333a65386 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeNotification.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataChangeNotification complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataChangeNotification">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NotificationData">
+ *       <sequence>
+ *         <element name="MonitoredItems" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfMonitoredItemNotification" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataChangeNotification", propOrder = { + "monitoredItems", + "diagnosticInfos" +}) +public class DataChangeNotification + extends NotificationData +{ + + @XmlElementRef(name = "MonitoredItems", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement monitoredItems; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der monitoredItems-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemNotification }{@code >} + * + */ + public JAXBElement getMonitoredItems() { + return monitoredItems; + } + + /** + * Legt den Wert der monitoredItems-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemNotification }{@code >} + * + */ + public void setMonitoredItems(JAXBElement value) { + this.monitoredItems = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataChangeNotification.Builder<_B> _other) { + super.copyTo(_other); + _other.monitoredItems = this.monitoredItems; + _other.diagnosticInfos = this.diagnosticInfos; + } + + @Override + public<_B >DataChangeNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataChangeNotification.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DataChangeNotification.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataChangeNotification.Builder builder() { + return new DataChangeNotification.Builder(null, null, false); + } + + public static<_B >DataChangeNotification.Builder<_B> copyOf(final NotificationData _other) { + final DataChangeNotification.Builder<_B> _newBuilder = new DataChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DataChangeNotification.Builder<_B> copyOf(final DataChangeNotification _other) { + final DataChangeNotification.Builder<_B> _newBuilder = new DataChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataChangeNotification.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree monitoredItemsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItems")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemsPropertyTree!= null):((monitoredItemsPropertyTree == null)||(!monitoredItemsPropertyTree.isLeaf())))) { + _other.monitoredItems = this.monitoredItems; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + @Override + public<_B >DataChangeNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataChangeNotification.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DataChangeNotification.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataChangeNotification.Builder<_B> copyOf(final NotificationData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataChangeNotification.Builder<_B> _newBuilder = new DataChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DataChangeNotification.Builder<_B> copyOf(final DataChangeNotification _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataChangeNotification.Builder<_B> _newBuilder = new DataChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataChangeNotification.Builder copyExcept(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataChangeNotification.Builder copyExcept(final DataChangeNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataChangeNotification.Builder copyOnly(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DataChangeNotification.Builder copyOnly(final DataChangeNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NotificationData.Builder<_B> + implements Buildable + { + + private JAXBElement monitoredItems; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final DataChangeNotification _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.monitoredItems = _other.monitoredItems; + this.diagnosticInfos = _other.diagnosticInfos; + } + } + + public Builder(final _B _parentBuilder, final DataChangeNotification _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree monitoredItemsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItems")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemsPropertyTree!= null):((monitoredItemsPropertyTree == null)||(!monitoredItemsPropertyTree.isLeaf())))) { + this.monitoredItems = _other.monitoredItems; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } + } + + protected<_P extends DataChangeNotification >_P init(final _P _product) { + _product.monitoredItems = this.monitoredItems; + _product.diagnosticInfos = this.diagnosticInfos; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItems" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param monitoredItems + * Neuer Wert der Eigenschaft "monitoredItems". + */ + public DataChangeNotification.Builder<_B> withMonitoredItems(final JAXBElement monitoredItems) { + this.monitoredItems = monitoredItems; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public DataChangeNotification.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public DataChangeNotification build() { + if (_storedValue == null) { + return this.init(new DataChangeNotification()); + } else { + return ((DataChangeNotification) _storedValue); + } + } + + public DataChangeNotification.Builder<_B> copyOf(final DataChangeNotification _other) { + _other.copyTo(this); + return this; + } + + public DataChangeNotification.Builder<_B> copyOf(final DataChangeNotification.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataChangeNotification.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataChangeNotification.Select _root() { + return new DataChangeNotification.Select(); + } + + } + + public static class Selector , TParent > + extends NotificationData.Selector + { + + private com.kscs.util.jaxb.Selector> monitoredItems = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItems!= null) { + products.put("monitoredItems", this.monitoredItems.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> monitoredItems() { + return ((this.monitoredItems == null)?this.monitoredItems = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItems"):this.monitoredItems); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeTrigger.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeTrigger.java new file mode 100644 index 000000000..4eafea878 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataChangeTrigger.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für DataChangeTrigger. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="DataChangeTrigger">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Status_0"/>
+ *     <enumeration value="StatusValue_1"/>
+ *     <enumeration value="StatusValueTimestamp_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "DataChangeTrigger") +@XmlEnum +public enum DataChangeTrigger { + + @XmlEnumValue("Status_0") + STATUS_0("Status_0"), + @XmlEnumValue("StatusValue_1") + STATUS_VALUE_1("StatusValue_1"), + @XmlEnumValue("StatusValueTimestamp_2") + STATUS_VALUE_TIMESTAMP_2("StatusValueTimestamp_2"); + private final String value; + + DataChangeTrigger(String v) { + value = v; + } + + public String value() { + return value; + } + + public static DataChangeTrigger fromValue(String v) { + for (DataChangeTrigger c: DataChangeTrigger.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetMetaDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetMetaDataType.java new file mode 100644 index 000000000..473e61e8b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetMetaDataType.java @@ -0,0 +1,582 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetMetaDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetMetaDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeSchemaHeader">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="Fields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfFieldMetaData" minOccurs="0"/>
+ *         <element name="DataSetClassId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Guid" minOccurs="0"/>
+ *         <element name="ConfigurationVersion" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ConfigurationVersionDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetMetaDataType", propOrder = { + "name", + "description", + "fields", + "dataSetClassId", + "configurationVersion" +}) +public class DataSetMetaDataType + extends DataTypeSchemaHeader +{ + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + @XmlElementRef(name = "Fields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement fields; + @XmlElement(name = "DataSetClassId") + protected Guid dataSetClassId; + @XmlElementRef(name = "ConfigurationVersion", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement configurationVersion; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Ruft den Wert der fields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfFieldMetaData }{@code >} + * + */ + public JAXBElement getFields() { + return fields; + } + + /** + * Legt den Wert der fields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfFieldMetaData }{@code >} + * + */ + public void setFields(JAXBElement value) { + this.fields = value; + } + + /** + * Ruft den Wert der dataSetClassId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Guid } + * + */ + public Guid getDataSetClassId() { + return dataSetClassId; + } + + /** + * Legt den Wert der dataSetClassId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Guid } + * + */ + public void setDataSetClassId(Guid value) { + this.dataSetClassId = value; + } + + /** + * Ruft den Wert der configurationVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ConfigurationVersionDataType }{@code >} + * + */ + public JAXBElement getConfigurationVersion() { + return configurationVersion; + } + + /** + * Legt den Wert der configurationVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ConfigurationVersionDataType }{@code >} + * + */ + public void setConfigurationVersion(JAXBElement value) { + this.configurationVersion = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetMetaDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.name = this.name; + _other.description = this.description; + _other.fields = this.fields; + _other.dataSetClassId = ((this.dataSetClassId == null)?null:this.dataSetClassId.newCopyBuilder(_other)); + _other.configurationVersion = this.configurationVersion; + } + + @Override + public<_B >DataSetMetaDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetMetaDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DataSetMetaDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetMetaDataType.Builder builder() { + return new DataSetMetaDataType.Builder(null, null, false); + } + + public static<_B >DataSetMetaDataType.Builder<_B> copyOf(final DataTypeSchemaHeader _other) { + final DataSetMetaDataType.Builder<_B> _newBuilder = new DataSetMetaDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DataSetMetaDataType.Builder<_B> copyOf(final DataSetMetaDataType _other) { + final DataSetMetaDataType.Builder<_B> _newBuilder = new DataSetMetaDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetMetaDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + final PropertyTree fieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldsPropertyTree!= null):((fieldsPropertyTree == null)||(!fieldsPropertyTree.isLeaf())))) { + _other.fields = this.fields; + } + final PropertyTree dataSetClassIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetClassId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetClassIdPropertyTree!= null):((dataSetClassIdPropertyTree == null)||(!dataSetClassIdPropertyTree.isLeaf())))) { + _other.dataSetClassId = ((this.dataSetClassId == null)?null:this.dataSetClassId.newCopyBuilder(_other, dataSetClassIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree configurationVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configurationVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configurationVersionPropertyTree!= null):((configurationVersionPropertyTree == null)||(!configurationVersionPropertyTree.isLeaf())))) { + _other.configurationVersion = this.configurationVersion; + } + } + + @Override + public<_B >DataSetMetaDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetMetaDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DataSetMetaDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetMetaDataType.Builder<_B> copyOf(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetMetaDataType.Builder<_B> _newBuilder = new DataSetMetaDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DataSetMetaDataType.Builder<_B> copyOf(final DataSetMetaDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetMetaDataType.Builder<_B> _newBuilder = new DataSetMetaDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetMetaDataType.Builder copyExcept(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetMetaDataType.Builder copyExcept(final DataSetMetaDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetMetaDataType.Builder copyOnly(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DataSetMetaDataType.Builder copyOnly(final DataSetMetaDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeSchemaHeader.Builder<_B> + implements Buildable + { + + private JAXBElement name; + private JAXBElement description; + private JAXBElement fields; + private Guid.Builder> dataSetClassId; + private JAXBElement configurationVersion; + + public Builder(final _B _parentBuilder, final DataSetMetaDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.name = _other.name; + this.description = _other.description; + this.fields = _other.fields; + this.dataSetClassId = ((_other.dataSetClassId == null)?null:_other.dataSetClassId.newCopyBuilder(this)); + this.configurationVersion = _other.configurationVersion; + } + } + + public Builder(final _B _parentBuilder, final DataSetMetaDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + final PropertyTree fieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldsPropertyTree!= null):((fieldsPropertyTree == null)||(!fieldsPropertyTree.isLeaf())))) { + this.fields = _other.fields; + } + final PropertyTree dataSetClassIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetClassId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetClassIdPropertyTree!= null):((dataSetClassIdPropertyTree == null)||(!dataSetClassIdPropertyTree.isLeaf())))) { + this.dataSetClassId = ((_other.dataSetClassId == null)?null:_other.dataSetClassId.newCopyBuilder(this, dataSetClassIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree configurationVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configurationVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configurationVersionPropertyTree!= null):((configurationVersionPropertyTree == null)||(!configurationVersionPropertyTree.isLeaf())))) { + this.configurationVersion = _other.configurationVersion; + } + } + } + + protected<_P extends DataSetMetaDataType >_P init(final _P _product) { + _product.name = this.name; + _product.description = this.description; + _product.fields = this.fields; + _product.dataSetClassId = ((this.dataSetClassId == null)?null:this.dataSetClassId.build()); + _product.configurationVersion = this.configurationVersion; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public DataSetMetaDataType.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public DataSetMetaDataType.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fields" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param fields + * Neuer Wert der Eigenschaft "fields". + */ + public DataSetMetaDataType.Builder<_B> withFields(final JAXBElement fields) { + this.fields = fields; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetClassId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetClassId + * Neuer Wert der Eigenschaft "dataSetClassId". + */ + public DataSetMetaDataType.Builder<_B> withDataSetClassId(final Guid dataSetClassId) { + this.dataSetClassId = ((dataSetClassId == null)?null:new Guid.Builder>(this, dataSetClassId, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "dataSetClassId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "dataSetClassId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Guid.Builder> withDataSetClassId() { + if (this.dataSetClassId!= null) { + return this.dataSetClassId; + } + return this.dataSetClassId = new Guid.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "configurationVersion" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param configurationVersion + * Neuer Wert der Eigenschaft "configurationVersion". + */ + public DataSetMetaDataType.Builder<_B> withConfigurationVersion(final JAXBElement configurationVersion) { + this.configurationVersion = configurationVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaces" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param namespaces + * Neuer Wert der Eigenschaft "namespaces". + */ + @Override + public DataSetMetaDataType.Builder<_B> withNamespaces(final JAXBElement namespaces) { + super.withNamespaces(namespaces); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDataTypes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDataTypes + * Neuer Wert der Eigenschaft "structureDataTypes". + */ + @Override + public DataSetMetaDataType.Builder<_B> withStructureDataTypes(final JAXBElement structureDataTypes) { + super.withStructureDataTypes(structureDataTypes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDataTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDataTypes + * Neuer Wert der Eigenschaft "enumDataTypes". + */ + @Override + public DataSetMetaDataType.Builder<_B> withEnumDataTypes(final JAXBElement enumDataTypes) { + super.withEnumDataTypes(enumDataTypes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleDataTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param simpleDataTypes + * Neuer Wert der Eigenschaft "simpleDataTypes". + */ + @Override + public DataSetMetaDataType.Builder<_B> withSimpleDataTypes(final JAXBElement simpleDataTypes) { + super.withSimpleDataTypes(simpleDataTypes); + return this; + } + + @Override + public DataSetMetaDataType build() { + if (_storedValue == null) { + return this.init(new DataSetMetaDataType()); + } else { + return ((DataSetMetaDataType) _storedValue); + } + } + + public DataSetMetaDataType.Builder<_B> copyOf(final DataSetMetaDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetMetaDataType.Builder<_B> copyOf(final DataSetMetaDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetMetaDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetMetaDataType.Select _root() { + return new DataSetMetaDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeSchemaHeader.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> description = null; + private com.kscs.util.jaxb.Selector> fields = null; + private Guid.Selector> dataSetClassId = null; + private com.kscs.util.jaxb.Selector> configurationVersion = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + if (this.fields!= null) { + products.put("fields", this.fields.init()); + } + if (this.dataSetClassId!= null) { + products.put("dataSetClassId", this.dataSetClassId.init()); + } + if (this.configurationVersion!= null) { + products.put("configurationVersion", this.configurationVersion.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + public com.kscs.util.jaxb.Selector> fields() { + return ((this.fields == null)?this.fields = new com.kscs.util.jaxb.Selector>(this._root, this, "fields"):this.fields); + } + + public Guid.Selector> dataSetClassId() { + return ((this.dataSetClassId == null)?this.dataSetClassId = new Guid.Selector>(this._root, this, "dataSetClassId"):this.dataSetClassId); + } + + public com.kscs.util.jaxb.Selector> configurationVersion() { + return ((this.configurationVersion == null)?this.configurationVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "configurationVersion"):this.configurationVersion); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetOrderingType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetOrderingType.java new file mode 100644 index 000000000..9965d4b86 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetOrderingType.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für DataSetOrderingType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="DataSetOrderingType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Undefined_0"/>
+ *     <enumeration value="AscendingWriterId_1"/>
+ *     <enumeration value="AscendingWriterIdSingle_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "DataSetOrderingType") +@XmlEnum +public enum DataSetOrderingType { + + @XmlEnumValue("Undefined_0") + UNDEFINED_0("Undefined_0"), + @XmlEnumValue("AscendingWriterId_1") + ASCENDING_WRITER_ID_1("AscendingWriterId_1"), + @XmlEnumValue("AscendingWriterIdSingle_2") + ASCENDING_WRITER_ID_SINGLE_2("AscendingWriterIdSingle_2"); + private final String value; + + DataSetOrderingType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static DataSetOrderingType fromValue(String v) { + for (DataSetOrderingType c: DataSetOrderingType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderDataType.java new file mode 100644 index 000000000..5e6be8f4e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderDataType.java @@ -0,0 +1,1245 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetReaderDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetReaderDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Enabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="PublisherId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="WriterGroupId" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="DataSetWriterId" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="DataSetMetaData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetMetaDataType" minOccurs="0"/>
+ *         <element name="DataSetFieldContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetFieldContentMask" minOccurs="0"/>
+ *         <element name="MessageReceiveTimeout" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="KeyFrameCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="HeaderLayoutUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MessageSecurityMode" minOccurs="0"/>
+ *         <element name="SecurityGroupId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityKeyServices" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEndpointDescription" minOccurs="0"/>
+ *         <element name="DataSetReaderProperties" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *         <element name="TransportSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="MessageSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="SubscribedDataSet" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetReaderDataType", propOrder = { + "name", + "enabled", + "publisherId", + "writerGroupId", + "dataSetWriterId", + "dataSetMetaData", + "dataSetFieldContentMask", + "messageReceiveTimeout", + "keyFrameCount", + "headerLayoutUri", + "securityMode", + "securityGroupId", + "securityKeyServices", + "dataSetReaderProperties", + "transportSettings", + "messageSettings", + "subscribedDataSet" +}) +public class DataSetReaderDataType { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElement(name = "Enabled") + protected Boolean enabled; + @XmlElement(name = "PublisherId") + protected Variant publisherId; + @XmlElement(name = "WriterGroupId") + @XmlSchemaType(name = "unsignedShort") + protected Integer writerGroupId; + @XmlElement(name = "DataSetWriterId") + @XmlSchemaType(name = "unsignedShort") + protected Integer dataSetWriterId; + @XmlElementRef(name = "DataSetMetaData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetMetaData; + @XmlElement(name = "DataSetFieldContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long dataSetFieldContentMask; + @XmlElement(name = "MessageReceiveTimeout") + protected Double messageReceiveTimeout; + @XmlElement(name = "KeyFrameCount") + @XmlSchemaType(name = "unsignedInt") + protected Long keyFrameCount; + @XmlElementRef(name = "HeaderLayoutUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement headerLayoutUri; + @XmlElement(name = "SecurityMode") + @XmlSchemaType(name = "string") + protected MessageSecurityMode securityMode; + @XmlElementRef(name = "SecurityGroupId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityGroupId; + @XmlElementRef(name = "SecurityKeyServices", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityKeyServices; + @XmlElementRef(name = "DataSetReaderProperties", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetReaderProperties; + @XmlElementRef(name = "TransportSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportSettings; + @XmlElementRef(name = "MessageSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement messageSettings; + @XmlElementRef(name = "SubscribedDataSet", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement subscribedDataSet; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der enabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isEnabled() { + return enabled; + } + + /** + * Legt den Wert der enabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setEnabled(Boolean value) { + this.enabled = value; + } + + /** + * Ruft den Wert der publisherId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getPublisherId() { + return publisherId; + } + + /** + * Legt den Wert der publisherId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setPublisherId(Variant value) { + this.publisherId = value; + } + + /** + * Ruft den Wert der writerGroupId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getWriterGroupId() { + return writerGroupId; + } + + /** + * Legt den Wert der writerGroupId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setWriterGroupId(Integer value) { + this.writerGroupId = value; + } + + /** + * Ruft den Wert der dataSetWriterId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getDataSetWriterId() { + return dataSetWriterId; + } + + /** + * Legt den Wert der dataSetWriterId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setDataSetWriterId(Integer value) { + this.dataSetWriterId = value; + } + + /** + * Ruft den Wert der dataSetMetaData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + */ + public JAXBElement getDataSetMetaData() { + return dataSetMetaData; + } + + /** + * Legt den Wert der dataSetMetaData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + */ + public void setDataSetMetaData(JAXBElement value) { + this.dataSetMetaData = value; + } + + /** + * Ruft den Wert der dataSetFieldContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataSetFieldContentMask() { + return dataSetFieldContentMask; + } + + /** + * Legt den Wert der dataSetFieldContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataSetFieldContentMask(Long value) { + this.dataSetFieldContentMask = value; + } + + /** + * Ruft den Wert der messageReceiveTimeout-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getMessageReceiveTimeout() { + return messageReceiveTimeout; + } + + /** + * Legt den Wert der messageReceiveTimeout-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setMessageReceiveTimeout(Double value) { + this.messageReceiveTimeout = value; + } + + /** + * Ruft den Wert der keyFrameCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getKeyFrameCount() { + return keyFrameCount; + } + + /** + * Legt den Wert der keyFrameCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setKeyFrameCount(Long value) { + this.keyFrameCount = value; + } + + /** + * Ruft den Wert der headerLayoutUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getHeaderLayoutUri() { + return headerLayoutUri; + } + + /** + * Legt den Wert der headerLayoutUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setHeaderLayoutUri(JAXBElement value) { + this.headerLayoutUri = value; + } + + /** + * Ruft den Wert der securityMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MessageSecurityMode } + * + */ + public MessageSecurityMode getSecurityMode() { + return securityMode; + } + + /** + * Legt den Wert der securityMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MessageSecurityMode } + * + */ + public void setSecurityMode(MessageSecurityMode value) { + this.securityMode = value; + } + + /** + * Ruft den Wert der securityGroupId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSecurityGroupId() { + return securityGroupId; + } + + /** + * Legt den Wert der securityGroupId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSecurityGroupId(JAXBElement value) { + this.securityGroupId = value; + } + + /** + * Ruft den Wert der securityKeyServices-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public JAXBElement getSecurityKeyServices() { + return securityKeyServices; + } + + /** + * Legt den Wert der securityKeyServices-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public void setSecurityKeyServices(JAXBElement value) { + this.securityKeyServices = value; + } + + /** + * Ruft den Wert der dataSetReaderProperties-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getDataSetReaderProperties() { + return dataSetReaderProperties; + } + + /** + * Legt den Wert der dataSetReaderProperties-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setDataSetReaderProperties(JAXBElement value) { + this.dataSetReaderProperties = value; + } + + /** + * Ruft den Wert der transportSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getTransportSettings() { + return transportSettings; + } + + /** + * Legt den Wert der transportSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setTransportSettings(JAXBElement value) { + this.transportSettings = value; + } + + /** + * Ruft den Wert der messageSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getMessageSettings() { + return messageSettings; + } + + /** + * Legt den Wert der messageSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setMessageSettings(JAXBElement value) { + this.messageSettings = value; + } + + /** + * Ruft den Wert der subscribedDataSet-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getSubscribedDataSet() { + return subscribedDataSet; + } + + /** + * Legt den Wert der subscribedDataSet-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setSubscribedDataSet(JAXBElement value) { + this.subscribedDataSet = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetReaderDataType.Builder<_B> _other) { + _other.name = this.name; + _other.enabled = this.enabled; + _other.publisherId = ((this.publisherId == null)?null:this.publisherId.newCopyBuilder(_other)); + _other.writerGroupId = this.writerGroupId; + _other.dataSetWriterId = this.dataSetWriterId; + _other.dataSetMetaData = this.dataSetMetaData; + _other.dataSetFieldContentMask = this.dataSetFieldContentMask; + _other.messageReceiveTimeout = this.messageReceiveTimeout; + _other.keyFrameCount = this.keyFrameCount; + _other.headerLayoutUri = this.headerLayoutUri; + _other.securityMode = this.securityMode; + _other.securityGroupId = this.securityGroupId; + _other.securityKeyServices = this.securityKeyServices; + _other.dataSetReaderProperties = this.dataSetReaderProperties; + _other.transportSettings = this.transportSettings; + _other.messageSettings = this.messageSettings; + _other.subscribedDataSet = this.subscribedDataSet; + } + + public<_B >DataSetReaderDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetReaderDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DataSetReaderDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetReaderDataType.Builder builder() { + return new DataSetReaderDataType.Builder(null, null, false); + } + + public static<_B >DataSetReaderDataType.Builder<_B> copyOf(final DataSetReaderDataType _other) { + final DataSetReaderDataType.Builder<_B> _newBuilder = new DataSetReaderDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetReaderDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + _other.enabled = this.enabled; + } + final PropertyTree publisherIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publisherId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publisherIdPropertyTree!= null):((publisherIdPropertyTree == null)||(!publisherIdPropertyTree.isLeaf())))) { + _other.publisherId = ((this.publisherId == null)?null:this.publisherId.newCopyBuilder(_other, publisherIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree writerGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupIdPropertyTree!= null):((writerGroupIdPropertyTree == null)||(!writerGroupIdPropertyTree.isLeaf())))) { + _other.writerGroupId = this.writerGroupId; + } + final PropertyTree dataSetWriterIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterIdPropertyTree!= null):((dataSetWriterIdPropertyTree == null)||(!dataSetWriterIdPropertyTree.isLeaf())))) { + _other.dataSetWriterId = this.dataSetWriterId; + } + final PropertyTree dataSetMetaDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMetaData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMetaDataPropertyTree!= null):((dataSetMetaDataPropertyTree == null)||(!dataSetMetaDataPropertyTree.isLeaf())))) { + _other.dataSetMetaData = this.dataSetMetaData; + } + final PropertyTree dataSetFieldContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldContentMaskPropertyTree!= null):((dataSetFieldContentMaskPropertyTree == null)||(!dataSetFieldContentMaskPropertyTree.isLeaf())))) { + _other.dataSetFieldContentMask = this.dataSetFieldContentMask; + } + final PropertyTree messageReceiveTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageReceiveTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageReceiveTimeoutPropertyTree!= null):((messageReceiveTimeoutPropertyTree == null)||(!messageReceiveTimeoutPropertyTree.isLeaf())))) { + _other.messageReceiveTimeout = this.messageReceiveTimeout; + } + final PropertyTree keyFrameCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyFrameCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyFrameCountPropertyTree!= null):((keyFrameCountPropertyTree == null)||(!keyFrameCountPropertyTree.isLeaf())))) { + _other.keyFrameCount = this.keyFrameCount; + } + final PropertyTree headerLayoutUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("headerLayoutUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(headerLayoutUriPropertyTree!= null):((headerLayoutUriPropertyTree == null)||(!headerLayoutUriPropertyTree.isLeaf())))) { + _other.headerLayoutUri = this.headerLayoutUri; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + _other.securityMode = this.securityMode; + } + final PropertyTree securityGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityGroupIdPropertyTree!= null):((securityGroupIdPropertyTree == null)||(!securityGroupIdPropertyTree.isLeaf())))) { + _other.securityGroupId = this.securityGroupId; + } + final PropertyTree securityKeyServicesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityKeyServices")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityKeyServicesPropertyTree!= null):((securityKeyServicesPropertyTree == null)||(!securityKeyServicesPropertyTree.isLeaf())))) { + _other.securityKeyServices = this.securityKeyServices; + } + final PropertyTree dataSetReaderPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderPropertiesPropertyTree!= null):((dataSetReaderPropertiesPropertyTree == null)||(!dataSetReaderPropertiesPropertyTree.isLeaf())))) { + _other.dataSetReaderProperties = this.dataSetReaderProperties; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + _other.transportSettings = this.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + _other.messageSettings = this.messageSettings; + } + final PropertyTree subscribedDataSetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscribedDataSet")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscribedDataSetPropertyTree!= null):((subscribedDataSetPropertyTree == null)||(!subscribedDataSetPropertyTree.isLeaf())))) { + _other.subscribedDataSet = this.subscribedDataSet; + } + } + + public<_B >DataSetReaderDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetReaderDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataSetReaderDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetReaderDataType.Builder<_B> copyOf(final DataSetReaderDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetReaderDataType.Builder<_B> _newBuilder = new DataSetReaderDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetReaderDataType.Builder copyExcept(final DataSetReaderDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetReaderDataType.Builder copyOnly(final DataSetReaderDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataSetReaderDataType _storedValue; + private JAXBElement name; + private Boolean enabled; + private Variant.Builder> publisherId; + private Integer writerGroupId; + private Integer dataSetWriterId; + private JAXBElement dataSetMetaData; + private Long dataSetFieldContentMask; + private Double messageReceiveTimeout; + private Long keyFrameCount; + private JAXBElement headerLayoutUri; + private MessageSecurityMode securityMode; + private JAXBElement securityGroupId; + private JAXBElement securityKeyServices; + private JAXBElement dataSetReaderProperties; + private JAXBElement transportSettings; + private JAXBElement messageSettings; + private JAXBElement subscribedDataSet; + + public Builder(final _B _parentBuilder, final DataSetReaderDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.enabled = _other.enabled; + this.publisherId = ((_other.publisherId == null)?null:_other.publisherId.newCopyBuilder(this)); + this.writerGroupId = _other.writerGroupId; + this.dataSetWriterId = _other.dataSetWriterId; + this.dataSetMetaData = _other.dataSetMetaData; + this.dataSetFieldContentMask = _other.dataSetFieldContentMask; + this.messageReceiveTimeout = _other.messageReceiveTimeout; + this.keyFrameCount = _other.keyFrameCount; + this.headerLayoutUri = _other.headerLayoutUri; + this.securityMode = _other.securityMode; + this.securityGroupId = _other.securityGroupId; + this.securityKeyServices = _other.securityKeyServices; + this.dataSetReaderProperties = _other.dataSetReaderProperties; + this.transportSettings = _other.transportSettings; + this.messageSettings = _other.messageSettings; + this.subscribedDataSet = _other.subscribedDataSet; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataSetReaderDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + this.enabled = _other.enabled; + } + final PropertyTree publisherIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publisherId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publisherIdPropertyTree!= null):((publisherIdPropertyTree == null)||(!publisherIdPropertyTree.isLeaf())))) { + this.publisherId = ((_other.publisherId == null)?null:_other.publisherId.newCopyBuilder(this, publisherIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree writerGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupIdPropertyTree!= null):((writerGroupIdPropertyTree == null)||(!writerGroupIdPropertyTree.isLeaf())))) { + this.writerGroupId = _other.writerGroupId; + } + final PropertyTree dataSetWriterIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterIdPropertyTree!= null):((dataSetWriterIdPropertyTree == null)||(!dataSetWriterIdPropertyTree.isLeaf())))) { + this.dataSetWriterId = _other.dataSetWriterId; + } + final PropertyTree dataSetMetaDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMetaData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMetaDataPropertyTree!= null):((dataSetMetaDataPropertyTree == null)||(!dataSetMetaDataPropertyTree.isLeaf())))) { + this.dataSetMetaData = _other.dataSetMetaData; + } + final PropertyTree dataSetFieldContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldContentMaskPropertyTree!= null):((dataSetFieldContentMaskPropertyTree == null)||(!dataSetFieldContentMaskPropertyTree.isLeaf())))) { + this.dataSetFieldContentMask = _other.dataSetFieldContentMask; + } + final PropertyTree messageReceiveTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageReceiveTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageReceiveTimeoutPropertyTree!= null):((messageReceiveTimeoutPropertyTree == null)||(!messageReceiveTimeoutPropertyTree.isLeaf())))) { + this.messageReceiveTimeout = _other.messageReceiveTimeout; + } + final PropertyTree keyFrameCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyFrameCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyFrameCountPropertyTree!= null):((keyFrameCountPropertyTree == null)||(!keyFrameCountPropertyTree.isLeaf())))) { + this.keyFrameCount = _other.keyFrameCount; + } + final PropertyTree headerLayoutUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("headerLayoutUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(headerLayoutUriPropertyTree!= null):((headerLayoutUriPropertyTree == null)||(!headerLayoutUriPropertyTree.isLeaf())))) { + this.headerLayoutUri = _other.headerLayoutUri; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + this.securityMode = _other.securityMode; + } + final PropertyTree securityGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityGroupIdPropertyTree!= null):((securityGroupIdPropertyTree == null)||(!securityGroupIdPropertyTree.isLeaf())))) { + this.securityGroupId = _other.securityGroupId; + } + final PropertyTree securityKeyServicesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityKeyServices")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityKeyServicesPropertyTree!= null):((securityKeyServicesPropertyTree == null)||(!securityKeyServicesPropertyTree.isLeaf())))) { + this.securityKeyServices = _other.securityKeyServices; + } + final PropertyTree dataSetReaderPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderPropertiesPropertyTree!= null):((dataSetReaderPropertiesPropertyTree == null)||(!dataSetReaderPropertiesPropertyTree.isLeaf())))) { + this.dataSetReaderProperties = _other.dataSetReaderProperties; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + this.transportSettings = _other.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + this.messageSettings = _other.messageSettings; + } + final PropertyTree subscribedDataSetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscribedDataSet")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscribedDataSetPropertyTree!= null):((subscribedDataSetPropertyTree == null)||(!subscribedDataSetPropertyTree.isLeaf())))) { + this.subscribedDataSet = _other.subscribedDataSet; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataSetReaderDataType >_P init(final _P _product) { + _product.name = this.name; + _product.enabled = this.enabled; + _product.publisherId = ((this.publisherId == null)?null:this.publisherId.build()); + _product.writerGroupId = this.writerGroupId; + _product.dataSetWriterId = this.dataSetWriterId; + _product.dataSetMetaData = this.dataSetMetaData; + _product.dataSetFieldContentMask = this.dataSetFieldContentMask; + _product.messageReceiveTimeout = this.messageReceiveTimeout; + _product.keyFrameCount = this.keyFrameCount; + _product.headerLayoutUri = this.headerLayoutUri; + _product.securityMode = this.securityMode; + _product.securityGroupId = this.securityGroupId; + _product.securityKeyServices = this.securityKeyServices; + _product.dataSetReaderProperties = this.dataSetReaderProperties; + _product.transportSettings = this.transportSettings; + _product.messageSettings = this.messageSettings; + _product.subscribedDataSet = this.subscribedDataSet; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public DataSetReaderDataType.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + public DataSetReaderDataType.Builder<_B> withEnabled(final Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publisherId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param publisherId + * Neuer Wert der Eigenschaft "publisherId". + */ + public DataSetReaderDataType.Builder<_B> withPublisherId(final Variant publisherId) { + this.publisherId = ((publisherId == null)?null:new Variant.Builder>(this, publisherId, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "publisherId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "publisherId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withPublisherId() { + if (this.publisherId!= null) { + return this.publisherId; + } + return this.publisherId = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param writerGroupId + * Neuer Wert der Eigenschaft "writerGroupId". + */ + public DataSetReaderDataType.Builder<_B> withWriterGroupId(final Integer writerGroupId) { + this.writerGroupId = writerGroupId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetWriterId + * Neuer Wert der Eigenschaft "dataSetWriterId". + */ + public DataSetReaderDataType.Builder<_B> withDataSetWriterId(final Integer dataSetWriterId) { + this.dataSetWriterId = dataSetWriterId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMetaData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetMetaData + * Neuer Wert der Eigenschaft "dataSetMetaData". + */ + public DataSetReaderDataType.Builder<_B> withDataSetMetaData(final JAXBElement dataSetMetaData) { + this.dataSetMetaData = dataSetMetaData; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFieldContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetFieldContentMask + * Neuer Wert der Eigenschaft "dataSetFieldContentMask". + */ + public DataSetReaderDataType.Builder<_B> withDataSetFieldContentMask(final Long dataSetFieldContentMask) { + this.dataSetFieldContentMask = dataSetFieldContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageReceiveTimeout" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param messageReceiveTimeout + * Neuer Wert der Eigenschaft "messageReceiveTimeout". + */ + public DataSetReaderDataType.Builder<_B> withMessageReceiveTimeout(final Double messageReceiveTimeout) { + this.messageReceiveTimeout = messageReceiveTimeout; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "keyFrameCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param keyFrameCount + * Neuer Wert der Eigenschaft "keyFrameCount". + */ + public DataSetReaderDataType.Builder<_B> withKeyFrameCount(final Long keyFrameCount) { + this.keyFrameCount = keyFrameCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "headerLayoutUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param headerLayoutUri + * Neuer Wert der Eigenschaft "headerLayoutUri". + */ + public DataSetReaderDataType.Builder<_B> withHeaderLayoutUri(final JAXBElement headerLayoutUri) { + this.headerLayoutUri = headerLayoutUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + public DataSetReaderDataType.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + this.securityMode = securityMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityGroupId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityGroupId + * Neuer Wert der Eigenschaft "securityGroupId". + */ + public DataSetReaderDataType.Builder<_B> withSecurityGroupId(final JAXBElement securityGroupId) { + this.securityGroupId = securityGroupId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityKeyServices" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityKeyServices + * Neuer Wert der Eigenschaft "securityKeyServices". + */ + public DataSetReaderDataType.Builder<_B> withSecurityKeyServices(final JAXBElement securityKeyServices) { + this.securityKeyServices = securityKeyServices; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderProperties" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderProperties + * Neuer Wert der Eigenschaft "dataSetReaderProperties". + */ + public DataSetReaderDataType.Builder<_B> withDataSetReaderProperties(final JAXBElement dataSetReaderProperties) { + this.dataSetReaderProperties = dataSetReaderProperties; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportSettings" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportSettings + * Neuer Wert der Eigenschaft "transportSettings". + */ + public DataSetReaderDataType.Builder<_B> withTransportSettings(final JAXBElement transportSettings) { + this.transportSettings = transportSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageSettings" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param messageSettings + * Neuer Wert der Eigenschaft "messageSettings". + */ + public DataSetReaderDataType.Builder<_B> withMessageSettings(final JAXBElement messageSettings) { + this.messageSettings = messageSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscribedDataSet" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param subscribedDataSet + * Neuer Wert der Eigenschaft "subscribedDataSet". + */ + public DataSetReaderDataType.Builder<_B> withSubscribedDataSet(final JAXBElement subscribedDataSet) { + this.subscribedDataSet = subscribedDataSet; + return this; + } + + @Override + public DataSetReaderDataType build() { + if (_storedValue == null) { + return this.init(new DataSetReaderDataType()); + } else { + return ((DataSetReaderDataType) _storedValue); + } + } + + public DataSetReaderDataType.Builder<_B> copyOf(final DataSetReaderDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetReaderDataType.Builder<_B> copyOf(final DataSetReaderDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetReaderDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetReaderDataType.Select _root() { + return new DataSetReaderDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> enabled = null; + private Variant.Selector> publisherId = null; + private com.kscs.util.jaxb.Selector> writerGroupId = null; + private com.kscs.util.jaxb.Selector> dataSetWriterId = null; + private com.kscs.util.jaxb.Selector> dataSetMetaData = null; + private com.kscs.util.jaxb.Selector> dataSetFieldContentMask = null; + private com.kscs.util.jaxb.Selector> messageReceiveTimeout = null; + private com.kscs.util.jaxb.Selector> keyFrameCount = null; + private com.kscs.util.jaxb.Selector> headerLayoutUri = null; + private com.kscs.util.jaxb.Selector> securityMode = null; + private com.kscs.util.jaxb.Selector> securityGroupId = null; + private com.kscs.util.jaxb.Selector> securityKeyServices = null; + private com.kscs.util.jaxb.Selector> dataSetReaderProperties = null; + private com.kscs.util.jaxb.Selector> transportSettings = null; + private com.kscs.util.jaxb.Selector> messageSettings = null; + private com.kscs.util.jaxb.Selector> subscribedDataSet = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.enabled!= null) { + products.put("enabled", this.enabled.init()); + } + if (this.publisherId!= null) { + products.put("publisherId", this.publisherId.init()); + } + if (this.writerGroupId!= null) { + products.put("writerGroupId", this.writerGroupId.init()); + } + if (this.dataSetWriterId!= null) { + products.put("dataSetWriterId", this.dataSetWriterId.init()); + } + if (this.dataSetMetaData!= null) { + products.put("dataSetMetaData", this.dataSetMetaData.init()); + } + if (this.dataSetFieldContentMask!= null) { + products.put("dataSetFieldContentMask", this.dataSetFieldContentMask.init()); + } + if (this.messageReceiveTimeout!= null) { + products.put("messageReceiveTimeout", this.messageReceiveTimeout.init()); + } + if (this.keyFrameCount!= null) { + products.put("keyFrameCount", this.keyFrameCount.init()); + } + if (this.headerLayoutUri!= null) { + products.put("headerLayoutUri", this.headerLayoutUri.init()); + } + if (this.securityMode!= null) { + products.put("securityMode", this.securityMode.init()); + } + if (this.securityGroupId!= null) { + products.put("securityGroupId", this.securityGroupId.init()); + } + if (this.securityKeyServices!= null) { + products.put("securityKeyServices", this.securityKeyServices.init()); + } + if (this.dataSetReaderProperties!= null) { + products.put("dataSetReaderProperties", this.dataSetReaderProperties.init()); + } + if (this.transportSettings!= null) { + products.put("transportSettings", this.transportSettings.init()); + } + if (this.messageSettings!= null) { + products.put("messageSettings", this.messageSettings.init()); + } + if (this.subscribedDataSet!= null) { + products.put("subscribedDataSet", this.subscribedDataSet.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> enabled() { + return ((this.enabled == null)?this.enabled = new com.kscs.util.jaxb.Selector>(this._root, this, "enabled"):this.enabled); + } + + public Variant.Selector> publisherId() { + return ((this.publisherId == null)?this.publisherId = new Variant.Selector>(this._root, this, "publisherId"):this.publisherId); + } + + public com.kscs.util.jaxb.Selector> writerGroupId() { + return ((this.writerGroupId == null)?this.writerGroupId = new com.kscs.util.jaxb.Selector>(this._root, this, "writerGroupId"):this.writerGroupId); + } + + public com.kscs.util.jaxb.Selector> dataSetWriterId() { + return ((this.dataSetWriterId == null)?this.dataSetWriterId = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetWriterId"):this.dataSetWriterId); + } + + public com.kscs.util.jaxb.Selector> dataSetMetaData() { + return ((this.dataSetMetaData == null)?this.dataSetMetaData = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetMetaData"):this.dataSetMetaData); + } + + public com.kscs.util.jaxb.Selector> dataSetFieldContentMask() { + return ((this.dataSetFieldContentMask == null)?this.dataSetFieldContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetFieldContentMask"):this.dataSetFieldContentMask); + } + + public com.kscs.util.jaxb.Selector> messageReceiveTimeout() { + return ((this.messageReceiveTimeout == null)?this.messageReceiveTimeout = new com.kscs.util.jaxb.Selector>(this._root, this, "messageReceiveTimeout"):this.messageReceiveTimeout); + } + + public com.kscs.util.jaxb.Selector> keyFrameCount() { + return ((this.keyFrameCount == null)?this.keyFrameCount = new com.kscs.util.jaxb.Selector>(this._root, this, "keyFrameCount"):this.keyFrameCount); + } + + public com.kscs.util.jaxb.Selector> headerLayoutUri() { + return ((this.headerLayoutUri == null)?this.headerLayoutUri = new com.kscs.util.jaxb.Selector>(this._root, this, "headerLayoutUri"):this.headerLayoutUri); + } + + public com.kscs.util.jaxb.Selector> securityMode() { + return ((this.securityMode == null)?this.securityMode = new com.kscs.util.jaxb.Selector>(this._root, this, "securityMode"):this.securityMode); + } + + public com.kscs.util.jaxb.Selector> securityGroupId() { + return ((this.securityGroupId == null)?this.securityGroupId = new com.kscs.util.jaxb.Selector>(this._root, this, "securityGroupId"):this.securityGroupId); + } + + public com.kscs.util.jaxb.Selector> securityKeyServices() { + return ((this.securityKeyServices == null)?this.securityKeyServices = new com.kscs.util.jaxb.Selector>(this._root, this, "securityKeyServices"):this.securityKeyServices); + } + + public com.kscs.util.jaxb.Selector> dataSetReaderProperties() { + return ((this.dataSetReaderProperties == null)?this.dataSetReaderProperties = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetReaderProperties"):this.dataSetReaderProperties); + } + + public com.kscs.util.jaxb.Selector> transportSettings() { + return ((this.transportSettings == null)?this.transportSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "transportSettings"):this.transportSettings); + } + + public com.kscs.util.jaxb.Selector> messageSettings() { + return ((this.messageSettings == null)?this.messageSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "messageSettings"):this.messageSettings); + } + + public com.kscs.util.jaxb.Selector> subscribedDataSet() { + return ((this.subscribedDataSet == null)?this.subscribedDataSet = new com.kscs.util.jaxb.Selector>(this._root, this, "subscribedDataSet"):this.subscribedDataSet); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderMessageDataType.java new file mode 100644 index 000000000..daaa9c306 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderMessageDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetReaderMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetReaderMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetReaderMessageDataType") +@XmlSeeAlso({ + UadpDataSetReaderMessageDataType.class, + JsonDataSetReaderMessageDataType.class +}) +public class DataSetReaderMessageDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetReaderMessageDataType.Builder<_B> _other) { + } + + public<_B >DataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DataSetReaderMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetReaderMessageDataType.Builder builder() { + return new DataSetReaderMessageDataType.Builder(null, null, false); + } + + public static<_B >DataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other) { + final DataSetReaderMessageDataType.Builder<_B> _newBuilder = new DataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetReaderMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >DataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataSetReaderMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetReaderMessageDataType.Builder<_B> _newBuilder = new DataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetReaderMessageDataType.Builder copyExcept(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetReaderMessageDataType.Builder copyOnly(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataSetReaderMessageDataType _storedValue; + + public Builder(final _B _parentBuilder, final DataSetReaderMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataSetReaderMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataSetReaderMessageDataType >_P init(final _P _product) { + return _product; + } + + @Override + public DataSetReaderMessageDataType build() { + if (_storedValue == null) { + return this.init(new DataSetReaderMessageDataType()); + } else { + return ((DataSetReaderMessageDataType) _storedValue); + } + } + + public DataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetReaderMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetReaderMessageDataType.Select _root() { + return new DataSetReaderMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderTransportDataType.java new file mode 100644 index 000000000..cd7550ac3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetReaderTransportDataType.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetReaderTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetReaderTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetReaderTransportDataType") +@XmlSeeAlso({ + BrokerDataSetReaderTransportDataType.class +}) +public class DataSetReaderTransportDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetReaderTransportDataType.Builder<_B> _other) { + } + + public<_B >DataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DataSetReaderTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetReaderTransportDataType.Builder builder() { + return new DataSetReaderTransportDataType.Builder(null, null, false); + } + + public static<_B >DataSetReaderTransportDataType.Builder<_B> copyOf(final DataSetReaderTransportDataType _other) { + final DataSetReaderTransportDataType.Builder<_B> _newBuilder = new DataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetReaderTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >DataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataSetReaderTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetReaderTransportDataType.Builder<_B> copyOf(final DataSetReaderTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetReaderTransportDataType.Builder<_B> _newBuilder = new DataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetReaderTransportDataType.Builder copyExcept(final DataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetReaderTransportDataType.Builder copyOnly(final DataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataSetReaderTransportDataType _storedValue; + + public Builder(final _B _parentBuilder, final DataSetReaderTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataSetReaderTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataSetReaderTransportDataType >_P init(final _P _product) { + return _product; + } + + @Override + public DataSetReaderTransportDataType build() { + if (_storedValue == null) { + return this.init(new DataSetReaderTransportDataType()); + } else { + return ((DataSetReaderTransportDataType) _storedValue); + } + } + + public DataSetReaderTransportDataType.Builder<_B> copyOf(final DataSetReaderTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetReaderTransportDataType.Builder<_B> copyOf(final DataSetReaderTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetReaderTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetReaderTransportDataType.Select _root() { + return new DataSetReaderTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterDataType.java new file mode 100644 index 000000000..cb1f5eeee --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterDataType.java @@ -0,0 +1,745 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetWriterDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetWriterDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Enabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="DataSetWriterId" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="DataSetFieldContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetFieldContentMask" minOccurs="0"/>
+ *         <element name="KeyFrameCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DataSetName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DataSetWriterProperties" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *         <element name="TransportSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="MessageSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetWriterDataType", propOrder = { + "name", + "enabled", + "dataSetWriterId", + "dataSetFieldContentMask", + "keyFrameCount", + "dataSetName", + "dataSetWriterProperties", + "transportSettings", + "messageSettings" +}) +public class DataSetWriterDataType { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElement(name = "Enabled") + protected Boolean enabled; + @XmlElement(name = "DataSetWriterId") + @XmlSchemaType(name = "unsignedShort") + protected Integer dataSetWriterId; + @XmlElement(name = "DataSetFieldContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long dataSetFieldContentMask; + @XmlElement(name = "KeyFrameCount") + @XmlSchemaType(name = "unsignedInt") + protected Long keyFrameCount; + @XmlElementRef(name = "DataSetName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetName; + @XmlElementRef(name = "DataSetWriterProperties", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetWriterProperties; + @XmlElementRef(name = "TransportSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportSettings; + @XmlElementRef(name = "MessageSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement messageSettings; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der enabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isEnabled() { + return enabled; + } + + /** + * Legt den Wert der enabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setEnabled(Boolean value) { + this.enabled = value; + } + + /** + * Ruft den Wert der dataSetWriterId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getDataSetWriterId() { + return dataSetWriterId; + } + + /** + * Legt den Wert der dataSetWriterId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setDataSetWriterId(Integer value) { + this.dataSetWriterId = value; + } + + /** + * Ruft den Wert der dataSetFieldContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataSetFieldContentMask() { + return dataSetFieldContentMask; + } + + /** + * Legt den Wert der dataSetFieldContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataSetFieldContentMask(Long value) { + this.dataSetFieldContentMask = value; + } + + /** + * Ruft den Wert der keyFrameCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getKeyFrameCount() { + return keyFrameCount; + } + + /** + * Legt den Wert der keyFrameCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setKeyFrameCount(Long value) { + this.keyFrameCount = value; + } + + /** + * Ruft den Wert der dataSetName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getDataSetName() { + return dataSetName; + } + + /** + * Legt den Wert der dataSetName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setDataSetName(JAXBElement value) { + this.dataSetName = value; + } + + /** + * Ruft den Wert der dataSetWriterProperties-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getDataSetWriterProperties() { + return dataSetWriterProperties; + } + + /** + * Legt den Wert der dataSetWriterProperties-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setDataSetWriterProperties(JAXBElement value) { + this.dataSetWriterProperties = value; + } + + /** + * Ruft den Wert der transportSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getTransportSettings() { + return transportSettings; + } + + /** + * Legt den Wert der transportSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setTransportSettings(JAXBElement value) { + this.transportSettings = value; + } + + /** + * Ruft den Wert der messageSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getMessageSettings() { + return messageSettings; + } + + /** + * Legt den Wert der messageSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setMessageSettings(JAXBElement value) { + this.messageSettings = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetWriterDataType.Builder<_B> _other) { + _other.name = this.name; + _other.enabled = this.enabled; + _other.dataSetWriterId = this.dataSetWriterId; + _other.dataSetFieldContentMask = this.dataSetFieldContentMask; + _other.keyFrameCount = this.keyFrameCount; + _other.dataSetName = this.dataSetName; + _other.dataSetWriterProperties = this.dataSetWriterProperties; + _other.transportSettings = this.transportSettings; + _other.messageSettings = this.messageSettings; + } + + public<_B >DataSetWriterDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetWriterDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DataSetWriterDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetWriterDataType.Builder builder() { + return new DataSetWriterDataType.Builder(null, null, false); + } + + public static<_B >DataSetWriterDataType.Builder<_B> copyOf(final DataSetWriterDataType _other) { + final DataSetWriterDataType.Builder<_B> _newBuilder = new DataSetWriterDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetWriterDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + _other.enabled = this.enabled; + } + final PropertyTree dataSetWriterIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterIdPropertyTree!= null):((dataSetWriterIdPropertyTree == null)||(!dataSetWriterIdPropertyTree.isLeaf())))) { + _other.dataSetWriterId = this.dataSetWriterId; + } + final PropertyTree dataSetFieldContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldContentMaskPropertyTree!= null):((dataSetFieldContentMaskPropertyTree == null)||(!dataSetFieldContentMaskPropertyTree.isLeaf())))) { + _other.dataSetFieldContentMask = this.dataSetFieldContentMask; + } + final PropertyTree keyFrameCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyFrameCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyFrameCountPropertyTree!= null):((keyFrameCountPropertyTree == null)||(!keyFrameCountPropertyTree.isLeaf())))) { + _other.keyFrameCount = this.keyFrameCount; + } + final PropertyTree dataSetNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetNamePropertyTree!= null):((dataSetNamePropertyTree == null)||(!dataSetNamePropertyTree.isLeaf())))) { + _other.dataSetName = this.dataSetName; + } + final PropertyTree dataSetWriterPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterPropertiesPropertyTree!= null):((dataSetWriterPropertiesPropertyTree == null)||(!dataSetWriterPropertiesPropertyTree.isLeaf())))) { + _other.dataSetWriterProperties = this.dataSetWriterProperties; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + _other.transportSettings = this.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + _other.messageSettings = this.messageSettings; + } + } + + public<_B >DataSetWriterDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetWriterDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataSetWriterDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetWriterDataType.Builder<_B> copyOf(final DataSetWriterDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetWriterDataType.Builder<_B> _newBuilder = new DataSetWriterDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetWriterDataType.Builder copyExcept(final DataSetWriterDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetWriterDataType.Builder copyOnly(final DataSetWriterDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataSetWriterDataType _storedValue; + private JAXBElement name; + private Boolean enabled; + private Integer dataSetWriterId; + private Long dataSetFieldContentMask; + private Long keyFrameCount; + private JAXBElement dataSetName; + private JAXBElement dataSetWriterProperties; + private JAXBElement transportSettings; + private JAXBElement messageSettings; + + public Builder(final _B _parentBuilder, final DataSetWriterDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.enabled = _other.enabled; + this.dataSetWriterId = _other.dataSetWriterId; + this.dataSetFieldContentMask = _other.dataSetFieldContentMask; + this.keyFrameCount = _other.keyFrameCount; + this.dataSetName = _other.dataSetName; + this.dataSetWriterProperties = _other.dataSetWriterProperties; + this.transportSettings = _other.transportSettings; + this.messageSettings = _other.messageSettings; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataSetWriterDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + this.enabled = _other.enabled; + } + final PropertyTree dataSetWriterIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterIdPropertyTree!= null):((dataSetWriterIdPropertyTree == null)||(!dataSetWriterIdPropertyTree.isLeaf())))) { + this.dataSetWriterId = _other.dataSetWriterId; + } + final PropertyTree dataSetFieldContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldContentMaskPropertyTree!= null):((dataSetFieldContentMaskPropertyTree == null)||(!dataSetFieldContentMaskPropertyTree.isLeaf())))) { + this.dataSetFieldContentMask = _other.dataSetFieldContentMask; + } + final PropertyTree keyFrameCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyFrameCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyFrameCountPropertyTree!= null):((keyFrameCountPropertyTree == null)||(!keyFrameCountPropertyTree.isLeaf())))) { + this.keyFrameCount = _other.keyFrameCount; + } + final PropertyTree dataSetNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetNamePropertyTree!= null):((dataSetNamePropertyTree == null)||(!dataSetNamePropertyTree.isLeaf())))) { + this.dataSetName = _other.dataSetName; + } + final PropertyTree dataSetWriterPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterPropertiesPropertyTree!= null):((dataSetWriterPropertiesPropertyTree == null)||(!dataSetWriterPropertiesPropertyTree.isLeaf())))) { + this.dataSetWriterProperties = _other.dataSetWriterProperties; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + this.transportSettings = _other.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + this.messageSettings = _other.messageSettings; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataSetWriterDataType >_P init(final _P _product) { + _product.name = this.name; + _product.enabled = this.enabled; + _product.dataSetWriterId = this.dataSetWriterId; + _product.dataSetFieldContentMask = this.dataSetFieldContentMask; + _product.keyFrameCount = this.keyFrameCount; + _product.dataSetName = this.dataSetName; + _product.dataSetWriterProperties = this.dataSetWriterProperties; + _product.transportSettings = this.transportSettings; + _product.messageSettings = this.messageSettings; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public DataSetWriterDataType.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + public DataSetWriterDataType.Builder<_B> withEnabled(final Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetWriterId + * Neuer Wert der Eigenschaft "dataSetWriterId". + */ + public DataSetWriterDataType.Builder<_B> withDataSetWriterId(final Integer dataSetWriterId) { + this.dataSetWriterId = dataSetWriterId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFieldContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetFieldContentMask + * Neuer Wert der Eigenschaft "dataSetFieldContentMask". + */ + public DataSetWriterDataType.Builder<_B> withDataSetFieldContentMask(final Long dataSetFieldContentMask) { + this.dataSetFieldContentMask = dataSetFieldContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "keyFrameCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param keyFrameCount + * Neuer Wert der Eigenschaft "keyFrameCount". + */ + public DataSetWriterDataType.Builder<_B> withKeyFrameCount(final Long keyFrameCount) { + this.keyFrameCount = keyFrameCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetName + * Neuer Wert der Eigenschaft "dataSetName". + */ + public DataSetWriterDataType.Builder<_B> withDataSetName(final JAXBElement dataSetName) { + this.dataSetName = dataSetName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterProperties" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterProperties + * Neuer Wert der Eigenschaft "dataSetWriterProperties". + */ + public DataSetWriterDataType.Builder<_B> withDataSetWriterProperties(final JAXBElement dataSetWriterProperties) { + this.dataSetWriterProperties = dataSetWriterProperties; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportSettings" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportSettings + * Neuer Wert der Eigenschaft "transportSettings". + */ + public DataSetWriterDataType.Builder<_B> withTransportSettings(final JAXBElement transportSettings) { + this.transportSettings = transportSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageSettings" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param messageSettings + * Neuer Wert der Eigenschaft "messageSettings". + */ + public DataSetWriterDataType.Builder<_B> withMessageSettings(final JAXBElement messageSettings) { + this.messageSettings = messageSettings; + return this; + } + + @Override + public DataSetWriterDataType build() { + if (_storedValue == null) { + return this.init(new DataSetWriterDataType()); + } else { + return ((DataSetWriterDataType) _storedValue); + } + } + + public DataSetWriterDataType.Builder<_B> copyOf(final DataSetWriterDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetWriterDataType.Builder<_B> copyOf(final DataSetWriterDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetWriterDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetWriterDataType.Select _root() { + return new DataSetWriterDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> enabled = null; + private com.kscs.util.jaxb.Selector> dataSetWriterId = null; + private com.kscs.util.jaxb.Selector> dataSetFieldContentMask = null; + private com.kscs.util.jaxb.Selector> keyFrameCount = null; + private com.kscs.util.jaxb.Selector> dataSetName = null; + private com.kscs.util.jaxb.Selector> dataSetWriterProperties = null; + private com.kscs.util.jaxb.Selector> transportSettings = null; + private com.kscs.util.jaxb.Selector> messageSettings = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.enabled!= null) { + products.put("enabled", this.enabled.init()); + } + if (this.dataSetWriterId!= null) { + products.put("dataSetWriterId", this.dataSetWriterId.init()); + } + if (this.dataSetFieldContentMask!= null) { + products.put("dataSetFieldContentMask", this.dataSetFieldContentMask.init()); + } + if (this.keyFrameCount!= null) { + products.put("keyFrameCount", this.keyFrameCount.init()); + } + if (this.dataSetName!= null) { + products.put("dataSetName", this.dataSetName.init()); + } + if (this.dataSetWriterProperties!= null) { + products.put("dataSetWriterProperties", this.dataSetWriterProperties.init()); + } + if (this.transportSettings!= null) { + products.put("transportSettings", this.transportSettings.init()); + } + if (this.messageSettings!= null) { + products.put("messageSettings", this.messageSettings.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> enabled() { + return ((this.enabled == null)?this.enabled = new com.kscs.util.jaxb.Selector>(this._root, this, "enabled"):this.enabled); + } + + public com.kscs.util.jaxb.Selector> dataSetWriterId() { + return ((this.dataSetWriterId == null)?this.dataSetWriterId = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetWriterId"):this.dataSetWriterId); + } + + public com.kscs.util.jaxb.Selector> dataSetFieldContentMask() { + return ((this.dataSetFieldContentMask == null)?this.dataSetFieldContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetFieldContentMask"):this.dataSetFieldContentMask); + } + + public com.kscs.util.jaxb.Selector> keyFrameCount() { + return ((this.keyFrameCount == null)?this.keyFrameCount = new com.kscs.util.jaxb.Selector>(this._root, this, "keyFrameCount"):this.keyFrameCount); + } + + public com.kscs.util.jaxb.Selector> dataSetName() { + return ((this.dataSetName == null)?this.dataSetName = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetName"):this.dataSetName); + } + + public com.kscs.util.jaxb.Selector> dataSetWriterProperties() { + return ((this.dataSetWriterProperties == null)?this.dataSetWriterProperties = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetWriterProperties"):this.dataSetWriterProperties); + } + + public com.kscs.util.jaxb.Selector> transportSettings() { + return ((this.transportSettings == null)?this.transportSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "transportSettings"):this.transportSettings); + } + + public com.kscs.util.jaxb.Selector> messageSettings() { + return ((this.messageSettings == null)?this.messageSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "messageSettings"):this.messageSettings); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterMessageDataType.java new file mode 100644 index 000000000..ddb313050 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterMessageDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetWriterMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetWriterMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetWriterMessageDataType") +@XmlSeeAlso({ + UadpDataSetWriterMessageDataType.class, + JsonDataSetWriterMessageDataType.class +}) +public class DataSetWriterMessageDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetWriterMessageDataType.Builder<_B> _other) { + } + + public<_B >DataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DataSetWriterMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetWriterMessageDataType.Builder builder() { + return new DataSetWriterMessageDataType.Builder(null, null, false); + } + + public static<_B >DataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other) { + final DataSetWriterMessageDataType.Builder<_B> _newBuilder = new DataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetWriterMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >DataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataSetWriterMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetWriterMessageDataType.Builder<_B> _newBuilder = new DataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetWriterMessageDataType.Builder copyExcept(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetWriterMessageDataType.Builder copyOnly(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataSetWriterMessageDataType _storedValue; + + public Builder(final _B _parentBuilder, final DataSetWriterMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataSetWriterMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataSetWriterMessageDataType >_P init(final _P _product) { + return _product; + } + + @Override + public DataSetWriterMessageDataType build() { + if (_storedValue == null) { + return this.init(new DataSetWriterMessageDataType()); + } else { + return ((DataSetWriterMessageDataType) _storedValue); + } + } + + public DataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetWriterMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetWriterMessageDataType.Select _root() { + return new DataSetWriterMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterTransportDataType.java new file mode 100644 index 000000000..59b148f29 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataSetWriterTransportDataType.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataSetWriterTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataSetWriterTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataSetWriterTransportDataType") +@XmlSeeAlso({ + BrokerDataSetWriterTransportDataType.class +}) +public class DataSetWriterTransportDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetWriterTransportDataType.Builder<_B> _other) { + } + + public<_B >DataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DataSetWriterTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataSetWriterTransportDataType.Builder builder() { + return new DataSetWriterTransportDataType.Builder(null, null, false); + } + + public static<_B >DataSetWriterTransportDataType.Builder<_B> copyOf(final DataSetWriterTransportDataType _other) { + final DataSetWriterTransportDataType.Builder<_B> _newBuilder = new DataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataSetWriterTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >DataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataSetWriterTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataSetWriterTransportDataType.Builder<_B> copyOf(final DataSetWriterTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataSetWriterTransportDataType.Builder<_B> _newBuilder = new DataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataSetWriterTransportDataType.Builder copyExcept(final DataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataSetWriterTransportDataType.Builder copyOnly(final DataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataSetWriterTransportDataType _storedValue; + + public Builder(final _B _parentBuilder, final DataSetWriterTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataSetWriterTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataSetWriterTransportDataType >_P init(final _P _product) { + return _product; + } + + @Override + public DataSetWriterTransportDataType build() { + if (_storedValue == null) { + return this.init(new DataSetWriterTransportDataType()); + } else { + return ((DataSetWriterTransportDataType) _storedValue); + } + } + + public DataSetWriterTransportDataType.Builder<_B> copyOf(final DataSetWriterTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public DataSetWriterTransportDataType.Builder<_B> copyOf(final DataSetWriterTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataSetWriterTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataSetWriterTransportDataType.Select _root() { + return new DataSetWriterTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeAttributes.java new file mode 100644 index 000000000..9aa9d89b1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeAttributes.java @@ -0,0 +1,335 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataTypeAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataTypeAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataTypeAttributes", propOrder = { + "isAbstract" +}) +public class DataTypeAttributes + extends NodeAttributes +{ + + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.isAbstract = this.isAbstract; + } + + @Override + public<_B >DataTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataTypeAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DataTypeAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataTypeAttributes.Builder builder() { + return new DataTypeAttributes.Builder(null, null, false); + } + + public static<_B >DataTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final DataTypeAttributes.Builder<_B> _newBuilder = new DataTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DataTypeAttributes.Builder<_B> copyOf(final DataTypeAttributes _other) { + final DataTypeAttributes.Builder<_B> _newBuilder = new DataTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + } + + @Override + public<_B >DataTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataTypeAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DataTypeAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeAttributes.Builder<_B> _newBuilder = new DataTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DataTypeAttributes.Builder<_B> copyOf(final DataTypeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeAttributes.Builder<_B> _newBuilder = new DataTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataTypeAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeAttributes.Builder copyExcept(final DataTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DataTypeAttributes.Builder copyOnly(final DataTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Boolean isAbstract; + + public Builder(final _B _parentBuilder, final DataTypeAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isAbstract = _other.isAbstract; + } + } + + public Builder(final _B _parentBuilder, final DataTypeAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + } + } + + protected<_P extends DataTypeAttributes >_P init(final _P _product) { + _product.isAbstract = this.isAbstract; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public DataTypeAttributes.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public DataTypeAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public DataTypeAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public DataTypeAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public DataTypeAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public DataTypeAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public DataTypeAttributes build() { + if (_storedValue == null) { + return this.init(new DataTypeAttributes()); + } else { + return ((DataTypeAttributes) _storedValue); + } + } + + public DataTypeAttributes.Builder<_B> copyOf(final DataTypeAttributes _other) { + _other.copyTo(this); + return this; + } + + public DataTypeAttributes.Builder<_B> copyOf(final DataTypeAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataTypeAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataTypeAttributes.Select _root() { + return new DataTypeAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> isAbstract = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDefinition.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDefinition.java new file mode 100644 index 000000000..a6c2b7aec --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDefinition.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataTypeDefinition complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataTypeDefinition">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataTypeDefinition") +@XmlSeeAlso({ + StructureDefinition.class, + EnumDefinition.class +}) +public class DataTypeDefinition { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeDefinition.Builder<_B> _other) { + } + + public<_B >DataTypeDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataTypeDefinition.Builder<_B>(_parentBuilder, this, true); + } + + public DataTypeDefinition.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataTypeDefinition.Builder builder() { + return new DataTypeDefinition.Builder(null, null, false); + } + + public static<_B >DataTypeDefinition.Builder<_B> copyOf(final DataTypeDefinition _other) { + final DataTypeDefinition.Builder<_B> _newBuilder = new DataTypeDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeDefinition.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >DataTypeDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataTypeDefinition.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataTypeDefinition.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataTypeDefinition.Builder<_B> copyOf(final DataTypeDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeDefinition.Builder<_B> _newBuilder = new DataTypeDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataTypeDefinition.Builder copyExcept(final DataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeDefinition.Builder copyOnly(final DataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataTypeDefinition _storedValue; + + public Builder(final _B _parentBuilder, final DataTypeDefinition _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataTypeDefinition _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataTypeDefinition >_P init(final _P _product) { + return _product; + } + + @Override + public DataTypeDefinition build() { + if (_storedValue == null) { + return this.init(new DataTypeDefinition()); + } else { + return ((DataTypeDefinition) _storedValue); + } + } + + public DataTypeDefinition.Builder<_B> copyOf(final DataTypeDefinition _other) { + _other.copyTo(this); + return this; + } + + public DataTypeDefinition.Builder<_B> copyOf(final DataTypeDefinition.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataTypeDefinition.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataTypeDefinition.Select _root() { + return new DataTypeDefinition.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDescription.java new file mode 100644 index 000000000..e8e9bd7a1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeDescription.java @@ -0,0 +1,326 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataTypeDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataTypeDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Name" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataTypeDescription", propOrder = { + "dataTypeId", + "name" +}) +@XmlSeeAlso({ + StructureDescription.class, + EnumDescription.class, + SimpleTypeDescription.class +}) +public class DataTypeDescription { + + @XmlElementRef(name = "DataTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataTypeId; + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + + /** + * Ruft den Wert der dataTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataTypeId() { + return dataTypeId; + } + + /** + * Legt den Wert der dataTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataTypeId(JAXBElement value) { + this.dataTypeId = value; + } + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeDescription.Builder<_B> _other) { + _other.dataTypeId = this.dataTypeId; + _other.name = this.name; + } + + public<_B >DataTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataTypeDescription.Builder<_B>(_parentBuilder, this, true); + } + + public DataTypeDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataTypeDescription.Builder builder() { + return new DataTypeDescription.Builder(null, null, false); + } + + public static<_B >DataTypeDescription.Builder<_B> copyOf(final DataTypeDescription _other) { + final DataTypeDescription.Builder<_B> _newBuilder = new DataTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeIdPropertyTree!= null):((dataTypeIdPropertyTree == null)||(!dataTypeIdPropertyTree.isLeaf())))) { + _other.dataTypeId = this.dataTypeId; + } + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + } + + public<_B >DataTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataTypeDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataTypeDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataTypeDescription.Builder<_B> copyOf(final DataTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeDescription.Builder<_B> _newBuilder = new DataTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataTypeDescription.Builder copyExcept(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeDescription.Builder copyOnly(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataTypeDescription _storedValue; + private JAXBElement dataTypeId; + private JAXBElement name; + + public Builder(final _B _parentBuilder, final DataTypeDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.dataTypeId = _other.dataTypeId; + this.name = _other.name; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataTypeDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeIdPropertyTree!= null):((dataTypeIdPropertyTree == null)||(!dataTypeIdPropertyTree.isLeaf())))) { + this.dataTypeId = _other.dataTypeId; + } + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataTypeDescription >_P init(final _P _product) { + _product.dataTypeId = this.dataTypeId; + _product.name = this.name; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataTypeId + * Neuer Wert der Eigenschaft "dataTypeId". + */ + public DataTypeDescription.Builder<_B> withDataTypeId(final JAXBElement dataTypeId) { + this.dataTypeId = dataTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public DataTypeDescription.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + @Override + public DataTypeDescription build() { + if (_storedValue == null) { + return this.init(new DataTypeDescription()); + } else { + return ((DataTypeDescription) _storedValue); + } + } + + public DataTypeDescription.Builder<_B> copyOf(final DataTypeDescription _other) { + _other.copyTo(this); + return this; + } + + public DataTypeDescription.Builder<_B> copyOf(final DataTypeDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataTypeDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataTypeDescription.Select _root() { + return new DataTypeDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> dataTypeId = null; + private com.kscs.util.jaxb.Selector> name = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataTypeId!= null) { + products.put("dataTypeId", this.dataTypeId.init()); + } + if (this.name!= null) { + products.put("name", this.name.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dataTypeId() { + return ((this.dataTypeId == null)?this.dataTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "dataTypeId"):this.dataTypeId); + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeNode.java new file mode 100644 index 000000000..37be86890 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeNode.java @@ -0,0 +1,494 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataTypeNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataTypeNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}TypeNode">
+ *       <sequence>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="DataTypeDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataTypeNode", propOrder = { + "isAbstract", + "dataTypeDefinition" +}) +public class DataTypeNode + extends TypeNode +{ + + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + @XmlElementRef(name = "DataTypeDefinition", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataTypeDefinition; + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Ruft den Wert der dataTypeDefinition-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getDataTypeDefinition() { + return dataTypeDefinition; + } + + /** + * Legt den Wert der dataTypeDefinition-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setDataTypeDefinition(JAXBElement value) { + this.dataTypeDefinition = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeNode.Builder<_B> _other) { + super.copyTo(_other); + _other.isAbstract = this.isAbstract; + _other.dataTypeDefinition = this.dataTypeDefinition; + } + + @Override + public<_B >DataTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataTypeNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DataTypeNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataTypeNode.Builder builder() { + return new DataTypeNode.Builder(null, null, false); + } + + public static<_B >DataTypeNode.Builder<_B> copyOf(final Node _other) { + final DataTypeNode.Builder<_B> _newBuilder = new DataTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DataTypeNode.Builder<_B> copyOf(final TypeNode _other) { + final DataTypeNode.Builder<_B> _newBuilder = new DataTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DataTypeNode.Builder<_B> copyOf(final DataTypeNode _other) { + final DataTypeNode.Builder<_B> _newBuilder = new DataTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + final PropertyTree dataTypeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeDefinitionPropertyTree!= null):((dataTypeDefinitionPropertyTree == null)||(!dataTypeDefinitionPropertyTree.isLeaf())))) { + _other.dataTypeDefinition = this.dataTypeDefinition; + } + } + + @Override + public<_B >DataTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataTypeNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DataTypeNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataTypeNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeNode.Builder<_B> _newBuilder = new DataTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DataTypeNode.Builder<_B> copyOf(final TypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeNode.Builder<_B> _newBuilder = new DataTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DataTypeNode.Builder<_B> copyOf(final DataTypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeNode.Builder<_B> _newBuilder = new DataTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataTypeNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeNode.Builder copyExcept(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeNode.Builder copyExcept(final DataTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DataTypeNode.Builder copyOnly(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DataTypeNode.Builder copyOnly(final DataTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends TypeNode.Builder<_B> + implements Buildable + { + + private Boolean isAbstract; + private JAXBElement dataTypeDefinition; + + public Builder(final _B _parentBuilder, final DataTypeNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isAbstract = _other.isAbstract; + this.dataTypeDefinition = _other.dataTypeDefinition; + } + } + + public Builder(final _B _parentBuilder, final DataTypeNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + final PropertyTree dataTypeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeDefinitionPropertyTree!= null):((dataTypeDefinitionPropertyTree == null)||(!dataTypeDefinitionPropertyTree.isLeaf())))) { + this.dataTypeDefinition = _other.dataTypeDefinition; + } + } + } + + protected<_P extends DataTypeNode >_P init(final _P _product) { + _product.isAbstract = this.isAbstract; + _product.dataTypeDefinition = this.dataTypeDefinition; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public DataTypeNode.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeDefinition" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeDefinition + * Neuer Wert der Eigenschaft "dataTypeDefinition". + */ + public DataTypeNode.Builder<_B> withDataTypeDefinition(final JAXBElement dataTypeDefinition) { + this.dataTypeDefinition = dataTypeDefinition; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public DataTypeNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public DataTypeNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public DataTypeNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public DataTypeNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public DataTypeNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public DataTypeNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public DataTypeNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public DataTypeNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public DataTypeNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public DataTypeNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public DataTypeNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public DataTypeNode build() { + if (_storedValue == null) { + return this.init(new DataTypeNode()); + } else { + return ((DataTypeNode) _storedValue); + } + } + + public DataTypeNode.Builder<_B> copyOf(final DataTypeNode _other) { + _other.copyTo(this); + return this; + } + + public DataTypeNode.Builder<_B> copyOf(final DataTypeNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataTypeNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataTypeNode.Select _root() { + return new DataTypeNode.Select(); + } + + } + + public static class Selector , TParent > + extends TypeNode.Selector + { + + private com.kscs.util.jaxb.Selector> isAbstract = null; + private com.kscs.util.jaxb.Selector> dataTypeDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + if (this.dataTypeDefinition!= null) { + products.put("dataTypeDefinition", this.dataTypeDefinition.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + public com.kscs.util.jaxb.Selector> dataTypeDefinition() { + return ((this.dataTypeDefinition == null)?this.dataTypeDefinition = new com.kscs.util.jaxb.Selector>(this._root, this, "dataTypeDefinition"):this.dataTypeDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeSchemaHeader.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeSchemaHeader.java new file mode 100644 index 000000000..a350534e3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataTypeSchemaHeader.java @@ -0,0 +1,445 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataTypeSchemaHeader complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataTypeSchemaHeader">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Namespaces" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="StructureDataTypes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStructureDescription" minOccurs="0"/>
+ *         <element name="EnumDataTypes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEnumDescription" minOccurs="0"/>
+ *         <element name="SimpleDataTypes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfSimpleTypeDescription" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataTypeSchemaHeader", propOrder = { + "namespaces", + "structureDataTypes", + "enumDataTypes", + "simpleDataTypes" +}) +@XmlSeeAlso({ + UABinaryFileDataType.class, + DataSetMetaDataType.class +}) +public class DataTypeSchemaHeader { + + @XmlElementRef(name = "Namespaces", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement namespaces; + @XmlElementRef(name = "StructureDataTypes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement structureDataTypes; + @XmlElementRef(name = "EnumDataTypes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement enumDataTypes; + @XmlElementRef(name = "SimpleDataTypes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement simpleDataTypes; + + /** + * Ruft den Wert der namespaces-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getNamespaces() { + return namespaces; + } + + /** + * Legt den Wert der namespaces-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setNamespaces(JAXBElement value) { + this.namespaces = value; + } + + /** + * Ruft den Wert der structureDataTypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStructureDescription }{@code >} + * + */ + public JAXBElement getStructureDataTypes() { + return structureDataTypes; + } + + /** + * Legt den Wert der structureDataTypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStructureDescription }{@code >} + * + */ + public void setStructureDataTypes(JAXBElement value) { + this.structureDataTypes = value; + } + + /** + * Ruft den Wert der enumDataTypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEnumDescription }{@code >} + * + */ + public JAXBElement getEnumDataTypes() { + return enumDataTypes; + } + + /** + * Legt den Wert der enumDataTypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEnumDescription }{@code >} + * + */ + public void setEnumDataTypes(JAXBElement value) { + this.enumDataTypes = value; + } + + /** + * Ruft den Wert der simpleDataTypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfSimpleTypeDescription }{@code >} + * + */ + public JAXBElement getSimpleDataTypes() { + return simpleDataTypes; + } + + /** + * Legt den Wert der simpleDataTypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfSimpleTypeDescription }{@code >} + * + */ + public void setSimpleDataTypes(JAXBElement value) { + this.simpleDataTypes = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeSchemaHeader.Builder<_B> _other) { + _other.namespaces = this.namespaces; + _other.structureDataTypes = this.structureDataTypes; + _other.enumDataTypes = this.enumDataTypes; + _other.simpleDataTypes = this.simpleDataTypes; + } + + public<_B >DataTypeSchemaHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataTypeSchemaHeader.Builder<_B>(_parentBuilder, this, true); + } + + public DataTypeSchemaHeader.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataTypeSchemaHeader.Builder builder() { + return new DataTypeSchemaHeader.Builder(null, null, false); + } + + public static<_B >DataTypeSchemaHeader.Builder<_B> copyOf(final DataTypeSchemaHeader _other) { + final DataTypeSchemaHeader.Builder<_B> _newBuilder = new DataTypeSchemaHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataTypeSchemaHeader.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namespacesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaces")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespacesPropertyTree!= null):((namespacesPropertyTree == null)||(!namespacesPropertyTree.isLeaf())))) { + _other.namespaces = this.namespaces; + } + final PropertyTree structureDataTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDataTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDataTypesPropertyTree!= null):((structureDataTypesPropertyTree == null)||(!structureDataTypesPropertyTree.isLeaf())))) { + _other.structureDataTypes = this.structureDataTypes; + } + final PropertyTree enumDataTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDataTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDataTypesPropertyTree!= null):((enumDataTypesPropertyTree == null)||(!enumDataTypesPropertyTree.isLeaf())))) { + _other.enumDataTypes = this.enumDataTypes; + } + final PropertyTree simpleDataTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("simpleDataTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(simpleDataTypesPropertyTree!= null):((simpleDataTypesPropertyTree == null)||(!simpleDataTypesPropertyTree.isLeaf())))) { + _other.simpleDataTypes = this.simpleDataTypes; + } + } + + public<_B >DataTypeSchemaHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataTypeSchemaHeader.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataTypeSchemaHeader.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataTypeSchemaHeader.Builder<_B> copyOf(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataTypeSchemaHeader.Builder<_B> _newBuilder = new DataTypeSchemaHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataTypeSchemaHeader.Builder copyExcept(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataTypeSchemaHeader.Builder copyOnly(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataTypeSchemaHeader _storedValue; + private JAXBElement namespaces; + private JAXBElement structureDataTypes; + private JAXBElement enumDataTypes; + private JAXBElement simpleDataTypes; + + public Builder(final _B _parentBuilder, final DataTypeSchemaHeader _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.namespaces = _other.namespaces; + this.structureDataTypes = _other.structureDataTypes; + this.enumDataTypes = _other.enumDataTypes; + this.simpleDataTypes = _other.simpleDataTypes; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataTypeSchemaHeader _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namespacesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaces")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespacesPropertyTree!= null):((namespacesPropertyTree == null)||(!namespacesPropertyTree.isLeaf())))) { + this.namespaces = _other.namespaces; + } + final PropertyTree structureDataTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDataTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDataTypesPropertyTree!= null):((structureDataTypesPropertyTree == null)||(!structureDataTypesPropertyTree.isLeaf())))) { + this.structureDataTypes = _other.structureDataTypes; + } + final PropertyTree enumDataTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDataTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDataTypesPropertyTree!= null):((enumDataTypesPropertyTree == null)||(!enumDataTypesPropertyTree.isLeaf())))) { + this.enumDataTypes = _other.enumDataTypes; + } + final PropertyTree simpleDataTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("simpleDataTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(simpleDataTypesPropertyTree!= null):((simpleDataTypesPropertyTree == null)||(!simpleDataTypesPropertyTree.isLeaf())))) { + this.simpleDataTypes = _other.simpleDataTypes; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataTypeSchemaHeader >_P init(final _P _product) { + _product.namespaces = this.namespaces; + _product.structureDataTypes = this.structureDataTypes; + _product.enumDataTypes = this.enumDataTypes; + _product.simpleDataTypes = this.simpleDataTypes; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaces" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param namespaces + * Neuer Wert der Eigenschaft "namespaces". + */ + public DataTypeSchemaHeader.Builder<_B> withNamespaces(final JAXBElement namespaces) { + this.namespaces = namespaces; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDataTypes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDataTypes + * Neuer Wert der Eigenschaft "structureDataTypes". + */ + public DataTypeSchemaHeader.Builder<_B> withStructureDataTypes(final JAXBElement structureDataTypes) { + this.structureDataTypes = structureDataTypes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDataTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDataTypes + * Neuer Wert der Eigenschaft "enumDataTypes". + */ + public DataTypeSchemaHeader.Builder<_B> withEnumDataTypes(final JAXBElement enumDataTypes) { + this.enumDataTypes = enumDataTypes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleDataTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param simpleDataTypes + * Neuer Wert der Eigenschaft "simpleDataTypes". + */ + public DataTypeSchemaHeader.Builder<_B> withSimpleDataTypes(final JAXBElement simpleDataTypes) { + this.simpleDataTypes = simpleDataTypes; + return this; + } + + @Override + public DataTypeSchemaHeader build() { + if (_storedValue == null) { + return this.init(new DataTypeSchemaHeader()); + } else { + return ((DataTypeSchemaHeader) _storedValue); + } + } + + public DataTypeSchemaHeader.Builder<_B> copyOf(final DataTypeSchemaHeader _other) { + _other.copyTo(this); + return this; + } + + public DataTypeSchemaHeader.Builder<_B> copyOf(final DataTypeSchemaHeader.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataTypeSchemaHeader.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataTypeSchemaHeader.Select _root() { + return new DataTypeSchemaHeader.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> namespaces = null; + private com.kscs.util.jaxb.Selector> structureDataTypes = null; + private com.kscs.util.jaxb.Selector> enumDataTypes = null; + private com.kscs.util.jaxb.Selector> simpleDataTypes = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.namespaces!= null) { + products.put("namespaces", this.namespaces.init()); + } + if (this.structureDataTypes!= null) { + products.put("structureDataTypes", this.structureDataTypes.init()); + } + if (this.enumDataTypes!= null) { + products.put("enumDataTypes", this.enumDataTypes.init()); + } + if (this.simpleDataTypes!= null) { + products.put("simpleDataTypes", this.simpleDataTypes.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> namespaces() { + return ((this.namespaces == null)?this.namespaces = new com.kscs.util.jaxb.Selector>(this._root, this, "namespaces"):this.namespaces); + } + + public com.kscs.util.jaxb.Selector> structureDataTypes() { + return ((this.structureDataTypes == null)?this.structureDataTypes = new com.kscs.util.jaxb.Selector>(this._root, this, "structureDataTypes"):this.structureDataTypes); + } + + public com.kscs.util.jaxb.Selector> enumDataTypes() { + return ((this.enumDataTypes == null)?this.enumDataTypes = new com.kscs.util.jaxb.Selector>(this._root, this, "enumDataTypes"):this.enumDataTypes); + } + + public com.kscs.util.jaxb.Selector> simpleDataTypes() { + return ((this.simpleDataTypes == null)?this.simpleDataTypes = new com.kscs.util.jaxb.Selector>(this._root, this, "simpleDataTypes"):this.simpleDataTypes); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataValue.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataValue.java new file mode 100644 index 000000000..ece80301b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DataValue.java @@ -0,0 +1,601 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DataValue complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DataValue">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="SourceTimestamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="SourcePicoseconds" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="ServerTimestamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="ServerPicoseconds" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataValue", propOrder = { + "value", + "statusCode", + "sourceTimestamp", + "sourcePicoseconds", + "serverTimestamp", + "serverPicoseconds" +}) +public class DataValue { + + @XmlElement(name = "Value") + protected Variant value; + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElement(name = "SourceTimestamp") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar sourceTimestamp; + @XmlElement(name = "SourcePicoseconds") + @XmlSchemaType(name = "unsignedShort") + protected Integer sourcePicoseconds; + @XmlElement(name = "ServerTimestamp") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar serverTimestamp; + @XmlElement(name = "ServerPicoseconds") + @XmlSchemaType(name = "unsignedShort") + protected Integer serverPicoseconds; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der sourceTimestamp-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getSourceTimestamp() { + return sourceTimestamp; + } + + /** + * Legt den Wert der sourceTimestamp-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setSourceTimestamp(XMLGregorianCalendar value) { + this.sourceTimestamp = value; + } + + /** + * Ruft den Wert der sourcePicoseconds-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getSourcePicoseconds() { + return sourcePicoseconds; + } + + /** + * Legt den Wert der sourcePicoseconds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setSourcePicoseconds(Integer value) { + this.sourcePicoseconds = value; + } + + /** + * Ruft den Wert der serverTimestamp-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getServerTimestamp() { + return serverTimestamp; + } + + /** + * Legt den Wert der serverTimestamp-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setServerTimestamp(XMLGregorianCalendar value) { + this.serverTimestamp = value; + } + + /** + * Ruft den Wert der serverPicoseconds-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getServerPicoseconds() { + return serverPicoseconds; + } + + /** + * Legt den Wert der serverPicoseconds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setServerPicoseconds(Integer value) { + this.serverPicoseconds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataValue.Builder<_B> _other) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.sourceTimestamp = ((this.sourceTimestamp == null)?null:((XMLGregorianCalendar) this.sourceTimestamp.clone())); + _other.sourcePicoseconds = this.sourcePicoseconds; + _other.serverTimestamp = ((this.serverTimestamp == null)?null:((XMLGregorianCalendar) this.serverTimestamp.clone())); + _other.serverPicoseconds = this.serverPicoseconds; + } + + public<_B >DataValue.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DataValue.Builder<_B>(_parentBuilder, this, true); + } + + public DataValue.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DataValue.Builder builder() { + return new DataValue.Builder(null, null, false); + } + + public static<_B >DataValue.Builder<_B> copyOf(final DataValue _other) { + final DataValue.Builder<_B> _newBuilder = new DataValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DataValue.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree sourceTimestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourceTimestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourceTimestampPropertyTree!= null):((sourceTimestampPropertyTree == null)||(!sourceTimestampPropertyTree.isLeaf())))) { + _other.sourceTimestamp = ((this.sourceTimestamp == null)?null:((XMLGregorianCalendar) this.sourceTimestamp.clone())); + } + final PropertyTree sourcePicosecondsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourcePicoseconds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourcePicosecondsPropertyTree!= null):((sourcePicosecondsPropertyTree == null)||(!sourcePicosecondsPropertyTree.isLeaf())))) { + _other.sourcePicoseconds = this.sourcePicoseconds; + } + final PropertyTree serverTimestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverTimestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverTimestampPropertyTree!= null):((serverTimestampPropertyTree == null)||(!serverTimestampPropertyTree.isLeaf())))) { + _other.serverTimestamp = ((this.serverTimestamp == null)?null:((XMLGregorianCalendar) this.serverTimestamp.clone())); + } + final PropertyTree serverPicosecondsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverPicoseconds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPicosecondsPropertyTree!= null):((serverPicosecondsPropertyTree == null)||(!serverPicosecondsPropertyTree.isLeaf())))) { + _other.serverPicoseconds = this.serverPicoseconds; + } + } + + public<_B >DataValue.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DataValue.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DataValue.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DataValue.Builder<_B> copyOf(final DataValue _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DataValue.Builder<_B> _newBuilder = new DataValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DataValue.Builder copyExcept(final DataValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DataValue.Builder copyOnly(final DataValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DataValue _storedValue; + private Variant.Builder> value; + private StatusCode.Builder> statusCode; + private XMLGregorianCalendar sourceTimestamp; + private Integer sourcePicoseconds; + private XMLGregorianCalendar serverTimestamp; + private Integer serverPicoseconds; + + public Builder(final _B _parentBuilder, final DataValue _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.sourceTimestamp = ((_other.sourceTimestamp == null)?null:((XMLGregorianCalendar) _other.sourceTimestamp.clone())); + this.sourcePicoseconds = _other.sourcePicoseconds; + this.serverTimestamp = ((_other.serverTimestamp == null)?null:((XMLGregorianCalendar) _other.serverTimestamp.clone())); + this.serverPicoseconds = _other.serverPicoseconds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DataValue _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree sourceTimestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourceTimestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourceTimestampPropertyTree!= null):((sourceTimestampPropertyTree == null)||(!sourceTimestampPropertyTree.isLeaf())))) { + this.sourceTimestamp = ((_other.sourceTimestamp == null)?null:((XMLGregorianCalendar) _other.sourceTimestamp.clone())); + } + final PropertyTree sourcePicosecondsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourcePicoseconds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourcePicosecondsPropertyTree!= null):((sourcePicosecondsPropertyTree == null)||(!sourcePicosecondsPropertyTree.isLeaf())))) { + this.sourcePicoseconds = _other.sourcePicoseconds; + } + final PropertyTree serverTimestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverTimestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverTimestampPropertyTree!= null):((serverTimestampPropertyTree == null)||(!serverTimestampPropertyTree.isLeaf())))) { + this.serverTimestamp = ((_other.serverTimestamp == null)?null:((XMLGregorianCalendar) _other.serverTimestamp.clone())); + } + final PropertyTree serverPicosecondsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverPicoseconds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPicosecondsPropertyTree!= null):((serverPicosecondsPropertyTree == null)||(!serverPicosecondsPropertyTree.isLeaf())))) { + this.serverPicoseconds = _other.serverPicoseconds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DataValue >_P init(final _P _product) { + _product.value = ((this.value == null)?null:this.value.build()); + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.sourceTimestamp = this.sourceTimestamp; + _product.sourcePicoseconds = this.sourcePicoseconds; + _product.serverTimestamp = this.serverTimestamp; + _product.serverPicoseconds = this.serverPicoseconds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public DataValue.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public DataValue.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "sourceTimestamp" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sourceTimestamp + * Neuer Wert der Eigenschaft "sourceTimestamp". + */ + public DataValue.Builder<_B> withSourceTimestamp(final XMLGregorianCalendar sourceTimestamp) { + this.sourceTimestamp = sourceTimestamp; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sourcePicoseconds" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param sourcePicoseconds + * Neuer Wert der Eigenschaft "sourcePicoseconds". + */ + public DataValue.Builder<_B> withSourcePicoseconds(final Integer sourcePicoseconds) { + this.sourcePicoseconds = sourcePicoseconds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverTimestamp" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverTimestamp + * Neuer Wert der Eigenschaft "serverTimestamp". + */ + public DataValue.Builder<_B> withServerTimestamp(final XMLGregorianCalendar serverTimestamp) { + this.serverTimestamp = serverTimestamp; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverPicoseconds" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param serverPicoseconds + * Neuer Wert der Eigenschaft "serverPicoseconds". + */ + public DataValue.Builder<_B> withServerPicoseconds(final Integer serverPicoseconds) { + this.serverPicoseconds = serverPicoseconds; + return this; + } + + @Override + public DataValue build() { + if (_storedValue == null) { + return this.init(new DataValue()); + } else { + return ((DataValue) _storedValue); + } + } + + public DataValue.Builder<_B> copyOf(final DataValue _other) { + _other.copyTo(this); + return this; + } + + public DataValue.Builder<_B> copyOf(final DataValue.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DataValue.Selector + { + + + Select() { + super(null, null, null); + } + + public static DataValue.Select _root() { + return new DataValue.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Variant.Selector> value = null; + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> sourceTimestamp = null; + private com.kscs.util.jaxb.Selector> sourcePicoseconds = null; + private com.kscs.util.jaxb.Selector> serverTimestamp = null; + private com.kscs.util.jaxb.Selector> serverPicoseconds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.sourceTimestamp!= null) { + products.put("sourceTimestamp", this.sourceTimestamp.init()); + } + if (this.sourcePicoseconds!= null) { + products.put("sourcePicoseconds", this.sourcePicoseconds.init()); + } + if (this.serverTimestamp!= null) { + products.put("serverTimestamp", this.serverTimestamp.init()); + } + if (this.serverPicoseconds!= null) { + products.put("serverPicoseconds", this.serverPicoseconds.init()); + } + return products; + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> sourceTimestamp() { + return ((this.sourceTimestamp == null)?this.sourceTimestamp = new com.kscs.util.jaxb.Selector>(this._root, this, "sourceTimestamp"):this.sourceTimestamp); + } + + public com.kscs.util.jaxb.Selector> sourcePicoseconds() { + return ((this.sourcePicoseconds == null)?this.sourcePicoseconds = new com.kscs.util.jaxb.Selector>(this._root, this, "sourcePicoseconds"):this.sourcePicoseconds); + } + + public com.kscs.util.jaxb.Selector> serverTimestamp() { + return ((this.serverTimestamp == null)?this.serverTimestamp = new com.kscs.util.jaxb.Selector>(this._root, this, "serverTimestamp"):this.serverTimestamp); + } + + public com.kscs.util.jaxb.Selector> serverPicoseconds() { + return ((this.serverPicoseconds == null)?this.serverPicoseconds = new com.kscs.util.jaxb.Selector>(this._root, this, "serverPicoseconds"):this.serverPicoseconds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramConnectionTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramConnectionTransportDataType.java new file mode 100644 index 000000000..e90835a1f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramConnectionTransportDataType.java @@ -0,0 +1,270 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DatagramConnectionTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DatagramConnectionTransportDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}ConnectionTransportDataType">
+ *       <sequence>
+ *         <element name="DiscoveryAddress" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DatagramConnectionTransportDataType", propOrder = { + "discoveryAddress" +}) +public class DatagramConnectionTransportDataType + extends ConnectionTransportDataType +{ + + @XmlElementRef(name = "DiscoveryAddress", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement discoveryAddress; + + /** + * Ruft den Wert der discoveryAddress-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getDiscoveryAddress() { + return discoveryAddress; + } + + /** + * Legt den Wert der discoveryAddress-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setDiscoveryAddress(JAXBElement value) { + this.discoveryAddress = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DatagramConnectionTransportDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.discoveryAddress = this.discoveryAddress; + } + + @Override + public<_B >DatagramConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DatagramConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DatagramConnectionTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DatagramConnectionTransportDataType.Builder builder() { + return new DatagramConnectionTransportDataType.Builder(null, null, false); + } + + public static<_B >DatagramConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other) { + final DatagramConnectionTransportDataType.Builder<_B> _newBuilder = new DatagramConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DatagramConnectionTransportDataType.Builder<_B> copyOf(final DatagramConnectionTransportDataType _other) { + final DatagramConnectionTransportDataType.Builder<_B> _newBuilder = new DatagramConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DatagramConnectionTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree discoveryAddressPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryAddress")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryAddressPropertyTree!= null):((discoveryAddressPropertyTree == null)||(!discoveryAddressPropertyTree.isLeaf())))) { + _other.discoveryAddress = this.discoveryAddress; + } + } + + @Override + public<_B >DatagramConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DatagramConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DatagramConnectionTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DatagramConnectionTransportDataType.Builder<_B> copyOf(final ConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DatagramConnectionTransportDataType.Builder<_B> _newBuilder = new DatagramConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DatagramConnectionTransportDataType.Builder<_B> copyOf(final DatagramConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DatagramConnectionTransportDataType.Builder<_B> _newBuilder = new DatagramConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DatagramConnectionTransportDataType.Builder copyExcept(final ConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DatagramConnectionTransportDataType.Builder copyExcept(final DatagramConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DatagramConnectionTransportDataType.Builder copyOnly(final ConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DatagramConnectionTransportDataType.Builder copyOnly(final DatagramConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends ConnectionTransportDataType.Builder<_B> + implements Buildable + { + + private JAXBElement discoveryAddress; + + public Builder(final _B _parentBuilder, final DatagramConnectionTransportDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.discoveryAddress = _other.discoveryAddress; + } + } + + public Builder(final _B _parentBuilder, final DatagramConnectionTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree discoveryAddressPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryAddress")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryAddressPropertyTree!= null):((discoveryAddressPropertyTree == null)||(!discoveryAddressPropertyTree.isLeaf())))) { + this.discoveryAddress = _other.discoveryAddress; + } + } + } + + protected<_P extends DatagramConnectionTransportDataType >_P init(final _P _product) { + _product.discoveryAddress = this.discoveryAddress; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "discoveryAddress" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param discoveryAddress + * Neuer Wert der Eigenschaft "discoveryAddress". + */ + public DatagramConnectionTransportDataType.Builder<_B> withDiscoveryAddress(final JAXBElement discoveryAddress) { + this.discoveryAddress = discoveryAddress; + return this; + } + + @Override + public DatagramConnectionTransportDataType build() { + if (_storedValue == null) { + return this.init(new DatagramConnectionTransportDataType()); + } else { + return ((DatagramConnectionTransportDataType) _storedValue); + } + } + + public DatagramConnectionTransportDataType.Builder<_B> copyOf(final DatagramConnectionTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public DatagramConnectionTransportDataType.Builder<_B> copyOf(final DatagramConnectionTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DatagramConnectionTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DatagramConnectionTransportDataType.Select _root() { + return new DatagramConnectionTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends ConnectionTransportDataType.Selector + { + + private com.kscs.util.jaxb.Selector> discoveryAddress = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.discoveryAddress!= null) { + products.put("discoveryAddress", this.discoveryAddress.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> discoveryAddress() { + return ((this.discoveryAddress == null)?this.discoveryAddress = new com.kscs.util.jaxb.Selector>(this._root, this, "discoveryAddress"):this.discoveryAddress); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramWriterGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramWriterGroupTransportDataType.java new file mode 100644 index 000000000..b4764a3a3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DatagramWriterGroupTransportDataType.java @@ -0,0 +1,331 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DatagramWriterGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DatagramWriterGroupTransportDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupTransportDataType">
+ *       <sequence>
+ *         <element name="MessageRepeatCount" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="MessageRepeatDelay" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DatagramWriterGroupTransportDataType", propOrder = { + "messageRepeatCount", + "messageRepeatDelay" +}) +public class DatagramWriterGroupTransportDataType + extends WriterGroupTransportDataType +{ + + @XmlElement(name = "MessageRepeatCount") + @XmlSchemaType(name = "unsignedByte") + protected Short messageRepeatCount; + @XmlElement(name = "MessageRepeatDelay") + protected Double messageRepeatDelay; + + /** + * Ruft den Wert der messageRepeatCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getMessageRepeatCount() { + return messageRepeatCount; + } + + /** + * Legt den Wert der messageRepeatCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setMessageRepeatCount(Short value) { + this.messageRepeatCount = value; + } + + /** + * Ruft den Wert der messageRepeatDelay-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getMessageRepeatDelay() { + return messageRepeatDelay; + } + + /** + * Legt den Wert der messageRepeatDelay-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setMessageRepeatDelay(Double value) { + this.messageRepeatDelay = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DatagramWriterGroupTransportDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.messageRepeatCount = this.messageRepeatCount; + _other.messageRepeatDelay = this.messageRepeatDelay; + } + + @Override + public<_B >DatagramWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DatagramWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DatagramWriterGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DatagramWriterGroupTransportDataType.Builder builder() { + return new DatagramWriterGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >DatagramWriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other) { + final DatagramWriterGroupTransportDataType.Builder<_B> _newBuilder = new DatagramWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DatagramWriterGroupTransportDataType.Builder<_B> copyOf(final DatagramWriterGroupTransportDataType _other) { + final DatagramWriterGroupTransportDataType.Builder<_B> _newBuilder = new DatagramWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DatagramWriterGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree messageRepeatCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageRepeatCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageRepeatCountPropertyTree!= null):((messageRepeatCountPropertyTree == null)||(!messageRepeatCountPropertyTree.isLeaf())))) { + _other.messageRepeatCount = this.messageRepeatCount; + } + final PropertyTree messageRepeatDelayPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageRepeatDelay")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageRepeatDelayPropertyTree!= null):((messageRepeatDelayPropertyTree == null)||(!messageRepeatDelayPropertyTree.isLeaf())))) { + _other.messageRepeatDelay = this.messageRepeatDelay; + } + } + + @Override + public<_B >DatagramWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DatagramWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DatagramWriterGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DatagramWriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DatagramWriterGroupTransportDataType.Builder<_B> _newBuilder = new DatagramWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DatagramWriterGroupTransportDataType.Builder<_B> copyOf(final DatagramWriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DatagramWriterGroupTransportDataType.Builder<_B> _newBuilder = new DatagramWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DatagramWriterGroupTransportDataType.Builder copyExcept(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DatagramWriterGroupTransportDataType.Builder copyExcept(final DatagramWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DatagramWriterGroupTransportDataType.Builder copyOnly(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DatagramWriterGroupTransportDataType.Builder copyOnly(final DatagramWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends WriterGroupTransportDataType.Builder<_B> + implements Buildable + { + + private Short messageRepeatCount; + private Double messageRepeatDelay; + + public Builder(final _B _parentBuilder, final DatagramWriterGroupTransportDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.messageRepeatCount = _other.messageRepeatCount; + this.messageRepeatDelay = _other.messageRepeatDelay; + } + } + + public Builder(final _B _parentBuilder, final DatagramWriterGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree messageRepeatCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageRepeatCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageRepeatCountPropertyTree!= null):((messageRepeatCountPropertyTree == null)||(!messageRepeatCountPropertyTree.isLeaf())))) { + this.messageRepeatCount = _other.messageRepeatCount; + } + final PropertyTree messageRepeatDelayPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageRepeatDelay")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageRepeatDelayPropertyTree!= null):((messageRepeatDelayPropertyTree == null)||(!messageRepeatDelayPropertyTree.isLeaf())))) { + this.messageRepeatDelay = _other.messageRepeatDelay; + } + } + } + + protected<_P extends DatagramWriterGroupTransportDataType >_P init(final _P _product) { + _product.messageRepeatCount = this.messageRepeatCount; + _product.messageRepeatDelay = this.messageRepeatDelay; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageRepeatCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param messageRepeatCount + * Neuer Wert der Eigenschaft "messageRepeatCount". + */ + public DatagramWriterGroupTransportDataType.Builder<_B> withMessageRepeatCount(final Short messageRepeatCount) { + this.messageRepeatCount = messageRepeatCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageRepeatDelay" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param messageRepeatDelay + * Neuer Wert der Eigenschaft "messageRepeatDelay". + */ + public DatagramWriterGroupTransportDataType.Builder<_B> withMessageRepeatDelay(final Double messageRepeatDelay) { + this.messageRepeatDelay = messageRepeatDelay; + return this; + } + + @Override + public DatagramWriterGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new DatagramWriterGroupTransportDataType()); + } else { + return ((DatagramWriterGroupTransportDataType) _storedValue); + } + } + + public DatagramWriterGroupTransportDataType.Builder<_B> copyOf(final DatagramWriterGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public DatagramWriterGroupTransportDataType.Builder<_B> copyOf(final DatagramWriterGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DatagramWriterGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DatagramWriterGroupTransportDataType.Select _root() { + return new DatagramWriterGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends WriterGroupTransportDataType.Selector + { + + private com.kscs.util.jaxb.Selector> messageRepeatCount = null; + private com.kscs.util.jaxb.Selector> messageRepeatDelay = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.messageRepeatCount!= null) { + products.put("messageRepeatCount", this.messageRepeatCount.init()); + } + if (this.messageRepeatDelay!= null) { + products.put("messageRepeatDelay", this.messageRepeatDelay.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> messageRepeatCount() { + return ((this.messageRepeatCount == null)?this.messageRepeatCount = new com.kscs.util.jaxb.Selector>(this._root, this, "messageRepeatCount"):this.messageRepeatCount); + } + + public com.kscs.util.jaxb.Selector> messageRepeatDelay() { + return ((this.messageRepeatDelay == null)?this.messageRepeatDelay = new com.kscs.util.jaxb.Selector>(this._root, this, "messageRepeatDelay"):this.messageRepeatDelay); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeadbandType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeadbandType.java new file mode 100644 index 000000000..7aade0008 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeadbandType.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für DeadbandType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="DeadbandType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="None_0"/>
+ *     <enumeration value="Absolute_1"/>
+ *     <enumeration value="Percent_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "DeadbandType") +@XmlEnum +public enum DeadbandType { + + @XmlEnumValue("None_0") + NONE_0("None_0"), + @XmlEnumValue("Absolute_1") + ABSOLUTE_1("Absolute_1"), + @XmlEnumValue("Percent_2") + PERCENT_2("Percent_2"); + private final String value; + + DeadbandType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static DeadbandType fromValue(String v) { + for (DeadbandType c: DeadbandType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DecimalDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DecimalDataType.java new file mode 100644 index 000000000..56ac7a482 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DecimalDataType.java @@ -0,0 +1,321 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DecimalDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DecimalDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Scale" type="{http://www.w3.org/2001/XMLSchema}short" minOccurs="0"/>
+ *         <element name="Value" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DecimalDataType", propOrder = { + "scale", + "value" +}) +public class DecimalDataType { + + @XmlElement(name = "Scale") + protected Short scale; + @XmlElementRef(name = "Value", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement value; + + /** + * Ruft den Wert der scale-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getScale() { + return scale; + } + + /** + * Legt den Wert der scale-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setScale(Short value) { + this.scale = value; + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setValue(JAXBElement value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DecimalDataType.Builder<_B> _other) { + _other.scale = this.scale; + _other.value = this.value; + } + + public<_B >DecimalDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DecimalDataType.Builder<_B>(_parentBuilder, this, true); + } + + public DecimalDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DecimalDataType.Builder builder() { + return new DecimalDataType.Builder(null, null, false); + } + + public static<_B >DecimalDataType.Builder<_B> copyOf(final DecimalDataType _other) { + final DecimalDataType.Builder<_B> _newBuilder = new DecimalDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DecimalDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree scalePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("scale")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(scalePropertyTree!= null):((scalePropertyTree == null)||(!scalePropertyTree.isLeaf())))) { + _other.scale = this.scale; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + } + + public<_B >DecimalDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DecimalDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DecimalDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DecimalDataType.Builder<_B> copyOf(final DecimalDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DecimalDataType.Builder<_B> _newBuilder = new DecimalDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DecimalDataType.Builder copyExcept(final DecimalDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DecimalDataType.Builder copyOnly(final DecimalDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DecimalDataType _storedValue; + private Short scale; + private JAXBElement value; + + public Builder(final _B _parentBuilder, final DecimalDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.scale = _other.scale; + this.value = _other.value; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DecimalDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree scalePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("scale")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(scalePropertyTree!= null):((scalePropertyTree == null)||(!scalePropertyTree.isLeaf())))) { + this.scale = _other.scale; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DecimalDataType >_P init(final _P _product) { + _product.scale = this.scale; + _product.value = this.value; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "scale" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param scale + * Neuer Wert der Eigenschaft "scale". + */ + public DecimalDataType.Builder<_B> withScale(final Short scale) { + this.scale = scale; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public DecimalDataType.Builder<_B> withValue(final JAXBElement value) { + this.value = value; + return this; + } + + @Override + public DecimalDataType build() { + if (_storedValue == null) { + return this.init(new DecimalDataType()); + } else { + return ((DecimalDataType) _storedValue); + } + } + + public DecimalDataType.Builder<_B> copyOf(final DecimalDataType _other) { + _other.copyTo(this); + return this; + } + + public DecimalDataType.Builder<_B> copyOf(final DecimalDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DecimalDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DecimalDataType.Select _root() { + return new DecimalDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> scale = null; + private com.kscs.util.jaxb.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.scale!= null) { + products.put("scale", this.scale.init()); + } + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> scale() { + return ((this.scale == null)?this.scale = new com.kscs.util.jaxb.Selector>(this._root, this, "scale"):this.scale); + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteAtTimeDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteAtTimeDetails.java new file mode 100644 index 000000000..e2f5748f3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteAtTimeDetails.java @@ -0,0 +1,283 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteAtTimeDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteAtTimeDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateDetails">
+ *       <sequence>
+ *         <element name="ReqTimes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDateTime" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteAtTimeDetails", propOrder = { + "reqTimes" +}) +public class DeleteAtTimeDetails + extends HistoryUpdateDetails +{ + + @XmlElementRef(name = "ReqTimes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement reqTimes; + + /** + * Ruft den Wert der reqTimes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + */ + public JAXBElement getReqTimes() { + return reqTimes; + } + + /** + * Legt den Wert der reqTimes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + */ + public void setReqTimes(JAXBElement value) { + this.reqTimes = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteAtTimeDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.reqTimes = this.reqTimes; + } + + @Override + public<_B >DeleteAtTimeDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteAtTimeDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DeleteAtTimeDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteAtTimeDetails.Builder builder() { + return new DeleteAtTimeDetails.Builder(null, null, false); + } + + public static<_B >DeleteAtTimeDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final DeleteAtTimeDetails.Builder<_B> _newBuilder = new DeleteAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DeleteAtTimeDetails.Builder<_B> copyOf(final DeleteAtTimeDetails _other) { + final DeleteAtTimeDetails.Builder<_B> _newBuilder = new DeleteAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteAtTimeDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree reqTimesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("reqTimes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(reqTimesPropertyTree!= null):((reqTimesPropertyTree == null)||(!reqTimesPropertyTree.isLeaf())))) { + _other.reqTimes = this.reqTimes; + } + } + + @Override + public<_B >DeleteAtTimeDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteAtTimeDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DeleteAtTimeDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteAtTimeDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteAtTimeDetails.Builder<_B> _newBuilder = new DeleteAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DeleteAtTimeDetails.Builder<_B> copyOf(final DeleteAtTimeDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteAtTimeDetails.Builder<_B> _newBuilder = new DeleteAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteAtTimeDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteAtTimeDetails.Builder copyExcept(final DeleteAtTimeDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteAtTimeDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DeleteAtTimeDetails.Builder copyOnly(final DeleteAtTimeDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryUpdateDetails.Builder<_B> + implements Buildable + { + + private JAXBElement reqTimes; + + public Builder(final _B _parentBuilder, final DeleteAtTimeDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.reqTimes = _other.reqTimes; + } + } + + public Builder(final _B _parentBuilder, final DeleteAtTimeDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree reqTimesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("reqTimes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(reqTimesPropertyTree!= null):((reqTimesPropertyTree == null)||(!reqTimesPropertyTree.isLeaf())))) { + this.reqTimes = _other.reqTimes; + } + } + } + + protected<_P extends DeleteAtTimeDetails >_P init(final _P _product) { + _product.reqTimes = this.reqTimes; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "reqTimes" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param reqTimes + * Neuer Wert der Eigenschaft "reqTimes". + */ + public DeleteAtTimeDetails.Builder<_B> withReqTimes(final JAXBElement reqTimes) { + this.reqTimes = reqTimes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public DeleteAtTimeDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + @Override + public DeleteAtTimeDetails build() { + if (_storedValue == null) { + return this.init(new DeleteAtTimeDetails()); + } else { + return ((DeleteAtTimeDetails) _storedValue); + } + } + + public DeleteAtTimeDetails.Builder<_B> copyOf(final DeleteAtTimeDetails _other) { + _other.copyTo(this); + return this; + } + + public DeleteAtTimeDetails.Builder<_B> copyOf(final DeleteAtTimeDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteAtTimeDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteAtTimeDetails.Select _root() { + return new DeleteAtTimeDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryUpdateDetails.Selector + { + + private com.kscs.util.jaxb.Selector> reqTimes = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.reqTimes!= null) { + products.put("reqTimes", this.reqTimes.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> reqTimes() { + return ((this.reqTimes == null)?this.reqTimes = new com.kscs.util.jaxb.Selector>(this._root, this, "reqTimes"):this.reqTimes); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteEventDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteEventDetails.java new file mode 100644 index 000000000..29ce3461c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteEventDetails.java @@ -0,0 +1,283 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteEventDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteEventDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateDetails">
+ *       <sequence>
+ *         <element name="EventIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfByteString" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteEventDetails", propOrder = { + "eventIds" +}) +public class DeleteEventDetails + extends HistoryUpdateDetails +{ + + @XmlElementRef(name = "EventIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement eventIds; + + /** + * Ruft den Wert der eventIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public JAXBElement getEventIds() { + return eventIds; + } + + /** + * Legt den Wert der eventIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public void setEventIds(JAXBElement value) { + this.eventIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteEventDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.eventIds = this.eventIds; + } + + @Override + public<_B >DeleteEventDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteEventDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DeleteEventDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteEventDetails.Builder builder() { + return new DeleteEventDetails.Builder(null, null, false); + } + + public static<_B >DeleteEventDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final DeleteEventDetails.Builder<_B> _newBuilder = new DeleteEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DeleteEventDetails.Builder<_B> copyOf(final DeleteEventDetails _other) { + final DeleteEventDetails.Builder<_B> _newBuilder = new DeleteEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteEventDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree eventIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventIdsPropertyTree!= null):((eventIdsPropertyTree == null)||(!eventIdsPropertyTree.isLeaf())))) { + _other.eventIds = this.eventIds; + } + } + + @Override + public<_B >DeleteEventDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteEventDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DeleteEventDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteEventDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteEventDetails.Builder<_B> _newBuilder = new DeleteEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DeleteEventDetails.Builder<_B> copyOf(final DeleteEventDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteEventDetails.Builder<_B> _newBuilder = new DeleteEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteEventDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteEventDetails.Builder copyExcept(final DeleteEventDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteEventDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DeleteEventDetails.Builder copyOnly(final DeleteEventDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryUpdateDetails.Builder<_B> + implements Buildable + { + + private JAXBElement eventIds; + + public Builder(final _B _parentBuilder, final DeleteEventDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.eventIds = _other.eventIds; + } + } + + public Builder(final _B _parentBuilder, final DeleteEventDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree eventIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventIdsPropertyTree!= null):((eventIdsPropertyTree == null)||(!eventIdsPropertyTree.isLeaf())))) { + this.eventIds = _other.eventIds; + } + } + } + + protected<_P extends DeleteEventDetails >_P init(final _P _product) { + _product.eventIds = this.eventIds; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param eventIds + * Neuer Wert der Eigenschaft "eventIds". + */ + public DeleteEventDetails.Builder<_B> withEventIds(final JAXBElement eventIds) { + this.eventIds = eventIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public DeleteEventDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + @Override + public DeleteEventDetails build() { + if (_storedValue == null) { + return this.init(new DeleteEventDetails()); + } else { + return ((DeleteEventDetails) _storedValue); + } + } + + public DeleteEventDetails.Builder<_B> copyOf(final DeleteEventDetails _other) { + _other.copyTo(this); + return this; + } + + public DeleteEventDetails.Builder<_B> copyOf(final DeleteEventDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteEventDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteEventDetails.Select _root() { + return new DeleteEventDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryUpdateDetails.Selector + { + + private com.kscs.util.jaxb.Selector> eventIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.eventIds!= null) { + products.put("eventIds", this.eventIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> eventIds() { + return ((this.eventIds == null)?this.eventIds = new com.kscs.util.jaxb.Selector>(this._root, this, "eventIds"):this.eventIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsRequest.java new file mode 100644 index 000000000..4c82eae6c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsRequest.java @@ -0,0 +1,383 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteMonitoredItemsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteMonitoredItemsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MonitoredItemIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteMonitoredItemsRequest", propOrder = { + "requestHeader", + "subscriptionId", + "monitoredItemIds" +}) +public class DeleteMonitoredItemsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElementRef(name = "MonitoredItemIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement monitoredItemIds; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der monitoredItemIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getMonitoredItemIds() { + return monitoredItemIds; + } + + /** + * Legt den Wert der monitoredItemIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setMonitoredItemIds(JAXBElement value) { + this.monitoredItemIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteMonitoredItemsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.monitoredItemIds = this.monitoredItemIds; + } + + public<_B >DeleteMonitoredItemsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteMonitoredItemsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteMonitoredItemsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteMonitoredItemsRequest.Builder builder() { + return new DeleteMonitoredItemsRequest.Builder(null, null, false); + } + + public static<_B >DeleteMonitoredItemsRequest.Builder<_B> copyOf(final DeleteMonitoredItemsRequest _other) { + final DeleteMonitoredItemsRequest.Builder<_B> _newBuilder = new DeleteMonitoredItemsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteMonitoredItemsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree monitoredItemIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdsPropertyTree!= null):((monitoredItemIdsPropertyTree == null)||(!monitoredItemIdsPropertyTree.isLeaf())))) { + _other.monitoredItemIds = this.monitoredItemIds; + } + } + + public<_B >DeleteMonitoredItemsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteMonitoredItemsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteMonitoredItemsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteMonitoredItemsRequest.Builder<_B> copyOf(final DeleteMonitoredItemsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteMonitoredItemsRequest.Builder<_B> _newBuilder = new DeleteMonitoredItemsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteMonitoredItemsRequest.Builder copyExcept(final DeleteMonitoredItemsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteMonitoredItemsRequest.Builder copyOnly(final DeleteMonitoredItemsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteMonitoredItemsRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private JAXBElement monitoredItemIds; + + public Builder(final _B _parentBuilder, final DeleteMonitoredItemsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.monitoredItemIds = _other.monitoredItemIds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteMonitoredItemsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree monitoredItemIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdsPropertyTree!= null):((monitoredItemIdsPropertyTree == null)||(!monitoredItemIdsPropertyTree.isLeaf())))) { + this.monitoredItemIds = _other.monitoredItemIds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteMonitoredItemsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.monitoredItemIds = this.monitoredItemIds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public DeleteMonitoredItemsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public DeleteMonitoredItemsRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemIds" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param monitoredItemIds + * Neuer Wert der Eigenschaft "monitoredItemIds". + */ + public DeleteMonitoredItemsRequest.Builder<_B> withMonitoredItemIds(final JAXBElement monitoredItemIds) { + this.monitoredItemIds = monitoredItemIds; + return this; + } + + @Override + public DeleteMonitoredItemsRequest build() { + if (_storedValue == null) { + return this.init(new DeleteMonitoredItemsRequest()); + } else { + return ((DeleteMonitoredItemsRequest) _storedValue); + } + } + + public DeleteMonitoredItemsRequest.Builder<_B> copyOf(final DeleteMonitoredItemsRequest _other) { + _other.copyTo(this); + return this; + } + + public DeleteMonitoredItemsRequest.Builder<_B> copyOf(final DeleteMonitoredItemsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteMonitoredItemsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteMonitoredItemsRequest.Select _root() { + return new DeleteMonitoredItemsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> monitoredItemIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.monitoredItemIds!= null) { + products.put("monitoredItemIds", this.monitoredItemIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> monitoredItemIds() { + return ((this.monitoredItemIds == null)?this.monitoredItemIds = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItemIds"):this.monitoredItemIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsResponse.java new file mode 100644 index 000000000..ef4120f3c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteMonitoredItemsResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteMonitoredItemsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteMonitoredItemsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteMonitoredItemsResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class DeleteMonitoredItemsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteMonitoredItemsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >DeleteMonitoredItemsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteMonitoredItemsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteMonitoredItemsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteMonitoredItemsResponse.Builder builder() { + return new DeleteMonitoredItemsResponse.Builder(null, null, false); + } + + public static<_B >DeleteMonitoredItemsResponse.Builder<_B> copyOf(final DeleteMonitoredItemsResponse _other) { + final DeleteMonitoredItemsResponse.Builder<_B> _newBuilder = new DeleteMonitoredItemsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteMonitoredItemsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >DeleteMonitoredItemsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteMonitoredItemsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteMonitoredItemsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteMonitoredItemsResponse.Builder<_B> copyOf(final DeleteMonitoredItemsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteMonitoredItemsResponse.Builder<_B> _newBuilder = new DeleteMonitoredItemsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteMonitoredItemsResponse.Builder copyExcept(final DeleteMonitoredItemsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteMonitoredItemsResponse.Builder copyOnly(final DeleteMonitoredItemsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteMonitoredItemsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final DeleteMonitoredItemsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteMonitoredItemsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteMonitoredItemsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public DeleteMonitoredItemsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public DeleteMonitoredItemsResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public DeleteMonitoredItemsResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public DeleteMonitoredItemsResponse build() { + if (_storedValue == null) { + return this.init(new DeleteMonitoredItemsResponse()); + } else { + return ((DeleteMonitoredItemsResponse) _storedValue); + } + } + + public DeleteMonitoredItemsResponse.Builder<_B> copyOf(final DeleteMonitoredItemsResponse _other) { + _other.copyTo(this); + return this; + } + + public DeleteMonitoredItemsResponse.Builder<_B> copyOf(final DeleteMonitoredItemsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteMonitoredItemsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteMonitoredItemsResponse.Select _root() { + return new DeleteMonitoredItemsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesItem.java new file mode 100644 index 000000000..9b3e90912 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesItem.java @@ -0,0 +1,321 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteNodesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteNodesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="DeleteTargetReferences" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteNodesItem", propOrder = { + "nodeId", + "deleteTargetReferences" +}) +public class DeleteNodesItem { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElement(name = "DeleteTargetReferences") + protected Boolean deleteTargetReferences; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der deleteTargetReferences-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isDeleteTargetReferences() { + return deleteTargetReferences; + } + + /** + * Legt den Wert der deleteTargetReferences-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setDeleteTargetReferences(Boolean value) { + this.deleteTargetReferences = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteNodesItem.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.deleteTargetReferences = this.deleteTargetReferences; + } + + public<_B >DeleteNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteNodesItem.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteNodesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteNodesItem.Builder builder() { + return new DeleteNodesItem.Builder(null, null, false); + } + + public static<_B >DeleteNodesItem.Builder<_B> copyOf(final DeleteNodesItem _other) { + final DeleteNodesItem.Builder<_B> _newBuilder = new DeleteNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteNodesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree deleteTargetReferencesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteTargetReferences")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteTargetReferencesPropertyTree!= null):((deleteTargetReferencesPropertyTree == null)||(!deleteTargetReferencesPropertyTree.isLeaf())))) { + _other.deleteTargetReferences = this.deleteTargetReferences; + } + } + + public<_B >DeleteNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteNodesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteNodesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteNodesItem.Builder<_B> copyOf(final DeleteNodesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteNodesItem.Builder<_B> _newBuilder = new DeleteNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteNodesItem.Builder copyExcept(final DeleteNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteNodesItem.Builder copyOnly(final DeleteNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteNodesItem _storedValue; + private JAXBElement nodeId; + private Boolean deleteTargetReferences; + + public Builder(final _B _parentBuilder, final DeleteNodesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.deleteTargetReferences = _other.deleteTargetReferences; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteNodesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree deleteTargetReferencesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteTargetReferences")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteTargetReferencesPropertyTree!= null):((deleteTargetReferencesPropertyTree == null)||(!deleteTargetReferencesPropertyTree.isLeaf())))) { + this.deleteTargetReferences = _other.deleteTargetReferences; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteNodesItem >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.deleteTargetReferences = this.deleteTargetReferences; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public DeleteNodesItem.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteTargetReferences" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param deleteTargetReferences + * Neuer Wert der Eigenschaft "deleteTargetReferences". + */ + public DeleteNodesItem.Builder<_B> withDeleteTargetReferences(final Boolean deleteTargetReferences) { + this.deleteTargetReferences = deleteTargetReferences; + return this; + } + + @Override + public DeleteNodesItem build() { + if (_storedValue == null) { + return this.init(new DeleteNodesItem()); + } else { + return ((DeleteNodesItem) _storedValue); + } + } + + public DeleteNodesItem.Builder<_B> copyOf(final DeleteNodesItem _other) { + _other.copyTo(this); + return this; + } + + public DeleteNodesItem.Builder<_B> copyOf(final DeleteNodesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteNodesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteNodesItem.Select _root() { + return new DeleteNodesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> deleteTargetReferences = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.deleteTargetReferences!= null) { + products.put("deleteTargetReferences", this.deleteTargetReferences.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> deleteTargetReferences() { + return ((this.deleteTargetReferences == null)?this.deleteTargetReferences = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteTargetReferences"):this.deleteTargetReferences); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesRequest.java new file mode 100644 index 000000000..e52dc0c01 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteNodesRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteNodesRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="NodesToDelete" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDeleteNodesItem" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteNodesRequest", propOrder = { + "requestHeader", + "nodesToDelete" +}) +public class DeleteNodesRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "NodesToDelete", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToDelete; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der nodesToDelete-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDeleteNodesItem }{@code >} + * + */ + public JAXBElement getNodesToDelete() { + return nodesToDelete; + } + + /** + * Legt den Wert der nodesToDelete-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDeleteNodesItem }{@code >} + * + */ + public void setNodesToDelete(JAXBElement value) { + this.nodesToDelete = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteNodesRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.nodesToDelete = this.nodesToDelete; + } + + public<_B >DeleteNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteNodesRequest.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteNodesRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteNodesRequest.Builder builder() { + return new DeleteNodesRequest.Builder(null, null, false); + } + + public static<_B >DeleteNodesRequest.Builder<_B> copyOf(final DeleteNodesRequest _other) { + final DeleteNodesRequest.Builder<_B> _newBuilder = new DeleteNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteNodesRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree nodesToDeletePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToDelete")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToDeletePropertyTree!= null):((nodesToDeletePropertyTree == null)||(!nodesToDeletePropertyTree.isLeaf())))) { + _other.nodesToDelete = this.nodesToDelete; + } + } + + public<_B >DeleteNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteNodesRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteNodesRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteNodesRequest.Builder<_B> copyOf(final DeleteNodesRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteNodesRequest.Builder<_B> _newBuilder = new DeleteNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteNodesRequest.Builder copyExcept(final DeleteNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteNodesRequest.Builder copyOnly(final DeleteNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteNodesRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement nodesToDelete; + + public Builder(final _B _parentBuilder, final DeleteNodesRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.nodesToDelete = _other.nodesToDelete; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteNodesRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree nodesToDeletePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToDelete")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToDeletePropertyTree!= null):((nodesToDeletePropertyTree == null)||(!nodesToDeletePropertyTree.isLeaf())))) { + this.nodesToDelete = _other.nodesToDelete; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteNodesRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.nodesToDelete = this.nodesToDelete; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public DeleteNodesRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToDelete" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodesToDelete + * Neuer Wert der Eigenschaft "nodesToDelete". + */ + public DeleteNodesRequest.Builder<_B> withNodesToDelete(final JAXBElement nodesToDelete) { + this.nodesToDelete = nodesToDelete; + return this; + } + + @Override + public DeleteNodesRequest build() { + if (_storedValue == null) { + return this.init(new DeleteNodesRequest()); + } else { + return ((DeleteNodesRequest) _storedValue); + } + } + + public DeleteNodesRequest.Builder<_B> copyOf(final DeleteNodesRequest _other) { + _other.copyTo(this); + return this; + } + + public DeleteNodesRequest.Builder<_B> copyOf(final DeleteNodesRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteNodesRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteNodesRequest.Select _root() { + return new DeleteNodesRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> nodesToDelete = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.nodesToDelete!= null) { + products.put("nodesToDelete", this.nodesToDelete.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> nodesToDelete() { + return ((this.nodesToDelete == null)?this.nodesToDelete = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToDelete"):this.nodesToDelete); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesResponse.java new file mode 100644 index 000000000..ba5c3e9a3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteNodesResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteNodesResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteNodesResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteNodesResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class DeleteNodesResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteNodesResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >DeleteNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteNodesResponse.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteNodesResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteNodesResponse.Builder builder() { + return new DeleteNodesResponse.Builder(null, null, false); + } + + public static<_B >DeleteNodesResponse.Builder<_B> copyOf(final DeleteNodesResponse _other) { + final DeleteNodesResponse.Builder<_B> _newBuilder = new DeleteNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteNodesResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >DeleteNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteNodesResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteNodesResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteNodesResponse.Builder<_B> copyOf(final DeleteNodesResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteNodesResponse.Builder<_B> _newBuilder = new DeleteNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteNodesResponse.Builder copyExcept(final DeleteNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteNodesResponse.Builder copyOnly(final DeleteNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteNodesResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final DeleteNodesResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteNodesResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteNodesResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public DeleteNodesResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public DeleteNodesResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public DeleteNodesResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public DeleteNodesResponse build() { + if (_storedValue == null) { + return this.init(new DeleteNodesResponse()); + } else { + return ((DeleteNodesResponse) _storedValue); + } + } + + public DeleteNodesResponse.Builder<_B> copyOf(final DeleteNodesResponse _other) { + _other.copyTo(this); + return this; + } + + public DeleteNodesResponse.Builder<_B> copyOf(final DeleteNodesResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteNodesResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteNodesResponse.Select _root() { + return new DeleteNodesResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteRawModifiedDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteRawModifiedDetails.java new file mode 100644 index 000000000..87dc9d6c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteRawModifiedDetails.java @@ -0,0 +1,407 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteRawModifiedDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteRawModifiedDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateDetails">
+ *       <sequence>
+ *         <element name="IsDeleteModified" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="StartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="EndTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteRawModifiedDetails", propOrder = { + "isDeleteModified", + "startTime", + "endTime" +}) +public class DeleteRawModifiedDetails + extends HistoryUpdateDetails +{ + + @XmlElement(name = "IsDeleteModified") + protected Boolean isDeleteModified; + @XmlElement(name = "StartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar startTime; + @XmlElement(name = "EndTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar endTime; + + /** + * Ruft den Wert der isDeleteModified-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsDeleteModified() { + return isDeleteModified; + } + + /** + * Legt den Wert der isDeleteModified-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsDeleteModified(Boolean value) { + this.isDeleteModified = value; + } + + /** + * Ruft den Wert der startTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getStartTime() { + return startTime; + } + + /** + * Legt den Wert der startTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setStartTime(XMLGregorianCalendar value) { + this.startTime = value; + } + + /** + * Ruft den Wert der endTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getEndTime() { + return endTime; + } + + /** + * Legt den Wert der endTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setEndTime(XMLGregorianCalendar value) { + this.endTime = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteRawModifiedDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.isDeleteModified = this.isDeleteModified; + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + } + + @Override + public<_B >DeleteRawModifiedDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteRawModifiedDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public DeleteRawModifiedDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteRawModifiedDetails.Builder builder() { + return new DeleteRawModifiedDetails.Builder(null, null, false); + } + + public static<_B >DeleteRawModifiedDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final DeleteRawModifiedDetails.Builder<_B> _newBuilder = new DeleteRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >DeleteRawModifiedDetails.Builder<_B> copyOf(final DeleteRawModifiedDetails _other) { + final DeleteRawModifiedDetails.Builder<_B> _newBuilder = new DeleteRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteRawModifiedDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isDeleteModifiedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isDeleteModified")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isDeleteModifiedPropertyTree!= null):((isDeleteModifiedPropertyTree == null)||(!isDeleteModifiedPropertyTree.isLeaf())))) { + _other.isDeleteModified = this.isDeleteModified; + } + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + } + } + + @Override + public<_B >DeleteRawModifiedDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteRawModifiedDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public DeleteRawModifiedDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteRawModifiedDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteRawModifiedDetails.Builder<_B> _newBuilder = new DeleteRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >DeleteRawModifiedDetails.Builder<_B> copyOf(final DeleteRawModifiedDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteRawModifiedDetails.Builder<_B> _newBuilder = new DeleteRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteRawModifiedDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteRawModifiedDetails.Builder copyExcept(final DeleteRawModifiedDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteRawModifiedDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static DeleteRawModifiedDetails.Builder copyOnly(final DeleteRawModifiedDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryUpdateDetails.Builder<_B> + implements Buildable + { + + private Boolean isDeleteModified; + private XMLGregorianCalendar startTime; + private XMLGregorianCalendar endTime; + + public Builder(final _B _parentBuilder, final DeleteRawModifiedDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isDeleteModified = _other.isDeleteModified; + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + } + } + + public Builder(final _B _parentBuilder, final DeleteRawModifiedDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isDeleteModifiedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isDeleteModified")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isDeleteModifiedPropertyTree!= null):((isDeleteModifiedPropertyTree == null)||(!isDeleteModifiedPropertyTree.isLeaf())))) { + this.isDeleteModified = _other.isDeleteModified; + } + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + } + } + } + + protected<_P extends DeleteRawModifiedDetails >_P init(final _P _product) { + _product.isDeleteModified = this.isDeleteModified; + _product.startTime = this.startTime; + _product.endTime = this.endTime; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isDeleteModified" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param isDeleteModified + * Neuer Wert der Eigenschaft "isDeleteModified". + */ + public DeleteRawModifiedDetails.Builder<_B> withIsDeleteModified(final Boolean isDeleteModified) { + this.isDeleteModified = isDeleteModified; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "startTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param startTime + * Neuer Wert der Eigenschaft "startTime". + */ + public DeleteRawModifiedDetails.Builder<_B> withStartTime(final XMLGregorianCalendar startTime) { + this.startTime = startTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param endTime + * Neuer Wert der Eigenschaft "endTime". + */ + public DeleteRawModifiedDetails.Builder<_B> withEndTime(final XMLGregorianCalendar endTime) { + this.endTime = endTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public DeleteRawModifiedDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + @Override + public DeleteRawModifiedDetails build() { + if (_storedValue == null) { + return this.init(new DeleteRawModifiedDetails()); + } else { + return ((DeleteRawModifiedDetails) _storedValue); + } + } + + public DeleteRawModifiedDetails.Builder<_B> copyOf(final DeleteRawModifiedDetails _other) { + _other.copyTo(this); + return this; + } + + public DeleteRawModifiedDetails.Builder<_B> copyOf(final DeleteRawModifiedDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteRawModifiedDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteRawModifiedDetails.Select _root() { + return new DeleteRawModifiedDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryUpdateDetails.Selector + { + + private com.kscs.util.jaxb.Selector> isDeleteModified = null; + private com.kscs.util.jaxb.Selector> startTime = null; + private com.kscs.util.jaxb.Selector> endTime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isDeleteModified!= null) { + products.put("isDeleteModified", this.isDeleteModified.init()); + } + if (this.startTime!= null) { + products.put("startTime", this.startTime.init()); + } + if (this.endTime!= null) { + products.put("endTime", this.endTime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isDeleteModified() { + return ((this.isDeleteModified == null)?this.isDeleteModified = new com.kscs.util.jaxb.Selector>(this._root, this, "isDeleteModified"):this.isDeleteModified); + } + + public com.kscs.util.jaxb.Selector> startTime() { + return ((this.startTime == null)?this.startTime = new com.kscs.util.jaxb.Selector>(this._root, this, "startTime"):this.startTime); + } + + public com.kscs.util.jaxb.Selector> endTime() { + return ((this.endTime == null)?this.endTime = new com.kscs.util.jaxb.Selector>(this._root, this, "endTime"):this.endTime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesItem.java new file mode 100644 index 000000000..3ea4edd05 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesItem.java @@ -0,0 +1,501 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteReferencesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteReferencesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SourceNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IsForward" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="TargetNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="DeleteBidirectional" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteReferencesItem", propOrder = { + "sourceNodeId", + "referenceTypeId", + "isForward", + "targetNodeId", + "deleteBidirectional" +}) +public class DeleteReferencesItem { + + @XmlElementRef(name = "SourceNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sourceNodeId; + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IsForward") + protected Boolean isForward; + @XmlElementRef(name = "TargetNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetNodeId; + @XmlElement(name = "DeleteBidirectional") + protected Boolean deleteBidirectional; + + /** + * Ruft den Wert der sourceNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getSourceNodeId() { + return sourceNodeId; + } + + /** + * Legt den Wert der sourceNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setSourceNodeId(JAXBElement value) { + this.sourceNodeId = value; + } + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der isForward-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsForward() { + return isForward; + } + + /** + * Legt den Wert der isForward-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsForward(Boolean value) { + this.isForward = value; + } + + /** + * Ruft den Wert der targetNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTargetNodeId() { + return targetNodeId; + } + + /** + * Legt den Wert der targetNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTargetNodeId(JAXBElement value) { + this.targetNodeId = value; + } + + /** + * Ruft den Wert der deleteBidirectional-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isDeleteBidirectional() { + return deleteBidirectional; + } + + /** + * Legt den Wert der deleteBidirectional-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setDeleteBidirectional(Boolean value) { + this.deleteBidirectional = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteReferencesItem.Builder<_B> _other) { + _other.sourceNodeId = this.sourceNodeId; + _other.referenceTypeId = this.referenceTypeId; + _other.isForward = this.isForward; + _other.targetNodeId = this.targetNodeId; + _other.deleteBidirectional = this.deleteBidirectional; + } + + public<_B >DeleteReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteReferencesItem.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteReferencesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteReferencesItem.Builder builder() { + return new DeleteReferencesItem.Builder(null, null, false); + } + + public static<_B >DeleteReferencesItem.Builder<_B> copyOf(final DeleteReferencesItem _other) { + final DeleteReferencesItem.Builder<_B> _newBuilder = new DeleteReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteReferencesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sourceNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourceNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourceNodeIdPropertyTree!= null):((sourceNodeIdPropertyTree == null)||(!sourceNodeIdPropertyTree.isLeaf())))) { + _other.sourceNodeId = this.sourceNodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + _other.isForward = this.isForward; + } + final PropertyTree targetNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeIdPropertyTree!= null):((targetNodeIdPropertyTree == null)||(!targetNodeIdPropertyTree.isLeaf())))) { + _other.targetNodeId = this.targetNodeId; + } + final PropertyTree deleteBidirectionalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteBidirectional")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteBidirectionalPropertyTree!= null):((deleteBidirectionalPropertyTree == null)||(!deleteBidirectionalPropertyTree.isLeaf())))) { + _other.deleteBidirectional = this.deleteBidirectional; + } + } + + public<_B >DeleteReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteReferencesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteReferencesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteReferencesItem.Builder<_B> copyOf(final DeleteReferencesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteReferencesItem.Builder<_B> _newBuilder = new DeleteReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteReferencesItem.Builder copyExcept(final DeleteReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteReferencesItem.Builder copyOnly(final DeleteReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteReferencesItem _storedValue; + private JAXBElement sourceNodeId; + private JAXBElement referenceTypeId; + private Boolean isForward; + private JAXBElement targetNodeId; + private Boolean deleteBidirectional; + + public Builder(final _B _parentBuilder, final DeleteReferencesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.sourceNodeId = _other.sourceNodeId; + this.referenceTypeId = _other.referenceTypeId; + this.isForward = _other.isForward; + this.targetNodeId = _other.targetNodeId; + this.deleteBidirectional = _other.deleteBidirectional; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteReferencesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sourceNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sourceNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sourceNodeIdPropertyTree!= null):((sourceNodeIdPropertyTree == null)||(!sourceNodeIdPropertyTree.isLeaf())))) { + this.sourceNodeId = _other.sourceNodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + this.isForward = _other.isForward; + } + final PropertyTree targetNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeIdPropertyTree!= null):((targetNodeIdPropertyTree == null)||(!targetNodeIdPropertyTree.isLeaf())))) { + this.targetNodeId = _other.targetNodeId; + } + final PropertyTree deleteBidirectionalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteBidirectional")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteBidirectionalPropertyTree!= null):((deleteBidirectionalPropertyTree == null)||(!deleteBidirectionalPropertyTree.isLeaf())))) { + this.deleteBidirectional = _other.deleteBidirectional; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteReferencesItem >_P init(final _P _product) { + _product.sourceNodeId = this.sourceNodeId; + _product.referenceTypeId = this.referenceTypeId; + _product.isForward = this.isForward; + _product.targetNodeId = this.targetNodeId; + _product.deleteBidirectional = this.deleteBidirectional; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sourceNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sourceNodeId + * Neuer Wert der Eigenschaft "sourceNodeId". + */ + public DeleteReferencesItem.Builder<_B> withSourceNodeId(final JAXBElement sourceNodeId) { + this.sourceNodeId = sourceNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public DeleteReferencesItem.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isForward" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isForward + * Neuer Wert der Eigenschaft "isForward". + */ + public DeleteReferencesItem.Builder<_B> withIsForward(final Boolean isForward) { + this.isForward = isForward; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param targetNodeId + * Neuer Wert der Eigenschaft "targetNodeId". + */ + public DeleteReferencesItem.Builder<_B> withTargetNodeId(final JAXBElement targetNodeId) { + this.targetNodeId = targetNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteBidirectional" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param deleteBidirectional + * Neuer Wert der Eigenschaft "deleteBidirectional". + */ + public DeleteReferencesItem.Builder<_B> withDeleteBidirectional(final Boolean deleteBidirectional) { + this.deleteBidirectional = deleteBidirectional; + return this; + } + + @Override + public DeleteReferencesItem build() { + if (_storedValue == null) { + return this.init(new DeleteReferencesItem()); + } else { + return ((DeleteReferencesItem) _storedValue); + } + } + + public DeleteReferencesItem.Builder<_B> copyOf(final DeleteReferencesItem _other) { + _other.copyTo(this); + return this; + } + + public DeleteReferencesItem.Builder<_B> copyOf(final DeleteReferencesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteReferencesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteReferencesItem.Select _root() { + return new DeleteReferencesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sourceNodeId = null; + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> isForward = null; + private com.kscs.util.jaxb.Selector> targetNodeId = null; + private com.kscs.util.jaxb.Selector> deleteBidirectional = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sourceNodeId!= null) { + products.put("sourceNodeId", this.sourceNodeId.init()); + } + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.isForward!= null) { + products.put("isForward", this.isForward.init()); + } + if (this.targetNodeId!= null) { + products.put("targetNodeId", this.targetNodeId.init()); + } + if (this.deleteBidirectional!= null) { + products.put("deleteBidirectional", this.deleteBidirectional.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sourceNodeId() { + return ((this.sourceNodeId == null)?this.sourceNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "sourceNodeId"):this.sourceNodeId); + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> isForward() { + return ((this.isForward == null)?this.isForward = new com.kscs.util.jaxb.Selector>(this._root, this, "isForward"):this.isForward); + } + + public com.kscs.util.jaxb.Selector> targetNodeId() { + return ((this.targetNodeId == null)?this.targetNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "targetNodeId"):this.targetNodeId); + } + + public com.kscs.util.jaxb.Selector> deleteBidirectional() { + return ((this.deleteBidirectional == null)?this.deleteBidirectional = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteBidirectional"):this.deleteBidirectional); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesRequest.java new file mode 100644 index 000000000..6bccf501b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteReferencesRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteReferencesRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ReferencesToDelete" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDeleteReferencesItem" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteReferencesRequest", propOrder = { + "requestHeader", + "referencesToDelete" +}) +public class DeleteReferencesRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "ReferencesToDelete", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referencesToDelete; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der referencesToDelete-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDeleteReferencesItem }{@code >} + * + */ + public JAXBElement getReferencesToDelete() { + return referencesToDelete; + } + + /** + * Legt den Wert der referencesToDelete-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDeleteReferencesItem }{@code >} + * + */ + public void setReferencesToDelete(JAXBElement value) { + this.referencesToDelete = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteReferencesRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.referencesToDelete = this.referencesToDelete; + } + + public<_B >DeleteReferencesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteReferencesRequest.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteReferencesRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteReferencesRequest.Builder builder() { + return new DeleteReferencesRequest.Builder(null, null, false); + } + + public static<_B >DeleteReferencesRequest.Builder<_B> copyOf(final DeleteReferencesRequest _other) { + final DeleteReferencesRequest.Builder<_B> _newBuilder = new DeleteReferencesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteReferencesRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree referencesToDeletePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencesToDelete")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesToDeletePropertyTree!= null):((referencesToDeletePropertyTree == null)||(!referencesToDeletePropertyTree.isLeaf())))) { + _other.referencesToDelete = this.referencesToDelete; + } + } + + public<_B >DeleteReferencesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteReferencesRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteReferencesRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteReferencesRequest.Builder<_B> copyOf(final DeleteReferencesRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteReferencesRequest.Builder<_B> _newBuilder = new DeleteReferencesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteReferencesRequest.Builder copyExcept(final DeleteReferencesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteReferencesRequest.Builder copyOnly(final DeleteReferencesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteReferencesRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement referencesToDelete; + + public Builder(final _B _parentBuilder, final DeleteReferencesRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.referencesToDelete = _other.referencesToDelete; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteReferencesRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree referencesToDeletePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencesToDelete")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesToDeletePropertyTree!= null):((referencesToDeletePropertyTree == null)||(!referencesToDeletePropertyTree.isLeaf())))) { + this.referencesToDelete = _other.referencesToDelete; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteReferencesRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.referencesToDelete = this.referencesToDelete; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public DeleteReferencesRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referencesToDelete" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param referencesToDelete + * Neuer Wert der Eigenschaft "referencesToDelete". + */ + public DeleteReferencesRequest.Builder<_B> withReferencesToDelete(final JAXBElement referencesToDelete) { + this.referencesToDelete = referencesToDelete; + return this; + } + + @Override + public DeleteReferencesRequest build() { + if (_storedValue == null) { + return this.init(new DeleteReferencesRequest()); + } else { + return ((DeleteReferencesRequest) _storedValue); + } + } + + public DeleteReferencesRequest.Builder<_B> copyOf(final DeleteReferencesRequest _other) { + _other.copyTo(this); + return this; + } + + public DeleteReferencesRequest.Builder<_B> copyOf(final DeleteReferencesRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteReferencesRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteReferencesRequest.Select _root() { + return new DeleteReferencesRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> referencesToDelete = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.referencesToDelete!= null) { + products.put("referencesToDelete", this.referencesToDelete.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> referencesToDelete() { + return ((this.referencesToDelete == null)?this.referencesToDelete = new com.kscs.util.jaxb.Selector>(this._root, this, "referencesToDelete"):this.referencesToDelete); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesResponse.java new file mode 100644 index 000000000..cce8465ea --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteReferencesResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteReferencesResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteReferencesResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteReferencesResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class DeleteReferencesResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteReferencesResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >DeleteReferencesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteReferencesResponse.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteReferencesResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteReferencesResponse.Builder builder() { + return new DeleteReferencesResponse.Builder(null, null, false); + } + + public static<_B >DeleteReferencesResponse.Builder<_B> copyOf(final DeleteReferencesResponse _other) { + final DeleteReferencesResponse.Builder<_B> _newBuilder = new DeleteReferencesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteReferencesResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >DeleteReferencesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteReferencesResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteReferencesResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteReferencesResponse.Builder<_B> copyOf(final DeleteReferencesResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteReferencesResponse.Builder<_B> _newBuilder = new DeleteReferencesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteReferencesResponse.Builder copyExcept(final DeleteReferencesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteReferencesResponse.Builder copyOnly(final DeleteReferencesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteReferencesResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final DeleteReferencesResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteReferencesResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteReferencesResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public DeleteReferencesResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public DeleteReferencesResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public DeleteReferencesResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public DeleteReferencesResponse build() { + if (_storedValue == null) { + return this.init(new DeleteReferencesResponse()); + } else { + return ((DeleteReferencesResponse) _storedValue); + } + } + + public DeleteReferencesResponse.Builder<_B> copyOf(final DeleteReferencesResponse _other) { + _other.copyTo(this); + return this; + } + + public DeleteReferencesResponse.Builder<_B> copyOf(final DeleteReferencesResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteReferencesResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteReferencesResponse.Select _root() { + return new DeleteReferencesResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsRequest.java new file mode 100644 index 000000000..3c69c2486 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteSubscriptionsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteSubscriptionsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteSubscriptionsRequest", propOrder = { + "requestHeader", + "subscriptionIds" +}) +public class DeleteSubscriptionsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "SubscriptionIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement subscriptionIds; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getSubscriptionIds() { + return subscriptionIds; + } + + /** + * Legt den Wert der subscriptionIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setSubscriptionIds(JAXBElement value) { + this.subscriptionIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteSubscriptionsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionIds = this.subscriptionIds; + } + + public<_B >DeleteSubscriptionsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteSubscriptionsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteSubscriptionsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteSubscriptionsRequest.Builder builder() { + return new DeleteSubscriptionsRequest.Builder(null, null, false); + } + + public static<_B >DeleteSubscriptionsRequest.Builder<_B> copyOf(final DeleteSubscriptionsRequest _other) { + final DeleteSubscriptionsRequest.Builder<_B> _newBuilder = new DeleteSubscriptionsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteSubscriptionsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdsPropertyTree!= null):((subscriptionIdsPropertyTree == null)||(!subscriptionIdsPropertyTree.isLeaf())))) { + _other.subscriptionIds = this.subscriptionIds; + } + } + + public<_B >DeleteSubscriptionsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteSubscriptionsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteSubscriptionsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteSubscriptionsRequest.Builder<_B> copyOf(final DeleteSubscriptionsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteSubscriptionsRequest.Builder<_B> _newBuilder = new DeleteSubscriptionsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteSubscriptionsRequest.Builder copyExcept(final DeleteSubscriptionsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteSubscriptionsRequest.Builder copyOnly(final DeleteSubscriptionsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteSubscriptionsRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement subscriptionIds; + + public Builder(final _B _parentBuilder, final DeleteSubscriptionsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionIds = _other.subscriptionIds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteSubscriptionsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdsPropertyTree!= null):((subscriptionIdsPropertyTree == null)||(!subscriptionIdsPropertyTree.isLeaf())))) { + this.subscriptionIds = _other.subscriptionIds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteSubscriptionsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionIds = this.subscriptionIds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public DeleteSubscriptionsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionIds" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionIds + * Neuer Wert der Eigenschaft "subscriptionIds". + */ + public DeleteSubscriptionsRequest.Builder<_B> withSubscriptionIds(final JAXBElement subscriptionIds) { + this.subscriptionIds = subscriptionIds; + return this; + } + + @Override + public DeleteSubscriptionsRequest build() { + if (_storedValue == null) { + return this.init(new DeleteSubscriptionsRequest()); + } else { + return ((DeleteSubscriptionsRequest) _storedValue); + } + } + + public DeleteSubscriptionsRequest.Builder<_B> copyOf(final DeleteSubscriptionsRequest _other) { + _other.copyTo(this); + return this; + } + + public DeleteSubscriptionsRequest.Builder<_B> copyOf(final DeleteSubscriptionsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteSubscriptionsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteSubscriptionsRequest.Select _root() { + return new DeleteSubscriptionsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionIds!= null) { + products.put("subscriptionIds", this.subscriptionIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionIds() { + return ((this.subscriptionIds == null)?this.subscriptionIds = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionIds"):this.subscriptionIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsResponse.java new file mode 100644 index 000000000..a92180d08 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DeleteSubscriptionsResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DeleteSubscriptionsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeleteSubscriptionsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeleteSubscriptionsResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class DeleteSubscriptionsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteSubscriptionsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >DeleteSubscriptionsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DeleteSubscriptionsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public DeleteSubscriptionsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DeleteSubscriptionsResponse.Builder builder() { + return new DeleteSubscriptionsResponse.Builder(null, null, false); + } + + public static<_B >DeleteSubscriptionsResponse.Builder<_B> copyOf(final DeleteSubscriptionsResponse _other) { + final DeleteSubscriptionsResponse.Builder<_B> _newBuilder = new DeleteSubscriptionsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DeleteSubscriptionsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >DeleteSubscriptionsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DeleteSubscriptionsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DeleteSubscriptionsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DeleteSubscriptionsResponse.Builder<_B> copyOf(final DeleteSubscriptionsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DeleteSubscriptionsResponse.Builder<_B> _newBuilder = new DeleteSubscriptionsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DeleteSubscriptionsResponse.Builder copyExcept(final DeleteSubscriptionsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DeleteSubscriptionsResponse.Builder copyOnly(final DeleteSubscriptionsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DeleteSubscriptionsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final DeleteSubscriptionsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DeleteSubscriptionsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DeleteSubscriptionsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public DeleteSubscriptionsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public DeleteSubscriptionsResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public DeleteSubscriptionsResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public DeleteSubscriptionsResponse build() { + if (_storedValue == null) { + return this.init(new DeleteSubscriptionsResponse()); + } else { + return ((DeleteSubscriptionsResponse) _storedValue); + } + } + + public DeleteSubscriptionsResponse.Builder<_B> copyOf(final DeleteSubscriptionsResponse _other) { + _other.copyTo(this); + return this; + } + + public DeleteSubscriptionsResponse.Builder<_B> copyOf(final DeleteSubscriptionsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DeleteSubscriptionsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static DeleteSubscriptionsResponse.Select _root() { + return new DeleteSubscriptionsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticInfo.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticInfo.java new file mode 100644 index 000000000..a0c612d87 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticInfo.java @@ -0,0 +1,657 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DiagnosticInfo complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DiagnosticInfo">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SymbolicId" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="NamespaceUri" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="Locale" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="LocalizedText" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="AdditionalInfo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="InnerStatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="InnerDiagnosticInfo" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DiagnosticInfo", propOrder = { + "symbolicId", + "namespaceUri", + "locale", + "localizedText", + "additionalInfo", + "innerStatusCode", + "innerDiagnosticInfo" +}) +public class DiagnosticInfo { + + @XmlElement(name = "SymbolicId") + protected Integer symbolicId; + @XmlElement(name = "NamespaceUri") + protected Integer namespaceUri; + @XmlElement(name = "Locale") + protected Integer locale; + @XmlElement(name = "LocalizedText") + protected Integer localizedText; + @XmlElement(name = "AdditionalInfo") + protected String additionalInfo; + @XmlElement(name = "InnerStatusCode") + protected StatusCode innerStatusCode; + @XmlElement(name = "InnerDiagnosticInfo") + protected DiagnosticInfo innerDiagnosticInfo; + + /** + * Ruft den Wert der symbolicId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getSymbolicId() { + return symbolicId; + } + + /** + * Legt den Wert der symbolicId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setSymbolicId(Integer value) { + this.symbolicId = value; + } + + /** + * Ruft den Wert der namespaceUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getNamespaceUri() { + return namespaceUri; + } + + /** + * Legt den Wert der namespaceUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setNamespaceUri(Integer value) { + this.namespaceUri = value; + } + + /** + * Ruft den Wert der locale-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getLocale() { + return locale; + } + + /** + * Legt den Wert der locale-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setLocale(Integer value) { + this.locale = value; + } + + /** + * Ruft den Wert der localizedText-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getLocalizedText() { + return localizedText; + } + + /** + * Legt den Wert der localizedText-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setLocalizedText(Integer value) { + this.localizedText = value; + } + + /** + * Ruft den Wert der additionalInfo-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAdditionalInfo() { + return additionalInfo; + } + + /** + * Legt den Wert der additionalInfo-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAdditionalInfo(String value) { + this.additionalInfo = value; + } + + /** + * Ruft den Wert der innerStatusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getInnerStatusCode() { + return innerStatusCode; + } + + /** + * Legt den Wert der innerStatusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setInnerStatusCode(StatusCode value) { + this.innerStatusCode = value; + } + + /** + * Ruft den Wert der innerDiagnosticInfo-Eigenschaft ab. + * + * @return + * possible object is + * {@link DiagnosticInfo } + * + */ + public DiagnosticInfo getInnerDiagnosticInfo() { + return innerDiagnosticInfo; + } + + /** + * Legt den Wert der innerDiagnosticInfo-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DiagnosticInfo } + * + */ + public void setInnerDiagnosticInfo(DiagnosticInfo value) { + this.innerDiagnosticInfo = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DiagnosticInfo.Builder<_B> _other) { + _other.symbolicId = this.symbolicId; + _other.namespaceUri = this.namespaceUri; + _other.locale = this.locale; + _other.localizedText = this.localizedText; + _other.additionalInfo = this.additionalInfo; + _other.innerStatusCode = ((this.innerStatusCode == null)?null:this.innerStatusCode.newCopyBuilder(_other)); + _other.innerDiagnosticInfo = ((this.innerDiagnosticInfo == null)?null:this.innerDiagnosticInfo.newCopyBuilder(_other)); + } + + public<_B >DiagnosticInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DiagnosticInfo.Builder<_B>(_parentBuilder, this, true); + } + + public DiagnosticInfo.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DiagnosticInfo.Builder builder() { + return new DiagnosticInfo.Builder(null, null, false); + } + + public static<_B >DiagnosticInfo.Builder<_B> copyOf(final DiagnosticInfo _other) { + final DiagnosticInfo.Builder<_B> _newBuilder = new DiagnosticInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DiagnosticInfo.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree symbolicIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("symbolicId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(symbolicIdPropertyTree!= null):((symbolicIdPropertyTree == null)||(!symbolicIdPropertyTree.isLeaf())))) { + _other.symbolicId = this.symbolicId; + } + final PropertyTree namespaceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUriPropertyTree!= null):((namespaceUriPropertyTree == null)||(!namespaceUriPropertyTree.isLeaf())))) { + _other.namespaceUri = this.namespaceUri; + } + final PropertyTree localePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("locale")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localePropertyTree!= null):((localePropertyTree == null)||(!localePropertyTree.isLeaf())))) { + _other.locale = this.locale; + } + final PropertyTree localizedTextPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localizedText")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localizedTextPropertyTree!= null):((localizedTextPropertyTree == null)||(!localizedTextPropertyTree.isLeaf())))) { + _other.localizedText = this.localizedText; + } + final PropertyTree additionalInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("additionalInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(additionalInfoPropertyTree!= null):((additionalInfoPropertyTree == null)||(!additionalInfoPropertyTree.isLeaf())))) { + _other.additionalInfo = this.additionalInfo; + } + final PropertyTree innerStatusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("innerStatusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(innerStatusCodePropertyTree!= null):((innerStatusCodePropertyTree == null)||(!innerStatusCodePropertyTree.isLeaf())))) { + _other.innerStatusCode = ((this.innerStatusCode == null)?null:this.innerStatusCode.newCopyBuilder(_other, innerStatusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree innerDiagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("innerDiagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(innerDiagnosticInfoPropertyTree!= null):((innerDiagnosticInfoPropertyTree == null)||(!innerDiagnosticInfoPropertyTree.isLeaf())))) { + _other.innerDiagnosticInfo = ((this.innerDiagnosticInfo == null)?null:this.innerDiagnosticInfo.newCopyBuilder(_other, innerDiagnosticInfoPropertyTree, _propertyTreeUse)); + } + } + + public<_B >DiagnosticInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DiagnosticInfo.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DiagnosticInfo.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DiagnosticInfo.Builder<_B> copyOf(final DiagnosticInfo _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DiagnosticInfo.Builder<_B> _newBuilder = new DiagnosticInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DiagnosticInfo.Builder copyExcept(final DiagnosticInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DiagnosticInfo.Builder copyOnly(final DiagnosticInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DiagnosticInfo _storedValue; + private Integer symbolicId; + private Integer namespaceUri; + private Integer locale; + private Integer localizedText; + private String additionalInfo; + private StatusCode.Builder> innerStatusCode; + private DiagnosticInfo.Builder> innerDiagnosticInfo; + + public Builder(final _B _parentBuilder, final DiagnosticInfo _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.symbolicId = _other.symbolicId; + this.namespaceUri = _other.namespaceUri; + this.locale = _other.locale; + this.localizedText = _other.localizedText; + this.additionalInfo = _other.additionalInfo; + this.innerStatusCode = ((_other.innerStatusCode == null)?null:_other.innerStatusCode.newCopyBuilder(this)); + this.innerDiagnosticInfo = ((_other.innerDiagnosticInfo == null)?null:_other.innerDiagnosticInfo.newCopyBuilder(this)); + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DiagnosticInfo _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree symbolicIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("symbolicId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(symbolicIdPropertyTree!= null):((symbolicIdPropertyTree == null)||(!symbolicIdPropertyTree.isLeaf())))) { + this.symbolicId = _other.symbolicId; + } + final PropertyTree namespaceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUriPropertyTree!= null):((namespaceUriPropertyTree == null)||(!namespaceUriPropertyTree.isLeaf())))) { + this.namespaceUri = _other.namespaceUri; + } + final PropertyTree localePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("locale")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localePropertyTree!= null):((localePropertyTree == null)||(!localePropertyTree.isLeaf())))) { + this.locale = _other.locale; + } + final PropertyTree localizedTextPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localizedText")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localizedTextPropertyTree!= null):((localizedTextPropertyTree == null)||(!localizedTextPropertyTree.isLeaf())))) { + this.localizedText = _other.localizedText; + } + final PropertyTree additionalInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("additionalInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(additionalInfoPropertyTree!= null):((additionalInfoPropertyTree == null)||(!additionalInfoPropertyTree.isLeaf())))) { + this.additionalInfo = _other.additionalInfo; + } + final PropertyTree innerStatusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("innerStatusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(innerStatusCodePropertyTree!= null):((innerStatusCodePropertyTree == null)||(!innerStatusCodePropertyTree.isLeaf())))) { + this.innerStatusCode = ((_other.innerStatusCode == null)?null:_other.innerStatusCode.newCopyBuilder(this, innerStatusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree innerDiagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("innerDiagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(innerDiagnosticInfoPropertyTree!= null):((innerDiagnosticInfoPropertyTree == null)||(!innerDiagnosticInfoPropertyTree.isLeaf())))) { + this.innerDiagnosticInfo = ((_other.innerDiagnosticInfo == null)?null:_other.innerDiagnosticInfo.newCopyBuilder(this, innerDiagnosticInfoPropertyTree, _propertyTreeUse)); + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DiagnosticInfo >_P init(final _P _product) { + _product.symbolicId = this.symbolicId; + _product.namespaceUri = this.namespaceUri; + _product.locale = this.locale; + _product.localizedText = this.localizedText; + _product.additionalInfo = this.additionalInfo; + _product.innerStatusCode = ((this.innerStatusCode == null)?null:this.innerStatusCode.build()); + _product.innerDiagnosticInfo = ((this.innerDiagnosticInfo == null)?null:this.innerDiagnosticInfo.build()); + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "symbolicId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param symbolicId + * Neuer Wert der Eigenschaft "symbolicId". + */ + public DiagnosticInfo.Builder<_B> withSymbolicId(final Integer symbolicId) { + this.symbolicId = symbolicId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaceUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param namespaceUri + * Neuer Wert der Eigenschaft "namespaceUri". + */ + public DiagnosticInfo.Builder<_B> withNamespaceUri(final Integer namespaceUri) { + this.namespaceUri = namespaceUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "locale" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param locale + * Neuer Wert der Eigenschaft "locale". + */ + public DiagnosticInfo.Builder<_B> withLocale(final Integer locale) { + this.locale = locale; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localizedText" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param localizedText + * Neuer Wert der Eigenschaft "localizedText". + */ + public DiagnosticInfo.Builder<_B> withLocalizedText(final Integer localizedText) { + this.localizedText = localizedText; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "additionalInfo" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param additionalInfo + * Neuer Wert der Eigenschaft "additionalInfo". + */ + public DiagnosticInfo.Builder<_B> withAdditionalInfo(final String additionalInfo) { + this.additionalInfo = additionalInfo; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "innerStatusCode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param innerStatusCode + * Neuer Wert der Eigenschaft "innerStatusCode". + */ + public DiagnosticInfo.Builder<_B> withInnerStatusCode(final StatusCode innerStatusCode) { + this.innerStatusCode = ((innerStatusCode == null)?null:new StatusCode.Builder>(this, innerStatusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "innerStatusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "innerStatusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withInnerStatusCode() { + if (this.innerStatusCode!= null) { + return this.innerStatusCode; + } + return this.innerStatusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "innerDiagnosticInfo" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param innerDiagnosticInfo + * Neuer Wert der Eigenschaft "innerDiagnosticInfo". + */ + public DiagnosticInfo.Builder<_B> withInnerDiagnosticInfo(final DiagnosticInfo innerDiagnosticInfo) { + this.innerDiagnosticInfo = ((innerDiagnosticInfo == null)?null:new DiagnosticInfo.Builder>(this, innerDiagnosticInfo, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "innerDiagnosticInfo". + * Mit {@link org.opcfoundation.ua._2008._02.types.DiagnosticInfo.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "innerDiagnosticInfo". + * Mit {@link org.opcfoundation.ua._2008._02.types.DiagnosticInfo.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DiagnosticInfo.Builder> withInnerDiagnosticInfo() { + if (this.innerDiagnosticInfo!= null) { + return this.innerDiagnosticInfo; + } + return this.innerDiagnosticInfo = new DiagnosticInfo.Builder>(this, null, false); + } + + @Override + public DiagnosticInfo build() { + if (_storedValue == null) { + return this.init(new DiagnosticInfo()); + } else { + return ((DiagnosticInfo) _storedValue); + } + } + + public DiagnosticInfo.Builder<_B> copyOf(final DiagnosticInfo _other) { + _other.copyTo(this); + return this; + } + + public DiagnosticInfo.Builder<_B> copyOf(final DiagnosticInfo.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DiagnosticInfo.Selector + { + + + Select() { + super(null, null, null); + } + + public static DiagnosticInfo.Select _root() { + return new DiagnosticInfo.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> symbolicId = null; + private com.kscs.util.jaxb.Selector> namespaceUri = null; + private com.kscs.util.jaxb.Selector> locale = null; + private com.kscs.util.jaxb.Selector> localizedText = null; + private com.kscs.util.jaxb.Selector> additionalInfo = null; + private StatusCode.Selector> innerStatusCode = null; + private DiagnosticInfo.Selector> innerDiagnosticInfo = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.symbolicId!= null) { + products.put("symbolicId", this.symbolicId.init()); + } + if (this.namespaceUri!= null) { + products.put("namespaceUri", this.namespaceUri.init()); + } + if (this.locale!= null) { + products.put("locale", this.locale.init()); + } + if (this.localizedText!= null) { + products.put("localizedText", this.localizedText.init()); + } + if (this.additionalInfo!= null) { + products.put("additionalInfo", this.additionalInfo.init()); + } + if (this.innerStatusCode!= null) { + products.put("innerStatusCode", this.innerStatusCode.init()); + } + if (this.innerDiagnosticInfo!= null) { + products.put("innerDiagnosticInfo", this.innerDiagnosticInfo.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> symbolicId() { + return ((this.symbolicId == null)?this.symbolicId = new com.kscs.util.jaxb.Selector>(this._root, this, "symbolicId"):this.symbolicId); + } + + public com.kscs.util.jaxb.Selector> namespaceUri() { + return ((this.namespaceUri == null)?this.namespaceUri = new com.kscs.util.jaxb.Selector>(this._root, this, "namespaceUri"):this.namespaceUri); + } + + public com.kscs.util.jaxb.Selector> locale() { + return ((this.locale == null)?this.locale = new com.kscs.util.jaxb.Selector>(this._root, this, "locale"):this.locale); + } + + public com.kscs.util.jaxb.Selector> localizedText() { + return ((this.localizedText == null)?this.localizedText = new com.kscs.util.jaxb.Selector>(this._root, this, "localizedText"):this.localizedText); + } + + public com.kscs.util.jaxb.Selector> additionalInfo() { + return ((this.additionalInfo == null)?this.additionalInfo = new com.kscs.util.jaxb.Selector>(this._root, this, "additionalInfo"):this.additionalInfo); + } + + public StatusCode.Selector> innerStatusCode() { + return ((this.innerStatusCode == null)?this.innerStatusCode = new StatusCode.Selector>(this._root, this, "innerStatusCode"):this.innerStatusCode); + } + + public DiagnosticInfo.Selector> innerDiagnosticInfo() { + return ((this.innerDiagnosticInfo == null)?this.innerDiagnosticInfo = new DiagnosticInfo.Selector>(this._root, this, "innerDiagnosticInfo"):this.innerDiagnosticInfo); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticsLevel.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticsLevel.java new file mode 100644 index 000000000..1d613b920 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiagnosticsLevel.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für DiagnosticsLevel. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="DiagnosticsLevel">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Basic_0"/>
+ *     <enumeration value="Advanced_1"/>
+ *     <enumeration value="Info_2"/>
+ *     <enumeration value="Log_3"/>
+ *     <enumeration value="Debug_4"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "DiagnosticsLevel") +@XmlEnum +public enum DiagnosticsLevel { + + @XmlEnumValue("Basic_0") + BASIC_0("Basic_0"), + @XmlEnumValue("Advanced_1") + ADVANCED_1("Advanced_1"), + @XmlEnumValue("Info_2") + INFO_2("Info_2"), + @XmlEnumValue("Log_3") + LOG_3("Log_3"), + @XmlEnumValue("Debug_4") + DEBUG_4("Debug_4"); + private final String value; + + DiagnosticsLevel(String v) { + value = v; + } + + public String value() { + return value; + } + + public static DiagnosticsLevel fromValue(String v) { + for (DiagnosticsLevel c: DiagnosticsLevel.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiscoveryConfiguration.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiscoveryConfiguration.java new file mode 100644 index 000000000..2045dec27 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DiscoveryConfiguration.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DiscoveryConfiguration complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DiscoveryConfiguration">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DiscoveryConfiguration") +@XmlSeeAlso({ + MdnsDiscoveryConfiguration.class +}) +public class DiscoveryConfiguration { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DiscoveryConfiguration.Builder<_B> _other) { + } + + public<_B >DiscoveryConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DiscoveryConfiguration.Builder<_B>(_parentBuilder, this, true); + } + + public DiscoveryConfiguration.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DiscoveryConfiguration.Builder builder() { + return new DiscoveryConfiguration.Builder(null, null, false); + } + + public static<_B >DiscoveryConfiguration.Builder<_B> copyOf(final DiscoveryConfiguration _other) { + final DiscoveryConfiguration.Builder<_B> _newBuilder = new DiscoveryConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DiscoveryConfiguration.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >DiscoveryConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DiscoveryConfiguration.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DiscoveryConfiguration.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DiscoveryConfiguration.Builder<_B> copyOf(final DiscoveryConfiguration _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DiscoveryConfiguration.Builder<_B> _newBuilder = new DiscoveryConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DiscoveryConfiguration.Builder copyExcept(final DiscoveryConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DiscoveryConfiguration.Builder copyOnly(final DiscoveryConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DiscoveryConfiguration _storedValue; + + public Builder(final _B _parentBuilder, final DiscoveryConfiguration _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DiscoveryConfiguration _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DiscoveryConfiguration >_P init(final _P _product) { + return _product; + } + + @Override + public DiscoveryConfiguration build() { + if (_storedValue == null) { + return this.init(new DiscoveryConfiguration()); + } else { + return ((DiscoveryConfiguration) _storedValue); + } + } + + public DiscoveryConfiguration.Builder<_B> copyOf(final DiscoveryConfiguration _other) { + _other.copyTo(this); + return this; + } + + public DiscoveryConfiguration.Builder<_B> copyOf(final DiscoveryConfiguration.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DiscoveryConfiguration.Selector + { + + + Select() { + super(null, null, null); + } + + public static DiscoveryConfiguration.Select _root() { + return new DiscoveryConfiguration.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DoubleComplexNumberType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DoubleComplexNumberType.java new file mode 100644 index 000000000..d00a09728 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/DoubleComplexNumberType.java @@ -0,0 +1,319 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für DoubleComplexNumberType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DoubleComplexNumberType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Real" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Imaginary" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DoubleComplexNumberType", propOrder = { + "real", + "imaginary" +}) +public class DoubleComplexNumberType { + + @XmlElement(name = "Real") + protected Double real; + @XmlElement(name = "Imaginary") + protected Double imaginary; + + /** + * Ruft den Wert der real-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getReal() { + return real; + } + + /** + * Legt den Wert der real-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setReal(Double value) { + this.real = value; + } + + /** + * Ruft den Wert der imaginary-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getImaginary() { + return imaginary; + } + + /** + * Legt den Wert der imaginary-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setImaginary(Double value) { + this.imaginary = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DoubleComplexNumberType.Builder<_B> _other) { + _other.real = this.real; + _other.imaginary = this.imaginary; + } + + public<_B >DoubleComplexNumberType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new DoubleComplexNumberType.Builder<_B>(_parentBuilder, this, true); + } + + public DoubleComplexNumberType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static DoubleComplexNumberType.Builder builder() { + return new DoubleComplexNumberType.Builder(null, null, false); + } + + public static<_B >DoubleComplexNumberType.Builder<_B> copyOf(final DoubleComplexNumberType _other) { + final DoubleComplexNumberType.Builder<_B> _newBuilder = new DoubleComplexNumberType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final DoubleComplexNumberType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree realPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("real")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(realPropertyTree!= null):((realPropertyTree == null)||(!realPropertyTree.isLeaf())))) { + _other.real = this.real; + } + final PropertyTree imaginaryPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("imaginary")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(imaginaryPropertyTree!= null):((imaginaryPropertyTree == null)||(!imaginaryPropertyTree.isLeaf())))) { + _other.imaginary = this.imaginary; + } + } + + public<_B >DoubleComplexNumberType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new DoubleComplexNumberType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public DoubleComplexNumberType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >DoubleComplexNumberType.Builder<_B> copyOf(final DoubleComplexNumberType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final DoubleComplexNumberType.Builder<_B> _newBuilder = new DoubleComplexNumberType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static DoubleComplexNumberType.Builder copyExcept(final DoubleComplexNumberType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static DoubleComplexNumberType.Builder copyOnly(final DoubleComplexNumberType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final DoubleComplexNumberType _storedValue; + private Double real; + private Double imaginary; + + public Builder(final _B _parentBuilder, final DoubleComplexNumberType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.real = _other.real; + this.imaginary = _other.imaginary; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final DoubleComplexNumberType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree realPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("real")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(realPropertyTree!= null):((realPropertyTree == null)||(!realPropertyTree.isLeaf())))) { + this.real = _other.real; + } + final PropertyTree imaginaryPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("imaginary")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(imaginaryPropertyTree!= null):((imaginaryPropertyTree == null)||(!imaginaryPropertyTree.isLeaf())))) { + this.imaginary = _other.imaginary; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends DoubleComplexNumberType >_P init(final _P _product) { + _product.real = this.real; + _product.imaginary = this.imaginary; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "real" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param real + * Neuer Wert der Eigenschaft "real". + */ + public DoubleComplexNumberType.Builder<_B> withReal(final Double real) { + this.real = real; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "imaginary" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param imaginary + * Neuer Wert der Eigenschaft "imaginary". + */ + public DoubleComplexNumberType.Builder<_B> withImaginary(final Double imaginary) { + this.imaginary = imaginary; + return this; + } + + @Override + public DoubleComplexNumberType build() { + if (_storedValue == null) { + return this.init(new DoubleComplexNumberType()); + } else { + return ((DoubleComplexNumberType) _storedValue); + } + } + + public DoubleComplexNumberType.Builder<_B> copyOf(final DoubleComplexNumberType _other) { + _other.copyTo(this); + return this; + } + + public DoubleComplexNumberType.Builder<_B> copyOf(final DoubleComplexNumberType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends DoubleComplexNumberType.Selector + { + + + Select() { + super(null, null, null); + } + + public static DoubleComplexNumberType.Select _root() { + return new DoubleComplexNumberType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> real = null; + private com.kscs.util.jaxb.Selector> imaginary = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.real!= null) { + products.put("real", this.real.init()); + } + if (this.imaginary!= null) { + products.put("imaginary", this.imaginary.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> real() { + return ((this.real == null)?this.real = new com.kscs.util.jaxb.Selector>(this._root, this, "real"):this.real); + } + + public com.kscs.util.jaxb.Selector> imaginary() { + return ((this.imaginary == null)?this.imaginary = new com.kscs.util.jaxb.Selector>(this._root, this, "imaginary"):this.imaginary); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EUInformation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EUInformation.java new file mode 100644 index 000000000..7e0ca262f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EUInformation.java @@ -0,0 +1,441 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EUInformation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EUInformation">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NamespaceUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="UnitId" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="DisplayName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EUInformation", propOrder = { + "namespaceUri", + "unitId", + "displayName", + "description" +}) +public class EUInformation { + + @XmlElementRef(name = "NamespaceUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement namespaceUri; + @XmlElement(name = "UnitId") + protected Integer unitId; + @XmlElementRef(name = "DisplayName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement displayName; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + + /** + * Ruft den Wert der namespaceUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getNamespaceUri() { + return namespaceUri; + } + + /** + * Legt den Wert der namespaceUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setNamespaceUri(JAXBElement value) { + this.namespaceUri = value; + } + + /** + * Ruft den Wert der unitId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getUnitId() { + return unitId; + } + + /** + * Legt den Wert der unitId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setUnitId(Integer value) { + this.unitId = value; + } + + /** + * Ruft den Wert der displayName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDisplayName() { + return displayName; + } + + /** + * Legt den Wert der displayName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDisplayName(JAXBElement value) { + this.displayName = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EUInformation.Builder<_B> _other) { + _other.namespaceUri = this.namespaceUri; + _other.unitId = this.unitId; + _other.displayName = this.displayName; + _other.description = this.description; + } + + public<_B >EUInformation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EUInformation.Builder<_B>(_parentBuilder, this, true); + } + + public EUInformation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EUInformation.Builder builder() { + return new EUInformation.Builder(null, null, false); + } + + public static<_B >EUInformation.Builder<_B> copyOf(final EUInformation _other) { + final EUInformation.Builder<_B> _newBuilder = new EUInformation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EUInformation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namespaceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUriPropertyTree!= null):((namespaceUriPropertyTree == null)||(!namespaceUriPropertyTree.isLeaf())))) { + _other.namespaceUri = this.namespaceUri; + } + final PropertyTree unitIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unitId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unitIdPropertyTree!= null):((unitIdPropertyTree == null)||(!unitIdPropertyTree.isLeaf())))) { + _other.unitId = this.unitId; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + _other.displayName = this.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + } + + public<_B >EUInformation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EUInformation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EUInformation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EUInformation.Builder<_B> copyOf(final EUInformation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EUInformation.Builder<_B> _newBuilder = new EUInformation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EUInformation.Builder copyExcept(final EUInformation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EUInformation.Builder copyOnly(final EUInformation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EUInformation _storedValue; + private JAXBElement namespaceUri; + private Integer unitId; + private JAXBElement displayName; + private JAXBElement description; + + public Builder(final _B _parentBuilder, final EUInformation _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.namespaceUri = _other.namespaceUri; + this.unitId = _other.unitId; + this.displayName = _other.displayName; + this.description = _other.description; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EUInformation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namespaceUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUriPropertyTree!= null):((namespaceUriPropertyTree == null)||(!namespaceUriPropertyTree.isLeaf())))) { + this.namespaceUri = _other.namespaceUri; + } + final PropertyTree unitIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unitId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unitIdPropertyTree!= null):((unitIdPropertyTree == null)||(!unitIdPropertyTree.isLeaf())))) { + this.unitId = _other.unitId; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + this.displayName = _other.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EUInformation >_P init(final _P _product) { + _product.namespaceUri = this.namespaceUri; + _product.unitId = this.unitId; + _product.displayName = this.displayName; + _product.description = this.description; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaceUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param namespaceUri + * Neuer Wert der Eigenschaft "namespaceUri". + */ + public EUInformation.Builder<_B> withNamespaceUri(final JAXBElement namespaceUri) { + this.namespaceUri = namespaceUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "unitId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param unitId + * Neuer Wert der Eigenschaft "unitId". + */ + public EUInformation.Builder<_B> withUnitId(final Integer unitId) { + this.unitId = unitId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + public EUInformation.Builder<_B> withDisplayName(final JAXBElement displayName) { + this.displayName = displayName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public EUInformation.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + @Override + public EUInformation build() { + if (_storedValue == null) { + return this.init(new EUInformation()); + } else { + return ((EUInformation) _storedValue); + } + } + + public EUInformation.Builder<_B> copyOf(final EUInformation _other) { + _other.copyTo(this); + return this; + } + + public EUInformation.Builder<_B> copyOf(final EUInformation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EUInformation.Selector + { + + + Select() { + super(null, null, null); + } + + public static EUInformation.Select _root() { + return new EUInformation.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> namespaceUri = null; + private com.kscs.util.jaxb.Selector> unitId = null; + private com.kscs.util.jaxb.Selector> displayName = null; + private com.kscs.util.jaxb.Selector> description = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.namespaceUri!= null) { + products.put("namespaceUri", this.namespaceUri.init()); + } + if (this.unitId!= null) { + products.put("unitId", this.unitId.init()); + } + if (this.displayName!= null) { + products.put("displayName", this.displayName.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> namespaceUri() { + return ((this.namespaceUri == null)?this.namespaceUri = new com.kscs.util.jaxb.Selector>(this._root, this, "namespaceUri"):this.namespaceUri); + } + + public com.kscs.util.jaxb.Selector> unitId() { + return ((this.unitId == null)?this.unitId = new com.kscs.util.jaxb.Selector>(this._root, this, "unitId"):this.unitId); + } + + public com.kscs.util.jaxb.Selector> displayName() { + return ((this.displayName == null)?this.displayName = new com.kscs.util.jaxb.Selector>(this._root, this, "displayName"):this.displayName); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ElementOperand.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ElementOperand.java new file mode 100644 index 000000000..e33a0f20c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ElementOperand.java @@ -0,0 +1,271 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ElementOperand complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ElementOperand">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}FilterOperand">
+ *       <sequence>
+ *         <element name="Index" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ElementOperand", propOrder = { + "index" +}) +public class ElementOperand + extends FilterOperand +{ + + @XmlElement(name = "Index") + @XmlSchemaType(name = "unsignedInt") + protected Long index; + + /** + * Ruft den Wert der index-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getIndex() { + return index; + } + + /** + * Legt den Wert der index-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setIndex(Long value) { + this.index = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ElementOperand.Builder<_B> _other) { + super.copyTo(_other); + _other.index = this.index; + } + + @Override + public<_B >ElementOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ElementOperand.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ElementOperand.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ElementOperand.Builder builder() { + return new ElementOperand.Builder(null, null, false); + } + + public static<_B >ElementOperand.Builder<_B> copyOf(final FilterOperand _other) { + final ElementOperand.Builder<_B> _newBuilder = new ElementOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ElementOperand.Builder<_B> copyOf(final ElementOperand _other) { + final ElementOperand.Builder<_B> _newBuilder = new ElementOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ElementOperand.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree indexPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("index")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexPropertyTree!= null):((indexPropertyTree == null)||(!indexPropertyTree.isLeaf())))) { + _other.index = this.index; + } + } + + @Override + public<_B >ElementOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ElementOperand.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ElementOperand.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ElementOperand.Builder<_B> copyOf(final FilterOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ElementOperand.Builder<_B> _newBuilder = new ElementOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ElementOperand.Builder<_B> copyOf(final ElementOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ElementOperand.Builder<_B> _newBuilder = new ElementOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ElementOperand.Builder copyExcept(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ElementOperand.Builder copyExcept(final ElementOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ElementOperand.Builder copyOnly(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ElementOperand.Builder copyOnly(final ElementOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends FilterOperand.Builder<_B> + implements Buildable + { + + private Long index; + + public Builder(final _B _parentBuilder, final ElementOperand _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.index = _other.index; + } + } + + public Builder(final _B _parentBuilder, final ElementOperand _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree indexPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("index")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexPropertyTree!= null):((indexPropertyTree == null)||(!indexPropertyTree.isLeaf())))) { + this.index = _other.index; + } + } + } + + protected<_P extends ElementOperand >_P init(final _P _product) { + _product.index = this.index; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "index" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param index + * Neuer Wert der Eigenschaft "index". + */ + public ElementOperand.Builder<_B> withIndex(final Long index) { + this.index = index; + return this; + } + + @Override + public ElementOperand build() { + if (_storedValue == null) { + return this.init(new ElementOperand()); + } else { + return ((ElementOperand) _storedValue); + } + } + + public ElementOperand.Builder<_B> copyOf(final ElementOperand _other) { + _other.copyTo(this); + return this; + } + + public ElementOperand.Builder<_B> copyOf(final ElementOperand.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ElementOperand.Selector + { + + + Select() { + super(null, null, null); + } + + public static ElementOperand.Select _root() { + return new ElementOperand.Select(); + } + + } + + public static class Selector , TParent > + extends FilterOperand.Selector + { + + private com.kscs.util.jaxb.Selector> index = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.index!= null) { + products.put("index", this.index.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> index() { + return ((this.index == null)?this.index = new com.kscs.util.jaxb.Selector>(this._root, this, "index"):this.index); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointConfiguration.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointConfiguration.java new file mode 100644 index 000000000..10f6cded2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointConfiguration.java @@ -0,0 +1,739 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EndpointConfiguration complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EndpointConfiguration">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="OperationTimeout" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="UseBinaryEncoding" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="MaxStringLength" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="MaxByteStringLength" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="MaxArrayLength" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="MaxMessageSize" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="MaxBufferSize" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ChannelLifetime" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="SecurityTokenLifetime" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EndpointConfiguration", propOrder = { + "operationTimeout", + "useBinaryEncoding", + "maxStringLength", + "maxByteStringLength", + "maxArrayLength", + "maxMessageSize", + "maxBufferSize", + "channelLifetime", + "securityTokenLifetime" +}) +public class EndpointConfiguration { + + @XmlElement(name = "OperationTimeout") + protected Integer operationTimeout; + @XmlElement(name = "UseBinaryEncoding") + protected Boolean useBinaryEncoding; + @XmlElement(name = "MaxStringLength") + protected Integer maxStringLength; + @XmlElement(name = "MaxByteStringLength") + protected Integer maxByteStringLength; + @XmlElement(name = "MaxArrayLength") + protected Integer maxArrayLength; + @XmlElement(name = "MaxMessageSize") + protected Integer maxMessageSize; + @XmlElement(name = "MaxBufferSize") + protected Integer maxBufferSize; + @XmlElement(name = "ChannelLifetime") + protected Integer channelLifetime; + @XmlElement(name = "SecurityTokenLifetime") + protected Integer securityTokenLifetime; + + /** + * Ruft den Wert der operationTimeout-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getOperationTimeout() { + return operationTimeout; + } + + /** + * Legt den Wert der operationTimeout-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setOperationTimeout(Integer value) { + this.operationTimeout = value; + } + + /** + * Ruft den Wert der useBinaryEncoding-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isUseBinaryEncoding() { + return useBinaryEncoding; + } + + /** + * Legt den Wert der useBinaryEncoding-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setUseBinaryEncoding(Boolean value) { + this.useBinaryEncoding = value; + } + + /** + * Ruft den Wert der maxStringLength-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getMaxStringLength() { + return maxStringLength; + } + + /** + * Legt den Wert der maxStringLength-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setMaxStringLength(Integer value) { + this.maxStringLength = value; + } + + /** + * Ruft den Wert der maxByteStringLength-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getMaxByteStringLength() { + return maxByteStringLength; + } + + /** + * Legt den Wert der maxByteStringLength-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setMaxByteStringLength(Integer value) { + this.maxByteStringLength = value; + } + + /** + * Ruft den Wert der maxArrayLength-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getMaxArrayLength() { + return maxArrayLength; + } + + /** + * Legt den Wert der maxArrayLength-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setMaxArrayLength(Integer value) { + this.maxArrayLength = value; + } + + /** + * Ruft den Wert der maxMessageSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getMaxMessageSize() { + return maxMessageSize; + } + + /** + * Legt den Wert der maxMessageSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setMaxMessageSize(Integer value) { + this.maxMessageSize = value; + } + + /** + * Ruft den Wert der maxBufferSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getMaxBufferSize() { + return maxBufferSize; + } + + /** + * Legt den Wert der maxBufferSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setMaxBufferSize(Integer value) { + this.maxBufferSize = value; + } + + /** + * Ruft den Wert der channelLifetime-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getChannelLifetime() { + return channelLifetime; + } + + /** + * Legt den Wert der channelLifetime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setChannelLifetime(Integer value) { + this.channelLifetime = value; + } + + /** + * Ruft den Wert der securityTokenLifetime-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getSecurityTokenLifetime() { + return securityTokenLifetime; + } + + /** + * Legt den Wert der securityTokenLifetime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setSecurityTokenLifetime(Integer value) { + this.securityTokenLifetime = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointConfiguration.Builder<_B> _other) { + _other.operationTimeout = this.operationTimeout; + _other.useBinaryEncoding = this.useBinaryEncoding; + _other.maxStringLength = this.maxStringLength; + _other.maxByteStringLength = this.maxByteStringLength; + _other.maxArrayLength = this.maxArrayLength; + _other.maxMessageSize = this.maxMessageSize; + _other.maxBufferSize = this.maxBufferSize; + _other.channelLifetime = this.channelLifetime; + _other.securityTokenLifetime = this.securityTokenLifetime; + } + + public<_B >EndpointConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EndpointConfiguration.Builder<_B>(_parentBuilder, this, true); + } + + public EndpointConfiguration.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EndpointConfiguration.Builder builder() { + return new EndpointConfiguration.Builder(null, null, false); + } + + public static<_B >EndpointConfiguration.Builder<_B> copyOf(final EndpointConfiguration _other) { + final EndpointConfiguration.Builder<_B> _newBuilder = new EndpointConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointConfiguration.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree operationTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operationTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operationTimeoutPropertyTree!= null):((operationTimeoutPropertyTree == null)||(!operationTimeoutPropertyTree.isLeaf())))) { + _other.operationTimeout = this.operationTimeout; + } + final PropertyTree useBinaryEncodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useBinaryEncoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useBinaryEncodingPropertyTree!= null):((useBinaryEncodingPropertyTree == null)||(!useBinaryEncodingPropertyTree.isLeaf())))) { + _other.useBinaryEncoding = this.useBinaryEncoding; + } + final PropertyTree maxStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxStringLengthPropertyTree!= null):((maxStringLengthPropertyTree == null)||(!maxStringLengthPropertyTree.isLeaf())))) { + _other.maxStringLength = this.maxStringLength; + } + final PropertyTree maxByteStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxByteStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxByteStringLengthPropertyTree!= null):((maxByteStringLengthPropertyTree == null)||(!maxByteStringLengthPropertyTree.isLeaf())))) { + _other.maxByteStringLength = this.maxByteStringLength; + } + final PropertyTree maxArrayLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxArrayLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxArrayLengthPropertyTree!= null):((maxArrayLengthPropertyTree == null)||(!maxArrayLengthPropertyTree.isLeaf())))) { + _other.maxArrayLength = this.maxArrayLength; + } + final PropertyTree maxMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxMessageSizePropertyTree!= null):((maxMessageSizePropertyTree == null)||(!maxMessageSizePropertyTree.isLeaf())))) { + _other.maxMessageSize = this.maxMessageSize; + } + final PropertyTree maxBufferSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxBufferSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxBufferSizePropertyTree!= null):((maxBufferSizePropertyTree == null)||(!maxBufferSizePropertyTree.isLeaf())))) { + _other.maxBufferSize = this.maxBufferSize; + } + final PropertyTree channelLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("channelLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(channelLifetimePropertyTree!= null):((channelLifetimePropertyTree == null)||(!channelLifetimePropertyTree.isLeaf())))) { + _other.channelLifetime = this.channelLifetime; + } + final PropertyTree securityTokenLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityTokenLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityTokenLifetimePropertyTree!= null):((securityTokenLifetimePropertyTree == null)||(!securityTokenLifetimePropertyTree.isLeaf())))) { + _other.securityTokenLifetime = this.securityTokenLifetime; + } + } + + public<_B >EndpointConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EndpointConfiguration.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EndpointConfiguration.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EndpointConfiguration.Builder<_B> copyOf(final EndpointConfiguration _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EndpointConfiguration.Builder<_B> _newBuilder = new EndpointConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EndpointConfiguration.Builder copyExcept(final EndpointConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EndpointConfiguration.Builder copyOnly(final EndpointConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EndpointConfiguration _storedValue; + private Integer operationTimeout; + private Boolean useBinaryEncoding; + private Integer maxStringLength; + private Integer maxByteStringLength; + private Integer maxArrayLength; + private Integer maxMessageSize; + private Integer maxBufferSize; + private Integer channelLifetime; + private Integer securityTokenLifetime; + + public Builder(final _B _parentBuilder, final EndpointConfiguration _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.operationTimeout = _other.operationTimeout; + this.useBinaryEncoding = _other.useBinaryEncoding; + this.maxStringLength = _other.maxStringLength; + this.maxByteStringLength = _other.maxByteStringLength; + this.maxArrayLength = _other.maxArrayLength; + this.maxMessageSize = _other.maxMessageSize; + this.maxBufferSize = _other.maxBufferSize; + this.channelLifetime = _other.channelLifetime; + this.securityTokenLifetime = _other.securityTokenLifetime; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EndpointConfiguration _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree operationTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operationTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operationTimeoutPropertyTree!= null):((operationTimeoutPropertyTree == null)||(!operationTimeoutPropertyTree.isLeaf())))) { + this.operationTimeout = _other.operationTimeout; + } + final PropertyTree useBinaryEncodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useBinaryEncoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useBinaryEncodingPropertyTree!= null):((useBinaryEncodingPropertyTree == null)||(!useBinaryEncodingPropertyTree.isLeaf())))) { + this.useBinaryEncoding = _other.useBinaryEncoding; + } + final PropertyTree maxStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxStringLengthPropertyTree!= null):((maxStringLengthPropertyTree == null)||(!maxStringLengthPropertyTree.isLeaf())))) { + this.maxStringLength = _other.maxStringLength; + } + final PropertyTree maxByteStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxByteStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxByteStringLengthPropertyTree!= null):((maxByteStringLengthPropertyTree == null)||(!maxByteStringLengthPropertyTree.isLeaf())))) { + this.maxByteStringLength = _other.maxByteStringLength; + } + final PropertyTree maxArrayLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxArrayLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxArrayLengthPropertyTree!= null):((maxArrayLengthPropertyTree == null)||(!maxArrayLengthPropertyTree.isLeaf())))) { + this.maxArrayLength = _other.maxArrayLength; + } + final PropertyTree maxMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxMessageSizePropertyTree!= null):((maxMessageSizePropertyTree == null)||(!maxMessageSizePropertyTree.isLeaf())))) { + this.maxMessageSize = _other.maxMessageSize; + } + final PropertyTree maxBufferSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxBufferSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxBufferSizePropertyTree!= null):((maxBufferSizePropertyTree == null)||(!maxBufferSizePropertyTree.isLeaf())))) { + this.maxBufferSize = _other.maxBufferSize; + } + final PropertyTree channelLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("channelLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(channelLifetimePropertyTree!= null):((channelLifetimePropertyTree == null)||(!channelLifetimePropertyTree.isLeaf())))) { + this.channelLifetime = _other.channelLifetime; + } + final PropertyTree securityTokenLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityTokenLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityTokenLifetimePropertyTree!= null):((securityTokenLifetimePropertyTree == null)||(!securityTokenLifetimePropertyTree.isLeaf())))) { + this.securityTokenLifetime = _other.securityTokenLifetime; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EndpointConfiguration >_P init(final _P _product) { + _product.operationTimeout = this.operationTimeout; + _product.useBinaryEncoding = this.useBinaryEncoding; + _product.maxStringLength = this.maxStringLength; + _product.maxByteStringLength = this.maxByteStringLength; + _product.maxArrayLength = this.maxArrayLength; + _product.maxMessageSize = this.maxMessageSize; + _product.maxBufferSize = this.maxBufferSize; + _product.channelLifetime = this.channelLifetime; + _product.securityTokenLifetime = this.securityTokenLifetime; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "operationTimeout" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param operationTimeout + * Neuer Wert der Eigenschaft "operationTimeout". + */ + public EndpointConfiguration.Builder<_B> withOperationTimeout(final Integer operationTimeout) { + this.operationTimeout = operationTimeout; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "useBinaryEncoding" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param useBinaryEncoding + * Neuer Wert der Eigenschaft "useBinaryEncoding". + */ + public EndpointConfiguration.Builder<_B> withUseBinaryEncoding(final Boolean useBinaryEncoding) { + this.useBinaryEncoding = useBinaryEncoding; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxStringLength" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param maxStringLength + * Neuer Wert der Eigenschaft "maxStringLength". + */ + public EndpointConfiguration.Builder<_B> withMaxStringLength(final Integer maxStringLength) { + this.maxStringLength = maxStringLength; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxByteStringLength" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param maxByteStringLength + * Neuer Wert der Eigenschaft "maxByteStringLength". + */ + public EndpointConfiguration.Builder<_B> withMaxByteStringLength(final Integer maxByteStringLength) { + this.maxByteStringLength = maxByteStringLength; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxArrayLength" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param maxArrayLength + * Neuer Wert der Eigenschaft "maxArrayLength". + */ + public EndpointConfiguration.Builder<_B> withMaxArrayLength(final Integer maxArrayLength) { + this.maxArrayLength = maxArrayLength; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxMessageSize" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param maxMessageSize + * Neuer Wert der Eigenschaft "maxMessageSize". + */ + public EndpointConfiguration.Builder<_B> withMaxMessageSize(final Integer maxMessageSize) { + this.maxMessageSize = maxMessageSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxBufferSize" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param maxBufferSize + * Neuer Wert der Eigenschaft "maxBufferSize". + */ + public EndpointConfiguration.Builder<_B> withMaxBufferSize(final Integer maxBufferSize) { + this.maxBufferSize = maxBufferSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "channelLifetime" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param channelLifetime + * Neuer Wert der Eigenschaft "channelLifetime". + */ + public EndpointConfiguration.Builder<_B> withChannelLifetime(final Integer channelLifetime) { + this.channelLifetime = channelLifetime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityTokenLifetime" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param securityTokenLifetime + * Neuer Wert der Eigenschaft "securityTokenLifetime". + */ + public EndpointConfiguration.Builder<_B> withSecurityTokenLifetime(final Integer securityTokenLifetime) { + this.securityTokenLifetime = securityTokenLifetime; + return this; + } + + @Override + public EndpointConfiguration build() { + if (_storedValue == null) { + return this.init(new EndpointConfiguration()); + } else { + return ((EndpointConfiguration) _storedValue); + } + } + + public EndpointConfiguration.Builder<_B> copyOf(final EndpointConfiguration _other) { + _other.copyTo(this); + return this; + } + + public EndpointConfiguration.Builder<_B> copyOf(final EndpointConfiguration.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EndpointConfiguration.Selector + { + + + Select() { + super(null, null, null); + } + + public static EndpointConfiguration.Select _root() { + return new EndpointConfiguration.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> operationTimeout = null; + private com.kscs.util.jaxb.Selector> useBinaryEncoding = null; + private com.kscs.util.jaxb.Selector> maxStringLength = null; + private com.kscs.util.jaxb.Selector> maxByteStringLength = null; + private com.kscs.util.jaxb.Selector> maxArrayLength = null; + private com.kscs.util.jaxb.Selector> maxMessageSize = null; + private com.kscs.util.jaxb.Selector> maxBufferSize = null; + private com.kscs.util.jaxb.Selector> channelLifetime = null; + private com.kscs.util.jaxb.Selector> securityTokenLifetime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.operationTimeout!= null) { + products.put("operationTimeout", this.operationTimeout.init()); + } + if (this.useBinaryEncoding!= null) { + products.put("useBinaryEncoding", this.useBinaryEncoding.init()); + } + if (this.maxStringLength!= null) { + products.put("maxStringLength", this.maxStringLength.init()); + } + if (this.maxByteStringLength!= null) { + products.put("maxByteStringLength", this.maxByteStringLength.init()); + } + if (this.maxArrayLength!= null) { + products.put("maxArrayLength", this.maxArrayLength.init()); + } + if (this.maxMessageSize!= null) { + products.put("maxMessageSize", this.maxMessageSize.init()); + } + if (this.maxBufferSize!= null) { + products.put("maxBufferSize", this.maxBufferSize.init()); + } + if (this.channelLifetime!= null) { + products.put("channelLifetime", this.channelLifetime.init()); + } + if (this.securityTokenLifetime!= null) { + products.put("securityTokenLifetime", this.securityTokenLifetime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> operationTimeout() { + return ((this.operationTimeout == null)?this.operationTimeout = new com.kscs.util.jaxb.Selector>(this._root, this, "operationTimeout"):this.operationTimeout); + } + + public com.kscs.util.jaxb.Selector> useBinaryEncoding() { + return ((this.useBinaryEncoding == null)?this.useBinaryEncoding = new com.kscs.util.jaxb.Selector>(this._root, this, "useBinaryEncoding"):this.useBinaryEncoding); + } + + public com.kscs.util.jaxb.Selector> maxStringLength() { + return ((this.maxStringLength == null)?this.maxStringLength = new com.kscs.util.jaxb.Selector>(this._root, this, "maxStringLength"):this.maxStringLength); + } + + public com.kscs.util.jaxb.Selector> maxByteStringLength() { + return ((this.maxByteStringLength == null)?this.maxByteStringLength = new com.kscs.util.jaxb.Selector>(this._root, this, "maxByteStringLength"):this.maxByteStringLength); + } + + public com.kscs.util.jaxb.Selector> maxArrayLength() { + return ((this.maxArrayLength == null)?this.maxArrayLength = new com.kscs.util.jaxb.Selector>(this._root, this, "maxArrayLength"):this.maxArrayLength); + } + + public com.kscs.util.jaxb.Selector> maxMessageSize() { + return ((this.maxMessageSize == null)?this.maxMessageSize = new com.kscs.util.jaxb.Selector>(this._root, this, "maxMessageSize"):this.maxMessageSize); + } + + public com.kscs.util.jaxb.Selector> maxBufferSize() { + return ((this.maxBufferSize == null)?this.maxBufferSize = new com.kscs.util.jaxb.Selector>(this._root, this, "maxBufferSize"):this.maxBufferSize); + } + + public com.kscs.util.jaxb.Selector> channelLifetime() { + return ((this.channelLifetime == null)?this.channelLifetime = new com.kscs.util.jaxb.Selector>(this._root, this, "channelLifetime"):this.channelLifetime); + } + + public com.kscs.util.jaxb.Selector> securityTokenLifetime() { + return ((this.securityTokenLifetime == null)?this.securityTokenLifetime = new com.kscs.util.jaxb.Selector>(this._root, this, "securityTokenLifetime"):this.securityTokenLifetime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointDescription.java new file mode 100644 index 000000000..15bbd703b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointDescription.java @@ -0,0 +1,684 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EndpointDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EndpointDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Server" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ApplicationDescription" minOccurs="0"/>
+ *         <element name="ServerCertificate" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="SecurityMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MessageSecurityMode" minOccurs="0"/>
+ *         <element name="SecurityPolicyUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="UserIdentityTokens" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUserTokenPolicy" minOccurs="0"/>
+ *         <element name="TransportProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityLevel" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EndpointDescription", propOrder = { + "endpointUrl", + "server", + "serverCertificate", + "securityMode", + "securityPolicyUri", + "userIdentityTokens", + "transportProfileUri", + "securityLevel" +}) +public class EndpointDescription { + + @XmlElementRef(name = "EndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrl; + @XmlElementRef(name = "Server", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement server; + @XmlElementRef(name = "ServerCertificate", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverCertificate; + @XmlElement(name = "SecurityMode") + @XmlSchemaType(name = "string") + protected MessageSecurityMode securityMode; + @XmlElementRef(name = "SecurityPolicyUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityPolicyUri; + @XmlElementRef(name = "UserIdentityTokens", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userIdentityTokens; + @XmlElementRef(name = "TransportProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportProfileUri; + @XmlElement(name = "SecurityLevel") + @XmlSchemaType(name = "unsignedByte") + protected Short securityLevel; + + /** + * Ruft den Wert der endpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEndpointUrl() { + return endpointUrl; + } + + /** + * Legt den Wert der endpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEndpointUrl(JAXBElement value) { + this.endpointUrl = value; + } + + /** + * Ruft den Wert der server-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + */ + public JAXBElement getServer() { + return server; + } + + /** + * Legt den Wert der server-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + */ + public void setServer(JAXBElement value) { + this.server = value; + } + + /** + * Ruft den Wert der serverCertificate-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getServerCertificate() { + return serverCertificate; + } + + /** + * Legt den Wert der serverCertificate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setServerCertificate(JAXBElement value) { + this.serverCertificate = value; + } + + /** + * Ruft den Wert der securityMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MessageSecurityMode } + * + */ + public MessageSecurityMode getSecurityMode() { + return securityMode; + } + + /** + * Legt den Wert der securityMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MessageSecurityMode } + * + */ + public void setSecurityMode(MessageSecurityMode value) { + this.securityMode = value; + } + + /** + * Ruft den Wert der securityPolicyUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSecurityPolicyUri() { + return securityPolicyUri; + } + + /** + * Legt den Wert der securityPolicyUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSecurityPolicyUri(JAXBElement value) { + this.securityPolicyUri = value; + } + + /** + * Ruft den Wert der userIdentityTokens-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUserTokenPolicy }{@code >} + * + */ + public JAXBElement getUserIdentityTokens() { + return userIdentityTokens; + } + + /** + * Legt den Wert der userIdentityTokens-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUserTokenPolicy }{@code >} + * + */ + public void setUserIdentityTokens(JAXBElement value) { + this.userIdentityTokens = value; + } + + /** + * Ruft den Wert der transportProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getTransportProfileUri() { + return transportProfileUri; + } + + /** + * Legt den Wert der transportProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setTransportProfileUri(JAXBElement value) { + this.transportProfileUri = value; + } + + /** + * Ruft den Wert der securityLevel-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getSecurityLevel() { + return securityLevel; + } + + /** + * Legt den Wert der securityLevel-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setSecurityLevel(Short value) { + this.securityLevel = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointDescription.Builder<_B> _other) { + _other.endpointUrl = this.endpointUrl; + _other.server = this.server; + _other.serverCertificate = this.serverCertificate; + _other.securityMode = this.securityMode; + _other.securityPolicyUri = this.securityPolicyUri; + _other.userIdentityTokens = this.userIdentityTokens; + _other.transportProfileUri = this.transportProfileUri; + _other.securityLevel = this.securityLevel; + } + + public<_B >EndpointDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EndpointDescription.Builder<_B>(_parentBuilder, this, true); + } + + public EndpointDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EndpointDescription.Builder builder() { + return new EndpointDescription.Builder(null, null, false); + } + + public static<_B >EndpointDescription.Builder<_B> copyOf(final EndpointDescription _other) { + final EndpointDescription.Builder<_B> _newBuilder = new EndpointDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + _other.endpointUrl = this.endpointUrl; + } + final PropertyTree serverPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("server")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPropertyTree!= null):((serverPropertyTree == null)||(!serverPropertyTree.isLeaf())))) { + _other.server = this.server; + } + final PropertyTree serverCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCertificatePropertyTree!= null):((serverCertificatePropertyTree == null)||(!serverCertificatePropertyTree.isLeaf())))) { + _other.serverCertificate = this.serverCertificate; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + _other.securityMode = this.securityMode; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + _other.securityPolicyUri = this.securityPolicyUri; + } + final PropertyTree userIdentityTokensPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userIdentityTokens")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userIdentityTokensPropertyTree!= null):((userIdentityTokensPropertyTree == null)||(!userIdentityTokensPropertyTree.isLeaf())))) { + _other.userIdentityTokens = this.userIdentityTokens; + } + final PropertyTree transportProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProfileUriPropertyTree!= null):((transportProfileUriPropertyTree == null)||(!transportProfileUriPropertyTree.isLeaf())))) { + _other.transportProfileUri = this.transportProfileUri; + } + final PropertyTree securityLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityLevelPropertyTree!= null):((securityLevelPropertyTree == null)||(!securityLevelPropertyTree.isLeaf())))) { + _other.securityLevel = this.securityLevel; + } + } + + public<_B >EndpointDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EndpointDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EndpointDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EndpointDescription.Builder<_B> copyOf(final EndpointDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EndpointDescription.Builder<_B> _newBuilder = new EndpointDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EndpointDescription.Builder copyExcept(final EndpointDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EndpointDescription.Builder copyOnly(final EndpointDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EndpointDescription _storedValue; + private JAXBElement endpointUrl; + private JAXBElement server; + private JAXBElement serverCertificate; + private MessageSecurityMode securityMode; + private JAXBElement securityPolicyUri; + private JAXBElement userIdentityTokens; + private JAXBElement transportProfileUri; + private Short securityLevel; + + public Builder(final _B _parentBuilder, final EndpointDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.endpointUrl = _other.endpointUrl; + this.server = _other.server; + this.serverCertificate = _other.serverCertificate; + this.securityMode = _other.securityMode; + this.securityPolicyUri = _other.securityPolicyUri; + this.userIdentityTokens = _other.userIdentityTokens; + this.transportProfileUri = _other.transportProfileUri; + this.securityLevel = _other.securityLevel; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EndpointDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + this.endpointUrl = _other.endpointUrl; + } + final PropertyTree serverPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("server")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPropertyTree!= null):((serverPropertyTree == null)||(!serverPropertyTree.isLeaf())))) { + this.server = _other.server; + } + final PropertyTree serverCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCertificatePropertyTree!= null):((serverCertificatePropertyTree == null)||(!serverCertificatePropertyTree.isLeaf())))) { + this.serverCertificate = _other.serverCertificate; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + this.securityMode = _other.securityMode; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + this.securityPolicyUri = _other.securityPolicyUri; + } + final PropertyTree userIdentityTokensPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userIdentityTokens")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userIdentityTokensPropertyTree!= null):((userIdentityTokensPropertyTree == null)||(!userIdentityTokensPropertyTree.isLeaf())))) { + this.userIdentityTokens = _other.userIdentityTokens; + } + final PropertyTree transportProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProfileUriPropertyTree!= null):((transportProfileUriPropertyTree == null)||(!transportProfileUriPropertyTree.isLeaf())))) { + this.transportProfileUri = _other.transportProfileUri; + } + final PropertyTree securityLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityLevelPropertyTree!= null):((securityLevelPropertyTree == null)||(!securityLevelPropertyTree.isLeaf())))) { + this.securityLevel = _other.securityLevel; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EndpointDescription >_P init(final _P _product) { + _product.endpointUrl = this.endpointUrl; + _product.server = this.server; + _product.serverCertificate = this.serverCertificate; + _product.securityMode = this.securityMode; + _product.securityPolicyUri = this.securityPolicyUri; + _product.userIdentityTokens = this.userIdentityTokens; + _product.transportProfileUri = this.transportProfileUri; + _product.securityLevel = this.securityLevel; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrl + * Neuer Wert der Eigenschaft "endpointUrl". + */ + public EndpointDescription.Builder<_B> withEndpointUrl(final JAXBElement endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "server" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param server + * Neuer Wert der Eigenschaft "server". + */ + public EndpointDescription.Builder<_B> withServer(final JAXBElement server) { + this.server = server; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverCertificate" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param serverCertificate + * Neuer Wert der Eigenschaft "serverCertificate". + */ + public EndpointDescription.Builder<_B> withServerCertificate(final JAXBElement serverCertificate) { + this.serverCertificate = serverCertificate; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + public EndpointDescription.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + this.securityMode = securityMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityPolicyUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityPolicyUri + * Neuer Wert der Eigenschaft "securityPolicyUri". + */ + public EndpointDescription.Builder<_B> withSecurityPolicyUri(final JAXBElement securityPolicyUri) { + this.securityPolicyUri = securityPolicyUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userIdentityTokens" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userIdentityTokens + * Neuer Wert der Eigenschaft "userIdentityTokens". + */ + public EndpointDescription.Builder<_B> withUserIdentityTokens(final JAXBElement userIdentityTokens) { + this.userIdentityTokens = userIdentityTokens; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportProfileUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportProfileUri + * Neuer Wert der Eigenschaft "transportProfileUri". + */ + public EndpointDescription.Builder<_B> withTransportProfileUri(final JAXBElement transportProfileUri) { + this.transportProfileUri = transportProfileUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityLevel" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityLevel + * Neuer Wert der Eigenschaft "securityLevel". + */ + public EndpointDescription.Builder<_B> withSecurityLevel(final Short securityLevel) { + this.securityLevel = securityLevel; + return this; + } + + @Override + public EndpointDescription build() { + if (_storedValue == null) { + return this.init(new EndpointDescription()); + } else { + return ((EndpointDescription) _storedValue); + } + } + + public EndpointDescription.Builder<_B> copyOf(final EndpointDescription _other) { + _other.copyTo(this); + return this; + } + + public EndpointDescription.Builder<_B> copyOf(final EndpointDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EndpointDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static EndpointDescription.Select _root() { + return new EndpointDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> endpointUrl = null; + private com.kscs.util.jaxb.Selector> server = null; + private com.kscs.util.jaxb.Selector> serverCertificate = null; + private com.kscs.util.jaxb.Selector> securityMode = null; + private com.kscs.util.jaxb.Selector> securityPolicyUri = null; + private com.kscs.util.jaxb.Selector> userIdentityTokens = null; + private com.kscs.util.jaxb.Selector> transportProfileUri = null; + private com.kscs.util.jaxb.Selector> securityLevel = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointUrl!= null) { + products.put("endpointUrl", this.endpointUrl.init()); + } + if (this.server!= null) { + products.put("server", this.server.init()); + } + if (this.serverCertificate!= null) { + products.put("serverCertificate", this.serverCertificate.init()); + } + if (this.securityMode!= null) { + products.put("securityMode", this.securityMode.init()); + } + if (this.securityPolicyUri!= null) { + products.put("securityPolicyUri", this.securityPolicyUri.init()); + } + if (this.userIdentityTokens!= null) { + products.put("userIdentityTokens", this.userIdentityTokens.init()); + } + if (this.transportProfileUri!= null) { + products.put("transportProfileUri", this.transportProfileUri.init()); + } + if (this.securityLevel!= null) { + products.put("securityLevel", this.securityLevel.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> endpointUrl() { + return ((this.endpointUrl == null)?this.endpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrl"):this.endpointUrl); + } + + public com.kscs.util.jaxb.Selector> server() { + return ((this.server == null)?this.server = new com.kscs.util.jaxb.Selector>(this._root, this, "server"):this.server); + } + + public com.kscs.util.jaxb.Selector> serverCertificate() { + return ((this.serverCertificate == null)?this.serverCertificate = new com.kscs.util.jaxb.Selector>(this._root, this, "serverCertificate"):this.serverCertificate); + } + + public com.kscs.util.jaxb.Selector> securityMode() { + return ((this.securityMode == null)?this.securityMode = new com.kscs.util.jaxb.Selector>(this._root, this, "securityMode"):this.securityMode); + } + + public com.kscs.util.jaxb.Selector> securityPolicyUri() { + return ((this.securityPolicyUri == null)?this.securityPolicyUri = new com.kscs.util.jaxb.Selector>(this._root, this, "securityPolicyUri"):this.securityPolicyUri); + } + + public com.kscs.util.jaxb.Selector> userIdentityTokens() { + return ((this.userIdentityTokens == null)?this.userIdentityTokens = new com.kscs.util.jaxb.Selector>(this._root, this, "userIdentityTokens"):this.userIdentityTokens); + } + + public com.kscs.util.jaxb.Selector> transportProfileUri() { + return ((this.transportProfileUri == null)?this.transportProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "transportProfileUri"):this.transportProfileUri); + } + + public com.kscs.util.jaxb.Selector> securityLevel() { + return ((this.securityLevel == null)?this.securityLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "securityLevel"):this.securityLevel); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointType.java new file mode 100644 index 000000000..f9d71727f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointType.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EndpointType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EndpointType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MessageSecurityMode" minOccurs="0"/>
+ *         <element name="SecurityPolicyUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TransportProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EndpointType", propOrder = { + "endpointUrl", + "securityMode", + "securityPolicyUri", + "transportProfileUri" +}) +public class EndpointType { + + @XmlElementRef(name = "EndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrl; + @XmlElement(name = "SecurityMode") + @XmlSchemaType(name = "string") + protected MessageSecurityMode securityMode; + @XmlElementRef(name = "SecurityPolicyUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityPolicyUri; + @XmlElementRef(name = "TransportProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportProfileUri; + + /** + * Ruft den Wert der endpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEndpointUrl() { + return endpointUrl; + } + + /** + * Legt den Wert der endpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEndpointUrl(JAXBElement value) { + this.endpointUrl = value; + } + + /** + * Ruft den Wert der securityMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MessageSecurityMode } + * + */ + public MessageSecurityMode getSecurityMode() { + return securityMode; + } + + /** + * Legt den Wert der securityMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MessageSecurityMode } + * + */ + public void setSecurityMode(MessageSecurityMode value) { + this.securityMode = value; + } + + /** + * Ruft den Wert der securityPolicyUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSecurityPolicyUri() { + return securityPolicyUri; + } + + /** + * Legt den Wert der securityPolicyUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSecurityPolicyUri(JAXBElement value) { + this.securityPolicyUri = value; + } + + /** + * Ruft den Wert der transportProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getTransportProfileUri() { + return transportProfileUri; + } + + /** + * Legt den Wert der transportProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setTransportProfileUri(JAXBElement value) { + this.transportProfileUri = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointType.Builder<_B> _other) { + _other.endpointUrl = this.endpointUrl; + _other.securityMode = this.securityMode; + _other.securityPolicyUri = this.securityPolicyUri; + _other.transportProfileUri = this.transportProfileUri; + } + + public<_B >EndpointType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EndpointType.Builder<_B>(_parentBuilder, this, true); + } + + public EndpointType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EndpointType.Builder builder() { + return new EndpointType.Builder(null, null, false); + } + + public static<_B >EndpointType.Builder<_B> copyOf(final EndpointType _other) { + final EndpointType.Builder<_B> _newBuilder = new EndpointType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + _other.endpointUrl = this.endpointUrl; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + _other.securityMode = this.securityMode; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + _other.securityPolicyUri = this.securityPolicyUri; + } + final PropertyTree transportProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProfileUriPropertyTree!= null):((transportProfileUriPropertyTree == null)||(!transportProfileUriPropertyTree.isLeaf())))) { + _other.transportProfileUri = this.transportProfileUri; + } + } + + public<_B >EndpointType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EndpointType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EndpointType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EndpointType.Builder<_B> copyOf(final EndpointType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EndpointType.Builder<_B> _newBuilder = new EndpointType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EndpointType.Builder copyExcept(final EndpointType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EndpointType.Builder copyOnly(final EndpointType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EndpointType _storedValue; + private JAXBElement endpointUrl; + private MessageSecurityMode securityMode; + private JAXBElement securityPolicyUri; + private JAXBElement transportProfileUri; + + public Builder(final _B _parentBuilder, final EndpointType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.endpointUrl = _other.endpointUrl; + this.securityMode = _other.securityMode; + this.securityPolicyUri = _other.securityPolicyUri; + this.transportProfileUri = _other.transportProfileUri; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EndpointType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + this.endpointUrl = _other.endpointUrl; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + this.securityMode = _other.securityMode; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + this.securityPolicyUri = _other.securityPolicyUri; + } + final PropertyTree transportProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProfileUriPropertyTree!= null):((transportProfileUriPropertyTree == null)||(!transportProfileUriPropertyTree.isLeaf())))) { + this.transportProfileUri = _other.transportProfileUri; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EndpointType >_P init(final _P _product) { + _product.endpointUrl = this.endpointUrl; + _product.securityMode = this.securityMode; + _product.securityPolicyUri = this.securityPolicyUri; + _product.transportProfileUri = this.transportProfileUri; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrl + * Neuer Wert der Eigenschaft "endpointUrl". + */ + public EndpointType.Builder<_B> withEndpointUrl(final JAXBElement endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + public EndpointType.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + this.securityMode = securityMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityPolicyUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityPolicyUri + * Neuer Wert der Eigenschaft "securityPolicyUri". + */ + public EndpointType.Builder<_B> withSecurityPolicyUri(final JAXBElement securityPolicyUri) { + this.securityPolicyUri = securityPolicyUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportProfileUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportProfileUri + * Neuer Wert der Eigenschaft "transportProfileUri". + */ + public EndpointType.Builder<_B> withTransportProfileUri(final JAXBElement transportProfileUri) { + this.transportProfileUri = transportProfileUri; + return this; + } + + @Override + public EndpointType build() { + if (_storedValue == null) { + return this.init(new EndpointType()); + } else { + return ((EndpointType) _storedValue); + } + } + + public EndpointType.Builder<_B> copyOf(final EndpointType _other) { + _other.copyTo(this); + return this; + } + + public EndpointType.Builder<_B> copyOf(final EndpointType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EndpointType.Selector + { + + + Select() { + super(null, null, null); + } + + public static EndpointType.Select _root() { + return new EndpointType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> endpointUrl = null; + private com.kscs.util.jaxb.Selector> securityMode = null; + private com.kscs.util.jaxb.Selector> securityPolicyUri = null; + private com.kscs.util.jaxb.Selector> transportProfileUri = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointUrl!= null) { + products.put("endpointUrl", this.endpointUrl.init()); + } + if (this.securityMode!= null) { + products.put("securityMode", this.securityMode.init()); + } + if (this.securityPolicyUri!= null) { + products.put("securityPolicyUri", this.securityPolicyUri.init()); + } + if (this.transportProfileUri!= null) { + products.put("transportProfileUri", this.transportProfileUri.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> endpointUrl() { + return ((this.endpointUrl == null)?this.endpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrl"):this.endpointUrl); + } + + public com.kscs.util.jaxb.Selector> securityMode() { + return ((this.securityMode == null)?this.securityMode = new com.kscs.util.jaxb.Selector>(this._root, this, "securityMode"):this.securityMode); + } + + public com.kscs.util.jaxb.Selector> securityPolicyUri() { + return ((this.securityPolicyUri == null)?this.securityPolicyUri = new com.kscs.util.jaxb.Selector>(this._root, this, "securityPolicyUri"):this.securityPolicyUri); + } + + public com.kscs.util.jaxb.Selector> transportProfileUri() { + return ((this.transportProfileUri == null)?this.transportProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "transportProfileUri"):this.transportProfileUri); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointUrlListDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointUrlListDataType.java new file mode 100644 index 000000000..d8829498b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EndpointUrlListDataType.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EndpointUrlListDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EndpointUrlListDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointUrlList" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EndpointUrlListDataType", propOrder = { + "endpointUrlList" +}) +public class EndpointUrlListDataType { + + @XmlElementRef(name = "EndpointUrlList", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrlList; + + /** + * Ruft den Wert der endpointUrlList-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getEndpointUrlList() { + return endpointUrlList; + } + + /** + * Legt den Wert der endpointUrlList-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setEndpointUrlList(JAXBElement value) { + this.endpointUrlList = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointUrlListDataType.Builder<_B> _other) { + _other.endpointUrlList = this.endpointUrlList; + } + + public<_B >EndpointUrlListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EndpointUrlListDataType.Builder<_B>(_parentBuilder, this, true); + } + + public EndpointUrlListDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EndpointUrlListDataType.Builder builder() { + return new EndpointUrlListDataType.Builder(null, null, false); + } + + public static<_B >EndpointUrlListDataType.Builder<_B> copyOf(final EndpointUrlListDataType _other) { + final EndpointUrlListDataType.Builder<_B> _newBuilder = new EndpointUrlListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EndpointUrlListDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointUrlListPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrlList")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlListPropertyTree!= null):((endpointUrlListPropertyTree == null)||(!endpointUrlListPropertyTree.isLeaf())))) { + _other.endpointUrlList = this.endpointUrlList; + } + } + + public<_B >EndpointUrlListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EndpointUrlListDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EndpointUrlListDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EndpointUrlListDataType.Builder<_B> copyOf(final EndpointUrlListDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EndpointUrlListDataType.Builder<_B> _newBuilder = new EndpointUrlListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EndpointUrlListDataType.Builder copyExcept(final EndpointUrlListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EndpointUrlListDataType.Builder copyOnly(final EndpointUrlListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EndpointUrlListDataType _storedValue; + private JAXBElement endpointUrlList; + + public Builder(final _B _parentBuilder, final EndpointUrlListDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.endpointUrlList = _other.endpointUrlList; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EndpointUrlListDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointUrlListPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrlList")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlListPropertyTree!= null):((endpointUrlListPropertyTree == null)||(!endpointUrlListPropertyTree.isLeaf())))) { + this.endpointUrlList = _other.endpointUrlList; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EndpointUrlListDataType >_P init(final _P _product) { + _product.endpointUrlList = this.endpointUrlList; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrlList" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrlList + * Neuer Wert der Eigenschaft "endpointUrlList". + */ + public EndpointUrlListDataType.Builder<_B> withEndpointUrlList(final JAXBElement endpointUrlList) { + this.endpointUrlList = endpointUrlList; + return this; + } + + @Override + public EndpointUrlListDataType build() { + if (_storedValue == null) { + return this.init(new EndpointUrlListDataType()); + } else { + return ((EndpointUrlListDataType) _storedValue); + } + } + + public EndpointUrlListDataType.Builder<_B> copyOf(final EndpointUrlListDataType _other) { + _other.copyTo(this); + return this; + } + + public EndpointUrlListDataType.Builder<_B> copyOf(final EndpointUrlListDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EndpointUrlListDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static EndpointUrlListDataType.Select _root() { + return new EndpointUrlListDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> endpointUrlList = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointUrlList!= null) { + products.put("endpointUrlList", this.endpointUrlList.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> endpointUrlList() { + return ((this.endpointUrlList == null)?this.endpointUrlList = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrlList"):this.endpointUrlList); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDefinition.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDefinition.java new file mode 100644 index 000000000..7ea2ff73b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDefinition.java @@ -0,0 +1,270 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EnumDefinition complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EnumDefinition">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDefinition">
+ *       <sequence>
+ *         <element name="Fields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEnumField" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EnumDefinition", propOrder = { + "fields" +}) +public class EnumDefinition + extends DataTypeDefinition +{ + + @XmlElementRef(name = "Fields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement fields; + + /** + * Ruft den Wert der fields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEnumField }{@code >} + * + */ + public JAXBElement getFields() { + return fields; + } + + /** + * Legt den Wert der fields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEnumField }{@code >} + * + */ + public void setFields(JAXBElement value) { + this.fields = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumDefinition.Builder<_B> _other) { + super.copyTo(_other); + _other.fields = this.fields; + } + + @Override + public<_B >EnumDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EnumDefinition.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public EnumDefinition.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EnumDefinition.Builder builder() { + return new EnumDefinition.Builder(null, null, false); + } + + public static<_B >EnumDefinition.Builder<_B> copyOf(final DataTypeDefinition _other) { + final EnumDefinition.Builder<_B> _newBuilder = new EnumDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >EnumDefinition.Builder<_B> copyOf(final EnumDefinition _other) { + final EnumDefinition.Builder<_B> _newBuilder = new EnumDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumDefinition.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree fieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldsPropertyTree!= null):((fieldsPropertyTree == null)||(!fieldsPropertyTree.isLeaf())))) { + _other.fields = this.fields; + } + } + + @Override + public<_B >EnumDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EnumDefinition.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public EnumDefinition.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EnumDefinition.Builder<_B> copyOf(final DataTypeDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumDefinition.Builder<_B> _newBuilder = new EnumDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >EnumDefinition.Builder<_B> copyOf(final EnumDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumDefinition.Builder<_B> _newBuilder = new EnumDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EnumDefinition.Builder copyExcept(final DataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumDefinition.Builder copyExcept(final EnumDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumDefinition.Builder copyOnly(final DataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static EnumDefinition.Builder copyOnly(final EnumDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeDefinition.Builder<_B> + implements Buildable + { + + private JAXBElement fields; + + public Builder(final _B _parentBuilder, final EnumDefinition _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.fields = _other.fields; + } + } + + public Builder(final _B _parentBuilder, final EnumDefinition _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree fieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldsPropertyTree!= null):((fieldsPropertyTree == null)||(!fieldsPropertyTree.isLeaf())))) { + this.fields = _other.fields; + } + } + } + + protected<_P extends EnumDefinition >_P init(final _P _product) { + _product.fields = this.fields; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "fields" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param fields + * Neuer Wert der Eigenschaft "fields". + */ + public EnumDefinition.Builder<_B> withFields(final JAXBElement fields) { + this.fields = fields; + return this; + } + + @Override + public EnumDefinition build() { + if (_storedValue == null) { + return this.init(new EnumDefinition()); + } else { + return ((EnumDefinition) _storedValue); + } + } + + public EnumDefinition.Builder<_B> copyOf(final EnumDefinition _other) { + _other.copyTo(this); + return this; + } + + public EnumDefinition.Builder<_B> copyOf(final EnumDefinition.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EnumDefinition.Selector + { + + + Select() { + super(null, null, null); + } + + public static EnumDefinition.Select _root() { + return new EnumDefinition.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeDefinition.Selector + { + + private com.kscs.util.jaxb.Selector> fields = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.fields!= null) { + products.put("fields", this.fields.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> fields() { + return ((this.fields == null)?this.fields = new com.kscs.util.jaxb.Selector>(this._root, this, "fields"):this.fields); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDescription.java new file mode 100644 index 000000000..9b1020c5f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumDescription.java @@ -0,0 +1,359 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EnumDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EnumDescription">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDescription">
+ *       <sequence>
+ *         <element name="EnumDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EnumDefinition" minOccurs="0"/>
+ *         <element name="BuiltInType" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EnumDescription", propOrder = { + "enumDefinition", + "builtInType" +}) +public class EnumDescription + extends DataTypeDescription +{ + + @XmlElementRef(name = "EnumDefinition", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement enumDefinition; + @XmlElement(name = "BuiltInType") + @XmlSchemaType(name = "unsignedByte") + protected Short builtInType; + + /** + * Ruft den Wert der enumDefinition-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link EnumDefinition }{@code >} + * + */ + public JAXBElement getEnumDefinition() { + return enumDefinition; + } + + /** + * Legt den Wert der enumDefinition-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link EnumDefinition }{@code >} + * + */ + public void setEnumDefinition(JAXBElement value) { + this.enumDefinition = value; + } + + /** + * Ruft den Wert der builtInType-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getBuiltInType() { + return builtInType; + } + + /** + * Legt den Wert der builtInType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setBuiltInType(Short value) { + this.builtInType = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumDescription.Builder<_B> _other) { + super.copyTo(_other); + _other.enumDefinition = this.enumDefinition; + _other.builtInType = this.builtInType; + } + + @Override + public<_B >EnumDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EnumDescription.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public EnumDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EnumDescription.Builder builder() { + return new EnumDescription.Builder(null, null, false); + } + + public static<_B >EnumDescription.Builder<_B> copyOf(final DataTypeDescription _other) { + final EnumDescription.Builder<_B> _newBuilder = new EnumDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >EnumDescription.Builder<_B> copyOf(final EnumDescription _other) { + final EnumDescription.Builder<_B> _newBuilder = new EnumDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree enumDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDefinitionPropertyTree!= null):((enumDefinitionPropertyTree == null)||(!enumDefinitionPropertyTree.isLeaf())))) { + _other.enumDefinition = this.enumDefinition; + } + final PropertyTree builtInTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("builtInType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(builtInTypePropertyTree!= null):((builtInTypePropertyTree == null)||(!builtInTypePropertyTree.isLeaf())))) { + _other.builtInType = this.builtInType; + } + } + + @Override + public<_B >EnumDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EnumDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public EnumDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EnumDescription.Builder<_B> copyOf(final DataTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumDescription.Builder<_B> _newBuilder = new EnumDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >EnumDescription.Builder<_B> copyOf(final EnumDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumDescription.Builder<_B> _newBuilder = new EnumDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EnumDescription.Builder copyExcept(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumDescription.Builder copyExcept(final EnumDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumDescription.Builder copyOnly(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static EnumDescription.Builder copyOnly(final EnumDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeDescription.Builder<_B> + implements Buildable + { + + private JAXBElement enumDefinition; + private Short builtInType; + + public Builder(final _B _parentBuilder, final EnumDescription _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.enumDefinition = _other.enumDefinition; + this.builtInType = _other.builtInType; + } + } + + public Builder(final _B _parentBuilder, final EnumDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree enumDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDefinitionPropertyTree!= null):((enumDefinitionPropertyTree == null)||(!enumDefinitionPropertyTree.isLeaf())))) { + this.enumDefinition = _other.enumDefinition; + } + final PropertyTree builtInTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("builtInType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(builtInTypePropertyTree!= null):((builtInTypePropertyTree == null)||(!builtInTypePropertyTree.isLeaf())))) { + this.builtInType = _other.builtInType; + } + } + } + + protected<_P extends EnumDescription >_P init(final _P _product) { + _product.enumDefinition = this.enumDefinition; + _product.builtInType = this.builtInType; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDefinition" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDefinition + * Neuer Wert der Eigenschaft "enumDefinition". + */ + public EnumDescription.Builder<_B> withEnumDefinition(final JAXBElement enumDefinition) { + this.enumDefinition = enumDefinition; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "builtInType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param builtInType + * Neuer Wert der Eigenschaft "builtInType". + */ + public EnumDescription.Builder<_B> withBuiltInType(final Short builtInType) { + this.builtInType = builtInType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataTypeId + * Neuer Wert der Eigenschaft "dataTypeId". + */ + @Override + public EnumDescription.Builder<_B> withDataTypeId(final JAXBElement dataTypeId) { + super.withDataTypeId(dataTypeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + @Override + public EnumDescription.Builder<_B> withName(final JAXBElement name) { + super.withName(name); + return this; + } + + @Override + public EnumDescription build() { + if (_storedValue == null) { + return this.init(new EnumDescription()); + } else { + return ((EnumDescription) _storedValue); + } + } + + public EnumDescription.Builder<_B> copyOf(final EnumDescription _other) { + _other.copyTo(this); + return this; + } + + public EnumDescription.Builder<_B> copyOf(final EnumDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EnumDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static EnumDescription.Select _root() { + return new EnumDescription.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeDescription.Selector + { + + private com.kscs.util.jaxb.Selector> enumDefinition = null; + private com.kscs.util.jaxb.Selector> builtInType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.enumDefinition!= null) { + products.put("enumDefinition", this.enumDefinition.init()); + } + if (this.builtInType!= null) { + products.put("builtInType", this.builtInType.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> enumDefinition() { + return ((this.enumDefinition == null)?this.enumDefinition = new com.kscs.util.jaxb.Selector>(this._root, this, "enumDefinition"):this.enumDefinition); + } + + public com.kscs.util.jaxb.Selector> builtInType() { + return ((this.builtInType == null)?this.builtInType = new com.kscs.util.jaxb.Selector>(this._root, this, "builtInType"):this.builtInType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumField.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumField.java new file mode 100644 index 000000000..b9d631d6c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumField.java @@ -0,0 +1,309 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EnumField complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EnumField">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}EnumValueType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EnumField", propOrder = { + "name" +}) +public class EnumField + extends EnumValueType +{ + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumField.Builder<_B> _other) { + super.copyTo(_other); + _other.name = this.name; + } + + @Override + public<_B >EnumField.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EnumField.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public EnumField.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EnumField.Builder builder() { + return new EnumField.Builder(null, null, false); + } + + public static<_B >EnumField.Builder<_B> copyOf(final EnumValueType _other) { + final EnumField.Builder<_B> _newBuilder = new EnumField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >EnumField.Builder<_B> copyOf(final EnumField _other) { + final EnumField.Builder<_B> _newBuilder = new EnumField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumField.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + } + + @Override + public<_B >EnumField.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EnumField.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public EnumField.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EnumField.Builder<_B> copyOf(final EnumValueType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumField.Builder<_B> _newBuilder = new EnumField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >EnumField.Builder<_B> copyOf(final EnumField _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumField.Builder<_B> _newBuilder = new EnumField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EnumField.Builder copyExcept(final EnumValueType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumField.Builder copyExcept(final EnumField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumField.Builder copyOnly(final EnumValueType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static EnumField.Builder copyOnly(final EnumField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends EnumValueType.Builder<_B> + implements Buildable + { + + private JAXBElement name; + + public Builder(final _B _parentBuilder, final EnumField _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.name = _other.name; + } + } + + public Builder(final _B _parentBuilder, final EnumField _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + } + } + + protected<_P extends EnumField >_P init(final _P _product) { + _product.name = this.name; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public EnumField.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + @Override + public EnumField.Builder<_B> withValue(final Long value) { + super.withValue(value); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public EnumField.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public EnumField.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + @Override + public EnumField build() { + if (_storedValue == null) { + return this.init(new EnumField()); + } else { + return ((EnumField) _storedValue); + } + } + + public EnumField.Builder<_B> copyOf(final EnumField _other) { + _other.copyTo(this); + return this; + } + + public EnumField.Builder<_B> copyOf(final EnumField.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EnumField.Selector + { + + + Select() { + super(null, null, null); + } + + public static EnumField.Select _root() { + return new EnumField.Select(); + } + + } + + public static class Selector , TParent > + extends EnumValueType.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumValueType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumValueType.java new file mode 100644 index 000000000..022a9b709 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EnumValueType.java @@ -0,0 +1,385 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EnumValueType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EnumValueType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Value" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *         <element name="DisplayName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EnumValueType", propOrder = { + "value", + "displayName", + "description" +}) +@XmlSeeAlso({ + EnumField.class +}) +public class EnumValueType { + + @XmlElement(name = "Value") + protected Long value; + @XmlElementRef(name = "DisplayName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement displayName; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setValue(Long value) { + this.value = value; + } + + /** + * Ruft den Wert der displayName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDisplayName() { + return displayName; + } + + /** + * Legt den Wert der displayName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDisplayName(JAXBElement value) { + this.displayName = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumValueType.Builder<_B> _other) { + _other.value = this.value; + _other.displayName = this.displayName; + _other.description = this.description; + } + + public<_B >EnumValueType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EnumValueType.Builder<_B>(_parentBuilder, this, true); + } + + public EnumValueType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EnumValueType.Builder builder() { + return new EnumValueType.Builder(null, null, false); + } + + public static<_B >EnumValueType.Builder<_B> copyOf(final EnumValueType _other) { + final EnumValueType.Builder<_B> _newBuilder = new EnumValueType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EnumValueType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + _other.displayName = this.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + } + + public<_B >EnumValueType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EnumValueType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EnumValueType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EnumValueType.Builder<_B> copyOf(final EnumValueType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EnumValueType.Builder<_B> _newBuilder = new EnumValueType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EnumValueType.Builder copyExcept(final EnumValueType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EnumValueType.Builder copyOnly(final EnumValueType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EnumValueType _storedValue; + private Long value; + private JAXBElement displayName; + private JAXBElement description; + + public Builder(final _B _parentBuilder, final EnumValueType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.value = _other.value; + this.displayName = _other.displayName; + this.description = _other.description; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EnumValueType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + this.displayName = _other.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EnumValueType >_P init(final _P _product) { + _product.value = this.value; + _product.displayName = this.displayName; + _product.description = this.description; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public EnumValueType.Builder<_B> withValue(final Long value) { + this.value = value; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + public EnumValueType.Builder<_B> withDisplayName(final JAXBElement displayName) { + this.displayName = displayName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public EnumValueType.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + @Override + public EnumValueType build() { + if (_storedValue == null) { + return this.init(new EnumValueType()); + } else { + return ((EnumValueType) _storedValue); + } + } + + public EnumValueType.Builder<_B> copyOf(final EnumValueType _other) { + _other.copyTo(this); + return this; + } + + public EnumValueType.Builder<_B> copyOf(final EnumValueType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EnumValueType.Selector + { + + + Select() { + super(null, null, null); + } + + public static EnumValueType.Select _root() { + return new EnumValueType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> value = null; + private com.kscs.util.jaxb.Selector> displayName = null; + private com.kscs.util.jaxb.Selector> description = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.displayName!= null) { + products.put("displayName", this.displayName.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + public com.kscs.util.jaxb.Selector> displayName() { + return ((this.displayName == null)?this.displayName = new com.kscs.util.jaxb.Selector>(this._root, this, "displayName"):this.displayName); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EphemeralKeyType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EphemeralKeyType.java new file mode 100644 index 000000000..4ef3c4f10 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EphemeralKeyType.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EphemeralKeyType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EphemeralKeyType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublicKey" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="Signature" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EphemeralKeyType", propOrder = { + "publicKey", + "signature" +}) +public class EphemeralKeyType { + + @XmlElementRef(name = "PublicKey", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement publicKey; + @XmlElementRef(name = "Signature", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement signature; + + /** + * Ruft den Wert der publicKey-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getPublicKey() { + return publicKey; + } + + /** + * Legt den Wert der publicKey-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setPublicKey(JAXBElement value) { + this.publicKey = value; + } + + /** + * Ruft den Wert der signature-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getSignature() { + return signature; + } + + /** + * Legt den Wert der signature-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setSignature(JAXBElement value) { + this.signature = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EphemeralKeyType.Builder<_B> _other) { + _other.publicKey = this.publicKey; + _other.signature = this.signature; + } + + public<_B >EphemeralKeyType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EphemeralKeyType.Builder<_B>(_parentBuilder, this, true); + } + + public EphemeralKeyType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EphemeralKeyType.Builder builder() { + return new EphemeralKeyType.Builder(null, null, false); + } + + public static<_B >EphemeralKeyType.Builder<_B> copyOf(final EphemeralKeyType _other) { + final EphemeralKeyType.Builder<_B> _newBuilder = new EphemeralKeyType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EphemeralKeyType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publicKeyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publicKey")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publicKeyPropertyTree!= null):((publicKeyPropertyTree == null)||(!publicKeyPropertyTree.isLeaf())))) { + _other.publicKey = this.publicKey; + } + final PropertyTree signaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signaturePropertyTree!= null):((signaturePropertyTree == null)||(!signaturePropertyTree.isLeaf())))) { + _other.signature = this.signature; + } + } + + public<_B >EphemeralKeyType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EphemeralKeyType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EphemeralKeyType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EphemeralKeyType.Builder<_B> copyOf(final EphemeralKeyType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EphemeralKeyType.Builder<_B> _newBuilder = new EphemeralKeyType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EphemeralKeyType.Builder copyExcept(final EphemeralKeyType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EphemeralKeyType.Builder copyOnly(final EphemeralKeyType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EphemeralKeyType _storedValue; + private JAXBElement publicKey; + private JAXBElement signature; + + public Builder(final _B _parentBuilder, final EphemeralKeyType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.publicKey = _other.publicKey; + this.signature = _other.signature; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EphemeralKeyType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publicKeyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publicKey")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publicKeyPropertyTree!= null):((publicKeyPropertyTree == null)||(!publicKeyPropertyTree.isLeaf())))) { + this.publicKey = _other.publicKey; + } + final PropertyTree signaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signaturePropertyTree!= null):((signaturePropertyTree == null)||(!signaturePropertyTree.isLeaf())))) { + this.signature = _other.signature; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EphemeralKeyType >_P init(final _P _product) { + _product.publicKey = this.publicKey; + _product.signature = this.signature; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publicKey" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param publicKey + * Neuer Wert der Eigenschaft "publicKey". + */ + public EphemeralKeyType.Builder<_B> withPublicKey(final JAXBElement publicKey) { + this.publicKey = publicKey; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "signature" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param signature + * Neuer Wert der Eigenschaft "signature". + */ + public EphemeralKeyType.Builder<_B> withSignature(final JAXBElement signature) { + this.signature = signature; + return this; + } + + @Override + public EphemeralKeyType build() { + if (_storedValue == null) { + return this.init(new EphemeralKeyType()); + } else { + return ((EphemeralKeyType) _storedValue); + } + } + + public EphemeralKeyType.Builder<_B> copyOf(final EphemeralKeyType _other) { + _other.copyTo(this); + return this; + } + + public EphemeralKeyType.Builder<_B> copyOf(final EphemeralKeyType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EphemeralKeyType.Selector + { + + + Select() { + super(null, null, null); + } + + public static EphemeralKeyType.Select _root() { + return new EphemeralKeyType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> publicKey = null; + private com.kscs.util.jaxb.Selector> signature = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publicKey!= null) { + products.put("publicKey", this.publicKey.init()); + } + if (this.signature!= null) { + products.put("signature", this.signature.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> publicKey() { + return ((this.publicKey == null)?this.publicKey = new com.kscs.util.jaxb.Selector>(this._root, this, "publicKey"):this.publicKey); + } + + public com.kscs.util.jaxb.Selector> signature() { + return ((this.signature == null)?this.signature = new com.kscs.util.jaxb.Selector>(this._root, this, "signature"):this.signature); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFieldList.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFieldList.java new file mode 100644 index 000000000..deee3fee6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFieldList.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EventFieldList complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EventFieldList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ClientHandle" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="EventFields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EventFieldList", propOrder = { + "clientHandle", + "eventFields" +}) +public class EventFieldList { + + @XmlElement(name = "ClientHandle") + @XmlSchemaType(name = "unsignedInt") + protected Long clientHandle; + @XmlElementRef(name = "EventFields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement eventFields; + + /** + * Ruft den Wert der clientHandle-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getClientHandle() { + return clientHandle; + } + + /** + * Legt den Wert der clientHandle-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setClientHandle(Long value) { + this.clientHandle = value; + } + + /** + * Ruft den Wert der eventFields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getEventFields() { + return eventFields; + } + + /** + * Legt den Wert der eventFields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setEventFields(JAXBElement value) { + this.eventFields = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventFieldList.Builder<_B> _other) { + _other.clientHandle = this.clientHandle; + _other.eventFields = this.eventFields; + } + + public<_B >EventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EventFieldList.Builder<_B>(_parentBuilder, this, true); + } + + public EventFieldList.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EventFieldList.Builder builder() { + return new EventFieldList.Builder(null, null, false); + } + + public static<_B >EventFieldList.Builder<_B> copyOf(final EventFieldList _other) { + final EventFieldList.Builder<_B> _newBuilder = new EventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventFieldList.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree clientHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientHandlePropertyTree!= null):((clientHandlePropertyTree == null)||(!clientHandlePropertyTree.isLeaf())))) { + _other.clientHandle = this.clientHandle; + } + final PropertyTree eventFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventFieldsPropertyTree!= null):((eventFieldsPropertyTree == null)||(!eventFieldsPropertyTree.isLeaf())))) { + _other.eventFields = this.eventFields; + } + } + + public<_B >EventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EventFieldList.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public EventFieldList.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EventFieldList.Builder<_B> copyOf(final EventFieldList _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventFieldList.Builder<_B> _newBuilder = new EventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EventFieldList.Builder copyExcept(final EventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventFieldList.Builder copyOnly(final EventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final EventFieldList _storedValue; + private Long clientHandle; + private JAXBElement eventFields; + + public Builder(final _B _parentBuilder, final EventFieldList _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.clientHandle = _other.clientHandle; + this.eventFields = _other.eventFields; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final EventFieldList _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree clientHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientHandlePropertyTree!= null):((clientHandlePropertyTree == null)||(!clientHandlePropertyTree.isLeaf())))) { + this.clientHandle = _other.clientHandle; + } + final PropertyTree eventFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventFieldsPropertyTree!= null):((eventFieldsPropertyTree == null)||(!eventFieldsPropertyTree.isLeaf())))) { + this.eventFields = _other.eventFields; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends EventFieldList >_P init(final _P _product) { + _product.clientHandle = this.clientHandle; + _product.eventFields = this.eventFields; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientHandle" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param clientHandle + * Neuer Wert der Eigenschaft "clientHandle". + */ + public EventFieldList.Builder<_B> withClientHandle(final Long clientHandle) { + this.clientHandle = clientHandle; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventFields" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventFields + * Neuer Wert der Eigenschaft "eventFields". + */ + public EventFieldList.Builder<_B> withEventFields(final JAXBElement eventFields) { + this.eventFields = eventFields; + return this; + } + + @Override + public EventFieldList build() { + if (_storedValue == null) { + return this.init(new EventFieldList()); + } else { + return ((EventFieldList) _storedValue); + } + } + + public EventFieldList.Builder<_B> copyOf(final EventFieldList _other) { + _other.copyTo(this); + return this; + } + + public EventFieldList.Builder<_B> copyOf(final EventFieldList.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EventFieldList.Selector + { + + + Select() { + super(null, null, null); + } + + public static EventFieldList.Select _root() { + return new EventFieldList.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> clientHandle = null; + private com.kscs.util.jaxb.Selector> eventFields = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.clientHandle!= null) { + products.put("clientHandle", this.clientHandle.init()); + } + if (this.eventFields!= null) { + products.put("eventFields", this.eventFields.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> clientHandle() { + return ((this.clientHandle == null)?this.clientHandle = new com.kscs.util.jaxb.Selector>(this._root, this, "clientHandle"):this.clientHandle); + } + + public com.kscs.util.jaxb.Selector> eventFields() { + return ((this.eventFields == null)?this.eventFields = new com.kscs.util.jaxb.Selector>(this._root, this, "eventFields"):this.eventFields); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilter.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilter.java new file mode 100644 index 000000000..8b17d6bba --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilter.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EventFilter complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EventFilter">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringFilter">
+ *       <sequence>
+ *         <element name="SelectClauses" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfSimpleAttributeOperand" minOccurs="0"/>
+ *         <element name="WhereClause" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilter" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EventFilter", propOrder = { + "selectClauses", + "whereClause" +}) +public class EventFilter + extends MonitoringFilter +{ + + @XmlElementRef(name = "SelectClauses", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement selectClauses; + @XmlElementRef(name = "WhereClause", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement whereClause; + + /** + * Ruft den Wert der selectClauses-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + */ + public JAXBElement getSelectClauses() { + return selectClauses; + } + + /** + * Legt den Wert der selectClauses-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + */ + public void setSelectClauses(JAXBElement value) { + this.selectClauses = value; + } + + /** + * Ruft den Wert der whereClause-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + */ + public JAXBElement getWhereClause() { + return whereClause; + } + + /** + * Legt den Wert der whereClause-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + */ + public void setWhereClause(JAXBElement value) { + this.whereClause = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventFilter.Builder<_B> _other) { + super.copyTo(_other); + _other.selectClauses = this.selectClauses; + _other.whereClause = this.whereClause; + } + + @Override + public<_B >EventFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EventFilter.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public EventFilter.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EventFilter.Builder builder() { + return new EventFilter.Builder(null, null, false); + } + + public static<_B >EventFilter.Builder<_B> copyOf(final MonitoringFilter _other) { + final EventFilter.Builder<_B> _newBuilder = new EventFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >EventFilter.Builder<_B> copyOf(final EventFilter _other) { + final EventFilter.Builder<_B> _newBuilder = new EventFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventFilter.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree selectClausesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectClauses")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectClausesPropertyTree!= null):((selectClausesPropertyTree == null)||(!selectClausesPropertyTree.isLeaf())))) { + _other.selectClauses = this.selectClauses; + } + final PropertyTree whereClausePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("whereClause")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(whereClausePropertyTree!= null):((whereClausePropertyTree == null)||(!whereClausePropertyTree.isLeaf())))) { + _other.whereClause = this.whereClause; + } + } + + @Override + public<_B >EventFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EventFilter.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public EventFilter.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EventFilter.Builder<_B> copyOf(final MonitoringFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventFilter.Builder<_B> _newBuilder = new EventFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >EventFilter.Builder<_B> copyOf(final EventFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventFilter.Builder<_B> _newBuilder = new EventFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EventFilter.Builder copyExcept(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventFilter.Builder copyExcept(final EventFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventFilter.Builder copyOnly(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static EventFilter.Builder copyOnly(final EventFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends MonitoringFilter.Builder<_B> + implements Buildable + { + + private JAXBElement selectClauses; + private JAXBElement whereClause; + + public Builder(final _B _parentBuilder, final EventFilter _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.selectClauses = _other.selectClauses; + this.whereClause = _other.whereClause; + } + } + + public Builder(final _B _parentBuilder, final EventFilter _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree selectClausesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectClauses")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectClausesPropertyTree!= null):((selectClausesPropertyTree == null)||(!selectClausesPropertyTree.isLeaf())))) { + this.selectClauses = _other.selectClauses; + } + final PropertyTree whereClausePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("whereClause")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(whereClausePropertyTree!= null):((whereClausePropertyTree == null)||(!whereClausePropertyTree.isLeaf())))) { + this.whereClause = _other.whereClause; + } + } + } + + protected<_P extends EventFilter >_P init(final _P _product) { + _product.selectClauses = this.selectClauses; + _product.whereClause = this.whereClause; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "selectClauses" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param selectClauses + * Neuer Wert der Eigenschaft "selectClauses". + */ + public EventFilter.Builder<_B> withSelectClauses(final JAXBElement selectClauses) { + this.selectClauses = selectClauses; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "whereClause" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param whereClause + * Neuer Wert der Eigenschaft "whereClause". + */ + public EventFilter.Builder<_B> withWhereClause(final JAXBElement whereClause) { + this.whereClause = whereClause; + return this; + } + + @Override + public EventFilter build() { + if (_storedValue == null) { + return this.init(new EventFilter()); + } else { + return ((EventFilter) _storedValue); + } + } + + public EventFilter.Builder<_B> copyOf(final EventFilter _other) { + _other.copyTo(this); + return this; + } + + public EventFilter.Builder<_B> copyOf(final EventFilter.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EventFilter.Selector + { + + + Select() { + super(null, null, null); + } + + public static EventFilter.Select _root() { + return new EventFilter.Select(); + } + + } + + public static class Selector , TParent > + extends MonitoringFilter.Selector + { + + private com.kscs.util.jaxb.Selector> selectClauses = null; + private com.kscs.util.jaxb.Selector> whereClause = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.selectClauses!= null) { + products.put("selectClauses", this.selectClauses.init()); + } + if (this.whereClause!= null) { + products.put("whereClause", this.whereClause.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> selectClauses() { + return ((this.selectClauses == null)?this.selectClauses = new com.kscs.util.jaxb.Selector>(this._root, this, "selectClauses"):this.selectClauses); + } + + public com.kscs.util.jaxb.Selector> whereClause() { + return ((this.whereClause == null)?this.whereClause = new com.kscs.util.jaxb.Selector>(this._root, this, "whereClause"):this.whereClause); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilterResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilterResult.java new file mode 100644 index 000000000..fc1ec5b84 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventFilterResult.java @@ -0,0 +1,390 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EventFilterResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EventFilterResult">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringFilterResult">
+ *       <sequence>
+ *         <element name="SelectClauseResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="SelectClauseDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *         <element name="WhereClauseResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilterResult" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EventFilterResult", propOrder = { + "selectClauseResults", + "selectClauseDiagnosticInfos", + "whereClauseResult" +}) +public class EventFilterResult + extends MonitoringFilterResult +{ + + @XmlElementRef(name = "SelectClauseResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement selectClauseResults; + @XmlElementRef(name = "SelectClauseDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement selectClauseDiagnosticInfos; + @XmlElementRef(name = "WhereClauseResult", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement whereClauseResult; + + /** + * Ruft den Wert der selectClauseResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getSelectClauseResults() { + return selectClauseResults; + } + + /** + * Legt den Wert der selectClauseResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setSelectClauseResults(JAXBElement value) { + this.selectClauseResults = value; + } + + /** + * Ruft den Wert der selectClauseDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getSelectClauseDiagnosticInfos() { + return selectClauseDiagnosticInfos; + } + + /** + * Legt den Wert der selectClauseDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setSelectClauseDiagnosticInfos(JAXBElement value) { + this.selectClauseDiagnosticInfos = value; + } + + /** + * Ruft den Wert der whereClauseResult-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + */ + public JAXBElement getWhereClauseResult() { + return whereClauseResult; + } + + /** + * Legt den Wert der whereClauseResult-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + */ + public void setWhereClauseResult(JAXBElement value) { + this.whereClauseResult = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventFilterResult.Builder<_B> _other) { + super.copyTo(_other); + _other.selectClauseResults = this.selectClauseResults; + _other.selectClauseDiagnosticInfos = this.selectClauseDiagnosticInfos; + _other.whereClauseResult = this.whereClauseResult; + } + + @Override + public<_B >EventFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EventFilterResult.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public EventFilterResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EventFilterResult.Builder builder() { + return new EventFilterResult.Builder(null, null, false); + } + + public static<_B >EventFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other) { + final EventFilterResult.Builder<_B> _newBuilder = new EventFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >EventFilterResult.Builder<_B> copyOf(final EventFilterResult _other) { + final EventFilterResult.Builder<_B> _newBuilder = new EventFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventFilterResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree selectClauseResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectClauseResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectClauseResultsPropertyTree!= null):((selectClauseResultsPropertyTree == null)||(!selectClauseResultsPropertyTree.isLeaf())))) { + _other.selectClauseResults = this.selectClauseResults; + } + final PropertyTree selectClauseDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectClauseDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectClauseDiagnosticInfosPropertyTree!= null):((selectClauseDiagnosticInfosPropertyTree == null)||(!selectClauseDiagnosticInfosPropertyTree.isLeaf())))) { + _other.selectClauseDiagnosticInfos = this.selectClauseDiagnosticInfos; + } + final PropertyTree whereClauseResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("whereClauseResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(whereClauseResultPropertyTree!= null):((whereClauseResultPropertyTree == null)||(!whereClauseResultPropertyTree.isLeaf())))) { + _other.whereClauseResult = this.whereClauseResult; + } + } + + @Override + public<_B >EventFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EventFilterResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public EventFilterResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EventFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventFilterResult.Builder<_B> _newBuilder = new EventFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >EventFilterResult.Builder<_B> copyOf(final EventFilterResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventFilterResult.Builder<_B> _newBuilder = new EventFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EventFilterResult.Builder copyExcept(final MonitoringFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventFilterResult.Builder copyExcept(final EventFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventFilterResult.Builder copyOnly(final MonitoringFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static EventFilterResult.Builder copyOnly(final EventFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends MonitoringFilterResult.Builder<_B> + implements Buildable + { + + private JAXBElement selectClauseResults; + private JAXBElement selectClauseDiagnosticInfos; + private JAXBElement whereClauseResult; + + public Builder(final _B _parentBuilder, final EventFilterResult _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.selectClauseResults = _other.selectClauseResults; + this.selectClauseDiagnosticInfos = _other.selectClauseDiagnosticInfos; + this.whereClauseResult = _other.whereClauseResult; + } + } + + public Builder(final _B _parentBuilder, final EventFilterResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree selectClauseResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectClauseResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectClauseResultsPropertyTree!= null):((selectClauseResultsPropertyTree == null)||(!selectClauseResultsPropertyTree.isLeaf())))) { + this.selectClauseResults = _other.selectClauseResults; + } + final PropertyTree selectClauseDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectClauseDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectClauseDiagnosticInfosPropertyTree!= null):((selectClauseDiagnosticInfosPropertyTree == null)||(!selectClauseDiagnosticInfosPropertyTree.isLeaf())))) { + this.selectClauseDiagnosticInfos = _other.selectClauseDiagnosticInfos; + } + final PropertyTree whereClauseResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("whereClauseResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(whereClauseResultPropertyTree!= null):((whereClauseResultPropertyTree == null)||(!whereClauseResultPropertyTree.isLeaf())))) { + this.whereClauseResult = _other.whereClauseResult; + } + } + } + + protected<_P extends EventFilterResult >_P init(final _P _product) { + _product.selectClauseResults = this.selectClauseResults; + _product.selectClauseDiagnosticInfos = this.selectClauseDiagnosticInfos; + _product.whereClauseResult = this.whereClauseResult; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "selectClauseResults" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param selectClauseResults + * Neuer Wert der Eigenschaft "selectClauseResults". + */ + public EventFilterResult.Builder<_B> withSelectClauseResults(final JAXBElement selectClauseResults) { + this.selectClauseResults = selectClauseResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "selectClauseDiagnosticInfos" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param selectClauseDiagnosticInfos + * Neuer Wert der Eigenschaft "selectClauseDiagnosticInfos". + */ + public EventFilterResult.Builder<_B> withSelectClauseDiagnosticInfos(final JAXBElement selectClauseDiagnosticInfos) { + this.selectClauseDiagnosticInfos = selectClauseDiagnosticInfos; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "whereClauseResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param whereClauseResult + * Neuer Wert der Eigenschaft "whereClauseResult". + */ + public EventFilterResult.Builder<_B> withWhereClauseResult(final JAXBElement whereClauseResult) { + this.whereClauseResult = whereClauseResult; + return this; + } + + @Override + public EventFilterResult build() { + if (_storedValue == null) { + return this.init(new EventFilterResult()); + } else { + return ((EventFilterResult) _storedValue); + } + } + + public EventFilterResult.Builder<_B> copyOf(final EventFilterResult _other) { + _other.copyTo(this); + return this; + } + + public EventFilterResult.Builder<_B> copyOf(final EventFilterResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EventFilterResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static EventFilterResult.Select _root() { + return new EventFilterResult.Select(); + } + + } + + public static class Selector , TParent > + extends MonitoringFilterResult.Selector + { + + private com.kscs.util.jaxb.Selector> selectClauseResults = null; + private com.kscs.util.jaxb.Selector> selectClauseDiagnosticInfos = null; + private com.kscs.util.jaxb.Selector> whereClauseResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.selectClauseResults!= null) { + products.put("selectClauseResults", this.selectClauseResults.init()); + } + if (this.selectClauseDiagnosticInfos!= null) { + products.put("selectClauseDiagnosticInfos", this.selectClauseDiagnosticInfos.init()); + } + if (this.whereClauseResult!= null) { + products.put("whereClauseResult", this.whereClauseResult.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> selectClauseResults() { + return ((this.selectClauseResults == null)?this.selectClauseResults = new com.kscs.util.jaxb.Selector>(this._root, this, "selectClauseResults"):this.selectClauseResults); + } + + public com.kscs.util.jaxb.Selector> selectClauseDiagnosticInfos() { + return ((this.selectClauseDiagnosticInfos == null)?this.selectClauseDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "selectClauseDiagnosticInfos"):this.selectClauseDiagnosticInfos); + } + + public com.kscs.util.jaxb.Selector> whereClauseResult() { + return ((this.whereClauseResult == null)?this.whereClauseResult = new com.kscs.util.jaxb.Selector>(this._root, this, "whereClauseResult"):this.whereClauseResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventNotificationList.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventNotificationList.java new file mode 100644 index 000000000..c10f7afcc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/EventNotificationList.java @@ -0,0 +1,270 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für EventNotificationList complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="EventNotificationList">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NotificationData">
+ *       <sequence>
+ *         <element name="Events" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEventFieldList" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EventNotificationList", propOrder = { + "events" +}) +public class EventNotificationList + extends NotificationData +{ + + @XmlElementRef(name = "Events", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement events; + + /** + * Ruft den Wert der events-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEventFieldList }{@code >} + * + */ + public JAXBElement getEvents() { + return events; + } + + /** + * Legt den Wert der events-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEventFieldList }{@code >} + * + */ + public void setEvents(JAXBElement value) { + this.events = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventNotificationList.Builder<_B> _other) { + super.copyTo(_other); + _other.events = this.events; + } + + @Override + public<_B >EventNotificationList.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new EventNotificationList.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public EventNotificationList.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static EventNotificationList.Builder builder() { + return new EventNotificationList.Builder(null, null, false); + } + + public static<_B >EventNotificationList.Builder<_B> copyOf(final NotificationData _other) { + final EventNotificationList.Builder<_B> _newBuilder = new EventNotificationList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >EventNotificationList.Builder<_B> copyOf(final EventNotificationList _other) { + final EventNotificationList.Builder<_B> _newBuilder = new EventNotificationList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final EventNotificationList.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree eventsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("events")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventsPropertyTree!= null):((eventsPropertyTree == null)||(!eventsPropertyTree.isLeaf())))) { + _other.events = this.events; + } + } + + @Override + public<_B >EventNotificationList.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new EventNotificationList.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public EventNotificationList.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >EventNotificationList.Builder<_B> copyOf(final NotificationData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventNotificationList.Builder<_B> _newBuilder = new EventNotificationList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >EventNotificationList.Builder<_B> copyOf(final EventNotificationList _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final EventNotificationList.Builder<_B> _newBuilder = new EventNotificationList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static EventNotificationList.Builder copyExcept(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventNotificationList.Builder copyExcept(final EventNotificationList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static EventNotificationList.Builder copyOnly(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static EventNotificationList.Builder copyOnly(final EventNotificationList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NotificationData.Builder<_B> + implements Buildable + { + + private JAXBElement events; + + public Builder(final _B _parentBuilder, final EventNotificationList _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.events = _other.events; + } + } + + public Builder(final _B _parentBuilder, final EventNotificationList _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree eventsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("events")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventsPropertyTree!= null):((eventsPropertyTree == null)||(!eventsPropertyTree.isLeaf())))) { + this.events = _other.events; + } + } + } + + protected<_P extends EventNotificationList >_P init(final _P _product) { + _product.events = this.events; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "events" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param events + * Neuer Wert der Eigenschaft "events". + */ + public EventNotificationList.Builder<_B> withEvents(final JAXBElement events) { + this.events = events; + return this; + } + + @Override + public EventNotificationList build() { + if (_storedValue == null) { + return this.init(new EventNotificationList()); + } else { + return ((EventNotificationList) _storedValue); + } + } + + public EventNotificationList.Builder<_B> copyOf(final EventNotificationList _other) { + _other.copyTo(this); + return this; + } + + public EventNotificationList.Builder<_B> copyOf(final EventNotificationList.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends EventNotificationList.Selector + { + + + Select() { + super(null, null, null); + } + + public static EventNotificationList.Select _root() { + return new EventNotificationList.Select(); + } + + } + + public static class Selector , TParent > + extends NotificationData.Selector + { + + private com.kscs.util.jaxb.Selector> events = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.events!= null) { + products.put("events", this.events.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> events() { + return ((this.events == null)?this.events = new com.kscs.util.jaxb.Selector>(this._root, this, "events"):this.events); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExampleExtensionObjectBody.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExampleExtensionObjectBody.java new file mode 100644 index 000000000..401c797ab --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExampleExtensionObjectBody.java @@ -0,0 +1,390 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:06:57 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ExampleExtensionObjectBody complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ExampleExtensionObjectBody">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObjectBody">
+ *       <choice>
+ *         <element name="Argument" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Argument" minOccurs="0"/>
+ *         <element name="UserIdentityToken" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserIdentityToken" minOccurs="0"/>
+ *         <element name="UserNameIdentityToken" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserNameIdentityToken" minOccurs="0"/>
+ *       </choice>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExampleExtensionObjectBody", propOrder = { + "argument", + "userIdentityToken", + "userNameIdentityToken" +}) +public class ExampleExtensionObjectBody + extends ExtensionObjectBody +{ + + @XmlElementRef(name = "Argument", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement argument; + @XmlElementRef(name = "UserIdentityToken", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userIdentityToken; + @XmlElementRef(name = "UserNameIdentityToken", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userNameIdentityToken; + + /** + * Ruft den Wert der argument-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link Argument }{@code >} + * + */ + public JAXBElement getArgument() { + return argument; + } + + /** + * Legt den Wert der argument-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link Argument }{@code >} + * + */ + public void setArgument(JAXBElement value) { + this.argument = value; + } + + /** + * Ruft den Wert der userIdentityToken-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link UserIdentityToken }{@code >} + * + */ + public JAXBElement getUserIdentityToken() { + return userIdentityToken; + } + + /** + * Legt den Wert der userIdentityToken-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link UserIdentityToken }{@code >} + * + */ + public void setUserIdentityToken(JAXBElement value) { + this.userIdentityToken = value; + } + + /** + * Ruft den Wert der userNameIdentityToken-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link UserNameIdentityToken }{@code >} + * + */ + public JAXBElement getUserNameIdentityToken() { + return userNameIdentityToken; + } + + /** + * Legt den Wert der userNameIdentityToken-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link UserNameIdentityToken }{@code >} + * + */ + public void setUserNameIdentityToken(JAXBElement value) { + this.userNameIdentityToken = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExampleExtensionObjectBody.Builder<_B> _other) { + super.copyTo(_other); + _other.argument = this.argument; + _other.userIdentityToken = this.userIdentityToken; + _other.userNameIdentityToken = this.userNameIdentityToken; + } + + @Override + public<_B >ExampleExtensionObjectBody.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ExampleExtensionObjectBody.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ExampleExtensionObjectBody.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ExampleExtensionObjectBody.Builder builder() { + return new ExampleExtensionObjectBody.Builder(null, null, false); + } + + public static<_B >ExampleExtensionObjectBody.Builder<_B> copyOf(final ExtensionObjectBody _other) { + final ExampleExtensionObjectBody.Builder<_B> _newBuilder = new ExampleExtensionObjectBody.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ExampleExtensionObjectBody.Builder<_B> copyOf(final ExampleExtensionObjectBody _other) { + final ExampleExtensionObjectBody.Builder<_B> _newBuilder = new ExampleExtensionObjectBody.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExampleExtensionObjectBody.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree argumentPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("argument")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(argumentPropertyTree!= null):((argumentPropertyTree == null)||(!argumentPropertyTree.isLeaf())))) { + _other.argument = this.argument; + } + final PropertyTree userIdentityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userIdentityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userIdentityTokenPropertyTree!= null):((userIdentityTokenPropertyTree == null)||(!userIdentityTokenPropertyTree.isLeaf())))) { + _other.userIdentityToken = this.userIdentityToken; + } + final PropertyTree userNameIdentityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userNameIdentityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNameIdentityTokenPropertyTree!= null):((userNameIdentityTokenPropertyTree == null)||(!userNameIdentityTokenPropertyTree.isLeaf())))) { + _other.userNameIdentityToken = this.userNameIdentityToken; + } + } + + @Override + public<_B >ExampleExtensionObjectBody.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ExampleExtensionObjectBody.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ExampleExtensionObjectBody.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ExampleExtensionObjectBody.Builder<_B> copyOf(final ExtensionObjectBody _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ExampleExtensionObjectBody.Builder<_B> _newBuilder = new ExampleExtensionObjectBody.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ExampleExtensionObjectBody.Builder<_B> copyOf(final ExampleExtensionObjectBody _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ExampleExtensionObjectBody.Builder<_B> _newBuilder = new ExampleExtensionObjectBody.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ExampleExtensionObjectBody.Builder copyExcept(final ExtensionObjectBody _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ExampleExtensionObjectBody.Builder copyExcept(final ExampleExtensionObjectBody _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ExampleExtensionObjectBody.Builder copyOnly(final ExtensionObjectBody _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ExampleExtensionObjectBody.Builder copyOnly(final ExampleExtensionObjectBody _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends ExtensionObjectBody.Builder<_B> + implements Buildable + { + + private JAXBElement argument; + private JAXBElement userIdentityToken; + private JAXBElement userNameIdentityToken; + + public Builder(final _B _parentBuilder, final ExampleExtensionObjectBody _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.argument = _other.argument; + this.userIdentityToken = _other.userIdentityToken; + this.userNameIdentityToken = _other.userNameIdentityToken; + } + } + + public Builder(final _B _parentBuilder, final ExampleExtensionObjectBody _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree argumentPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("argument")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(argumentPropertyTree!= null):((argumentPropertyTree == null)||(!argumentPropertyTree.isLeaf())))) { + this.argument = _other.argument; + } + final PropertyTree userIdentityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userIdentityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userIdentityTokenPropertyTree!= null):((userIdentityTokenPropertyTree == null)||(!userIdentityTokenPropertyTree.isLeaf())))) { + this.userIdentityToken = _other.userIdentityToken; + } + final PropertyTree userNameIdentityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userNameIdentityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNameIdentityTokenPropertyTree!= null):((userNameIdentityTokenPropertyTree == null)||(!userNameIdentityTokenPropertyTree.isLeaf())))) { + this.userNameIdentityToken = _other.userNameIdentityToken; + } + } + } + + protected<_P extends ExampleExtensionObjectBody >_P init(final _P _product) { + _product.argument = this.argument; + _product.userIdentityToken = this.userIdentityToken; + _product.userNameIdentityToken = this.userNameIdentityToken; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "argument" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param argument + * Neuer Wert der Eigenschaft "argument". + */ + public ExampleExtensionObjectBody.Builder<_B> withArgument(final JAXBElement argument) { + this.argument = argument; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userIdentityToken" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userIdentityToken + * Neuer Wert der Eigenschaft "userIdentityToken". + */ + public ExampleExtensionObjectBody.Builder<_B> withUserIdentityToken(final JAXBElement userIdentityToken) { + this.userIdentityToken = userIdentityToken; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userNameIdentityToken" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param userNameIdentityToken + * Neuer Wert der Eigenschaft "userNameIdentityToken". + */ + public ExampleExtensionObjectBody.Builder<_B> withUserNameIdentityToken(final JAXBElement userNameIdentityToken) { + this.userNameIdentityToken = userNameIdentityToken; + return this; + } + + @Override + public ExampleExtensionObjectBody build() { + if (_storedValue == null) { + return this.init(new ExampleExtensionObjectBody()); + } else { + return ((ExampleExtensionObjectBody) _storedValue); + } + } + + public ExampleExtensionObjectBody.Builder<_B> copyOf(final ExampleExtensionObjectBody _other) { + _other.copyTo(this); + return this; + } + + public ExampleExtensionObjectBody.Builder<_B> copyOf(final ExampleExtensionObjectBody.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ExampleExtensionObjectBody.Selector + { + + + Select() { + super(null, null, null); + } + + public static ExampleExtensionObjectBody.Select _root() { + return new ExampleExtensionObjectBody.Select(); + } + + } + + public static class Selector , TParent > + extends ExtensionObjectBody.Selector + { + + private com.kscs.util.jaxb.Selector> argument = null; + private com.kscs.util.jaxb.Selector> userIdentityToken = null; + private com.kscs.util.jaxb.Selector> userNameIdentityToken = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.argument!= null) { + products.put("argument", this.argument.init()); + } + if (this.userIdentityToken!= null) { + products.put("userIdentityToken", this.userIdentityToken.init()); + } + if (this.userNameIdentityToken!= null) { + products.put("userNameIdentityToken", this.userNameIdentityToken.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> argument() { + return ((this.argument == null)?this.argument = new com.kscs.util.jaxb.Selector>(this._root, this, "argument"):this.argument); + } + + public com.kscs.util.jaxb.Selector> userIdentityToken() { + return ((this.userIdentityToken == null)?this.userIdentityToken = new com.kscs.util.jaxb.Selector>(this._root, this, "userIdentityToken"):this.userIdentityToken); + } + + public com.kscs.util.jaxb.Selector> userNameIdentityToken() { + return ((this.userNameIdentityToken == null)?this.userNameIdentityToken = new com.kscs.util.jaxb.Selector>(this._root, this, "userNameIdentityToken"):this.userNameIdentityToken); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExceptionDeviationFormat.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExceptionDeviationFormat.java new file mode 100644 index 000000000..0f833bf94 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExceptionDeviationFormat.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für ExceptionDeviationFormat. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="ExceptionDeviationFormat">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="AbsoluteValue_0"/>
+ *     <enumeration value="PercentOfValue_1"/>
+ *     <enumeration value="PercentOfRange_2"/>
+ *     <enumeration value="PercentOfEURange_3"/>
+ *     <enumeration value="Unknown_4"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "ExceptionDeviationFormat") +@XmlEnum +public enum ExceptionDeviationFormat { + + @XmlEnumValue("AbsoluteValue_0") + ABSOLUTE_VALUE_0("AbsoluteValue_0"), + @XmlEnumValue("PercentOfValue_1") + PERCENT_OF_VALUE_1("PercentOfValue_1"), + @XmlEnumValue("PercentOfRange_2") + PERCENT_OF_RANGE_2("PercentOfRange_2"), + @XmlEnumValue("PercentOfEURange_3") + PERCENT_OF_EU_RANGE_3("PercentOfEURange_3"), + @XmlEnumValue("Unknown_4") + UNKNOWN_4("Unknown_4"); + private final String value; + + ExceptionDeviationFormat(String v) { + value = v; + } + + public String value() { + return value; + } + + public static ExceptionDeviationFormat fromValue(String v) { + for (ExceptionDeviationFormat c: ExceptionDeviationFormat.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExpandedNodeId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExpandedNodeId.java new file mode 100644 index 000000000..94016657e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExpandedNodeId.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ExpandedNodeId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ExpandedNodeId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Identifier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExpandedNodeId", propOrder = { + "identifier" +}) +public class ExpandedNodeId { + + @XmlElementRef(name = "Identifier", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement identifier; + + /** + * Ruft den Wert der identifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIdentifier() { + return identifier; + } + + /** + * Legt den Wert der identifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIdentifier(JAXBElement value) { + this.identifier = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExpandedNodeId.Builder<_B> _other) { + _other.identifier = this.identifier; + } + + public<_B >ExpandedNodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ExpandedNodeId.Builder<_B>(_parentBuilder, this, true); + } + + public ExpandedNodeId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ExpandedNodeId.Builder builder() { + return new ExpandedNodeId.Builder(null, null, false); + } + + public static<_B >ExpandedNodeId.Builder<_B> copyOf(final ExpandedNodeId _other) { + final ExpandedNodeId.Builder<_B> _newBuilder = new ExpandedNodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExpandedNodeId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree identifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identifierPropertyTree!= null):((identifierPropertyTree == null)||(!identifierPropertyTree.isLeaf())))) { + _other.identifier = this.identifier; + } + } + + public<_B >ExpandedNodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ExpandedNodeId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ExpandedNodeId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ExpandedNodeId.Builder<_B> copyOf(final ExpandedNodeId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ExpandedNodeId.Builder<_B> _newBuilder = new ExpandedNodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ExpandedNodeId.Builder copyExcept(final ExpandedNodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ExpandedNodeId.Builder copyOnly(final ExpandedNodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ExpandedNodeId _storedValue; + private JAXBElement identifier; + + public Builder(final _B _parentBuilder, final ExpandedNodeId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.identifier = _other.identifier; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ExpandedNodeId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree identifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identifierPropertyTree!= null):((identifierPropertyTree == null)||(!identifierPropertyTree.isLeaf())))) { + this.identifier = _other.identifier; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ExpandedNodeId >_P init(final _P _product) { + _product.identifier = this.identifier; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "identifier" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param identifier + * Neuer Wert der Eigenschaft "identifier". + */ + public ExpandedNodeId.Builder<_B> withIdentifier(final JAXBElement identifier) { + this.identifier = identifier; + return this; + } + + @Override + public ExpandedNodeId build() { + if (_storedValue == null) { + return this.init(new ExpandedNodeId()); + } else { + return ((ExpandedNodeId) _storedValue); + } + } + + public ExpandedNodeId.Builder<_B> copyOf(final ExpandedNodeId _other) { + _other.copyTo(this); + return this; + } + + public ExpandedNodeId.Builder<_B> copyOf(final ExpandedNodeId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ExpandedNodeId.Selector + { + + + Select() { + super(null, null, null); + } + + public static ExpandedNodeId.Select _root() { + return new ExpandedNodeId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> identifier = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.identifier!= null) { + products.put("identifier", this.identifier.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> identifier() { + return ((this.identifier == null)?this.identifier = new com.kscs.util.jaxb.Selector>(this._root, this, "identifier"):this.identifier); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObject.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObject.java new file mode 100644 index 000000000..890da7485 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObject.java @@ -0,0 +1,564 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; +import org.w3c.dom.Element; + + +/** + *

Java-Klasse für ExtensionObject complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ExtensionObject">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Body" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any processContents='lax' minOccurs="0"/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExtensionObject", propOrder = { + "typeId", + "body" +}) +public class ExtensionObject { + + @XmlElementRef(name = "TypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement typeId; + @XmlElementRef(name = "Body", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement body; + + /** + * Ruft den Wert der typeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getTypeId() { + return typeId; + } + + /** + * Legt den Wert der typeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setTypeId(JAXBElement value) { + this.typeId = value; + } + + /** + * Ruft den Wert der body-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject.Body }{@code >} + * + */ + public JAXBElement getBody() { + return body; + } + + /** + * Legt den Wert der body-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject.Body }{@code >} + * + */ + public void setBody(JAXBElement value) { + this.body = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExtensionObject.Builder<_B> _other) { + _other.typeId = this.typeId; + _other.body = this.body; + } + + public<_B >ExtensionObject.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ExtensionObject.Builder<_B>(_parentBuilder, this, true); + } + + public ExtensionObject.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ExtensionObject.Builder builder() { + return new ExtensionObject.Builder(null, null, false); + } + + public static<_B >ExtensionObject.Builder<_B> copyOf(final ExtensionObject _other) { + final ExtensionObject.Builder<_B> _newBuilder = new ExtensionObject.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExtensionObject.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree typeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeIdPropertyTree!= null):((typeIdPropertyTree == null)||(!typeIdPropertyTree.isLeaf())))) { + _other.typeId = this.typeId; + } + final PropertyTree bodyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("body")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(bodyPropertyTree!= null):((bodyPropertyTree == null)||(!bodyPropertyTree.isLeaf())))) { + _other.body = this.body; + } + } + + public<_B >ExtensionObject.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ExtensionObject.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ExtensionObject.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ExtensionObject.Builder<_B> copyOf(final ExtensionObject _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ExtensionObject.Builder<_B> _newBuilder = new ExtensionObject.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ExtensionObject.Builder copyExcept(final ExtensionObject _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ExtensionObject.Builder copyOnly(final ExtensionObject _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + + /** + *

Java-Klasse für anonymous complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any processContents='lax' minOccurs="0"/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class Body { + + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Ruft den Wert der any-Eigenschaft ab. + * + * @return + * possible object is + * {@link Element } + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Legt den Wert der any-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Element } + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExtensionObject.Body.Builder<_B> _other) { + } + + public<_B >ExtensionObject.Body.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ExtensionObject.Body.Builder<_B>(_parentBuilder, this, true); + } + + public ExtensionObject.Body.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ExtensionObject.Body.Builder builder() { + return new ExtensionObject.Body.Builder(null, null, false); + } + + public static<_B >ExtensionObject.Body.Builder<_B> copyOf(final ExtensionObject.Body _other) { + final ExtensionObject.Body.Builder<_B> _newBuilder = new ExtensionObject.Body.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExtensionObject.Body.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >ExtensionObject.Body.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ExtensionObject.Body.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ExtensionObject.Body.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ExtensionObject.Body.Builder<_B> copyOf(final ExtensionObject.Body _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ExtensionObject.Body.Builder<_B> _newBuilder = new ExtensionObject.Body.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ExtensionObject.Body.Builder copyExcept(final ExtensionObject.Body _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ExtensionObject.Body.Builder copyOnly(final ExtensionObject.Body _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ExtensionObject.Body _storedValue; + private Object any; + + public Builder(final _B _parentBuilder, final ExtensionObject.Body _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ExtensionObject.Body _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ExtensionObject.Body >_P init(final _P _product) { + _product.any = this.any; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "any" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param any + * Neuer Wert der Eigenschaft "any". + */ + public ExtensionObject.Body.Builder<_B> withAny(final Object any) { + this.any = any; + return this; + } + + @Override + public ExtensionObject.Body build() { + if (_storedValue == null) { + return this.init(new ExtensionObject.Body()); + } else { + return ((ExtensionObject.Body) _storedValue); + } + } + + public ExtensionObject.Body.Builder<_B> copyOf(final ExtensionObject.Body _other) { + _other.copyTo(this); + return this; + } + + public ExtensionObject.Body.Builder<_B> copyOf(final ExtensionObject.Body.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ExtensionObject.Body.Selector + { + + + Select() { + super(null, null, null); + } + + public static ExtensionObject.Body.Select _root() { + return new ExtensionObject.Body.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> any = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.any!= null) { + products.put("any", this.any.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> any() { + return ((this.any == null)?this.any = new com.kscs.util.jaxb.Selector>(this._root, this, "any"):this.any); + } + + } + + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ExtensionObject _storedValue; + private JAXBElement typeId; + private JAXBElement body; + + public Builder(final _B _parentBuilder, final ExtensionObject _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.typeId = _other.typeId; + this.body = _other.body; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ExtensionObject _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree typeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeIdPropertyTree!= null):((typeIdPropertyTree == null)||(!typeIdPropertyTree.isLeaf())))) { + this.typeId = _other.typeId; + } + final PropertyTree bodyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("body")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(bodyPropertyTree!= null):((bodyPropertyTree == null)||(!bodyPropertyTree.isLeaf())))) { + this.body = _other.body; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ExtensionObject >_P init(final _P _product) { + _product.typeId = this.typeId; + _product.body = this.body; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "typeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param typeId + * Neuer Wert der Eigenschaft "typeId". + */ + public ExtensionObject.Builder<_B> withTypeId(final JAXBElement typeId) { + this.typeId = typeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "body" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param body + * Neuer Wert der Eigenschaft "body". + */ + public ExtensionObject.Builder<_B> withBody(final JAXBElement body) { + this.body = body; + return this; + } + + @Override + public ExtensionObject build() { + if (_storedValue == null) { + return this.init(new ExtensionObject()); + } else { + return ((ExtensionObject) _storedValue); + } + } + + public ExtensionObject.Builder<_B> copyOf(final ExtensionObject _other) { + _other.copyTo(this); + return this; + } + + public ExtensionObject.Builder<_B> copyOf(final ExtensionObject.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ExtensionObject.Selector + { + + + Select() { + super(null, null, null); + } + + public static ExtensionObject.Select _root() { + return new ExtensionObject.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> typeId = null; + private com.kscs.util.jaxb.Selector> body = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.typeId!= null) { + products.put("typeId", this.typeId.init()); + } + if (this.body!= null) { + products.put("body", this.body.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> typeId() { + return ((this.typeId == null)?this.typeId = new com.kscs.util.jaxb.Selector>(this._root, this, "typeId"):this.typeId); + } + + public com.kscs.util.jaxb.Selector> body() { + return ((this.body == null)?this.body = new com.kscs.util.jaxb.Selector>(this._root, this, "body"):this.body); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObjectBody.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObjectBody.java new file mode 100644 index 000000000..e31849446 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ExtensionObjectBody.java @@ -0,0 +1,199 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:06:57 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ExtensionObjectBody complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ExtensionObjectBody">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExtensionObjectBody") +@XmlSeeAlso({ + ExampleExtensionObjectBody.class +}) +public class ExtensionObjectBody { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExtensionObjectBody.Builder<_B> _other) { + } + + public<_B >ExtensionObjectBody.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ExtensionObjectBody.Builder<_B>(_parentBuilder, this, true); + } + + public ExtensionObjectBody.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ExtensionObjectBody.Builder builder() { + return new ExtensionObjectBody.Builder(null, null, false); + } + + public static<_B >ExtensionObjectBody.Builder<_B> copyOf(final ExtensionObjectBody _other) { + final ExtensionObjectBody.Builder<_B> _newBuilder = new ExtensionObjectBody.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ExtensionObjectBody.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >ExtensionObjectBody.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ExtensionObjectBody.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ExtensionObjectBody.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ExtensionObjectBody.Builder<_B> copyOf(final ExtensionObjectBody _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ExtensionObjectBody.Builder<_B> _newBuilder = new ExtensionObjectBody.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ExtensionObjectBody.Builder copyExcept(final ExtensionObjectBody _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ExtensionObjectBody.Builder copyOnly(final ExtensionObjectBody _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ExtensionObjectBody _storedValue; + + public Builder(final _B _parentBuilder, final ExtensionObjectBody _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ExtensionObjectBody _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ExtensionObjectBody >_P init(final _P _product) { + return _product; + } + + @Override + public ExtensionObjectBody build() { + if (_storedValue == null) { + return this.init(new ExtensionObjectBody()); + } else { + return ((ExtensionObjectBody) _storedValue); + } + } + + public ExtensionObjectBody.Builder<_B> copyOf(final ExtensionObjectBody _other) { + _other.copyTo(this); + return this; + } + + public ExtensionObjectBody.Builder<_B> copyOf(final ExtensionObjectBody.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ExtensionObjectBody.Selector + { + + + Select() { + super(null, null, null); + } + + public static ExtensionObjectBody.Select _root() { + return new ExtensionObjectBody.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldMetaData.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldMetaData.java new file mode 100644 index 000000000..38dc70077 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldMetaData.java @@ -0,0 +1,824 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FieldMetaData complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FieldMetaData">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="FieldFlags" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetFieldFlags" minOccurs="0"/>
+ *         <element name="BuiltInType" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="MaxStringLength" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DataSetFieldId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Guid" minOccurs="0"/>
+ *         <element name="Properties" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FieldMetaData", propOrder = { + "name", + "description", + "fieldFlags", + "builtInType", + "dataType", + "valueRank", + "arrayDimensions", + "maxStringLength", + "dataSetFieldId", + "properties" +}) +public class FieldMetaData { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + @XmlElement(name = "FieldFlags") + @XmlSchemaType(name = "unsignedShort") + protected Integer fieldFlags; + @XmlElement(name = "BuiltInType") + @XmlSchemaType(name = "unsignedByte") + protected Short builtInType; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElement(name = "MaxStringLength") + @XmlSchemaType(name = "unsignedInt") + protected Long maxStringLength; + @XmlElement(name = "DataSetFieldId") + protected Guid dataSetFieldId; + @XmlElementRef(name = "Properties", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement properties; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Ruft den Wert der fieldFlags-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getFieldFlags() { + return fieldFlags; + } + + /** + * Legt den Wert der fieldFlags-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setFieldFlags(Integer value) { + this.fieldFlags = value; + } + + /** + * Ruft den Wert der builtInType-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getBuiltInType() { + return builtInType; + } + + /** + * Legt den Wert der builtInType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setBuiltInType(Short value) { + this.builtInType = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der maxStringLength-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxStringLength() { + return maxStringLength; + } + + /** + * Legt den Wert der maxStringLength-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxStringLength(Long value) { + this.maxStringLength = value; + } + + /** + * Ruft den Wert der dataSetFieldId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Guid } + * + */ + public Guid getDataSetFieldId() { + return dataSetFieldId; + } + + /** + * Legt den Wert der dataSetFieldId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Guid } + * + */ + public void setDataSetFieldId(Guid value) { + this.dataSetFieldId = value; + } + + /** + * Ruft den Wert der properties-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getProperties() { + return properties; + } + + /** + * Legt den Wert der properties-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setProperties(JAXBElement value) { + this.properties = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FieldMetaData.Builder<_B> _other) { + _other.name = this.name; + _other.description = this.description; + _other.fieldFlags = this.fieldFlags; + _other.builtInType = this.builtInType; + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.maxStringLength = this.maxStringLength; + _other.dataSetFieldId = ((this.dataSetFieldId == null)?null:this.dataSetFieldId.newCopyBuilder(_other)); + _other.properties = this.properties; + } + + public<_B >FieldMetaData.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FieldMetaData.Builder<_B>(_parentBuilder, this, true); + } + + public FieldMetaData.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FieldMetaData.Builder builder() { + return new FieldMetaData.Builder(null, null, false); + } + + public static<_B >FieldMetaData.Builder<_B> copyOf(final FieldMetaData _other) { + final FieldMetaData.Builder<_B> _newBuilder = new FieldMetaData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FieldMetaData.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + final PropertyTree fieldFlagsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fieldFlags")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldFlagsPropertyTree!= null):((fieldFlagsPropertyTree == null)||(!fieldFlagsPropertyTree.isLeaf())))) { + _other.fieldFlags = this.fieldFlags; + } + final PropertyTree builtInTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("builtInType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(builtInTypePropertyTree!= null):((builtInTypePropertyTree == null)||(!builtInTypePropertyTree.isLeaf())))) { + _other.builtInType = this.builtInType; + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree maxStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxStringLengthPropertyTree!= null):((maxStringLengthPropertyTree == null)||(!maxStringLengthPropertyTree.isLeaf())))) { + _other.maxStringLength = this.maxStringLength; + } + final PropertyTree dataSetFieldIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldIdPropertyTree!= null):((dataSetFieldIdPropertyTree == null)||(!dataSetFieldIdPropertyTree.isLeaf())))) { + _other.dataSetFieldId = ((this.dataSetFieldId == null)?null:this.dataSetFieldId.newCopyBuilder(_other, dataSetFieldIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree propertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("properties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(propertiesPropertyTree!= null):((propertiesPropertyTree == null)||(!propertiesPropertyTree.isLeaf())))) { + _other.properties = this.properties; + } + } + + public<_B >FieldMetaData.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FieldMetaData.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FieldMetaData.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FieldMetaData.Builder<_B> copyOf(final FieldMetaData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FieldMetaData.Builder<_B> _newBuilder = new FieldMetaData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FieldMetaData.Builder copyExcept(final FieldMetaData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FieldMetaData.Builder copyOnly(final FieldMetaData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FieldMetaData _storedValue; + private JAXBElement name; + private JAXBElement description; + private Integer fieldFlags; + private Short builtInType; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private Long maxStringLength; + private Guid.Builder> dataSetFieldId; + private JAXBElement properties; + + public Builder(final _B _parentBuilder, final FieldMetaData _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.description = _other.description; + this.fieldFlags = _other.fieldFlags; + this.builtInType = _other.builtInType; + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.maxStringLength = _other.maxStringLength; + this.dataSetFieldId = ((_other.dataSetFieldId == null)?null:_other.dataSetFieldId.newCopyBuilder(this)); + this.properties = _other.properties; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FieldMetaData _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + final PropertyTree fieldFlagsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fieldFlags")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldFlagsPropertyTree!= null):((fieldFlagsPropertyTree == null)||(!fieldFlagsPropertyTree.isLeaf())))) { + this.fieldFlags = _other.fieldFlags; + } + final PropertyTree builtInTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("builtInType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(builtInTypePropertyTree!= null):((builtInTypePropertyTree == null)||(!builtInTypePropertyTree.isLeaf())))) { + this.builtInType = _other.builtInType; + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree maxStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxStringLengthPropertyTree!= null):((maxStringLengthPropertyTree == null)||(!maxStringLengthPropertyTree.isLeaf())))) { + this.maxStringLength = _other.maxStringLength; + } + final PropertyTree dataSetFieldIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldIdPropertyTree!= null):((dataSetFieldIdPropertyTree == null)||(!dataSetFieldIdPropertyTree.isLeaf())))) { + this.dataSetFieldId = ((_other.dataSetFieldId == null)?null:_other.dataSetFieldId.newCopyBuilder(this, dataSetFieldIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree propertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("properties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(propertiesPropertyTree!= null):((propertiesPropertyTree == null)||(!propertiesPropertyTree.isLeaf())))) { + this.properties = _other.properties; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FieldMetaData >_P init(final _P _product) { + _product.name = this.name; + _product.description = this.description; + _product.fieldFlags = this.fieldFlags; + _product.builtInType = this.builtInType; + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.maxStringLength = this.maxStringLength; + _product.dataSetFieldId = ((this.dataSetFieldId == null)?null:this.dataSetFieldId.build()); + _product.properties = this.properties; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public FieldMetaData.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public FieldMetaData.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fieldFlags" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param fieldFlags + * Neuer Wert der Eigenschaft "fieldFlags". + */ + public FieldMetaData.Builder<_B> withFieldFlags(final Integer fieldFlags) { + this.fieldFlags = fieldFlags; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "builtInType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param builtInType + * Neuer Wert der Eigenschaft "builtInType". + */ + public FieldMetaData.Builder<_B> withBuiltInType(final Short builtInType) { + this.builtInType = builtInType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public FieldMetaData.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public FieldMetaData.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public FieldMetaData.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxStringLength" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param maxStringLength + * Neuer Wert der Eigenschaft "maxStringLength". + */ + public FieldMetaData.Builder<_B> withMaxStringLength(final Long maxStringLength) { + this.maxStringLength = maxStringLength; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFieldId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetFieldId + * Neuer Wert der Eigenschaft "dataSetFieldId". + */ + public FieldMetaData.Builder<_B> withDataSetFieldId(final Guid dataSetFieldId) { + this.dataSetFieldId = ((dataSetFieldId == null)?null:new Guid.Builder>(this, dataSetFieldId, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "dataSetFieldId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "dataSetFieldId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Guid.Builder> withDataSetFieldId() { + if (this.dataSetFieldId!= null) { + return this.dataSetFieldId; + } + return this.dataSetFieldId = new Guid.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "properties" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param properties + * Neuer Wert der Eigenschaft "properties". + */ + public FieldMetaData.Builder<_B> withProperties(final JAXBElement properties) { + this.properties = properties; + return this; + } + + @Override + public FieldMetaData build() { + if (_storedValue == null) { + return this.init(new FieldMetaData()); + } else { + return ((FieldMetaData) _storedValue); + } + } + + public FieldMetaData.Builder<_B> copyOf(final FieldMetaData _other) { + _other.copyTo(this); + return this; + } + + public FieldMetaData.Builder<_B> copyOf(final FieldMetaData.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FieldMetaData.Selector + { + + + Select() { + super(null, null, null); + } + + public static FieldMetaData.Select _root() { + return new FieldMetaData.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> description = null; + private com.kscs.util.jaxb.Selector> fieldFlags = null; + private com.kscs.util.jaxb.Selector> builtInType = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> maxStringLength = null; + private Guid.Selector> dataSetFieldId = null; + private com.kscs.util.jaxb.Selector> properties = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + if (this.fieldFlags!= null) { + products.put("fieldFlags", this.fieldFlags.init()); + } + if (this.builtInType!= null) { + products.put("builtInType", this.builtInType.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.maxStringLength!= null) { + products.put("maxStringLength", this.maxStringLength.init()); + } + if (this.dataSetFieldId!= null) { + products.put("dataSetFieldId", this.dataSetFieldId.init()); + } + if (this.properties!= null) { + products.put("properties", this.properties.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + public com.kscs.util.jaxb.Selector> fieldFlags() { + return ((this.fieldFlags == null)?this.fieldFlags = new com.kscs.util.jaxb.Selector>(this._root, this, "fieldFlags"):this.fieldFlags); + } + + public com.kscs.util.jaxb.Selector> builtInType() { + return ((this.builtInType == null)?this.builtInType = new com.kscs.util.jaxb.Selector>(this._root, this, "builtInType"):this.builtInType); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> maxStringLength() { + return ((this.maxStringLength == null)?this.maxStringLength = new com.kscs.util.jaxb.Selector>(this._root, this, "maxStringLength"):this.maxStringLength); + } + + public Guid.Selector> dataSetFieldId() { + return ((this.dataSetFieldId == null)?this.dataSetFieldId = new Guid.Selector>(this._root, this, "dataSetFieldId"):this.dataSetFieldId); + } + + public com.kscs.util.jaxb.Selector> properties() { + return ((this.properties == null)?this.properties = new com.kscs.util.jaxb.Selector>(this._root, this, "properties"):this.properties); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldTargetDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldTargetDataType.java new file mode 100644 index 000000000..c87b73d98 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FieldTargetDataType.java @@ -0,0 +1,662 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FieldTargetDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FieldTargetDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetFieldId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Guid" minOccurs="0"/>
+ *         <element name="ReceiverIndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TargetNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="WriteIndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="OverrideValueHandling" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}OverrideValueHandling" minOccurs="0"/>
+ *         <element name="OverrideValue" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FieldTargetDataType", propOrder = { + "dataSetFieldId", + "receiverIndexRange", + "targetNodeId", + "attributeId", + "writeIndexRange", + "overrideValueHandling", + "overrideValue" +}) +public class FieldTargetDataType { + + @XmlElement(name = "DataSetFieldId") + protected Guid dataSetFieldId; + @XmlElementRef(name = "ReceiverIndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement receiverIndexRange; + @XmlElementRef(name = "TargetNodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetNodeId; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElementRef(name = "WriteIndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement writeIndexRange; + @XmlElement(name = "OverrideValueHandling") + @XmlSchemaType(name = "string") + protected OverrideValueHandling overrideValueHandling; + @XmlElement(name = "OverrideValue") + protected Variant overrideValue; + + /** + * Ruft den Wert der dataSetFieldId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Guid } + * + */ + public Guid getDataSetFieldId() { + return dataSetFieldId; + } + + /** + * Legt den Wert der dataSetFieldId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Guid } + * + */ + public void setDataSetFieldId(Guid value) { + this.dataSetFieldId = value; + } + + /** + * Ruft den Wert der receiverIndexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getReceiverIndexRange() { + return receiverIndexRange; + } + + /** + * Legt den Wert der receiverIndexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setReceiverIndexRange(JAXBElement value) { + this.receiverIndexRange = value; + } + + /** + * Ruft den Wert der targetNodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getTargetNodeId() { + return targetNodeId; + } + + /** + * Legt den Wert der targetNodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setTargetNodeId(JAXBElement value) { + this.targetNodeId = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der writeIndexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getWriteIndexRange() { + return writeIndexRange; + } + + /** + * Legt den Wert der writeIndexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setWriteIndexRange(JAXBElement value) { + this.writeIndexRange = value; + } + + /** + * Ruft den Wert der overrideValueHandling-Eigenschaft ab. + * + * @return + * possible object is + * {@link OverrideValueHandling } + * + */ + public OverrideValueHandling getOverrideValueHandling() { + return overrideValueHandling; + } + + /** + * Legt den Wert der overrideValueHandling-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link OverrideValueHandling } + * + */ + public void setOverrideValueHandling(OverrideValueHandling value) { + this.overrideValueHandling = value; + } + + /** + * Ruft den Wert der overrideValue-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getOverrideValue() { + return overrideValue; + } + + /** + * Legt den Wert der overrideValue-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setOverrideValue(Variant value) { + this.overrideValue = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FieldTargetDataType.Builder<_B> _other) { + _other.dataSetFieldId = ((this.dataSetFieldId == null)?null:this.dataSetFieldId.newCopyBuilder(_other)); + _other.receiverIndexRange = this.receiverIndexRange; + _other.targetNodeId = this.targetNodeId; + _other.attributeId = this.attributeId; + _other.writeIndexRange = this.writeIndexRange; + _other.overrideValueHandling = this.overrideValueHandling; + _other.overrideValue = ((this.overrideValue == null)?null:this.overrideValue.newCopyBuilder(_other)); + } + + public<_B >FieldTargetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FieldTargetDataType.Builder<_B>(_parentBuilder, this, true); + } + + public FieldTargetDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FieldTargetDataType.Builder builder() { + return new FieldTargetDataType.Builder(null, null, false); + } + + public static<_B >FieldTargetDataType.Builder<_B> copyOf(final FieldTargetDataType _other) { + final FieldTargetDataType.Builder<_B> _newBuilder = new FieldTargetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FieldTargetDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetFieldIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldIdPropertyTree!= null):((dataSetFieldIdPropertyTree == null)||(!dataSetFieldIdPropertyTree.isLeaf())))) { + _other.dataSetFieldId = ((this.dataSetFieldId == null)?null:this.dataSetFieldId.newCopyBuilder(_other, dataSetFieldIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree receiverIndexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("receiverIndexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(receiverIndexRangePropertyTree!= null):((receiverIndexRangePropertyTree == null)||(!receiverIndexRangePropertyTree.isLeaf())))) { + _other.receiverIndexRange = this.receiverIndexRange; + } + final PropertyTree targetNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeIdPropertyTree!= null):((targetNodeIdPropertyTree == null)||(!targetNodeIdPropertyTree.isLeaf())))) { + _other.targetNodeId = this.targetNodeId; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree writeIndexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeIndexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeIndexRangePropertyTree!= null):((writeIndexRangePropertyTree == null)||(!writeIndexRangePropertyTree.isLeaf())))) { + _other.writeIndexRange = this.writeIndexRange; + } + final PropertyTree overrideValueHandlingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("overrideValueHandling")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(overrideValueHandlingPropertyTree!= null):((overrideValueHandlingPropertyTree == null)||(!overrideValueHandlingPropertyTree.isLeaf())))) { + _other.overrideValueHandling = this.overrideValueHandling; + } + final PropertyTree overrideValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("overrideValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(overrideValuePropertyTree!= null):((overrideValuePropertyTree == null)||(!overrideValuePropertyTree.isLeaf())))) { + _other.overrideValue = ((this.overrideValue == null)?null:this.overrideValue.newCopyBuilder(_other, overrideValuePropertyTree, _propertyTreeUse)); + } + } + + public<_B >FieldTargetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FieldTargetDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FieldTargetDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FieldTargetDataType.Builder<_B> copyOf(final FieldTargetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FieldTargetDataType.Builder<_B> _newBuilder = new FieldTargetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FieldTargetDataType.Builder copyExcept(final FieldTargetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FieldTargetDataType.Builder copyOnly(final FieldTargetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FieldTargetDataType _storedValue; + private Guid.Builder> dataSetFieldId; + private JAXBElement receiverIndexRange; + private JAXBElement targetNodeId; + private Long attributeId; + private JAXBElement writeIndexRange; + private OverrideValueHandling overrideValueHandling; + private Variant.Builder> overrideValue; + + public Builder(final _B _parentBuilder, final FieldTargetDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.dataSetFieldId = ((_other.dataSetFieldId == null)?null:_other.dataSetFieldId.newCopyBuilder(this)); + this.receiverIndexRange = _other.receiverIndexRange; + this.targetNodeId = _other.targetNodeId; + this.attributeId = _other.attributeId; + this.writeIndexRange = _other.writeIndexRange; + this.overrideValueHandling = _other.overrideValueHandling; + this.overrideValue = ((_other.overrideValue == null)?null:_other.overrideValue.newCopyBuilder(this)); + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FieldTargetDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetFieldIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldIdPropertyTree!= null):((dataSetFieldIdPropertyTree == null)||(!dataSetFieldIdPropertyTree.isLeaf())))) { + this.dataSetFieldId = ((_other.dataSetFieldId == null)?null:_other.dataSetFieldId.newCopyBuilder(this, dataSetFieldIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree receiverIndexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("receiverIndexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(receiverIndexRangePropertyTree!= null):((receiverIndexRangePropertyTree == null)||(!receiverIndexRangePropertyTree.isLeaf())))) { + this.receiverIndexRange = _other.receiverIndexRange; + } + final PropertyTree targetNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNodeIdPropertyTree!= null):((targetNodeIdPropertyTree == null)||(!targetNodeIdPropertyTree.isLeaf())))) { + this.targetNodeId = _other.targetNodeId; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree writeIndexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeIndexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeIndexRangePropertyTree!= null):((writeIndexRangePropertyTree == null)||(!writeIndexRangePropertyTree.isLeaf())))) { + this.writeIndexRange = _other.writeIndexRange; + } + final PropertyTree overrideValueHandlingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("overrideValueHandling")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(overrideValueHandlingPropertyTree!= null):((overrideValueHandlingPropertyTree == null)||(!overrideValueHandlingPropertyTree.isLeaf())))) { + this.overrideValueHandling = _other.overrideValueHandling; + } + final PropertyTree overrideValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("overrideValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(overrideValuePropertyTree!= null):((overrideValuePropertyTree == null)||(!overrideValuePropertyTree.isLeaf())))) { + this.overrideValue = ((_other.overrideValue == null)?null:_other.overrideValue.newCopyBuilder(this, overrideValuePropertyTree, _propertyTreeUse)); + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FieldTargetDataType >_P init(final _P _product) { + _product.dataSetFieldId = ((this.dataSetFieldId == null)?null:this.dataSetFieldId.build()); + _product.receiverIndexRange = this.receiverIndexRange; + _product.targetNodeId = this.targetNodeId; + _product.attributeId = this.attributeId; + _product.writeIndexRange = this.writeIndexRange; + _product.overrideValueHandling = this.overrideValueHandling; + _product.overrideValue = ((this.overrideValue == null)?null:this.overrideValue.build()); + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFieldId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetFieldId + * Neuer Wert der Eigenschaft "dataSetFieldId". + */ + public FieldTargetDataType.Builder<_B> withDataSetFieldId(final Guid dataSetFieldId) { + this.dataSetFieldId = ((dataSetFieldId == null)?null:new Guid.Builder>(this, dataSetFieldId, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "dataSetFieldId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "dataSetFieldId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Guid.Builder> withDataSetFieldId() { + if (this.dataSetFieldId!= null) { + return this.dataSetFieldId; + } + return this.dataSetFieldId = new Guid.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "receiverIndexRange" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param receiverIndexRange + * Neuer Wert der Eigenschaft "receiverIndexRange". + */ + public FieldTargetDataType.Builder<_B> withReceiverIndexRange(final JAXBElement receiverIndexRange) { + this.receiverIndexRange = receiverIndexRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param targetNodeId + * Neuer Wert der Eigenschaft "targetNodeId". + */ + public FieldTargetDataType.Builder<_B> withTargetNodeId(final JAXBElement targetNodeId) { + this.targetNodeId = targetNodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public FieldTargetDataType.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeIndexRange" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param writeIndexRange + * Neuer Wert der Eigenschaft "writeIndexRange". + */ + public FieldTargetDataType.Builder<_B> withWriteIndexRange(final JAXBElement writeIndexRange) { + this.writeIndexRange = writeIndexRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "overrideValueHandling" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param overrideValueHandling + * Neuer Wert der Eigenschaft "overrideValueHandling". + */ + public FieldTargetDataType.Builder<_B> withOverrideValueHandling(final OverrideValueHandling overrideValueHandling) { + this.overrideValueHandling = overrideValueHandling; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "overrideValue" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param overrideValue + * Neuer Wert der Eigenschaft "overrideValue". + */ + public FieldTargetDataType.Builder<_B> withOverrideValue(final Variant overrideValue) { + this.overrideValue = ((overrideValue == null)?null:new Variant.Builder>(this, overrideValue, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "overrideValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "overrideValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withOverrideValue() { + if (this.overrideValue!= null) { + return this.overrideValue; + } + return this.overrideValue = new Variant.Builder>(this, null, false); + } + + @Override + public FieldTargetDataType build() { + if (_storedValue == null) { + return this.init(new FieldTargetDataType()); + } else { + return ((FieldTargetDataType) _storedValue); + } + } + + public FieldTargetDataType.Builder<_B> copyOf(final FieldTargetDataType _other) { + _other.copyTo(this); + return this; + } + + public FieldTargetDataType.Builder<_B> copyOf(final FieldTargetDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FieldTargetDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static FieldTargetDataType.Select _root() { + return new FieldTargetDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Guid.Selector> dataSetFieldId = null; + private com.kscs.util.jaxb.Selector> receiverIndexRange = null; + private com.kscs.util.jaxb.Selector> targetNodeId = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> writeIndexRange = null; + private com.kscs.util.jaxb.Selector> overrideValueHandling = null; + private Variant.Selector> overrideValue = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetFieldId!= null) { + products.put("dataSetFieldId", this.dataSetFieldId.init()); + } + if (this.receiverIndexRange!= null) { + products.put("receiverIndexRange", this.receiverIndexRange.init()); + } + if (this.targetNodeId!= null) { + products.put("targetNodeId", this.targetNodeId.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.writeIndexRange!= null) { + products.put("writeIndexRange", this.writeIndexRange.init()); + } + if (this.overrideValueHandling!= null) { + products.put("overrideValueHandling", this.overrideValueHandling.init()); + } + if (this.overrideValue!= null) { + products.put("overrideValue", this.overrideValue.init()); + } + return products; + } + + public Guid.Selector> dataSetFieldId() { + return ((this.dataSetFieldId == null)?this.dataSetFieldId = new Guid.Selector>(this._root, this, "dataSetFieldId"):this.dataSetFieldId); + } + + public com.kscs.util.jaxb.Selector> receiverIndexRange() { + return ((this.receiverIndexRange == null)?this.receiverIndexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "receiverIndexRange"):this.receiverIndexRange); + } + + public com.kscs.util.jaxb.Selector> targetNodeId() { + return ((this.targetNodeId == null)?this.targetNodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "targetNodeId"):this.targetNodeId); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> writeIndexRange() { + return ((this.writeIndexRange == null)?this.writeIndexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "writeIndexRange"):this.writeIndexRange); + } + + public com.kscs.util.jaxb.Selector> overrideValueHandling() { + return ((this.overrideValueHandling == null)?this.overrideValueHandling = new com.kscs.util.jaxb.Selector>(this._root, this, "overrideValueHandling"):this.overrideValueHandling); + } + + public Variant.Selector> overrideValue() { + return ((this.overrideValue == null)?this.overrideValue = new Variant.Selector>(this._root, this, "overrideValue"):this.overrideValue); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperand.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperand.java new file mode 100644 index 000000000..95760fc1a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperand.java @@ -0,0 +1,204 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FilterOperand complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FilterOperand">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FilterOperand") +@XmlSeeAlso({ + ElementOperand.class, + LiteralOperand.class, + AttributeOperand.class, + SimpleAttributeOperand.class +}) +public class FilterOperand { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FilterOperand.Builder<_B> _other) { + } + + public<_B >FilterOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FilterOperand.Builder<_B>(_parentBuilder, this, true); + } + + public FilterOperand.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FilterOperand.Builder builder() { + return new FilterOperand.Builder(null, null, false); + } + + public static<_B >FilterOperand.Builder<_B> copyOf(final FilterOperand _other) { + final FilterOperand.Builder<_B> _newBuilder = new FilterOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FilterOperand.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >FilterOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FilterOperand.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FilterOperand.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FilterOperand.Builder<_B> copyOf(final FilterOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FilterOperand.Builder<_B> _newBuilder = new FilterOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FilterOperand.Builder copyExcept(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FilterOperand.Builder copyOnly(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FilterOperand _storedValue; + + public Builder(final _B _parentBuilder, final FilterOperand _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FilterOperand _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FilterOperand >_P init(final _P _product) { + return _product; + } + + @Override + public FilterOperand build() { + if (_storedValue == null) { + return this.init(new FilterOperand()); + } else { + return ((FilterOperand) _storedValue); + } + } + + public FilterOperand.Builder<_B> copyOf(final FilterOperand _other) { + _other.copyTo(this); + return this; + } + + public FilterOperand.Builder<_B> copyOf(final FilterOperand.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FilterOperand.Selector + { + + + Select() { + super(null, null, null); + } + + public static FilterOperand.Select _root() { + return new FilterOperand.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperator.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperator.java new file mode 100644 index 000000000..15662cdff --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FilterOperator.java @@ -0,0 +1,106 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für FilterOperator. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="FilterOperator">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Equals_0"/>
+ *     <enumeration value="IsNull_1"/>
+ *     <enumeration value="GreaterThan_2"/>
+ *     <enumeration value="LessThan_3"/>
+ *     <enumeration value="GreaterThanOrEqual_4"/>
+ *     <enumeration value="LessThanOrEqual_5"/>
+ *     <enumeration value="Like_6"/>
+ *     <enumeration value="Not_7"/>
+ *     <enumeration value="Between_8"/>
+ *     <enumeration value="InList_9"/>
+ *     <enumeration value="And_10"/>
+ *     <enumeration value="Or_11"/>
+ *     <enumeration value="Cast_12"/>
+ *     <enumeration value="InView_13"/>
+ *     <enumeration value="OfType_14"/>
+ *     <enumeration value="RelatedTo_15"/>
+ *     <enumeration value="BitwiseAnd_16"/>
+ *     <enumeration value="BitwiseOr_17"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "FilterOperator") +@XmlEnum +public enum FilterOperator { + + @XmlEnumValue("Equals_0") + EQUALS_0("Equals_0"), + @XmlEnumValue("IsNull_1") + IS_NULL_1("IsNull_1"), + @XmlEnumValue("GreaterThan_2") + GREATER_THAN_2("GreaterThan_2"), + @XmlEnumValue("LessThan_3") + LESS_THAN_3("LessThan_3"), + @XmlEnumValue("GreaterThanOrEqual_4") + GREATER_THAN_OR_EQUAL_4("GreaterThanOrEqual_4"), + @XmlEnumValue("LessThanOrEqual_5") + LESS_THAN_OR_EQUAL_5("LessThanOrEqual_5"), + @XmlEnumValue("Like_6") + LIKE_6("Like_6"), + @XmlEnumValue("Not_7") + NOT_7("Not_7"), + @XmlEnumValue("Between_8") + BETWEEN_8("Between_8"), + @XmlEnumValue("InList_9") + IN_LIST_9("InList_9"), + @XmlEnumValue("And_10") + AND_10("And_10"), + @XmlEnumValue("Or_11") + OR_11("Or_11"), + @XmlEnumValue("Cast_12") + CAST_12("Cast_12"), + @XmlEnumValue("InView_13") + IN_VIEW_13("InView_13"), + @XmlEnumValue("OfType_14") + OF_TYPE_14("OfType_14"), + @XmlEnumValue("RelatedTo_15") + RELATED_TO_15("RelatedTo_15"), + @XmlEnumValue("BitwiseAnd_16") + BITWISE_AND_16("BitwiseAnd_16"), + @XmlEnumValue("BitwiseOr_17") + BITWISE_OR_17("BitwiseOr_17"); + private final String value; + + FilterOperator(String v) { + value = v; + } + + public String value() { + return value; + } + + public static FilterOperator fromValue(String v) { + for (FilterOperator c: FilterOperator.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkRequest.java new file mode 100644 index 000000000..25d52e23d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkRequest.java @@ -0,0 +1,444 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FindServersOnNetworkRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FindServersOnNetworkRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="StartingRecordId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxRecordsToReturn" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ServerCapabilityFilter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FindServersOnNetworkRequest", propOrder = { + "requestHeader", + "startingRecordId", + "maxRecordsToReturn", + "serverCapabilityFilter" +}) +public class FindServersOnNetworkRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "StartingRecordId") + @XmlSchemaType(name = "unsignedInt") + protected Long startingRecordId; + @XmlElement(name = "MaxRecordsToReturn") + @XmlSchemaType(name = "unsignedInt") + protected Long maxRecordsToReturn; + @XmlElementRef(name = "ServerCapabilityFilter", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverCapabilityFilter; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der startingRecordId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getStartingRecordId() { + return startingRecordId; + } + + /** + * Legt den Wert der startingRecordId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setStartingRecordId(Long value) { + this.startingRecordId = value; + } + + /** + * Ruft den Wert der maxRecordsToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxRecordsToReturn() { + return maxRecordsToReturn; + } + + /** + * Legt den Wert der maxRecordsToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxRecordsToReturn(Long value) { + this.maxRecordsToReturn = value; + } + + /** + * Ruft den Wert der serverCapabilityFilter-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getServerCapabilityFilter() { + return serverCapabilityFilter; + } + + /** + * Legt den Wert der serverCapabilityFilter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setServerCapabilityFilter(JAXBElement value) { + this.serverCapabilityFilter = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersOnNetworkRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.startingRecordId = this.startingRecordId; + _other.maxRecordsToReturn = this.maxRecordsToReturn; + _other.serverCapabilityFilter = this.serverCapabilityFilter; + } + + public<_B >FindServersOnNetworkRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FindServersOnNetworkRequest.Builder<_B>(_parentBuilder, this, true); + } + + public FindServersOnNetworkRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FindServersOnNetworkRequest.Builder builder() { + return new FindServersOnNetworkRequest.Builder(null, null, false); + } + + public static<_B >FindServersOnNetworkRequest.Builder<_B> copyOf(final FindServersOnNetworkRequest _other) { + final FindServersOnNetworkRequest.Builder<_B> _newBuilder = new FindServersOnNetworkRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersOnNetworkRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree startingRecordIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startingRecordId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startingRecordIdPropertyTree!= null):((startingRecordIdPropertyTree == null)||(!startingRecordIdPropertyTree.isLeaf())))) { + _other.startingRecordId = this.startingRecordId; + } + final PropertyTree maxRecordsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxRecordsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxRecordsToReturnPropertyTree!= null):((maxRecordsToReturnPropertyTree == null)||(!maxRecordsToReturnPropertyTree.isLeaf())))) { + _other.maxRecordsToReturn = this.maxRecordsToReturn; + } + final PropertyTree serverCapabilityFilterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCapabilityFilter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCapabilityFilterPropertyTree!= null):((serverCapabilityFilterPropertyTree == null)||(!serverCapabilityFilterPropertyTree.isLeaf())))) { + _other.serverCapabilityFilter = this.serverCapabilityFilter; + } + } + + public<_B >FindServersOnNetworkRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FindServersOnNetworkRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FindServersOnNetworkRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FindServersOnNetworkRequest.Builder<_B> copyOf(final FindServersOnNetworkRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FindServersOnNetworkRequest.Builder<_B> _newBuilder = new FindServersOnNetworkRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FindServersOnNetworkRequest.Builder copyExcept(final FindServersOnNetworkRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FindServersOnNetworkRequest.Builder copyOnly(final FindServersOnNetworkRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FindServersOnNetworkRequest _storedValue; + private JAXBElement requestHeader; + private Long startingRecordId; + private Long maxRecordsToReturn; + private JAXBElement serverCapabilityFilter; + + public Builder(final _B _parentBuilder, final FindServersOnNetworkRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.startingRecordId = _other.startingRecordId; + this.maxRecordsToReturn = _other.maxRecordsToReturn; + this.serverCapabilityFilter = _other.serverCapabilityFilter; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FindServersOnNetworkRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree startingRecordIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startingRecordId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startingRecordIdPropertyTree!= null):((startingRecordIdPropertyTree == null)||(!startingRecordIdPropertyTree.isLeaf())))) { + this.startingRecordId = _other.startingRecordId; + } + final PropertyTree maxRecordsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxRecordsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxRecordsToReturnPropertyTree!= null):((maxRecordsToReturnPropertyTree == null)||(!maxRecordsToReturnPropertyTree.isLeaf())))) { + this.maxRecordsToReturn = _other.maxRecordsToReturn; + } + final PropertyTree serverCapabilityFilterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCapabilityFilter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCapabilityFilterPropertyTree!= null):((serverCapabilityFilterPropertyTree == null)||(!serverCapabilityFilterPropertyTree.isLeaf())))) { + this.serverCapabilityFilter = _other.serverCapabilityFilter; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FindServersOnNetworkRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.startingRecordId = this.startingRecordId; + _product.maxRecordsToReturn = this.maxRecordsToReturn; + _product.serverCapabilityFilter = this.serverCapabilityFilter; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public FindServersOnNetworkRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "startingRecordId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param startingRecordId + * Neuer Wert der Eigenschaft "startingRecordId". + */ + public FindServersOnNetworkRequest.Builder<_B> withStartingRecordId(final Long startingRecordId) { + this.startingRecordId = startingRecordId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxRecordsToReturn" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param maxRecordsToReturn + * Neuer Wert der Eigenschaft "maxRecordsToReturn". + */ + public FindServersOnNetworkRequest.Builder<_B> withMaxRecordsToReturn(final Long maxRecordsToReturn) { + this.maxRecordsToReturn = maxRecordsToReturn; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverCapabilityFilter" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param serverCapabilityFilter + * Neuer Wert der Eigenschaft "serverCapabilityFilter". + */ + public FindServersOnNetworkRequest.Builder<_B> withServerCapabilityFilter(final JAXBElement serverCapabilityFilter) { + this.serverCapabilityFilter = serverCapabilityFilter; + return this; + } + + @Override + public FindServersOnNetworkRequest build() { + if (_storedValue == null) { + return this.init(new FindServersOnNetworkRequest()); + } else { + return ((FindServersOnNetworkRequest) _storedValue); + } + } + + public FindServersOnNetworkRequest.Builder<_B> copyOf(final FindServersOnNetworkRequest _other) { + _other.copyTo(this); + return this; + } + + public FindServersOnNetworkRequest.Builder<_B> copyOf(final FindServersOnNetworkRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FindServersOnNetworkRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static FindServersOnNetworkRequest.Select _root() { + return new FindServersOnNetworkRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> startingRecordId = null; + private com.kscs.util.jaxb.Selector> maxRecordsToReturn = null; + private com.kscs.util.jaxb.Selector> serverCapabilityFilter = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.startingRecordId!= null) { + products.put("startingRecordId", this.startingRecordId.init()); + } + if (this.maxRecordsToReturn!= null) { + products.put("maxRecordsToReturn", this.maxRecordsToReturn.init()); + } + if (this.serverCapabilityFilter!= null) { + products.put("serverCapabilityFilter", this.serverCapabilityFilter.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> startingRecordId() { + return ((this.startingRecordId == null)?this.startingRecordId = new com.kscs.util.jaxb.Selector>(this._root, this, "startingRecordId"):this.startingRecordId); + } + + public com.kscs.util.jaxb.Selector> maxRecordsToReturn() { + return ((this.maxRecordsToReturn == null)?this.maxRecordsToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "maxRecordsToReturn"):this.maxRecordsToReturn); + } + + public com.kscs.util.jaxb.Selector> serverCapabilityFilter() { + return ((this.serverCapabilityFilter == null)?this.serverCapabilityFilter = new com.kscs.util.jaxb.Selector>(this._root, this, "serverCapabilityFilter"):this.serverCapabilityFilter); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkResponse.java new file mode 100644 index 000000000..19240d2bc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersOnNetworkResponse.java @@ -0,0 +1,384 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FindServersOnNetworkResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FindServersOnNetworkResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="LastCounterResetTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="Servers" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfServerOnNetwork" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FindServersOnNetworkResponse", propOrder = { + "responseHeader", + "lastCounterResetTime", + "servers" +}) +public class FindServersOnNetworkResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElement(name = "LastCounterResetTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar lastCounterResetTime; + @XmlElementRef(name = "Servers", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement servers; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der lastCounterResetTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getLastCounterResetTime() { + return lastCounterResetTime; + } + + /** + * Legt den Wert der lastCounterResetTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setLastCounterResetTime(XMLGregorianCalendar value) { + this.lastCounterResetTime = value; + } + + /** + * Ruft den Wert der servers-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfServerOnNetwork }{@code >} + * + */ + public JAXBElement getServers() { + return servers; + } + + /** + * Legt den Wert der servers-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfServerOnNetwork }{@code >} + * + */ + public void setServers(JAXBElement value) { + this.servers = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersOnNetworkResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.lastCounterResetTime = ((this.lastCounterResetTime == null)?null:((XMLGregorianCalendar) this.lastCounterResetTime.clone())); + _other.servers = this.servers; + } + + public<_B >FindServersOnNetworkResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FindServersOnNetworkResponse.Builder<_B>(_parentBuilder, this, true); + } + + public FindServersOnNetworkResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FindServersOnNetworkResponse.Builder builder() { + return new FindServersOnNetworkResponse.Builder(null, null, false); + } + + public static<_B >FindServersOnNetworkResponse.Builder<_B> copyOf(final FindServersOnNetworkResponse _other) { + final FindServersOnNetworkResponse.Builder<_B> _newBuilder = new FindServersOnNetworkResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersOnNetworkResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree lastCounterResetTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastCounterResetTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastCounterResetTimePropertyTree!= null):((lastCounterResetTimePropertyTree == null)||(!lastCounterResetTimePropertyTree.isLeaf())))) { + _other.lastCounterResetTime = ((this.lastCounterResetTime == null)?null:((XMLGregorianCalendar) this.lastCounterResetTime.clone())); + } + final PropertyTree serversPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("servers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serversPropertyTree!= null):((serversPropertyTree == null)||(!serversPropertyTree.isLeaf())))) { + _other.servers = this.servers; + } + } + + public<_B >FindServersOnNetworkResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FindServersOnNetworkResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FindServersOnNetworkResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FindServersOnNetworkResponse.Builder<_B> copyOf(final FindServersOnNetworkResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FindServersOnNetworkResponse.Builder<_B> _newBuilder = new FindServersOnNetworkResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FindServersOnNetworkResponse.Builder copyExcept(final FindServersOnNetworkResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FindServersOnNetworkResponse.Builder copyOnly(final FindServersOnNetworkResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FindServersOnNetworkResponse _storedValue; + private JAXBElement responseHeader; + private XMLGregorianCalendar lastCounterResetTime; + private JAXBElement servers; + + public Builder(final _B _parentBuilder, final FindServersOnNetworkResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.lastCounterResetTime = ((_other.lastCounterResetTime == null)?null:((XMLGregorianCalendar) _other.lastCounterResetTime.clone())); + this.servers = _other.servers; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FindServersOnNetworkResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree lastCounterResetTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastCounterResetTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastCounterResetTimePropertyTree!= null):((lastCounterResetTimePropertyTree == null)||(!lastCounterResetTimePropertyTree.isLeaf())))) { + this.lastCounterResetTime = ((_other.lastCounterResetTime == null)?null:((XMLGregorianCalendar) _other.lastCounterResetTime.clone())); + } + final PropertyTree serversPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("servers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serversPropertyTree!= null):((serversPropertyTree == null)||(!serversPropertyTree.isLeaf())))) { + this.servers = _other.servers; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FindServersOnNetworkResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.lastCounterResetTime = this.lastCounterResetTime; + _product.servers = this.servers; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public FindServersOnNetworkResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastCounterResetTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastCounterResetTime + * Neuer Wert der Eigenschaft "lastCounterResetTime". + */ + public FindServersOnNetworkResponse.Builder<_B> withLastCounterResetTime(final XMLGregorianCalendar lastCounterResetTime) { + this.lastCounterResetTime = lastCounterResetTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "servers" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param servers + * Neuer Wert der Eigenschaft "servers". + */ + public FindServersOnNetworkResponse.Builder<_B> withServers(final JAXBElement servers) { + this.servers = servers; + return this; + } + + @Override + public FindServersOnNetworkResponse build() { + if (_storedValue == null) { + return this.init(new FindServersOnNetworkResponse()); + } else { + return ((FindServersOnNetworkResponse) _storedValue); + } + } + + public FindServersOnNetworkResponse.Builder<_B> copyOf(final FindServersOnNetworkResponse _other) { + _other.copyTo(this); + return this; + } + + public FindServersOnNetworkResponse.Builder<_B> copyOf(final FindServersOnNetworkResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FindServersOnNetworkResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static FindServersOnNetworkResponse.Select _root() { + return new FindServersOnNetworkResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> lastCounterResetTime = null; + private com.kscs.util.jaxb.Selector> servers = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.lastCounterResetTime!= null) { + products.put("lastCounterResetTime", this.lastCounterResetTime.init()); + } + if (this.servers!= null) { + products.put("servers", this.servers.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> lastCounterResetTime() { + return ((this.lastCounterResetTime == null)?this.lastCounterResetTime = new com.kscs.util.jaxb.Selector>(this._root, this, "lastCounterResetTime"):this.lastCounterResetTime); + } + + public com.kscs.util.jaxb.Selector> servers() { + return ((this.servers == null)?this.servers = new com.kscs.util.jaxb.Selector>(this._root, this, "servers"):this.servers); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersRequest.java new file mode 100644 index 000000000..c06801690 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersRequest.java @@ -0,0 +1,440 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FindServersRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FindServersRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="EndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="LocaleIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ServerUris" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FindServersRequest", propOrder = { + "requestHeader", + "endpointUrl", + "localeIds", + "serverUris" +}) +public class FindServersRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "EndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrl; + @XmlElementRef(name = "LocaleIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement localeIds; + @XmlElementRef(name = "ServerUris", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUris; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der endpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEndpointUrl() { + return endpointUrl; + } + + /** + * Legt den Wert der endpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEndpointUrl(JAXBElement value) { + this.endpointUrl = value; + } + + /** + * Ruft den Wert der localeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getLocaleIds() { + return localeIds; + } + + /** + * Legt den Wert der localeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setLocaleIds(JAXBElement value) { + this.localeIds = value; + } + + /** + * Ruft den Wert der serverUris-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getServerUris() { + return serverUris; + } + + /** + * Legt den Wert der serverUris-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setServerUris(JAXBElement value) { + this.serverUris = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.endpointUrl = this.endpointUrl; + _other.localeIds = this.localeIds; + _other.serverUris = this.serverUris; + } + + public<_B >FindServersRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FindServersRequest.Builder<_B>(_parentBuilder, this, true); + } + + public FindServersRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FindServersRequest.Builder builder() { + return new FindServersRequest.Builder(null, null, false); + } + + public static<_B >FindServersRequest.Builder<_B> copyOf(final FindServersRequest _other) { + final FindServersRequest.Builder<_B> _newBuilder = new FindServersRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + _other.endpointUrl = this.endpointUrl; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + _other.localeIds = this.localeIds; + } + final PropertyTree serverUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUrisPropertyTree!= null):((serverUrisPropertyTree == null)||(!serverUrisPropertyTree.isLeaf())))) { + _other.serverUris = this.serverUris; + } + } + + public<_B >FindServersRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FindServersRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FindServersRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FindServersRequest.Builder<_B> copyOf(final FindServersRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FindServersRequest.Builder<_B> _newBuilder = new FindServersRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FindServersRequest.Builder copyExcept(final FindServersRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FindServersRequest.Builder copyOnly(final FindServersRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FindServersRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement endpointUrl; + private JAXBElement localeIds; + private JAXBElement serverUris; + + public Builder(final _B _parentBuilder, final FindServersRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.endpointUrl = _other.endpointUrl; + this.localeIds = _other.localeIds; + this.serverUris = _other.serverUris; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FindServersRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + this.endpointUrl = _other.endpointUrl; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + this.localeIds = _other.localeIds; + } + final PropertyTree serverUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUrisPropertyTree!= null):((serverUrisPropertyTree == null)||(!serverUrisPropertyTree.isLeaf())))) { + this.serverUris = _other.serverUris; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FindServersRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.endpointUrl = this.endpointUrl; + _product.localeIds = this.localeIds; + _product.serverUris = this.serverUris; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public FindServersRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrl + * Neuer Wert der Eigenschaft "endpointUrl". + */ + public FindServersRequest.Builder<_B> withEndpointUrl(final JAXBElement endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localeIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param localeIds + * Neuer Wert der Eigenschaft "localeIds". + */ + public FindServersRequest.Builder<_B> withLocaleIds(final JAXBElement localeIds) { + this.localeIds = localeIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUris" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUris + * Neuer Wert der Eigenschaft "serverUris". + */ + public FindServersRequest.Builder<_B> withServerUris(final JAXBElement serverUris) { + this.serverUris = serverUris; + return this; + } + + @Override + public FindServersRequest build() { + if (_storedValue == null) { + return this.init(new FindServersRequest()); + } else { + return ((FindServersRequest) _storedValue); + } + } + + public FindServersRequest.Builder<_B> copyOf(final FindServersRequest _other) { + _other.copyTo(this); + return this; + } + + public FindServersRequest.Builder<_B> copyOf(final FindServersRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FindServersRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static FindServersRequest.Select _root() { + return new FindServersRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> endpointUrl = null; + private com.kscs.util.jaxb.Selector> localeIds = null; + private com.kscs.util.jaxb.Selector> serverUris = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.endpointUrl!= null) { + products.put("endpointUrl", this.endpointUrl.init()); + } + if (this.localeIds!= null) { + products.put("localeIds", this.localeIds.init()); + } + if (this.serverUris!= null) { + products.put("serverUris", this.serverUris.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> endpointUrl() { + return ((this.endpointUrl == null)?this.endpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrl"):this.endpointUrl); + } + + public com.kscs.util.jaxb.Selector> localeIds() { + return ((this.localeIds == null)?this.localeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "localeIds"):this.localeIds); + } + + public com.kscs.util.jaxb.Selector> serverUris() { + return ((this.serverUris == null)?this.serverUris = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUris"):this.serverUris); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersResponse.java new file mode 100644 index 000000000..18cfbf155 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/FindServersResponse.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für FindServersResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="FindServersResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Servers" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfApplicationDescription" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FindServersResponse", propOrder = { + "responseHeader", + "servers" +}) +public class FindServersResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Servers", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement servers; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der servers-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfApplicationDescription }{@code >} + * + */ + public JAXBElement getServers() { + return servers; + } + + /** + * Legt den Wert der servers-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfApplicationDescription }{@code >} + * + */ + public void setServers(JAXBElement value) { + this.servers = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.servers = this.servers; + } + + public<_B >FindServersResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new FindServersResponse.Builder<_B>(_parentBuilder, this, true); + } + + public FindServersResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static FindServersResponse.Builder builder() { + return new FindServersResponse.Builder(null, null, false); + } + + public static<_B >FindServersResponse.Builder<_B> copyOf(final FindServersResponse _other) { + final FindServersResponse.Builder<_B> _newBuilder = new FindServersResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final FindServersResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree serversPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("servers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serversPropertyTree!= null):((serversPropertyTree == null)||(!serversPropertyTree.isLeaf())))) { + _other.servers = this.servers; + } + } + + public<_B >FindServersResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new FindServersResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public FindServersResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >FindServersResponse.Builder<_B> copyOf(final FindServersResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final FindServersResponse.Builder<_B> _newBuilder = new FindServersResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static FindServersResponse.Builder copyExcept(final FindServersResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static FindServersResponse.Builder copyOnly(final FindServersResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final FindServersResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement servers; + + public Builder(final _B _parentBuilder, final FindServersResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.servers = _other.servers; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final FindServersResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree serversPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("servers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serversPropertyTree!= null):((serversPropertyTree == null)||(!serversPropertyTree.isLeaf())))) { + this.servers = _other.servers; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends FindServersResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.servers = this.servers; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public FindServersResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "servers" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param servers + * Neuer Wert der Eigenschaft "servers". + */ + public FindServersResponse.Builder<_B> withServers(final JAXBElement servers) { + this.servers = servers; + return this; + } + + @Override + public FindServersResponse build() { + if (_storedValue == null) { + return this.init(new FindServersResponse()); + } else { + return ((FindServersResponse) _storedValue); + } + } + + public FindServersResponse.Builder<_B> copyOf(final FindServersResponse _other) { + _other.copyTo(this); + return this; + } + + public FindServersResponse.Builder<_B> copyOf(final FindServersResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends FindServersResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static FindServersResponse.Select _root() { + return new FindServersResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> servers = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.servers!= null) { + products.put("servers", this.servers.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> servers() { + return ((this.servers == null)?this.servers = new com.kscs.util.jaxb.Selector>(this._root, this, "servers"):this.servers); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Frame.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Frame.java new file mode 100644 index 000000000..baae9120a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Frame.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Frame complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Frame">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Frame") +@XmlSeeAlso({ + ThreeDFrame.class +}) +public class Frame { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Frame.Builder<_B> _other) { + } + + public<_B >Frame.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Frame.Builder<_B>(_parentBuilder, this, true); + } + + public Frame.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Frame.Builder builder() { + return new Frame.Builder(null, null, false); + } + + public static<_B >Frame.Builder<_B> copyOf(final Frame _other) { + final Frame.Builder<_B> _newBuilder = new Frame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Frame.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >Frame.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Frame.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Frame.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Frame.Builder<_B> copyOf(final Frame _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Frame.Builder<_B> _newBuilder = new Frame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Frame.Builder copyExcept(final Frame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Frame.Builder copyOnly(final Frame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Frame _storedValue; + + public Builder(final _B _parentBuilder, final Frame _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Frame _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Frame >_P init(final _P _product) { + return _product; + } + + @Override + public Frame build() { + if (_storedValue == null) { + return this.init(new Frame()); + } else { + return ((Frame) _storedValue); + } + } + + public Frame.Builder<_B> copyOf(final Frame _other) { + _other.copyTo(this); + return this; + } + + public Frame.Builder<_B> copyOf(final Frame.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Frame.Selector + { + + + Select() { + super(null, null, null); + } + + public static Frame.Select _root() { + return new Frame.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributeValue.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributeValue.java new file mode 100644 index 000000000..5c34568bc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributeValue.java @@ -0,0 +1,339 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für GenericAttributeValue complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="GenericAttributeValue">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GenericAttributeValue", propOrder = { + "attributeId", + "value" +}) +public class GenericAttributeValue { + + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElement(name = "Value") + protected Variant value; + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GenericAttributeValue.Builder<_B> _other) { + _other.attributeId = this.attributeId; + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + } + + public<_B >GenericAttributeValue.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new GenericAttributeValue.Builder<_B>(_parentBuilder, this, true); + } + + public GenericAttributeValue.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static GenericAttributeValue.Builder builder() { + return new GenericAttributeValue.Builder(null, null, false); + } + + public static<_B >GenericAttributeValue.Builder<_B> copyOf(final GenericAttributeValue _other) { + final GenericAttributeValue.Builder<_B> _newBuilder = new GenericAttributeValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GenericAttributeValue.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + } + + public<_B >GenericAttributeValue.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new GenericAttributeValue.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public GenericAttributeValue.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >GenericAttributeValue.Builder<_B> copyOf(final GenericAttributeValue _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final GenericAttributeValue.Builder<_B> _newBuilder = new GenericAttributeValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static GenericAttributeValue.Builder copyExcept(final GenericAttributeValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static GenericAttributeValue.Builder copyOnly(final GenericAttributeValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final GenericAttributeValue _storedValue; + private Long attributeId; + private Variant.Builder> value; + + public Builder(final _B _parentBuilder, final GenericAttributeValue _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.attributeId = _other.attributeId; + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final GenericAttributeValue _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends GenericAttributeValue >_P init(final _P _product) { + _product.attributeId = this.attributeId; + _product.value = ((this.value == null)?null:this.value.build()); + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public GenericAttributeValue.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public GenericAttributeValue.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + @Override + public GenericAttributeValue build() { + if (_storedValue == null) { + return this.init(new GenericAttributeValue()); + } else { + return ((GenericAttributeValue) _storedValue); + } + } + + public GenericAttributeValue.Builder<_B> copyOf(final GenericAttributeValue _other) { + _other.copyTo(this); + return this; + } + + public GenericAttributeValue.Builder<_B> copyOf(final GenericAttributeValue.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends GenericAttributeValue.Selector + { + + + Select() { + super(null, null, null); + } + + public static GenericAttributeValue.Select _root() { + return new GenericAttributeValue.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> attributeId = null; + private Variant.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributes.java new file mode 100644 index 000000000..0a095376d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GenericAttributes.java @@ -0,0 +1,335 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für GenericAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="GenericAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="AttributeValues" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfGenericAttributeValue" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GenericAttributes", propOrder = { + "attributeValues" +}) +public class GenericAttributes + extends NodeAttributes +{ + + @XmlElementRef(name = "AttributeValues", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement attributeValues; + + /** + * Ruft den Wert der attributeValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfGenericAttributeValue }{@code >} + * + */ + public JAXBElement getAttributeValues() { + return attributeValues; + } + + /** + * Legt den Wert der attributeValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfGenericAttributeValue }{@code >} + * + */ + public void setAttributeValues(JAXBElement value) { + this.attributeValues = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GenericAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.attributeValues = this.attributeValues; + } + + @Override + public<_B >GenericAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new GenericAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public GenericAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static GenericAttributes.Builder builder() { + return new GenericAttributes.Builder(null, null, false); + } + + public static<_B >GenericAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final GenericAttributes.Builder<_B> _newBuilder = new GenericAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >GenericAttributes.Builder<_B> copyOf(final GenericAttributes _other) { + final GenericAttributes.Builder<_B> _newBuilder = new GenericAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GenericAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree attributeValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeValuesPropertyTree!= null):((attributeValuesPropertyTree == null)||(!attributeValuesPropertyTree.isLeaf())))) { + _other.attributeValues = this.attributeValues; + } + } + + @Override + public<_B >GenericAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new GenericAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public GenericAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >GenericAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final GenericAttributes.Builder<_B> _newBuilder = new GenericAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >GenericAttributes.Builder<_B> copyOf(final GenericAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final GenericAttributes.Builder<_B> _newBuilder = new GenericAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static GenericAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static GenericAttributes.Builder copyExcept(final GenericAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static GenericAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static GenericAttributes.Builder copyOnly(final GenericAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private JAXBElement attributeValues; + + public Builder(final _B _parentBuilder, final GenericAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.attributeValues = _other.attributeValues; + } + } + + public Builder(final _B _parentBuilder, final GenericAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree attributeValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeValuesPropertyTree!= null):((attributeValuesPropertyTree == null)||(!attributeValuesPropertyTree.isLeaf())))) { + this.attributeValues = _other.attributeValues; + } + } + } + + protected<_P extends GenericAttributes >_P init(final _P _product) { + _product.attributeValues = this.attributeValues; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeValues" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeValues + * Neuer Wert der Eigenschaft "attributeValues". + */ + public GenericAttributes.Builder<_B> withAttributeValues(final JAXBElement attributeValues) { + this.attributeValues = attributeValues; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public GenericAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public GenericAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public GenericAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public GenericAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public GenericAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public GenericAttributes build() { + if (_storedValue == null) { + return this.init(new GenericAttributes()); + } else { + return ((GenericAttributes) _storedValue); + } + } + + public GenericAttributes.Builder<_B> copyOf(final GenericAttributes _other) { + _other.copyTo(this); + return this; + } + + public GenericAttributes.Builder<_B> copyOf(final GenericAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends GenericAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static GenericAttributes.Select _root() { + return new GenericAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> attributeValues = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.attributeValues!= null) { + products.put("attributeValues", this.attributeValues.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> attributeValues() { + return ((this.attributeValues == null)?this.attributeValues = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeValues"):this.attributeValues); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsRequest.java new file mode 100644 index 000000000..6ffa9f923 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsRequest.java @@ -0,0 +1,440 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für GetEndpointsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="GetEndpointsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="EndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="LocaleIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ProfileUris" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GetEndpointsRequest", propOrder = { + "requestHeader", + "endpointUrl", + "localeIds", + "profileUris" +}) +public class GetEndpointsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "EndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrl; + @XmlElementRef(name = "LocaleIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement localeIds; + @XmlElementRef(name = "ProfileUris", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement profileUris; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der endpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEndpointUrl() { + return endpointUrl; + } + + /** + * Legt den Wert der endpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEndpointUrl(JAXBElement value) { + this.endpointUrl = value; + } + + /** + * Ruft den Wert der localeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getLocaleIds() { + return localeIds; + } + + /** + * Legt den Wert der localeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setLocaleIds(JAXBElement value) { + this.localeIds = value; + } + + /** + * Ruft den Wert der profileUris-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getProfileUris() { + return profileUris; + } + + /** + * Legt den Wert der profileUris-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setProfileUris(JAXBElement value) { + this.profileUris = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GetEndpointsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.endpointUrl = this.endpointUrl; + _other.localeIds = this.localeIds; + _other.profileUris = this.profileUris; + } + + public<_B >GetEndpointsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new GetEndpointsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public GetEndpointsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static GetEndpointsRequest.Builder builder() { + return new GetEndpointsRequest.Builder(null, null, false); + } + + public static<_B >GetEndpointsRequest.Builder<_B> copyOf(final GetEndpointsRequest _other) { + final GetEndpointsRequest.Builder<_B> _newBuilder = new GetEndpointsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GetEndpointsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + _other.endpointUrl = this.endpointUrl; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + _other.localeIds = this.localeIds; + } + final PropertyTree profileUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("profileUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(profileUrisPropertyTree!= null):((profileUrisPropertyTree == null)||(!profileUrisPropertyTree.isLeaf())))) { + _other.profileUris = this.profileUris; + } + } + + public<_B >GetEndpointsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new GetEndpointsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public GetEndpointsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >GetEndpointsRequest.Builder<_B> copyOf(final GetEndpointsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final GetEndpointsRequest.Builder<_B> _newBuilder = new GetEndpointsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static GetEndpointsRequest.Builder copyExcept(final GetEndpointsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static GetEndpointsRequest.Builder copyOnly(final GetEndpointsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final GetEndpointsRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement endpointUrl; + private JAXBElement localeIds; + private JAXBElement profileUris; + + public Builder(final _B _parentBuilder, final GetEndpointsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.endpointUrl = _other.endpointUrl; + this.localeIds = _other.localeIds; + this.profileUris = _other.profileUris; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final GetEndpointsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + this.endpointUrl = _other.endpointUrl; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + this.localeIds = _other.localeIds; + } + final PropertyTree profileUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("profileUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(profileUrisPropertyTree!= null):((profileUrisPropertyTree == null)||(!profileUrisPropertyTree.isLeaf())))) { + this.profileUris = _other.profileUris; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends GetEndpointsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.endpointUrl = this.endpointUrl; + _product.localeIds = this.localeIds; + _product.profileUris = this.profileUris; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public GetEndpointsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrl + * Neuer Wert der Eigenschaft "endpointUrl". + */ + public GetEndpointsRequest.Builder<_B> withEndpointUrl(final JAXBElement endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localeIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param localeIds + * Neuer Wert der Eigenschaft "localeIds". + */ + public GetEndpointsRequest.Builder<_B> withLocaleIds(final JAXBElement localeIds) { + this.localeIds = localeIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "profileUris" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param profileUris + * Neuer Wert der Eigenschaft "profileUris". + */ + public GetEndpointsRequest.Builder<_B> withProfileUris(final JAXBElement profileUris) { + this.profileUris = profileUris; + return this; + } + + @Override + public GetEndpointsRequest build() { + if (_storedValue == null) { + return this.init(new GetEndpointsRequest()); + } else { + return ((GetEndpointsRequest) _storedValue); + } + } + + public GetEndpointsRequest.Builder<_B> copyOf(final GetEndpointsRequest _other) { + _other.copyTo(this); + return this; + } + + public GetEndpointsRequest.Builder<_B> copyOf(final GetEndpointsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends GetEndpointsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static GetEndpointsRequest.Select _root() { + return new GetEndpointsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> endpointUrl = null; + private com.kscs.util.jaxb.Selector> localeIds = null; + private com.kscs.util.jaxb.Selector> profileUris = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.endpointUrl!= null) { + products.put("endpointUrl", this.endpointUrl.init()); + } + if (this.localeIds!= null) { + products.put("localeIds", this.localeIds.init()); + } + if (this.profileUris!= null) { + products.put("profileUris", this.profileUris.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> endpointUrl() { + return ((this.endpointUrl == null)?this.endpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrl"):this.endpointUrl); + } + + public com.kscs.util.jaxb.Selector> localeIds() { + return ((this.localeIds == null)?this.localeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "localeIds"):this.localeIds); + } + + public com.kscs.util.jaxb.Selector> profileUris() { + return ((this.profileUris == null)?this.profileUris = new com.kscs.util.jaxb.Selector>(this._root, this, "profileUris"):this.profileUris); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsResponse.java new file mode 100644 index 000000000..7fce4ef39 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/GetEndpointsResponse.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für GetEndpointsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="GetEndpointsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Endpoints" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEndpointDescription" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GetEndpointsResponse", propOrder = { + "responseHeader", + "endpoints" +}) +public class GetEndpointsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Endpoints", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpoints; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der endpoints-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public JAXBElement getEndpoints() { + return endpoints; + } + + /** + * Legt den Wert der endpoints-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public void setEndpoints(JAXBElement value) { + this.endpoints = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GetEndpointsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.endpoints = this.endpoints; + } + + public<_B >GetEndpointsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new GetEndpointsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public GetEndpointsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static GetEndpointsResponse.Builder builder() { + return new GetEndpointsResponse.Builder(null, null, false); + } + + public static<_B >GetEndpointsResponse.Builder<_B> copyOf(final GetEndpointsResponse _other) { + final GetEndpointsResponse.Builder<_B> _newBuilder = new GetEndpointsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final GetEndpointsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree endpointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointsPropertyTree!= null):((endpointsPropertyTree == null)||(!endpointsPropertyTree.isLeaf())))) { + _other.endpoints = this.endpoints; + } + } + + public<_B >GetEndpointsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new GetEndpointsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public GetEndpointsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >GetEndpointsResponse.Builder<_B> copyOf(final GetEndpointsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final GetEndpointsResponse.Builder<_B> _newBuilder = new GetEndpointsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static GetEndpointsResponse.Builder copyExcept(final GetEndpointsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static GetEndpointsResponse.Builder copyOnly(final GetEndpointsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final GetEndpointsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement endpoints; + + public Builder(final _B _parentBuilder, final GetEndpointsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.endpoints = _other.endpoints; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final GetEndpointsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree endpointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointsPropertyTree!= null):((endpointsPropertyTree == null)||(!endpointsPropertyTree.isLeaf())))) { + this.endpoints = _other.endpoints; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends GetEndpointsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.endpoints = this.endpoints; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public GetEndpointsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpoints" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param endpoints + * Neuer Wert der Eigenschaft "endpoints". + */ + public GetEndpointsResponse.Builder<_B> withEndpoints(final JAXBElement endpoints) { + this.endpoints = endpoints; + return this; + } + + @Override + public GetEndpointsResponse build() { + if (_storedValue == null) { + return this.init(new GetEndpointsResponse()); + } else { + return ((GetEndpointsResponse) _storedValue); + } + } + + public GetEndpointsResponse.Builder<_B> copyOf(final GetEndpointsResponse _other) { + _other.copyTo(this); + return this; + } + + public GetEndpointsResponse.Builder<_B> copyOf(final GetEndpointsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends GetEndpointsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static GetEndpointsResponse.Select _root() { + return new GetEndpointsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> endpoints = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.endpoints!= null) { + products.put("endpoints", this.endpoints.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> endpoints() { + return ((this.endpoints == null)?this.endpoints = new com.kscs.util.jaxb.Selector>(this._root, this, "endpoints"):this.endpoints); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Guid.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Guid.java new file mode 100644 index 000000000..ebd56e656 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Guid.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Guid complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Guid">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="String" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Guid", propOrder = { + "string" +}) +public class Guid { + + @XmlElementRef(name = "String", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement string; + + /** + * Ruft den Wert der string-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getString() { + return string; + } + + /** + * Legt den Wert der string-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setString(JAXBElement value) { + this.string = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Guid.Builder<_B> _other) { + _other.string = this.string; + } + + public<_B >Guid.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Guid.Builder<_B>(_parentBuilder, this, true); + } + + public Guid.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Guid.Builder builder() { + return new Guid.Builder(null, null, false); + } + + public static<_B >Guid.Builder<_B> copyOf(final Guid _other) { + final Guid.Builder<_B> _newBuilder = new Guid.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Guid.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree stringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("string")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stringPropertyTree!= null):((stringPropertyTree == null)||(!stringPropertyTree.isLeaf())))) { + _other.string = this.string; + } + } + + public<_B >Guid.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Guid.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Guid.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Guid.Builder<_B> copyOf(final Guid _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Guid.Builder<_B> _newBuilder = new Guid.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Guid.Builder copyExcept(final Guid _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Guid.Builder copyOnly(final Guid _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Guid _storedValue; + private JAXBElement string; + + public Builder(final _B _parentBuilder, final Guid _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.string = _other.string; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Guid _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree stringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("string")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stringPropertyTree!= null):((stringPropertyTree == null)||(!stringPropertyTree.isLeaf())))) { + this.string = _other.string; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Guid >_P init(final _P _product) { + _product.string = this.string; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "string" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param string + * Neuer Wert der Eigenschaft "string". + */ + public Guid.Builder<_B> withString(final JAXBElement string) { + this.string = string; + return this; + } + + @Override + public Guid build() { + if (_storedValue == null) { + return this.init(new Guid()); + } else { + return ((Guid) _storedValue); + } + } + + public Guid.Builder<_B> copyOf(final Guid _other) { + _other.copyTo(this); + return this; + } + + public Guid.Builder<_B> copyOf(final Guid.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Guid.Selector + { + + + Select() { + super(null, null, null); + } + + public static Guid.Select _root() { + return new Guid.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> string = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.string!= null) { + products.put("string", this.string.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> string() { + return ((this.string == null)?this.string = new com.kscs.util.jaxb.Selector>(this._root, this, "string"):this.string); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryData.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryData.java new file mode 100644 index 000000000..f805e4b55 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryData.java @@ -0,0 +1,264 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryData complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryData">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataValues" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDataValue" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryData", propOrder = { + "dataValues" +}) +@XmlSeeAlso({ + HistoryModifiedData.class +}) +public class HistoryData { + + @XmlElementRef(name = "DataValues", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataValues; + + /** + * Ruft den Wert der dataValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public JAXBElement getDataValues() { + return dataValues; + } + + /** + * Legt den Wert der dataValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public void setDataValues(JAXBElement value) { + this.dataValues = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryData.Builder<_B> _other) { + _other.dataValues = this.dataValues; + } + + public<_B >HistoryData.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryData.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryData.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryData.Builder builder() { + return new HistoryData.Builder(null, null, false); + } + + public static<_B >HistoryData.Builder<_B> copyOf(final HistoryData _other) { + final HistoryData.Builder<_B> _newBuilder = new HistoryData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryData.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataValuesPropertyTree!= null):((dataValuesPropertyTree == null)||(!dataValuesPropertyTree.isLeaf())))) { + _other.dataValues = this.dataValues; + } + } + + public<_B >HistoryData.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryData.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryData.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryData.Builder<_B> copyOf(final HistoryData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryData.Builder<_B> _newBuilder = new HistoryData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryData.Builder copyExcept(final HistoryData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryData.Builder copyOnly(final HistoryData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryData _storedValue; + private JAXBElement dataValues; + + public Builder(final _B _parentBuilder, final HistoryData _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.dataValues = _other.dataValues; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryData _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataValuesPropertyTree!= null):((dataValuesPropertyTree == null)||(!dataValuesPropertyTree.isLeaf())))) { + this.dataValues = _other.dataValues; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryData >_P init(final _P _product) { + _product.dataValues = this.dataValues; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataValues" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataValues + * Neuer Wert der Eigenschaft "dataValues". + */ + public HistoryData.Builder<_B> withDataValues(final JAXBElement dataValues) { + this.dataValues = dataValues; + return this; + } + + @Override + public HistoryData build() { + if (_storedValue == null) { + return this.init(new HistoryData()); + } else { + return ((HistoryData) _storedValue); + } + } + + public HistoryData.Builder<_B> copyOf(final HistoryData _other) { + _other.copyTo(this); + return this; + } + + public HistoryData.Builder<_B> copyOf(final HistoryData.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryData.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryData.Select _root() { + return new HistoryData.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> dataValues = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataValues!= null) { + products.put("dataValues", this.dataValues.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dataValues() { + return ((this.dataValues == null)?this.dataValues = new com.kscs.util.jaxb.Selector>(this._root, this, "dataValues"):this.dataValues); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEvent.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEvent.java new file mode 100644 index 000000000..ff5374f43 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEvent.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryEvent complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryEvent">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Events" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfHistoryEventFieldList" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryEvent", propOrder = { + "events" +}) +public class HistoryEvent { + + @XmlElementRef(name = "Events", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement events; + + /** + * Ruft den Wert der events-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + */ + public JAXBElement getEvents() { + return events; + } + + /** + * Legt den Wert der events-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + */ + public void setEvents(JAXBElement value) { + this.events = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryEvent.Builder<_B> _other) { + _other.events = this.events; + } + + public<_B >HistoryEvent.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryEvent.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryEvent.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryEvent.Builder builder() { + return new HistoryEvent.Builder(null, null, false); + } + + public static<_B >HistoryEvent.Builder<_B> copyOf(final HistoryEvent _other) { + final HistoryEvent.Builder<_B> _newBuilder = new HistoryEvent.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryEvent.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree eventsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("events")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventsPropertyTree!= null):((eventsPropertyTree == null)||(!eventsPropertyTree.isLeaf())))) { + _other.events = this.events; + } + } + + public<_B >HistoryEvent.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryEvent.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryEvent.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryEvent.Builder<_B> copyOf(final HistoryEvent _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryEvent.Builder<_B> _newBuilder = new HistoryEvent.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryEvent.Builder copyExcept(final HistoryEvent _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryEvent.Builder copyOnly(final HistoryEvent _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryEvent _storedValue; + private JAXBElement events; + + public Builder(final _B _parentBuilder, final HistoryEvent _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.events = _other.events; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryEvent _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree eventsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("events")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventsPropertyTree!= null):((eventsPropertyTree == null)||(!eventsPropertyTree.isLeaf())))) { + this.events = _other.events; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryEvent >_P init(final _P _product) { + _product.events = this.events; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "events" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param events + * Neuer Wert der Eigenschaft "events". + */ + public HistoryEvent.Builder<_B> withEvents(final JAXBElement events) { + this.events = events; + return this; + } + + @Override + public HistoryEvent build() { + if (_storedValue == null) { + return this.init(new HistoryEvent()); + } else { + return ((HistoryEvent) _storedValue); + } + } + + public HistoryEvent.Builder<_B> copyOf(final HistoryEvent _other) { + _other.copyTo(this); + return this; + } + + public HistoryEvent.Builder<_B> copyOf(final HistoryEvent.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryEvent.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryEvent.Select _root() { + return new HistoryEvent.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> events = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.events!= null) { + products.put("events", this.events.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> events() { + return ((this.events == null)?this.events = new com.kscs.util.jaxb.Selector>(this._root, this, "events"):this.events); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEventFieldList.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEventFieldList.java new file mode 100644 index 000000000..600a8e1f2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryEventFieldList.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryEventFieldList complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryEventFieldList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EventFields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryEventFieldList", propOrder = { + "eventFields" +}) +public class HistoryEventFieldList { + + @XmlElementRef(name = "EventFields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement eventFields; + + /** + * Ruft den Wert der eventFields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getEventFields() { + return eventFields; + } + + /** + * Legt den Wert der eventFields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setEventFields(JAXBElement value) { + this.eventFields = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryEventFieldList.Builder<_B> _other) { + _other.eventFields = this.eventFields; + } + + public<_B >HistoryEventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryEventFieldList.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryEventFieldList.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryEventFieldList.Builder builder() { + return new HistoryEventFieldList.Builder(null, null, false); + } + + public static<_B >HistoryEventFieldList.Builder<_B> copyOf(final HistoryEventFieldList _other) { + final HistoryEventFieldList.Builder<_B> _newBuilder = new HistoryEventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryEventFieldList.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree eventFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventFieldsPropertyTree!= null):((eventFieldsPropertyTree == null)||(!eventFieldsPropertyTree.isLeaf())))) { + _other.eventFields = this.eventFields; + } + } + + public<_B >HistoryEventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryEventFieldList.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryEventFieldList.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryEventFieldList.Builder<_B> copyOf(final HistoryEventFieldList _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryEventFieldList.Builder<_B> _newBuilder = new HistoryEventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryEventFieldList.Builder copyExcept(final HistoryEventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryEventFieldList.Builder copyOnly(final HistoryEventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryEventFieldList _storedValue; + private JAXBElement eventFields; + + public Builder(final _B _parentBuilder, final HistoryEventFieldList _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.eventFields = _other.eventFields; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryEventFieldList _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree eventFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventFieldsPropertyTree!= null):((eventFieldsPropertyTree == null)||(!eventFieldsPropertyTree.isLeaf())))) { + this.eventFields = _other.eventFields; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryEventFieldList >_P init(final _P _product) { + _product.eventFields = this.eventFields; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventFields" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventFields + * Neuer Wert der Eigenschaft "eventFields". + */ + public HistoryEventFieldList.Builder<_B> withEventFields(final JAXBElement eventFields) { + this.eventFields = eventFields; + return this; + } + + @Override + public HistoryEventFieldList build() { + if (_storedValue == null) { + return this.init(new HistoryEventFieldList()); + } else { + return ((HistoryEventFieldList) _storedValue); + } + } + + public HistoryEventFieldList.Builder<_B> copyOf(final HistoryEventFieldList _other) { + _other.copyTo(this); + return this; + } + + public HistoryEventFieldList.Builder<_B> copyOf(final HistoryEventFieldList.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryEventFieldList.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryEventFieldList.Select _root() { + return new HistoryEventFieldList.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> eventFields = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.eventFields!= null) { + products.put("eventFields", this.eventFields.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> eventFields() { + return ((this.eventFields == null)?this.eventFields = new com.kscs.util.jaxb.Selector>(this._root, this, "eventFields"):this.eventFields); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryModifiedData.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryModifiedData.java new file mode 100644 index 000000000..91f8822e2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryModifiedData.java @@ -0,0 +1,283 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryModifiedData complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryModifiedData">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryData">
+ *       <sequence>
+ *         <element name="ModificationInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfModificationInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryModifiedData", propOrder = { + "modificationInfos" +}) +public class HistoryModifiedData + extends HistoryData +{ + + @XmlElementRef(name = "ModificationInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement modificationInfos; + + /** + * Ruft den Wert der modificationInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfModificationInfo }{@code >} + * + */ + public JAXBElement getModificationInfos() { + return modificationInfos; + } + + /** + * Legt den Wert der modificationInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfModificationInfo }{@code >} + * + */ + public void setModificationInfos(JAXBElement value) { + this.modificationInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryModifiedData.Builder<_B> _other) { + super.copyTo(_other); + _other.modificationInfos = this.modificationInfos; + } + + @Override + public<_B >HistoryModifiedData.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryModifiedData.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public HistoryModifiedData.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryModifiedData.Builder builder() { + return new HistoryModifiedData.Builder(null, null, false); + } + + public static<_B >HistoryModifiedData.Builder<_B> copyOf(final HistoryData _other) { + final HistoryModifiedData.Builder<_B> _newBuilder = new HistoryModifiedData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >HistoryModifiedData.Builder<_B> copyOf(final HistoryModifiedData _other) { + final HistoryModifiedData.Builder<_B> _newBuilder = new HistoryModifiedData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryModifiedData.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree modificationInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modificationInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modificationInfosPropertyTree!= null):((modificationInfosPropertyTree == null)||(!modificationInfosPropertyTree.isLeaf())))) { + _other.modificationInfos = this.modificationInfos; + } + } + + @Override + public<_B >HistoryModifiedData.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryModifiedData.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public HistoryModifiedData.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryModifiedData.Builder<_B> copyOf(final HistoryData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryModifiedData.Builder<_B> _newBuilder = new HistoryModifiedData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >HistoryModifiedData.Builder<_B> copyOf(final HistoryModifiedData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryModifiedData.Builder<_B> _newBuilder = new HistoryModifiedData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryModifiedData.Builder copyExcept(final HistoryData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryModifiedData.Builder copyExcept(final HistoryModifiedData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryModifiedData.Builder copyOnly(final HistoryData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static HistoryModifiedData.Builder copyOnly(final HistoryModifiedData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryData.Builder<_B> + implements Buildable + { + + private JAXBElement modificationInfos; + + public Builder(final _B _parentBuilder, final HistoryModifiedData _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.modificationInfos = _other.modificationInfos; + } + } + + public Builder(final _B _parentBuilder, final HistoryModifiedData _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree modificationInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modificationInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modificationInfosPropertyTree!= null):((modificationInfosPropertyTree == null)||(!modificationInfosPropertyTree.isLeaf())))) { + this.modificationInfos = _other.modificationInfos; + } + } + } + + protected<_P extends HistoryModifiedData >_P init(final _P _product) { + _product.modificationInfos = this.modificationInfos; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "modificationInfos" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param modificationInfos + * Neuer Wert der Eigenschaft "modificationInfos". + */ + public HistoryModifiedData.Builder<_B> withModificationInfos(final JAXBElement modificationInfos) { + this.modificationInfos = modificationInfos; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataValues" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataValues + * Neuer Wert der Eigenschaft "dataValues". + */ + @Override + public HistoryModifiedData.Builder<_B> withDataValues(final JAXBElement dataValues) { + super.withDataValues(dataValues); + return this; + } + + @Override + public HistoryModifiedData build() { + if (_storedValue == null) { + return this.init(new HistoryModifiedData()); + } else { + return ((HistoryModifiedData) _storedValue); + } + } + + public HistoryModifiedData.Builder<_B> copyOf(final HistoryModifiedData _other) { + _other.copyTo(this); + return this; + } + + public HistoryModifiedData.Builder<_B> copyOf(final HistoryModifiedData.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryModifiedData.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryModifiedData.Select _root() { + return new HistoryModifiedData.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryData.Selector + { + + private com.kscs.util.jaxb.Selector> modificationInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.modificationInfos!= null) { + products.put("modificationInfos", this.modificationInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> modificationInfos() { + return ((this.modificationInfos == null)?this.modificationInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "modificationInfos"):this.modificationInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadDetails.java new file mode 100644 index 000000000..5d2e420e7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadDetails.java @@ -0,0 +1,205 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryReadDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryReadDetails">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryReadDetails") +@XmlSeeAlso({ + ReadEventDetails.class, + ReadRawModifiedDetails.class, + ReadProcessedDetails.class, + ReadAtTimeDetails.class, + ReadAnnotationDataDetails.class +}) +public class HistoryReadDetails { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadDetails.Builder<_B> _other) { + } + + public<_B >HistoryReadDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryReadDetails.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryReadDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryReadDetails.Builder builder() { + return new HistoryReadDetails.Builder(null, null, false); + } + + public static<_B >HistoryReadDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + final HistoryReadDetails.Builder<_B> _newBuilder = new HistoryReadDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >HistoryReadDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryReadDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryReadDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryReadDetails.Builder<_B> copyOf(final HistoryReadDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryReadDetails.Builder<_B> _newBuilder = new HistoryReadDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryReadDetails.Builder copyExcept(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryReadDetails.Builder copyOnly(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryReadDetails _storedValue; + + public Builder(final _B _parentBuilder, final HistoryReadDetails _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryReadDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryReadDetails >_P init(final _P _product) { + return _product; + } + + @Override + public HistoryReadDetails build() { + if (_storedValue == null) { + return this.init(new HistoryReadDetails()); + } else { + return ((HistoryReadDetails) _storedValue); + } + } + + public HistoryReadDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + _other.copyTo(this); + return this; + } + + public HistoryReadDetails.Builder<_B> copyOf(final HistoryReadDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryReadDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryReadDetails.Select _root() { + return new HistoryReadDetails.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadRequest.java new file mode 100644 index 000000000..cbd3d6a30 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadRequest.java @@ -0,0 +1,503 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryReadRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryReadRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="HistoryReadDetails" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="TimestampsToReturn" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TimestampsToReturn" minOccurs="0"/>
+ *         <element name="ReleaseContinuationPoints" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="NodesToRead" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfHistoryReadValueId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryReadRequest", propOrder = { + "requestHeader", + "historyReadDetails", + "timestampsToReturn", + "releaseContinuationPoints", + "nodesToRead" +}) +public class HistoryReadRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "HistoryReadDetails", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement historyReadDetails; + @XmlElement(name = "TimestampsToReturn") + @XmlSchemaType(name = "string") + protected TimestampsToReturn timestampsToReturn; + @XmlElement(name = "ReleaseContinuationPoints") + protected Boolean releaseContinuationPoints; + @XmlElementRef(name = "NodesToRead", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToRead; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der historyReadDetails-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getHistoryReadDetails() { + return historyReadDetails; + } + + /** + * Legt den Wert der historyReadDetails-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setHistoryReadDetails(JAXBElement value) { + this.historyReadDetails = value; + } + + /** + * Ruft den Wert der timestampsToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link TimestampsToReturn } + * + */ + public TimestampsToReturn getTimestampsToReturn() { + return timestampsToReturn; + } + + /** + * Legt den Wert der timestampsToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TimestampsToReturn } + * + */ + public void setTimestampsToReturn(TimestampsToReturn value) { + this.timestampsToReturn = value; + } + + /** + * Ruft den Wert der releaseContinuationPoints-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isReleaseContinuationPoints() { + return releaseContinuationPoints; + } + + /** + * Legt den Wert der releaseContinuationPoints-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setReleaseContinuationPoints(Boolean value) { + this.releaseContinuationPoints = value; + } + + /** + * Ruft den Wert der nodesToRead-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryReadValueId }{@code >} + * + */ + public JAXBElement getNodesToRead() { + return nodesToRead; + } + + /** + * Legt den Wert der nodesToRead-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryReadValueId }{@code >} + * + */ + public void setNodesToRead(JAXBElement value) { + this.nodesToRead = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.historyReadDetails = this.historyReadDetails; + _other.timestampsToReturn = this.timestampsToReturn; + _other.releaseContinuationPoints = this.releaseContinuationPoints; + _other.nodesToRead = this.nodesToRead; + } + + public<_B >HistoryReadRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryReadRequest.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryReadRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryReadRequest.Builder builder() { + return new HistoryReadRequest.Builder(null, null, false); + } + + public static<_B >HistoryReadRequest.Builder<_B> copyOf(final HistoryReadRequest _other) { + final HistoryReadRequest.Builder<_B> _newBuilder = new HistoryReadRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree historyReadDetailsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadDetails")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadDetailsPropertyTree!= null):((historyReadDetailsPropertyTree == null)||(!historyReadDetailsPropertyTree.isLeaf())))) { + _other.historyReadDetails = this.historyReadDetails; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + _other.timestampsToReturn = this.timestampsToReturn; + } + final PropertyTree releaseContinuationPointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("releaseContinuationPoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(releaseContinuationPointsPropertyTree!= null):((releaseContinuationPointsPropertyTree == null)||(!releaseContinuationPointsPropertyTree.isLeaf())))) { + _other.releaseContinuationPoints = this.releaseContinuationPoints; + } + final PropertyTree nodesToReadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToRead")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToReadPropertyTree!= null):((nodesToReadPropertyTree == null)||(!nodesToReadPropertyTree.isLeaf())))) { + _other.nodesToRead = this.nodesToRead; + } + } + + public<_B >HistoryReadRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryReadRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryReadRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryReadRequest.Builder<_B> copyOf(final HistoryReadRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryReadRequest.Builder<_B> _newBuilder = new HistoryReadRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryReadRequest.Builder copyExcept(final HistoryReadRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryReadRequest.Builder copyOnly(final HistoryReadRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryReadRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement historyReadDetails; + private TimestampsToReturn timestampsToReturn; + private Boolean releaseContinuationPoints; + private JAXBElement nodesToRead; + + public Builder(final _B _parentBuilder, final HistoryReadRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.historyReadDetails = _other.historyReadDetails; + this.timestampsToReturn = _other.timestampsToReturn; + this.releaseContinuationPoints = _other.releaseContinuationPoints; + this.nodesToRead = _other.nodesToRead; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryReadRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree historyReadDetailsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadDetails")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadDetailsPropertyTree!= null):((historyReadDetailsPropertyTree == null)||(!historyReadDetailsPropertyTree.isLeaf())))) { + this.historyReadDetails = _other.historyReadDetails; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + this.timestampsToReturn = _other.timestampsToReturn; + } + final PropertyTree releaseContinuationPointsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("releaseContinuationPoints")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(releaseContinuationPointsPropertyTree!= null):((releaseContinuationPointsPropertyTree == null)||(!releaseContinuationPointsPropertyTree.isLeaf())))) { + this.releaseContinuationPoints = _other.releaseContinuationPoints; + } + final PropertyTree nodesToReadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToRead")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToReadPropertyTree!= null):((nodesToReadPropertyTree == null)||(!nodesToReadPropertyTree.isLeaf())))) { + this.nodesToRead = _other.nodesToRead; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryReadRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.historyReadDetails = this.historyReadDetails; + _product.timestampsToReturn = this.timestampsToReturn; + _product.releaseContinuationPoints = this.releaseContinuationPoints; + _product.nodesToRead = this.nodesToRead; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public HistoryReadRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyReadDetails" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyReadDetails + * Neuer Wert der Eigenschaft "historyReadDetails". + */ + public HistoryReadRequest.Builder<_B> withHistoryReadDetails(final JAXBElement historyReadDetails) { + this.historyReadDetails = historyReadDetails; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestampsToReturn" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param timestampsToReturn + * Neuer Wert der Eigenschaft "timestampsToReturn". + */ + public HistoryReadRequest.Builder<_B> withTimestampsToReturn(final TimestampsToReturn timestampsToReturn) { + this.timestampsToReturn = timestampsToReturn; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "releaseContinuationPoints" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param releaseContinuationPoints + * Neuer Wert der Eigenschaft "releaseContinuationPoints". + */ + public HistoryReadRequest.Builder<_B> withReleaseContinuationPoints(final Boolean releaseContinuationPoints) { + this.releaseContinuationPoints = releaseContinuationPoints; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToRead" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodesToRead + * Neuer Wert der Eigenschaft "nodesToRead". + */ + public HistoryReadRequest.Builder<_B> withNodesToRead(final JAXBElement nodesToRead) { + this.nodesToRead = nodesToRead; + return this; + } + + @Override + public HistoryReadRequest build() { + if (_storedValue == null) { + return this.init(new HistoryReadRequest()); + } else { + return ((HistoryReadRequest) _storedValue); + } + } + + public HistoryReadRequest.Builder<_B> copyOf(final HistoryReadRequest _other) { + _other.copyTo(this); + return this; + } + + public HistoryReadRequest.Builder<_B> copyOf(final HistoryReadRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryReadRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryReadRequest.Select _root() { + return new HistoryReadRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> historyReadDetails = null; + private com.kscs.util.jaxb.Selector> timestampsToReturn = null; + private com.kscs.util.jaxb.Selector> releaseContinuationPoints = null; + private com.kscs.util.jaxb.Selector> nodesToRead = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.historyReadDetails!= null) { + products.put("historyReadDetails", this.historyReadDetails.init()); + } + if (this.timestampsToReturn!= null) { + products.put("timestampsToReturn", this.timestampsToReturn.init()); + } + if (this.releaseContinuationPoints!= null) { + products.put("releaseContinuationPoints", this.releaseContinuationPoints.init()); + } + if (this.nodesToRead!= null) { + products.put("nodesToRead", this.nodesToRead.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> historyReadDetails() { + return ((this.historyReadDetails == null)?this.historyReadDetails = new com.kscs.util.jaxb.Selector>(this._root, this, "historyReadDetails"):this.historyReadDetails); + } + + public com.kscs.util.jaxb.Selector> timestampsToReturn() { + return ((this.timestampsToReturn == null)?this.timestampsToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "timestampsToReturn"):this.timestampsToReturn); + } + + public com.kscs.util.jaxb.Selector> releaseContinuationPoints() { + return ((this.releaseContinuationPoints == null)?this.releaseContinuationPoints = new com.kscs.util.jaxb.Selector>(this._root, this, "releaseContinuationPoints"):this.releaseContinuationPoints); + } + + public com.kscs.util.jaxb.Selector> nodesToRead() { + return ((this.nodesToRead == null)?this.nodesToRead = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToRead"):this.nodesToRead); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResponse.java new file mode 100644 index 000000000..3f0ef4dab --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryReadResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryReadResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfHistoryReadResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryReadResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class HistoryReadResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryReadResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryReadResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >HistoryReadResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryReadResponse.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryReadResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryReadResponse.Builder builder() { + return new HistoryReadResponse.Builder(null, null, false); + } + + public static<_B >HistoryReadResponse.Builder<_B> copyOf(final HistoryReadResponse _other) { + final HistoryReadResponse.Builder<_B> _newBuilder = new HistoryReadResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >HistoryReadResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryReadResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryReadResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryReadResponse.Builder<_B> copyOf(final HistoryReadResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryReadResponse.Builder<_B> _newBuilder = new HistoryReadResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryReadResponse.Builder copyExcept(final HistoryReadResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryReadResponse.Builder copyOnly(final HistoryReadResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryReadResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final HistoryReadResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryReadResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryReadResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public HistoryReadResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public HistoryReadResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public HistoryReadResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public HistoryReadResponse build() { + if (_storedValue == null) { + return this.init(new HistoryReadResponse()); + } else { + return ((HistoryReadResponse) _storedValue); + } + } + + public HistoryReadResponse.Builder<_B> copyOf(final HistoryReadResponse _other) { + _other.copyTo(this); + return this; + } + + public HistoryReadResponse.Builder<_B> copyOf(final HistoryReadResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryReadResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryReadResponse.Select _root() { + return new HistoryReadResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResult.java new file mode 100644 index 000000000..9b3906294 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadResult.java @@ -0,0 +1,399 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryReadResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryReadResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="ContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="HistoryData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryReadResult", propOrder = { + "statusCode", + "continuationPoint", + "historyData" +}) +public class HistoryReadResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "ContinuationPoint", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement continuationPoint; + @XmlElementRef(name = "HistoryData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement historyData; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der continuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getContinuationPoint() { + return continuationPoint; + } + + /** + * Legt den Wert der continuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setContinuationPoint(JAXBElement value) { + this.continuationPoint = value; + } + + /** + * Ruft den Wert der historyData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getHistoryData() { + return historyData; + } + + /** + * Legt den Wert der historyData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setHistoryData(JAXBElement value) { + this.historyData = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.continuationPoint = this.continuationPoint; + _other.historyData = this.historyData; + } + + public<_B >HistoryReadResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryReadResult.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryReadResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryReadResult.Builder builder() { + return new HistoryReadResult.Builder(null, null, false); + } + + public static<_B >HistoryReadResult.Builder<_B> copyOf(final HistoryReadResult _other) { + final HistoryReadResult.Builder<_B> _newBuilder = new HistoryReadResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + _other.continuationPoint = this.continuationPoint; + } + final PropertyTree historyDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyDataPropertyTree!= null):((historyDataPropertyTree == null)||(!historyDataPropertyTree.isLeaf())))) { + _other.historyData = this.historyData; + } + } + + public<_B >HistoryReadResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryReadResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryReadResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryReadResult.Builder<_B> copyOf(final HistoryReadResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryReadResult.Builder<_B> _newBuilder = new HistoryReadResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryReadResult.Builder copyExcept(final HistoryReadResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryReadResult.Builder copyOnly(final HistoryReadResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryReadResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement continuationPoint; + private JAXBElement historyData; + + public Builder(final _B _parentBuilder, final HistoryReadResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.continuationPoint = _other.continuationPoint; + this.historyData = _other.historyData; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryReadResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + this.continuationPoint = _other.continuationPoint; + } + final PropertyTree historyDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyDataPropertyTree!= null):((historyDataPropertyTree == null)||(!historyDataPropertyTree.isLeaf())))) { + this.historyData = _other.historyData; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryReadResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.continuationPoint = this.continuationPoint; + _product.historyData = this.historyData; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public HistoryReadResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "continuationPoint" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param continuationPoint + * Neuer Wert der Eigenschaft "continuationPoint". + */ + public HistoryReadResult.Builder<_B> withContinuationPoint(final JAXBElement continuationPoint) { + this.continuationPoint = continuationPoint; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param historyData + * Neuer Wert der Eigenschaft "historyData". + */ + public HistoryReadResult.Builder<_B> withHistoryData(final JAXBElement historyData) { + this.historyData = historyData; + return this; + } + + @Override + public HistoryReadResult build() { + if (_storedValue == null) { + return this.init(new HistoryReadResult()); + } else { + return ((HistoryReadResult) _storedValue); + } + } + + public HistoryReadResult.Builder<_B> copyOf(final HistoryReadResult _other) { + _other.copyTo(this); + return this; + } + + public HistoryReadResult.Builder<_B> copyOf(final HistoryReadResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryReadResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryReadResult.Select _root() { + return new HistoryReadResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> continuationPoint = null; + private com.kscs.util.jaxb.Selector> historyData = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.continuationPoint!= null) { + products.put("continuationPoint", this.continuationPoint.init()); + } + if (this.historyData!= null) { + products.put("historyData", this.historyData.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> continuationPoint() { + return ((this.continuationPoint == null)?this.continuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "continuationPoint"):this.continuationPoint); + } + + public com.kscs.util.jaxb.Selector> historyData() { + return ((this.historyData == null)?this.historyData = new com.kscs.util.jaxb.Selector>(this._root, this, "historyData"):this.historyData); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadValueId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadValueId.java new file mode 100644 index 000000000..2232daa42 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryReadValueId.java @@ -0,0 +1,440 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryReadValueId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryReadValueId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DataEncoding" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *         <element name="ContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryReadValueId", propOrder = { + "nodeId", + "indexRange", + "dataEncoding", + "continuationPoint" +}) +public class HistoryReadValueId { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + @XmlElementRef(name = "DataEncoding", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataEncoding; + @XmlElementRef(name = "ContinuationPoint", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement continuationPoint; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Ruft den Wert der dataEncoding-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getDataEncoding() { + return dataEncoding; + } + + /** + * Legt den Wert der dataEncoding-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setDataEncoding(JAXBElement value) { + this.dataEncoding = value; + } + + /** + * Ruft den Wert der continuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getContinuationPoint() { + return continuationPoint; + } + + /** + * Legt den Wert der continuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setContinuationPoint(JAXBElement value) { + this.continuationPoint = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadValueId.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.indexRange = this.indexRange; + _other.dataEncoding = this.dataEncoding; + _other.continuationPoint = this.continuationPoint; + } + + public<_B >HistoryReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryReadValueId.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryReadValueId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryReadValueId.Builder builder() { + return new HistoryReadValueId.Builder(null, null, false); + } + + public static<_B >HistoryReadValueId.Builder<_B> copyOf(final HistoryReadValueId _other) { + final HistoryReadValueId.Builder<_B> _newBuilder = new HistoryReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryReadValueId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + final PropertyTree dataEncodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataEncoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataEncodingPropertyTree!= null):((dataEncodingPropertyTree == null)||(!dataEncodingPropertyTree.isLeaf())))) { + _other.dataEncoding = this.dataEncoding; + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + _other.continuationPoint = this.continuationPoint; + } + } + + public<_B >HistoryReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryReadValueId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryReadValueId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryReadValueId.Builder<_B> copyOf(final HistoryReadValueId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryReadValueId.Builder<_B> _newBuilder = new HistoryReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryReadValueId.Builder copyExcept(final HistoryReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryReadValueId.Builder copyOnly(final HistoryReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryReadValueId _storedValue; + private JAXBElement nodeId; + private JAXBElement indexRange; + private JAXBElement dataEncoding; + private JAXBElement continuationPoint; + + public Builder(final _B _parentBuilder, final HistoryReadValueId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.indexRange = _other.indexRange; + this.dataEncoding = _other.dataEncoding; + this.continuationPoint = _other.continuationPoint; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryReadValueId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + final PropertyTree dataEncodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataEncoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataEncodingPropertyTree!= null):((dataEncodingPropertyTree == null)||(!dataEncodingPropertyTree.isLeaf())))) { + this.dataEncoding = _other.dataEncoding; + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + this.continuationPoint = _other.continuationPoint; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryReadValueId >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.indexRange = this.indexRange; + _product.dataEncoding = this.dataEncoding; + _product.continuationPoint = this.continuationPoint; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public HistoryReadValueId.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public HistoryReadValueId.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataEncoding" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataEncoding + * Neuer Wert der Eigenschaft "dataEncoding". + */ + public HistoryReadValueId.Builder<_B> withDataEncoding(final JAXBElement dataEncoding) { + this.dataEncoding = dataEncoding; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "continuationPoint" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param continuationPoint + * Neuer Wert der Eigenschaft "continuationPoint". + */ + public HistoryReadValueId.Builder<_B> withContinuationPoint(final JAXBElement continuationPoint) { + this.continuationPoint = continuationPoint; + return this; + } + + @Override + public HistoryReadValueId build() { + if (_storedValue == null) { + return this.init(new HistoryReadValueId()); + } else { + return ((HistoryReadValueId) _storedValue); + } + } + + public HistoryReadValueId.Builder<_B> copyOf(final HistoryReadValueId _other) { + _other.copyTo(this); + return this; + } + + public HistoryReadValueId.Builder<_B> copyOf(final HistoryReadValueId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryReadValueId.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryReadValueId.Select _root() { + return new HistoryReadValueId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + private com.kscs.util.jaxb.Selector> dataEncoding = null; + private com.kscs.util.jaxb.Selector> continuationPoint = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + if (this.dataEncoding!= null) { + products.put("dataEncoding", this.dataEncoding.init()); + } + if (this.continuationPoint!= null) { + products.put("continuationPoint", this.continuationPoint.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + public com.kscs.util.jaxb.Selector> dataEncoding() { + return ((this.dataEncoding == null)?this.dataEncoding = new com.kscs.util.jaxb.Selector>(this._root, this, "dataEncoding"):this.dataEncoding); + } + + public com.kscs.util.jaxb.Selector> continuationPoint() { + return ((this.continuationPoint == null)?this.continuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "continuationPoint"):this.continuationPoint); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateDetails.java new file mode 100644 index 000000000..9252ca793 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateDetails.java @@ -0,0 +1,269 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryUpdateDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryUpdateDetails">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryUpdateDetails", propOrder = { + "nodeId" +}) +@XmlSeeAlso({ + UpdateDataDetails.class, + UpdateStructureDataDetails.class, + UpdateEventDetails.class, + DeleteRawModifiedDetails.class, + DeleteAtTimeDetails.class, + DeleteEventDetails.class +}) +public class HistoryUpdateDetails { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateDetails.Builder<_B> _other) { + _other.nodeId = this.nodeId; + } + + public<_B >HistoryUpdateDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryUpdateDetails.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryUpdateDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryUpdateDetails.Builder builder() { + return new HistoryUpdateDetails.Builder(null, null, false); + } + + public static<_B >HistoryUpdateDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final HistoryUpdateDetails.Builder<_B> _newBuilder = new HistoryUpdateDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + } + + public<_B >HistoryUpdateDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryUpdateDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryUpdateDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryUpdateDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryUpdateDetails.Builder<_B> _newBuilder = new HistoryUpdateDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryUpdateDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryUpdateDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryUpdateDetails _storedValue; + private JAXBElement nodeId; + + public Builder(final _B _parentBuilder, final HistoryUpdateDetails _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryUpdateDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryUpdateDetails >_P init(final _P _product) { + _product.nodeId = this.nodeId; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public HistoryUpdateDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + @Override + public HistoryUpdateDetails build() { + if (_storedValue == null) { + return this.init(new HistoryUpdateDetails()); + } else { + return ((HistoryUpdateDetails) _storedValue); + } + } + + public HistoryUpdateDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + _other.copyTo(this); + return this; + } + + public HistoryUpdateDetails.Builder<_B> copyOf(final HistoryUpdateDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryUpdateDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryUpdateDetails.Select _root() { + return new HistoryUpdateDetails.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateRequest.java new file mode 100644 index 000000000..774a811d4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryUpdateRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryUpdateRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="HistoryUpdateDetails" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryUpdateRequest", propOrder = { + "requestHeader", + "historyUpdateDetails" +}) +public class HistoryUpdateRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "HistoryUpdateDetails", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement historyUpdateDetails; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der historyUpdateDetails-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public JAXBElement getHistoryUpdateDetails() { + return historyUpdateDetails; + } + + /** + * Legt den Wert der historyUpdateDetails-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public void setHistoryUpdateDetails(JAXBElement value) { + this.historyUpdateDetails = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.historyUpdateDetails = this.historyUpdateDetails; + } + + public<_B >HistoryUpdateRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryUpdateRequest.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryUpdateRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryUpdateRequest.Builder builder() { + return new HistoryUpdateRequest.Builder(null, null, false); + } + + public static<_B >HistoryUpdateRequest.Builder<_B> copyOf(final HistoryUpdateRequest _other) { + final HistoryUpdateRequest.Builder<_B> _newBuilder = new HistoryUpdateRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree historyUpdateDetailsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyUpdateDetails")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyUpdateDetailsPropertyTree!= null):((historyUpdateDetailsPropertyTree == null)||(!historyUpdateDetailsPropertyTree.isLeaf())))) { + _other.historyUpdateDetails = this.historyUpdateDetails; + } + } + + public<_B >HistoryUpdateRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryUpdateRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryUpdateRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryUpdateRequest.Builder<_B> copyOf(final HistoryUpdateRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryUpdateRequest.Builder<_B> _newBuilder = new HistoryUpdateRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryUpdateRequest.Builder copyExcept(final HistoryUpdateRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryUpdateRequest.Builder copyOnly(final HistoryUpdateRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryUpdateRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement historyUpdateDetails; + + public Builder(final _B _parentBuilder, final HistoryUpdateRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.historyUpdateDetails = _other.historyUpdateDetails; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryUpdateRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree historyUpdateDetailsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyUpdateDetails")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyUpdateDetailsPropertyTree!= null):((historyUpdateDetailsPropertyTree == null)||(!historyUpdateDetailsPropertyTree.isLeaf())))) { + this.historyUpdateDetails = _other.historyUpdateDetails; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryUpdateRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.historyUpdateDetails = this.historyUpdateDetails; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public HistoryUpdateRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyUpdateDetails" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyUpdateDetails + * Neuer Wert der Eigenschaft "historyUpdateDetails". + */ + public HistoryUpdateRequest.Builder<_B> withHistoryUpdateDetails(final JAXBElement historyUpdateDetails) { + this.historyUpdateDetails = historyUpdateDetails; + return this; + } + + @Override + public HistoryUpdateRequest build() { + if (_storedValue == null) { + return this.init(new HistoryUpdateRequest()); + } else { + return ((HistoryUpdateRequest) _storedValue); + } + } + + public HistoryUpdateRequest.Builder<_B> copyOf(final HistoryUpdateRequest _other) { + _other.copyTo(this); + return this; + } + + public HistoryUpdateRequest.Builder<_B> copyOf(final HistoryUpdateRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryUpdateRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryUpdateRequest.Select _root() { + return new HistoryUpdateRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> historyUpdateDetails = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.historyUpdateDetails!= null) { + products.put("historyUpdateDetails", this.historyUpdateDetails.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> historyUpdateDetails() { + return ((this.historyUpdateDetails == null)?this.historyUpdateDetails = new com.kscs.util.jaxb.Selector>(this._root, this, "historyUpdateDetails"):this.historyUpdateDetails); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResponse.java new file mode 100644 index 000000000..58514ebb2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryUpdateResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryUpdateResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfHistoryUpdateResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryUpdateResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class HistoryUpdateResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryUpdateResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryUpdateResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >HistoryUpdateResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryUpdateResponse.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryUpdateResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryUpdateResponse.Builder builder() { + return new HistoryUpdateResponse.Builder(null, null, false); + } + + public static<_B >HistoryUpdateResponse.Builder<_B> copyOf(final HistoryUpdateResponse _other) { + final HistoryUpdateResponse.Builder<_B> _newBuilder = new HistoryUpdateResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >HistoryUpdateResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryUpdateResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryUpdateResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryUpdateResponse.Builder<_B> copyOf(final HistoryUpdateResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryUpdateResponse.Builder<_B> _newBuilder = new HistoryUpdateResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryUpdateResponse.Builder copyExcept(final HistoryUpdateResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryUpdateResponse.Builder copyOnly(final HistoryUpdateResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryUpdateResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final HistoryUpdateResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryUpdateResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryUpdateResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public HistoryUpdateResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public HistoryUpdateResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public HistoryUpdateResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public HistoryUpdateResponse build() { + if (_storedValue == null) { + return this.init(new HistoryUpdateResponse()); + } else { + return ((HistoryUpdateResponse) _storedValue); + } + } + + public HistoryUpdateResponse.Builder<_B> copyOf(final HistoryUpdateResponse _other) { + _other.copyTo(this); + return this; + } + + public HistoryUpdateResponse.Builder<_B> copyOf(final HistoryUpdateResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryUpdateResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryUpdateResponse.Select _root() { + return new HistoryUpdateResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResult.java new file mode 100644 index 000000000..1da62fb36 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateResult.java @@ -0,0 +1,399 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für HistoryUpdateResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="HistoryUpdateResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="OperationResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "HistoryUpdateResult", propOrder = { + "statusCode", + "operationResults", + "diagnosticInfos" +}) +public class HistoryUpdateResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "OperationResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement operationResults; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der operationResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getOperationResults() { + return operationResults; + } + + /** + * Legt den Wert der operationResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setOperationResults(JAXBElement value) { + this.operationResults = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.operationResults = this.operationResults; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >HistoryUpdateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new HistoryUpdateResult.Builder<_B>(_parentBuilder, this, true); + } + + public HistoryUpdateResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static HistoryUpdateResult.Builder builder() { + return new HistoryUpdateResult.Builder(null, null, false); + } + + public static<_B >HistoryUpdateResult.Builder<_B> copyOf(final HistoryUpdateResult _other) { + final HistoryUpdateResult.Builder<_B> _newBuilder = new HistoryUpdateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final HistoryUpdateResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree operationResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operationResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operationResultsPropertyTree!= null):((operationResultsPropertyTree == null)||(!operationResultsPropertyTree.isLeaf())))) { + _other.operationResults = this.operationResults; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >HistoryUpdateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new HistoryUpdateResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public HistoryUpdateResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >HistoryUpdateResult.Builder<_B> copyOf(final HistoryUpdateResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final HistoryUpdateResult.Builder<_B> _newBuilder = new HistoryUpdateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static HistoryUpdateResult.Builder copyExcept(final HistoryUpdateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static HistoryUpdateResult.Builder copyOnly(final HistoryUpdateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final HistoryUpdateResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement operationResults; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final HistoryUpdateResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.operationResults = _other.operationResults; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final HistoryUpdateResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree operationResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("operationResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(operationResultsPropertyTree!= null):((operationResultsPropertyTree == null)||(!operationResultsPropertyTree.isLeaf())))) { + this.operationResults = _other.operationResults; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends HistoryUpdateResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.operationResults = this.operationResults; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public HistoryUpdateResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "operationResults" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param operationResults + * Neuer Wert der Eigenschaft "operationResults". + */ + public HistoryUpdateResult.Builder<_B> withOperationResults(final JAXBElement operationResults) { + this.operationResults = operationResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public HistoryUpdateResult.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public HistoryUpdateResult build() { + if (_storedValue == null) { + return this.init(new HistoryUpdateResult()); + } else { + return ((HistoryUpdateResult) _storedValue); + } + } + + public HistoryUpdateResult.Builder<_B> copyOf(final HistoryUpdateResult _other) { + _other.copyTo(this); + return this; + } + + public HistoryUpdateResult.Builder<_B> copyOf(final HistoryUpdateResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends HistoryUpdateResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static HistoryUpdateResult.Select _root() { + return new HistoryUpdateResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> operationResults = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.operationResults!= null) { + products.put("operationResults", this.operationResults.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> operationResults() { + return ((this.operationResults == null)?this.operationResults = new com.kscs.util.jaxb.Selector>(this._root, this, "operationResults"):this.operationResults); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateType.java new file mode 100644 index 000000000..828158d10 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/HistoryUpdateType.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für HistoryUpdateType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="HistoryUpdateType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Insert_1"/>
+ *     <enumeration value="Replace_2"/>
+ *     <enumeration value="Update_3"/>
+ *     <enumeration value="Delete_4"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "HistoryUpdateType") +@XmlEnum +public enum HistoryUpdateType { + + @XmlEnumValue("Insert_1") + INSERT_1("Insert_1"), + @XmlEnumValue("Replace_2") + REPLACE_2("Replace_2"), + @XmlEnumValue("Update_3") + UPDATE_3("Update_3"), + @XmlEnumValue("Delete_4") + DELETE_4("Delete_4"); + private final String value; + + HistoryUpdateType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static HistoryUpdateType fromValue(String v) { + for (HistoryUpdateType c: HistoryUpdateType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdType.java new file mode 100644 index 000000000..057283904 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdType.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für IdType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="IdType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Numeric_0"/>
+ *     <enumeration value="String_1"/>
+ *     <enumeration value="Guid_2"/>
+ *     <enumeration value="Opaque_3"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "IdType") +@XmlEnum +public enum IdType { + + @XmlEnumValue("Numeric_0") + NUMERIC_0("Numeric_0"), + @XmlEnumValue("String_1") + STRING_1("String_1"), + @XmlEnumValue("Guid_2") + GUID_2("Guid_2"), + @XmlEnumValue("Opaque_3") + OPAQUE_3("Opaque_3"); + private final String value; + + IdType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static IdType fromValue(String v) { + for (IdType c: IdType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityCriteriaType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityCriteriaType.java new file mode 100644 index 000000000..04c042d55 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityCriteriaType.java @@ -0,0 +1,70 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für IdentityCriteriaType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="IdentityCriteriaType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="UserName_1"/>
+ *     <enumeration value="Thumbprint_2"/>
+ *     <enumeration value="Role_3"/>
+ *     <enumeration value="GroupId_4"/>
+ *     <enumeration value="Anonymous_5"/>
+ *     <enumeration value="AuthenticatedUser_6"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "IdentityCriteriaType") +@XmlEnum +public enum IdentityCriteriaType { + + @XmlEnumValue("UserName_1") + USER_NAME_1("UserName_1"), + @XmlEnumValue("Thumbprint_2") + THUMBPRINT_2("Thumbprint_2"), + @XmlEnumValue("Role_3") + ROLE_3("Role_3"), + @XmlEnumValue("GroupId_4") + GROUP_ID_4("GroupId_4"), + @XmlEnumValue("Anonymous_5") + ANONYMOUS_5("Anonymous_5"), + @XmlEnumValue("AuthenticatedUser_6") + AUTHENTICATED_USER_6("AuthenticatedUser_6"); + private final String value; + + IdentityCriteriaType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static IdentityCriteriaType fromValue(String v) { + for (IdentityCriteriaType c: IdentityCriteriaType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityMappingRuleType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityMappingRuleType.java new file mode 100644 index 000000000..ce5df7787 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IdentityMappingRuleType.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für IdentityMappingRuleType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="IdentityMappingRuleType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CriteriaType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}IdentityCriteriaType" minOccurs="0"/>
+ *         <element name="Criteria" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IdentityMappingRuleType", propOrder = { + "criteriaType", + "criteria" +}) +public class IdentityMappingRuleType { + + @XmlElement(name = "CriteriaType") + @XmlSchemaType(name = "string") + protected IdentityCriteriaType criteriaType; + @XmlElementRef(name = "Criteria", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement criteria; + + /** + * Ruft den Wert der criteriaType-Eigenschaft ab. + * + * @return + * possible object is + * {@link IdentityCriteriaType } + * + */ + public IdentityCriteriaType getCriteriaType() { + return criteriaType; + } + + /** + * Legt den Wert der criteriaType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IdentityCriteriaType } + * + */ + public void setCriteriaType(IdentityCriteriaType value) { + this.criteriaType = value; + } + + /** + * Ruft den Wert der criteria-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getCriteria() { + return criteria; + } + + /** + * Legt den Wert der criteria-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setCriteria(JAXBElement value) { + this.criteria = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final IdentityMappingRuleType.Builder<_B> _other) { + _other.criteriaType = this.criteriaType; + _other.criteria = this.criteria; + } + + public<_B >IdentityMappingRuleType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new IdentityMappingRuleType.Builder<_B>(_parentBuilder, this, true); + } + + public IdentityMappingRuleType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static IdentityMappingRuleType.Builder builder() { + return new IdentityMappingRuleType.Builder(null, null, false); + } + + public static<_B >IdentityMappingRuleType.Builder<_B> copyOf(final IdentityMappingRuleType _other) { + final IdentityMappingRuleType.Builder<_B> _newBuilder = new IdentityMappingRuleType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final IdentityMappingRuleType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree criteriaTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("criteriaType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(criteriaTypePropertyTree!= null):((criteriaTypePropertyTree == null)||(!criteriaTypePropertyTree.isLeaf())))) { + _other.criteriaType = this.criteriaType; + } + final PropertyTree criteriaPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("criteria")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(criteriaPropertyTree!= null):((criteriaPropertyTree == null)||(!criteriaPropertyTree.isLeaf())))) { + _other.criteria = this.criteria; + } + } + + public<_B >IdentityMappingRuleType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new IdentityMappingRuleType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public IdentityMappingRuleType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >IdentityMappingRuleType.Builder<_B> copyOf(final IdentityMappingRuleType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final IdentityMappingRuleType.Builder<_B> _newBuilder = new IdentityMappingRuleType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static IdentityMappingRuleType.Builder copyExcept(final IdentityMappingRuleType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static IdentityMappingRuleType.Builder copyOnly(final IdentityMappingRuleType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final IdentityMappingRuleType _storedValue; + private IdentityCriteriaType criteriaType; + private JAXBElement criteria; + + public Builder(final _B _parentBuilder, final IdentityMappingRuleType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.criteriaType = _other.criteriaType; + this.criteria = _other.criteria; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final IdentityMappingRuleType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree criteriaTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("criteriaType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(criteriaTypePropertyTree!= null):((criteriaTypePropertyTree == null)||(!criteriaTypePropertyTree.isLeaf())))) { + this.criteriaType = _other.criteriaType; + } + final PropertyTree criteriaPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("criteria")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(criteriaPropertyTree!= null):((criteriaPropertyTree == null)||(!criteriaPropertyTree.isLeaf())))) { + this.criteria = _other.criteria; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends IdentityMappingRuleType >_P init(final _P _product) { + _product.criteriaType = this.criteriaType; + _product.criteria = this.criteria; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "criteriaType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param criteriaType + * Neuer Wert der Eigenschaft "criteriaType". + */ + public IdentityMappingRuleType.Builder<_B> withCriteriaType(final IdentityCriteriaType criteriaType) { + this.criteriaType = criteriaType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "criteria" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param criteria + * Neuer Wert der Eigenschaft "criteria". + */ + public IdentityMappingRuleType.Builder<_B> withCriteria(final JAXBElement criteria) { + this.criteria = criteria; + return this; + } + + @Override + public IdentityMappingRuleType build() { + if (_storedValue == null) { + return this.init(new IdentityMappingRuleType()); + } else { + return ((IdentityMappingRuleType) _storedValue); + } + } + + public IdentityMappingRuleType.Builder<_B> copyOf(final IdentityMappingRuleType _other) { + _other.copyTo(this); + return this; + } + + public IdentityMappingRuleType.Builder<_B> copyOf(final IdentityMappingRuleType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends IdentityMappingRuleType.Selector + { + + + Select() { + super(null, null, null); + } + + public static IdentityMappingRuleType.Select _root() { + return new IdentityMappingRuleType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> criteriaType = null; + private com.kscs.util.jaxb.Selector> criteria = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.criteriaType!= null) { + products.put("criteriaType", this.criteriaType.init()); + } + if (this.criteria!= null) { + products.put("criteria", this.criteria.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> criteriaType() { + return ((this.criteriaType == null)?this.criteriaType = new com.kscs.util.jaxb.Selector>(this._root, this, "criteriaType"):this.criteriaType); + } + + public com.kscs.util.jaxb.Selector> criteria() { + return ((this.criteria == null)?this.criteria = new com.kscs.util.jaxb.Selector>(this._root, this, "criteria"):this.criteria); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/InstanceNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/InstanceNode.java new file mode 100644 index 000000000..9ef236af7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/InstanceNode.java @@ -0,0 +1,358 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für InstanceNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="InstanceNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}Node">
+ *       <sequence>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "InstanceNode") +@XmlSeeAlso({ + ObjectNode.class, + VariableNode.class, + MethodNode.class, + ViewNode.class +}) +public class InstanceNode + extends Node +{ + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final InstanceNode.Builder<_B> _other) { + super.copyTo(_other); + } + + @Override + public<_B >InstanceNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new InstanceNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public InstanceNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static InstanceNode.Builder builder() { + return new InstanceNode.Builder(null, null, false); + } + + public static<_B >InstanceNode.Builder<_B> copyOf(final Node _other) { + final InstanceNode.Builder<_B> _newBuilder = new InstanceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >InstanceNode.Builder<_B> copyOf(final InstanceNode _other) { + final InstanceNode.Builder<_B> _newBuilder = new InstanceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final InstanceNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + } + + @Override + public<_B >InstanceNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new InstanceNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public InstanceNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >InstanceNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final InstanceNode.Builder<_B> _newBuilder = new InstanceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >InstanceNode.Builder<_B> copyOf(final InstanceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final InstanceNode.Builder<_B> _newBuilder = new InstanceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static InstanceNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static InstanceNode.Builder copyExcept(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static InstanceNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static InstanceNode.Builder copyOnly(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends Node.Builder<_B> + implements Buildable + { + + + public Builder(final _B _parentBuilder, final InstanceNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + } + } + + public Builder(final _B _parentBuilder, final InstanceNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + } + } + + protected<_P extends InstanceNode >_P init(final _P _product) { + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public InstanceNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public InstanceNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public InstanceNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public InstanceNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public InstanceNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public InstanceNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public InstanceNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public InstanceNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public InstanceNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public InstanceNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public InstanceNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public InstanceNode build() { + if (_storedValue == null) { + return this.init(new InstanceNode()); + } else { + return ((InstanceNode) _storedValue); + } + } + + public InstanceNode.Builder<_B> copyOf(final InstanceNode _other) { + _other.copyTo(this); + return this; + } + + public InstanceNode.Builder<_B> copyOf(final InstanceNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends InstanceNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static InstanceNode.Select _root() { + return new InstanceNode.Select(); + } + + } + + public static class Selector , TParent > + extends Node.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IssuedIdentityToken.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IssuedIdentityToken.java new file mode 100644 index 000000000..b25e9fa8d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/IssuedIdentityToken.java @@ -0,0 +1,343 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für IssuedIdentityToken complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="IssuedIdentityToken">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserIdentityToken">
+ *       <sequence>
+ *         <element name="TokenData" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="EncryptionAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IssuedIdentityToken", propOrder = { + "tokenData", + "encryptionAlgorithm" +}) +public class IssuedIdentityToken + extends UserIdentityToken +{ + + @XmlElementRef(name = "TokenData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement tokenData; + @XmlElementRef(name = "EncryptionAlgorithm", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement encryptionAlgorithm; + + /** + * Ruft den Wert der tokenData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getTokenData() { + return tokenData; + } + + /** + * Legt den Wert der tokenData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setTokenData(JAXBElement value) { + this.tokenData = value; + } + + /** + * Ruft den Wert der encryptionAlgorithm-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEncryptionAlgorithm() { + return encryptionAlgorithm; + } + + /** + * Legt den Wert der encryptionAlgorithm-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEncryptionAlgorithm(JAXBElement value) { + this.encryptionAlgorithm = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final IssuedIdentityToken.Builder<_B> _other) { + super.copyTo(_other); + _other.tokenData = this.tokenData; + _other.encryptionAlgorithm = this.encryptionAlgorithm; + } + + @Override + public<_B >IssuedIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new IssuedIdentityToken.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public IssuedIdentityToken.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static IssuedIdentityToken.Builder builder() { + return new IssuedIdentityToken.Builder(null, null, false); + } + + public static<_B >IssuedIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other) { + final IssuedIdentityToken.Builder<_B> _newBuilder = new IssuedIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >IssuedIdentityToken.Builder<_B> copyOf(final IssuedIdentityToken _other) { + final IssuedIdentityToken.Builder<_B> _newBuilder = new IssuedIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final IssuedIdentityToken.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree tokenDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("tokenData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(tokenDataPropertyTree!= null):((tokenDataPropertyTree == null)||(!tokenDataPropertyTree.isLeaf())))) { + _other.tokenData = this.tokenData; + } + final PropertyTree encryptionAlgorithmPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("encryptionAlgorithm")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(encryptionAlgorithmPropertyTree!= null):((encryptionAlgorithmPropertyTree == null)||(!encryptionAlgorithmPropertyTree.isLeaf())))) { + _other.encryptionAlgorithm = this.encryptionAlgorithm; + } + } + + @Override + public<_B >IssuedIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new IssuedIdentityToken.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public IssuedIdentityToken.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >IssuedIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final IssuedIdentityToken.Builder<_B> _newBuilder = new IssuedIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >IssuedIdentityToken.Builder<_B> copyOf(final IssuedIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final IssuedIdentityToken.Builder<_B> _newBuilder = new IssuedIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static IssuedIdentityToken.Builder copyExcept(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static IssuedIdentityToken.Builder copyExcept(final IssuedIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static IssuedIdentityToken.Builder copyOnly(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static IssuedIdentityToken.Builder copyOnly(final IssuedIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends UserIdentityToken.Builder<_B> + implements Buildable + { + + private JAXBElement tokenData; + private JAXBElement encryptionAlgorithm; + + public Builder(final _B _parentBuilder, final IssuedIdentityToken _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.tokenData = _other.tokenData; + this.encryptionAlgorithm = _other.encryptionAlgorithm; + } + } + + public Builder(final _B _parentBuilder, final IssuedIdentityToken _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree tokenDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("tokenData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(tokenDataPropertyTree!= null):((tokenDataPropertyTree == null)||(!tokenDataPropertyTree.isLeaf())))) { + this.tokenData = _other.tokenData; + } + final PropertyTree encryptionAlgorithmPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("encryptionAlgorithm")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(encryptionAlgorithmPropertyTree!= null):((encryptionAlgorithmPropertyTree == null)||(!encryptionAlgorithmPropertyTree.isLeaf())))) { + this.encryptionAlgorithm = _other.encryptionAlgorithm; + } + } + } + + protected<_P extends IssuedIdentityToken >_P init(final _P _product) { + _product.tokenData = this.tokenData; + _product.encryptionAlgorithm = this.encryptionAlgorithm; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "tokenData" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param tokenData + * Neuer Wert der Eigenschaft "tokenData". + */ + public IssuedIdentityToken.Builder<_B> withTokenData(final JAXBElement tokenData) { + this.tokenData = tokenData; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "encryptionAlgorithm" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param encryptionAlgorithm + * Neuer Wert der Eigenschaft "encryptionAlgorithm". + */ + public IssuedIdentityToken.Builder<_B> withEncryptionAlgorithm(final JAXBElement encryptionAlgorithm) { + this.encryptionAlgorithm = encryptionAlgorithm; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "policyId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param policyId + * Neuer Wert der Eigenschaft "policyId". + */ + @Override + public IssuedIdentityToken.Builder<_B> withPolicyId(final JAXBElement policyId) { + super.withPolicyId(policyId); + return this; + } + + @Override + public IssuedIdentityToken build() { + if (_storedValue == null) { + return this.init(new IssuedIdentityToken()); + } else { + return ((IssuedIdentityToken) _storedValue); + } + } + + public IssuedIdentityToken.Builder<_B> copyOf(final IssuedIdentityToken _other) { + _other.copyTo(this); + return this; + } + + public IssuedIdentityToken.Builder<_B> copyOf(final IssuedIdentityToken.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends IssuedIdentityToken.Selector + { + + + Select() { + super(null, null, null); + } + + public static IssuedIdentityToken.Select _root() { + return new IssuedIdentityToken.Select(); + } + + } + + public static class Selector , TParent > + extends UserIdentityToken.Selector + { + + private com.kscs.util.jaxb.Selector> tokenData = null; + private com.kscs.util.jaxb.Selector> encryptionAlgorithm = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.tokenData!= null) { + products.put("tokenData", this.tokenData.init()); + } + if (this.encryptionAlgorithm!= null) { + products.put("encryptionAlgorithm", this.encryptionAlgorithm.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> tokenData() { + return ((this.tokenData == null)?this.tokenData = new com.kscs.util.jaxb.Selector>(this._root, this, "tokenData"):this.tokenData); + } + + public com.kscs.util.jaxb.Selector> encryptionAlgorithm() { + return ((this.encryptionAlgorithm == null)?this.encryptionAlgorithm = new com.kscs.util.jaxb.Selector>(this._root, this, "encryptionAlgorithm"):this.encryptionAlgorithm); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetReaderMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetReaderMessageDataType.java new file mode 100644 index 000000000..2463e6dd2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetReaderMessageDataType.java @@ -0,0 +1,332 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für JsonDataSetReaderMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="JsonDataSetReaderMessageDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetReaderMessageDataType">
+ *       <sequence>
+ *         <element name="NetworkMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonNetworkMessageContentMask" minOccurs="0"/>
+ *         <element name="DataSetMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonDataSetMessageContentMask" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "JsonDataSetReaderMessageDataType", propOrder = { + "networkMessageContentMask", + "dataSetMessageContentMask" +}) +public class JsonDataSetReaderMessageDataType + extends DataSetReaderMessageDataType +{ + + @XmlElement(name = "NetworkMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long networkMessageContentMask; + @XmlElement(name = "DataSetMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long dataSetMessageContentMask; + + /** + * Ruft den Wert der networkMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNetworkMessageContentMask() { + return networkMessageContentMask; + } + + /** + * Legt den Wert der networkMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNetworkMessageContentMask(Long value) { + this.networkMessageContentMask = value; + } + + /** + * Ruft den Wert der dataSetMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataSetMessageContentMask() { + return dataSetMessageContentMask; + } + + /** + * Legt den Wert der dataSetMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataSetMessageContentMask(Long value) { + this.dataSetMessageContentMask = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final JsonDataSetReaderMessageDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.networkMessageContentMask = this.networkMessageContentMask; + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + } + + @Override + public<_B >JsonDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new JsonDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public JsonDataSetReaderMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static JsonDataSetReaderMessageDataType.Builder builder() { + return new JsonDataSetReaderMessageDataType.Builder(null, null, false); + } + + public static<_B >JsonDataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other) { + final JsonDataSetReaderMessageDataType.Builder<_B> _newBuilder = new JsonDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >JsonDataSetReaderMessageDataType.Builder<_B> copyOf(final JsonDataSetReaderMessageDataType _other) { + final JsonDataSetReaderMessageDataType.Builder<_B> _newBuilder = new JsonDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final JsonDataSetReaderMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + _other.networkMessageContentMask = this.networkMessageContentMask; + } + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + } + } + + @Override + public<_B >JsonDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new JsonDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public JsonDataSetReaderMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >JsonDataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final JsonDataSetReaderMessageDataType.Builder<_B> _newBuilder = new JsonDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >JsonDataSetReaderMessageDataType.Builder<_B> copyOf(final JsonDataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final JsonDataSetReaderMessageDataType.Builder<_B> _newBuilder = new JsonDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static JsonDataSetReaderMessageDataType.Builder copyExcept(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static JsonDataSetReaderMessageDataType.Builder copyExcept(final JsonDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static JsonDataSetReaderMessageDataType.Builder copyOnly(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static JsonDataSetReaderMessageDataType.Builder copyOnly(final JsonDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataSetReaderMessageDataType.Builder<_B> + implements Buildable + { + + private Long networkMessageContentMask; + private Long dataSetMessageContentMask; + + public Builder(final _B _parentBuilder, final JsonDataSetReaderMessageDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.networkMessageContentMask = _other.networkMessageContentMask; + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + } + } + + public Builder(final _B _parentBuilder, final JsonDataSetReaderMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + this.networkMessageContentMask = _other.networkMessageContentMask; + } + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + } + } + } + + protected<_P extends JsonDataSetReaderMessageDataType >_P init(final _P _product) { + _product.networkMessageContentMask = this.networkMessageContentMask; + _product.dataSetMessageContentMask = this.dataSetMessageContentMask; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkMessageContentMask + * Neuer Wert der Eigenschaft "networkMessageContentMask". + */ + public JsonDataSetReaderMessageDataType.Builder<_B> withNetworkMessageContentMask(final Long networkMessageContentMask) { + this.networkMessageContentMask = networkMessageContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetMessageContentMask + * Neuer Wert der Eigenschaft "dataSetMessageContentMask". + */ + public JsonDataSetReaderMessageDataType.Builder<_B> withDataSetMessageContentMask(final Long dataSetMessageContentMask) { + this.dataSetMessageContentMask = dataSetMessageContentMask; + return this; + } + + @Override + public JsonDataSetReaderMessageDataType build() { + if (_storedValue == null) { + return this.init(new JsonDataSetReaderMessageDataType()); + } else { + return ((JsonDataSetReaderMessageDataType) _storedValue); + } + } + + public JsonDataSetReaderMessageDataType.Builder<_B> copyOf(final JsonDataSetReaderMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public JsonDataSetReaderMessageDataType.Builder<_B> copyOf(final JsonDataSetReaderMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends JsonDataSetReaderMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static JsonDataSetReaderMessageDataType.Select _root() { + return new JsonDataSetReaderMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataSetReaderMessageDataType.Selector + { + + private com.kscs.util.jaxb.Selector> networkMessageContentMask = null; + private com.kscs.util.jaxb.Selector> dataSetMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.networkMessageContentMask!= null) { + products.put("networkMessageContentMask", this.networkMessageContentMask.init()); + } + if (this.dataSetMessageContentMask!= null) { + products.put("dataSetMessageContentMask", this.dataSetMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> networkMessageContentMask() { + return ((this.networkMessageContentMask == null)?this.networkMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "networkMessageContentMask"):this.networkMessageContentMask); + } + + public com.kscs.util.jaxb.Selector> dataSetMessageContentMask() { + return ((this.dataSetMessageContentMask == null)?this.dataSetMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetMessageContentMask"):this.dataSetMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetWriterMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetWriterMessageDataType.java new file mode 100644 index 000000000..316936f55 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonDataSetWriterMessageDataType.java @@ -0,0 +1,271 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für JsonDataSetWriterMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="JsonDataSetWriterMessageDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetWriterMessageDataType">
+ *       <sequence>
+ *         <element name="DataSetMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonDataSetMessageContentMask" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "JsonDataSetWriterMessageDataType", propOrder = { + "dataSetMessageContentMask" +}) +public class JsonDataSetWriterMessageDataType + extends DataSetWriterMessageDataType +{ + + @XmlElement(name = "DataSetMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long dataSetMessageContentMask; + + /** + * Ruft den Wert der dataSetMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataSetMessageContentMask() { + return dataSetMessageContentMask; + } + + /** + * Legt den Wert der dataSetMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataSetMessageContentMask(Long value) { + this.dataSetMessageContentMask = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final JsonDataSetWriterMessageDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + } + + @Override + public<_B >JsonDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new JsonDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public JsonDataSetWriterMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static JsonDataSetWriterMessageDataType.Builder builder() { + return new JsonDataSetWriterMessageDataType.Builder(null, null, false); + } + + public static<_B >JsonDataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other) { + final JsonDataSetWriterMessageDataType.Builder<_B> _newBuilder = new JsonDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >JsonDataSetWriterMessageDataType.Builder<_B> copyOf(final JsonDataSetWriterMessageDataType _other) { + final JsonDataSetWriterMessageDataType.Builder<_B> _newBuilder = new JsonDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final JsonDataSetWriterMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + } + } + + @Override + public<_B >JsonDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new JsonDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public JsonDataSetWriterMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >JsonDataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final JsonDataSetWriterMessageDataType.Builder<_B> _newBuilder = new JsonDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >JsonDataSetWriterMessageDataType.Builder<_B> copyOf(final JsonDataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final JsonDataSetWriterMessageDataType.Builder<_B> _newBuilder = new JsonDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static JsonDataSetWriterMessageDataType.Builder copyExcept(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static JsonDataSetWriterMessageDataType.Builder copyExcept(final JsonDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static JsonDataSetWriterMessageDataType.Builder copyOnly(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static JsonDataSetWriterMessageDataType.Builder copyOnly(final JsonDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataSetWriterMessageDataType.Builder<_B> + implements Buildable + { + + private Long dataSetMessageContentMask; + + public Builder(final _B _parentBuilder, final JsonDataSetWriterMessageDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + } + } + + public Builder(final _B _parentBuilder, final JsonDataSetWriterMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + } + } + } + + protected<_P extends JsonDataSetWriterMessageDataType >_P init(final _P _product) { + _product.dataSetMessageContentMask = this.dataSetMessageContentMask; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetMessageContentMask + * Neuer Wert der Eigenschaft "dataSetMessageContentMask". + */ + public JsonDataSetWriterMessageDataType.Builder<_B> withDataSetMessageContentMask(final Long dataSetMessageContentMask) { + this.dataSetMessageContentMask = dataSetMessageContentMask; + return this; + } + + @Override + public JsonDataSetWriterMessageDataType build() { + if (_storedValue == null) { + return this.init(new JsonDataSetWriterMessageDataType()); + } else { + return ((JsonDataSetWriterMessageDataType) _storedValue); + } + } + + public JsonDataSetWriterMessageDataType.Builder<_B> copyOf(final JsonDataSetWriterMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public JsonDataSetWriterMessageDataType.Builder<_B> copyOf(final JsonDataSetWriterMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends JsonDataSetWriterMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static JsonDataSetWriterMessageDataType.Select _root() { + return new JsonDataSetWriterMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataSetWriterMessageDataType.Selector + { + + private com.kscs.util.jaxb.Selector> dataSetMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetMessageContentMask!= null) { + products.put("dataSetMessageContentMask", this.dataSetMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dataSetMessageContentMask() { + return ((this.dataSetMessageContentMask == null)?this.dataSetMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetMessageContentMask"):this.dataSetMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonWriterGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonWriterGroupMessageDataType.java new file mode 100644 index 000000000..55248cae9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/JsonWriterGroupMessageDataType.java @@ -0,0 +1,271 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für JsonWriterGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="JsonWriterGroupMessageDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupMessageDataType">
+ *       <sequence>
+ *         <element name="NetworkMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonNetworkMessageContentMask" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "JsonWriterGroupMessageDataType", propOrder = { + "networkMessageContentMask" +}) +public class JsonWriterGroupMessageDataType + extends WriterGroupMessageDataType +{ + + @XmlElement(name = "NetworkMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long networkMessageContentMask; + + /** + * Ruft den Wert der networkMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNetworkMessageContentMask() { + return networkMessageContentMask; + } + + /** + * Legt den Wert der networkMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNetworkMessageContentMask(Long value) { + this.networkMessageContentMask = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final JsonWriterGroupMessageDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.networkMessageContentMask = this.networkMessageContentMask; + } + + @Override + public<_B >JsonWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new JsonWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public JsonWriterGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static JsonWriterGroupMessageDataType.Builder builder() { + return new JsonWriterGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >JsonWriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other) { + final JsonWriterGroupMessageDataType.Builder<_B> _newBuilder = new JsonWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >JsonWriterGroupMessageDataType.Builder<_B> copyOf(final JsonWriterGroupMessageDataType _other) { + final JsonWriterGroupMessageDataType.Builder<_B> _newBuilder = new JsonWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final JsonWriterGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + _other.networkMessageContentMask = this.networkMessageContentMask; + } + } + + @Override + public<_B >JsonWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new JsonWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public JsonWriterGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >JsonWriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final JsonWriterGroupMessageDataType.Builder<_B> _newBuilder = new JsonWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >JsonWriterGroupMessageDataType.Builder<_B> copyOf(final JsonWriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final JsonWriterGroupMessageDataType.Builder<_B> _newBuilder = new JsonWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static JsonWriterGroupMessageDataType.Builder copyExcept(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static JsonWriterGroupMessageDataType.Builder copyExcept(final JsonWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static JsonWriterGroupMessageDataType.Builder copyOnly(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static JsonWriterGroupMessageDataType.Builder copyOnly(final JsonWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends WriterGroupMessageDataType.Builder<_B> + implements Buildable + { + + private Long networkMessageContentMask; + + public Builder(final _B _parentBuilder, final JsonWriterGroupMessageDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.networkMessageContentMask = _other.networkMessageContentMask; + } + } + + public Builder(final _B _parentBuilder, final JsonWriterGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + this.networkMessageContentMask = _other.networkMessageContentMask; + } + } + } + + protected<_P extends JsonWriterGroupMessageDataType >_P init(final _P _product) { + _product.networkMessageContentMask = this.networkMessageContentMask; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkMessageContentMask + * Neuer Wert der Eigenschaft "networkMessageContentMask". + */ + public JsonWriterGroupMessageDataType.Builder<_B> withNetworkMessageContentMask(final Long networkMessageContentMask) { + this.networkMessageContentMask = networkMessageContentMask; + return this; + } + + @Override + public JsonWriterGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new JsonWriterGroupMessageDataType()); + } else { + return ((JsonWriterGroupMessageDataType) _storedValue); + } + } + + public JsonWriterGroupMessageDataType.Builder<_B> copyOf(final JsonWriterGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public JsonWriterGroupMessageDataType.Builder<_B> copyOf(final JsonWriterGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends JsonWriterGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static JsonWriterGroupMessageDataType.Select _root() { + return new JsonWriterGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends WriterGroupMessageDataType.Selector + { + + private com.kscs.util.jaxb.Selector> networkMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.networkMessageContentMask!= null) { + products.put("networkMessageContentMask", this.networkMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> networkMessageContentMask() { + return ((this.networkMessageContentMask == null)?this.networkMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "networkMessageContentMask"):this.networkMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/KeyValuePair.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/KeyValuePair.java new file mode 100644 index 000000000..b18458b17 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/KeyValuePair.java @@ -0,0 +1,339 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für KeyValuePair complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="KeyValuePair">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Key" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "KeyValuePair", propOrder = { + "key", + "value" +}) +public class KeyValuePair { + + @XmlElementRef(name = "Key", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement key; + @XmlElement(name = "Value") + protected Variant value; + + /** + * Ruft den Wert der key-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getKey() { + return key; + } + + /** + * Legt den Wert der key-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setKey(JAXBElement value) { + this.key = value; + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final KeyValuePair.Builder<_B> _other) { + _other.key = this.key; + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + } + + public<_B >KeyValuePair.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new KeyValuePair.Builder<_B>(_parentBuilder, this, true); + } + + public KeyValuePair.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static KeyValuePair.Builder builder() { + return new KeyValuePair.Builder(null, null, false); + } + + public static<_B >KeyValuePair.Builder<_B> copyOf(final KeyValuePair _other) { + final KeyValuePair.Builder<_B> _newBuilder = new KeyValuePair.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final KeyValuePair.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree keyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("key")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyPropertyTree!= null):((keyPropertyTree == null)||(!keyPropertyTree.isLeaf())))) { + _other.key = this.key; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + } + + public<_B >KeyValuePair.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new KeyValuePair.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public KeyValuePair.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >KeyValuePair.Builder<_B> copyOf(final KeyValuePair _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final KeyValuePair.Builder<_B> _newBuilder = new KeyValuePair.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static KeyValuePair.Builder copyExcept(final KeyValuePair _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static KeyValuePair.Builder copyOnly(final KeyValuePair _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final KeyValuePair _storedValue; + private JAXBElement key; + private Variant.Builder> value; + + public Builder(final _B _parentBuilder, final KeyValuePair _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.key = _other.key; + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final KeyValuePair _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree keyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("key")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyPropertyTree!= null):((keyPropertyTree == null)||(!keyPropertyTree.isLeaf())))) { + this.key = _other.key; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends KeyValuePair >_P init(final _P _product) { + _product.key = this.key; + _product.value = ((this.value == null)?null:this.value.build()); + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "key" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param key + * Neuer Wert der Eigenschaft "key". + */ + public KeyValuePair.Builder<_B> withKey(final JAXBElement key) { + this.key = key; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public KeyValuePair.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + @Override + public KeyValuePair build() { + if (_storedValue == null) { + return this.init(new KeyValuePair()); + } else { + return ((KeyValuePair) _storedValue); + } + } + + public KeyValuePair.Builder<_B> copyOf(final KeyValuePair _other) { + _other.copyTo(this); + return this; + } + + public KeyValuePair.Builder<_B> copyOf(final KeyValuePair.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends KeyValuePair.Selector + { + + + Select() { + super(null, null, null); + } + + public static KeyValuePair.Select _root() { + return new KeyValuePair.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> key = null; + private Variant.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.key!= null) { + products.put("key", this.key.init()); + } + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> key() { + return ((this.key == null)?this.key = new com.kscs.util.jaxb.Selector>(this._root, this, "key"):this.key); + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesItem.java new file mode 100644 index 000000000..b0b2fe487 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesItem.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfAddNodesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfAddNodesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AddNodesItem" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AddNodesItem" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfAddNodesItem", propOrder = { + "addNodesItem" +}) +public class ListOfAddNodesItem { + + @XmlElement(name = "AddNodesItem", nillable = true) + protected List addNodesItem; + + /** + * Gets the value of the addNodesItem property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the addNodesItem property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAddNodesItem().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AddNodesItem } + * + * + */ + public List getAddNodesItem() { + if (addNodesItem == null) { + addNodesItem = new ArrayList(); + } + return this.addNodesItem; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAddNodesItem.Builder<_B> _other) { + if (this.addNodesItem == null) { + _other.addNodesItem = null; + } else { + _other.addNodesItem = new ArrayList>>(); + for (AddNodesItem _item: this.addNodesItem) { + _other.addNodesItem.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfAddNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfAddNodesItem.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfAddNodesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfAddNodesItem.Builder builder() { + return new ListOfAddNodesItem.Builder(null, null, false); + } + + public static<_B >ListOfAddNodesItem.Builder<_B> copyOf(final ListOfAddNodesItem _other) { + final ListOfAddNodesItem.Builder<_B> _newBuilder = new ListOfAddNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAddNodesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree addNodesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addNodesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addNodesItemPropertyTree!= null):((addNodesItemPropertyTree == null)||(!addNodesItemPropertyTree.isLeaf())))) { + if (this.addNodesItem == null) { + _other.addNodesItem = null; + } else { + _other.addNodesItem = new ArrayList>>(); + for (AddNodesItem _item: this.addNodesItem) { + _other.addNodesItem.add(((_item == null)?null:_item.newCopyBuilder(_other, addNodesItemPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfAddNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfAddNodesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfAddNodesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfAddNodesItem.Builder<_B> copyOf(final ListOfAddNodesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfAddNodesItem.Builder<_B> _newBuilder = new ListOfAddNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfAddNodesItem.Builder copyExcept(final ListOfAddNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfAddNodesItem.Builder copyOnly(final ListOfAddNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfAddNodesItem _storedValue; + private List>> addNodesItem; + + public Builder(final _B _parentBuilder, final ListOfAddNodesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.addNodesItem == null) { + this.addNodesItem = null; + } else { + this.addNodesItem = new ArrayList>>(); + for (AddNodesItem _item: _other.addNodesItem) { + this.addNodesItem.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfAddNodesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree addNodesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addNodesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addNodesItemPropertyTree!= null):((addNodesItemPropertyTree == null)||(!addNodesItemPropertyTree.isLeaf())))) { + if (_other.addNodesItem == null) { + this.addNodesItem = null; + } else { + this.addNodesItem = new ArrayList>>(); + for (AddNodesItem _item: _other.addNodesItem) { + this.addNodesItem.add(((_item == null)?null:_item.newCopyBuilder(this, addNodesItemPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfAddNodesItem >_P init(final _P _product) { + if (this.addNodesItem!= null) { + final List addNodesItem = new ArrayList(this.addNodesItem.size()); + for (AddNodesItem.Builder> _item: this.addNodesItem) { + addNodesItem.add(_item.build()); + } + _product.addNodesItem = addNodesItem; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "addNodesItem" hinzu. + * + * @param addNodesItem + * Werte, die zur Eigenschaft "addNodesItem" hinzugefügt werden. + */ + public ListOfAddNodesItem.Builder<_B> addAddNodesItem(final Iterable addNodesItem) { + if (addNodesItem!= null) { + if (this.addNodesItem == null) { + this.addNodesItem = new ArrayList>>(); + } + for (AddNodesItem _item: addNodesItem) { + this.addNodesItem.add(new AddNodesItem.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addNodesItem" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param addNodesItem + * Neuer Wert der Eigenschaft "addNodesItem". + */ + public ListOfAddNodesItem.Builder<_B> withAddNodesItem(final Iterable addNodesItem) { + if (this.addNodesItem!= null) { + this.addNodesItem.clear(); + } + return addAddNodesItem(addNodesItem); + } + + /** + * Fügt Werte zur Eigenschaft "addNodesItem" hinzu. + * + * @param addNodesItem + * Werte, die zur Eigenschaft "addNodesItem" hinzugefügt werden. + */ + public ListOfAddNodesItem.Builder<_B> addAddNodesItem(AddNodesItem... addNodesItem) { + addAddNodesItem(Arrays.asList(addNodesItem)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addNodesItem" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param addNodesItem + * Neuer Wert der Eigenschaft "addNodesItem". + */ + public ListOfAddNodesItem.Builder<_B> withAddNodesItem(AddNodesItem... addNodesItem) { + withAddNodesItem(Arrays.asList(addNodesItem)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "AddNodesItem". + * Mit {@link org.opcfoundation.ua._2008._02.types.AddNodesItem.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "AddNodesItem". + * Mit {@link org.opcfoundation.ua._2008._02.types.AddNodesItem.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public AddNodesItem.Builder> addAddNodesItem() { + if (this.addNodesItem == null) { + this.addNodesItem = new ArrayList>>(); + } + final AddNodesItem.Builder> addNodesItem_Builder = new AddNodesItem.Builder>(this, null, false); + this.addNodesItem.add(addNodesItem_Builder); + return addNodesItem_Builder; + } + + @Override + public ListOfAddNodesItem build() { + if (_storedValue == null) { + return this.init(new ListOfAddNodesItem()); + } else { + return ((ListOfAddNodesItem) _storedValue); + } + } + + public ListOfAddNodesItem.Builder<_B> copyOf(final ListOfAddNodesItem _other) { + _other.copyTo(this); + return this; + } + + public ListOfAddNodesItem.Builder<_B> copyOf(final ListOfAddNodesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfAddNodesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfAddNodesItem.Select _root() { + return new ListOfAddNodesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private AddNodesItem.Selector> addNodesItem = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.addNodesItem!= null) { + products.put("addNodesItem", this.addNodesItem.init()); + } + return products; + } + + public AddNodesItem.Selector> addNodesItem() { + return ((this.addNodesItem == null)?this.addNodesItem = new AddNodesItem.Selector>(this._root, this, "addNodesItem"):this.addNodesItem); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesResult.java new file mode 100644 index 000000000..d9133e048 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddNodesResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfAddNodesResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfAddNodesResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AddNodesResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AddNodesResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfAddNodesResult", propOrder = { + "addNodesResult" +}) +public class ListOfAddNodesResult { + + @XmlElement(name = "AddNodesResult", nillable = true) + protected List addNodesResult; + + /** + * Gets the value of the addNodesResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the addNodesResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAddNodesResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AddNodesResult } + * + * + */ + public List getAddNodesResult() { + if (addNodesResult == null) { + addNodesResult = new ArrayList(); + } + return this.addNodesResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAddNodesResult.Builder<_B> _other) { + if (this.addNodesResult == null) { + _other.addNodesResult = null; + } else { + _other.addNodesResult = new ArrayList>>(); + for (AddNodesResult _item: this.addNodesResult) { + _other.addNodesResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfAddNodesResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfAddNodesResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfAddNodesResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfAddNodesResult.Builder builder() { + return new ListOfAddNodesResult.Builder(null, null, false); + } + + public static<_B >ListOfAddNodesResult.Builder<_B> copyOf(final ListOfAddNodesResult _other) { + final ListOfAddNodesResult.Builder<_B> _newBuilder = new ListOfAddNodesResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAddNodesResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree addNodesResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addNodesResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addNodesResultPropertyTree!= null):((addNodesResultPropertyTree == null)||(!addNodesResultPropertyTree.isLeaf())))) { + if (this.addNodesResult == null) { + _other.addNodesResult = null; + } else { + _other.addNodesResult = new ArrayList>>(); + for (AddNodesResult _item: this.addNodesResult) { + _other.addNodesResult.add(((_item == null)?null:_item.newCopyBuilder(_other, addNodesResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfAddNodesResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfAddNodesResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfAddNodesResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfAddNodesResult.Builder<_B> copyOf(final ListOfAddNodesResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfAddNodesResult.Builder<_B> _newBuilder = new ListOfAddNodesResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfAddNodesResult.Builder copyExcept(final ListOfAddNodesResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfAddNodesResult.Builder copyOnly(final ListOfAddNodesResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfAddNodesResult _storedValue; + private List>> addNodesResult; + + public Builder(final _B _parentBuilder, final ListOfAddNodesResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.addNodesResult == null) { + this.addNodesResult = null; + } else { + this.addNodesResult = new ArrayList>>(); + for (AddNodesResult _item: _other.addNodesResult) { + this.addNodesResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfAddNodesResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree addNodesResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addNodesResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addNodesResultPropertyTree!= null):((addNodesResultPropertyTree == null)||(!addNodesResultPropertyTree.isLeaf())))) { + if (_other.addNodesResult == null) { + this.addNodesResult = null; + } else { + this.addNodesResult = new ArrayList>>(); + for (AddNodesResult _item: _other.addNodesResult) { + this.addNodesResult.add(((_item == null)?null:_item.newCopyBuilder(this, addNodesResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfAddNodesResult >_P init(final _P _product) { + if (this.addNodesResult!= null) { + final List addNodesResult = new ArrayList(this.addNodesResult.size()); + for (AddNodesResult.Builder> _item: this.addNodesResult) { + addNodesResult.add(_item.build()); + } + _product.addNodesResult = addNodesResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "addNodesResult" hinzu. + * + * @param addNodesResult + * Werte, die zur Eigenschaft "addNodesResult" hinzugefügt werden. + */ + public ListOfAddNodesResult.Builder<_B> addAddNodesResult(final Iterable addNodesResult) { + if (addNodesResult!= null) { + if (this.addNodesResult == null) { + this.addNodesResult = new ArrayList>>(); + } + for (AddNodesResult _item: addNodesResult) { + this.addNodesResult.add(new AddNodesResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addNodesResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param addNodesResult + * Neuer Wert der Eigenschaft "addNodesResult". + */ + public ListOfAddNodesResult.Builder<_B> withAddNodesResult(final Iterable addNodesResult) { + if (this.addNodesResult!= null) { + this.addNodesResult.clear(); + } + return addAddNodesResult(addNodesResult); + } + + /** + * Fügt Werte zur Eigenschaft "addNodesResult" hinzu. + * + * @param addNodesResult + * Werte, die zur Eigenschaft "addNodesResult" hinzugefügt werden. + */ + public ListOfAddNodesResult.Builder<_B> addAddNodesResult(AddNodesResult... addNodesResult) { + addAddNodesResult(Arrays.asList(addNodesResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addNodesResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param addNodesResult + * Neuer Wert der Eigenschaft "addNodesResult". + */ + public ListOfAddNodesResult.Builder<_B> withAddNodesResult(AddNodesResult... addNodesResult) { + withAddNodesResult(Arrays.asList(addNodesResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "AddNodesResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.AddNodesResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "AddNodesResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.AddNodesResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public AddNodesResult.Builder> addAddNodesResult() { + if (this.addNodesResult == null) { + this.addNodesResult = new ArrayList>>(); + } + final AddNodesResult.Builder> addNodesResult_Builder = new AddNodesResult.Builder>(this, null, false); + this.addNodesResult.add(addNodesResult_Builder); + return addNodesResult_Builder; + } + + @Override + public ListOfAddNodesResult build() { + if (_storedValue == null) { + return this.init(new ListOfAddNodesResult()); + } else { + return ((ListOfAddNodesResult) _storedValue); + } + } + + public ListOfAddNodesResult.Builder<_B> copyOf(final ListOfAddNodesResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfAddNodesResult.Builder<_B> copyOf(final ListOfAddNodesResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfAddNodesResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfAddNodesResult.Select _root() { + return new ListOfAddNodesResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private AddNodesResult.Selector> addNodesResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.addNodesResult!= null) { + products.put("addNodesResult", this.addNodesResult.init()); + } + return products; + } + + public AddNodesResult.Selector> addNodesResult() { + return ((this.addNodesResult == null)?this.addNodesResult = new AddNodesResult.Selector>(this._root, this, "addNodesResult"):this.addNodesResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddReferencesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddReferencesItem.java new file mode 100644 index 000000000..dbeeaa780 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAddReferencesItem.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfAddReferencesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfAddReferencesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AddReferencesItem" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AddReferencesItem" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfAddReferencesItem", propOrder = { + "addReferencesItem" +}) +public class ListOfAddReferencesItem { + + @XmlElement(name = "AddReferencesItem", nillable = true) + protected List addReferencesItem; + + /** + * Gets the value of the addReferencesItem property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the addReferencesItem property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAddReferencesItem().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AddReferencesItem } + * + * + */ + public List getAddReferencesItem() { + if (addReferencesItem == null) { + addReferencesItem = new ArrayList(); + } + return this.addReferencesItem; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAddReferencesItem.Builder<_B> _other) { + if (this.addReferencesItem == null) { + _other.addReferencesItem = null; + } else { + _other.addReferencesItem = new ArrayList>>(); + for (AddReferencesItem _item: this.addReferencesItem) { + _other.addReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfAddReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfAddReferencesItem.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfAddReferencesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfAddReferencesItem.Builder builder() { + return new ListOfAddReferencesItem.Builder(null, null, false); + } + + public static<_B >ListOfAddReferencesItem.Builder<_B> copyOf(final ListOfAddReferencesItem _other) { + final ListOfAddReferencesItem.Builder<_B> _newBuilder = new ListOfAddReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAddReferencesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree addReferencesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addReferencesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addReferencesItemPropertyTree!= null):((addReferencesItemPropertyTree == null)||(!addReferencesItemPropertyTree.isLeaf())))) { + if (this.addReferencesItem == null) { + _other.addReferencesItem = null; + } else { + _other.addReferencesItem = new ArrayList>>(); + for (AddReferencesItem _item: this.addReferencesItem) { + _other.addReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(_other, addReferencesItemPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfAddReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfAddReferencesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfAddReferencesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfAddReferencesItem.Builder<_B> copyOf(final ListOfAddReferencesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfAddReferencesItem.Builder<_B> _newBuilder = new ListOfAddReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfAddReferencesItem.Builder copyExcept(final ListOfAddReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfAddReferencesItem.Builder copyOnly(final ListOfAddReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfAddReferencesItem _storedValue; + private List>> addReferencesItem; + + public Builder(final _B _parentBuilder, final ListOfAddReferencesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.addReferencesItem == null) { + this.addReferencesItem = null; + } else { + this.addReferencesItem = new ArrayList>>(); + for (AddReferencesItem _item: _other.addReferencesItem) { + this.addReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfAddReferencesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree addReferencesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addReferencesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addReferencesItemPropertyTree!= null):((addReferencesItemPropertyTree == null)||(!addReferencesItemPropertyTree.isLeaf())))) { + if (_other.addReferencesItem == null) { + this.addReferencesItem = null; + } else { + this.addReferencesItem = new ArrayList>>(); + for (AddReferencesItem _item: _other.addReferencesItem) { + this.addReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(this, addReferencesItemPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfAddReferencesItem >_P init(final _P _product) { + if (this.addReferencesItem!= null) { + final List addReferencesItem = new ArrayList(this.addReferencesItem.size()); + for (AddReferencesItem.Builder> _item: this.addReferencesItem) { + addReferencesItem.add(_item.build()); + } + _product.addReferencesItem = addReferencesItem; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "addReferencesItem" hinzu. + * + * @param addReferencesItem + * Werte, die zur Eigenschaft "addReferencesItem" hinzugefügt werden. + */ + public ListOfAddReferencesItem.Builder<_B> addAddReferencesItem(final Iterable addReferencesItem) { + if (addReferencesItem!= null) { + if (this.addReferencesItem == null) { + this.addReferencesItem = new ArrayList>>(); + } + for (AddReferencesItem _item: addReferencesItem) { + this.addReferencesItem.add(new AddReferencesItem.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addReferencesItem" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param addReferencesItem + * Neuer Wert der Eigenschaft "addReferencesItem". + */ + public ListOfAddReferencesItem.Builder<_B> withAddReferencesItem(final Iterable addReferencesItem) { + if (this.addReferencesItem!= null) { + this.addReferencesItem.clear(); + } + return addAddReferencesItem(addReferencesItem); + } + + /** + * Fügt Werte zur Eigenschaft "addReferencesItem" hinzu. + * + * @param addReferencesItem + * Werte, die zur Eigenschaft "addReferencesItem" hinzugefügt werden. + */ + public ListOfAddReferencesItem.Builder<_B> addAddReferencesItem(AddReferencesItem... addReferencesItem) { + addAddReferencesItem(Arrays.asList(addReferencesItem)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addReferencesItem" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param addReferencesItem + * Neuer Wert der Eigenschaft "addReferencesItem". + */ + public ListOfAddReferencesItem.Builder<_B> withAddReferencesItem(AddReferencesItem... addReferencesItem) { + withAddReferencesItem(Arrays.asList(addReferencesItem)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "AddReferencesItem". + * Mit {@link org.opcfoundation.ua._2008._02.types.AddReferencesItem.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "AddReferencesItem". + * Mit {@link org.opcfoundation.ua._2008._02.types.AddReferencesItem.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public AddReferencesItem.Builder> addAddReferencesItem() { + if (this.addReferencesItem == null) { + this.addReferencesItem = new ArrayList>>(); + } + final AddReferencesItem.Builder> addReferencesItem_Builder = new AddReferencesItem.Builder>(this, null, false); + this.addReferencesItem.add(addReferencesItem_Builder); + return addReferencesItem_Builder; + } + + @Override + public ListOfAddReferencesItem build() { + if (_storedValue == null) { + return this.init(new ListOfAddReferencesItem()); + } else { + return ((ListOfAddReferencesItem) _storedValue); + } + } + + public ListOfAddReferencesItem.Builder<_B> copyOf(final ListOfAddReferencesItem _other) { + _other.copyTo(this); + return this; + } + + public ListOfAddReferencesItem.Builder<_B> copyOf(final ListOfAddReferencesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfAddReferencesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfAddReferencesItem.Select _root() { + return new ListOfAddReferencesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private AddReferencesItem.Selector> addReferencesItem = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.addReferencesItem!= null) { + products.put("addReferencesItem", this.addReferencesItem.init()); + } + return products; + } + + public AddReferencesItem.Selector> addReferencesItem() { + return ((this.addReferencesItem == null)?this.addReferencesItem = new AddReferencesItem.Selector>(this._root, this, "addReferencesItem"):this.addReferencesItem); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAliasNameDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAliasNameDataType.java new file mode 100644 index 000000000..0e2433ec1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfAliasNameDataType.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfAliasNameDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfAliasNameDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AliasNameDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AliasNameDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfAliasNameDataType", propOrder = { + "aliasNameDataType" +}) +public class ListOfAliasNameDataType { + + @XmlElement(name = "AliasNameDataType", nillable = true) + protected List aliasNameDataType; + + /** + * Gets the value of the aliasNameDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the aliasNameDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAliasNameDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AliasNameDataType } + * + * + */ + public List getAliasNameDataType() { + if (aliasNameDataType == null) { + aliasNameDataType = new ArrayList(); + } + return this.aliasNameDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAliasNameDataType.Builder<_B> _other) { + if (this.aliasNameDataType == null) { + _other.aliasNameDataType = null; + } else { + _other.aliasNameDataType = new ArrayList>>(); + for (AliasNameDataType _item: this.aliasNameDataType) { + _other.aliasNameDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfAliasNameDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfAliasNameDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfAliasNameDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfAliasNameDataType.Builder builder() { + return new ListOfAliasNameDataType.Builder(null, null, false); + } + + public static<_B >ListOfAliasNameDataType.Builder<_B> copyOf(final ListOfAliasNameDataType _other) { + final ListOfAliasNameDataType.Builder<_B> _newBuilder = new ListOfAliasNameDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfAliasNameDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree aliasNameDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aliasNameDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aliasNameDataTypePropertyTree!= null):((aliasNameDataTypePropertyTree == null)||(!aliasNameDataTypePropertyTree.isLeaf())))) { + if (this.aliasNameDataType == null) { + _other.aliasNameDataType = null; + } else { + _other.aliasNameDataType = new ArrayList>>(); + for (AliasNameDataType _item: this.aliasNameDataType) { + _other.aliasNameDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, aliasNameDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfAliasNameDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfAliasNameDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfAliasNameDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfAliasNameDataType.Builder<_B> copyOf(final ListOfAliasNameDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfAliasNameDataType.Builder<_B> _newBuilder = new ListOfAliasNameDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfAliasNameDataType.Builder copyExcept(final ListOfAliasNameDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfAliasNameDataType.Builder copyOnly(final ListOfAliasNameDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfAliasNameDataType _storedValue; + private List>> aliasNameDataType; + + public Builder(final _B _parentBuilder, final ListOfAliasNameDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.aliasNameDataType == null) { + this.aliasNameDataType = null; + } else { + this.aliasNameDataType = new ArrayList>>(); + for (AliasNameDataType _item: _other.aliasNameDataType) { + this.aliasNameDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfAliasNameDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree aliasNameDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aliasNameDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aliasNameDataTypePropertyTree!= null):((aliasNameDataTypePropertyTree == null)||(!aliasNameDataTypePropertyTree.isLeaf())))) { + if (_other.aliasNameDataType == null) { + this.aliasNameDataType = null; + } else { + this.aliasNameDataType = new ArrayList>>(); + for (AliasNameDataType _item: _other.aliasNameDataType) { + this.aliasNameDataType.add(((_item == null)?null:_item.newCopyBuilder(this, aliasNameDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfAliasNameDataType >_P init(final _P _product) { + if (this.aliasNameDataType!= null) { + final List aliasNameDataType = new ArrayList(this.aliasNameDataType.size()); + for (AliasNameDataType.Builder> _item: this.aliasNameDataType) { + aliasNameDataType.add(_item.build()); + } + _product.aliasNameDataType = aliasNameDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "aliasNameDataType" hinzu. + * + * @param aliasNameDataType + * Werte, die zur Eigenschaft "aliasNameDataType" hinzugefügt werden. + */ + public ListOfAliasNameDataType.Builder<_B> addAliasNameDataType(final Iterable aliasNameDataType) { + if (aliasNameDataType!= null) { + if (this.aliasNameDataType == null) { + this.aliasNameDataType = new ArrayList>>(); + } + for (AliasNameDataType _item: aliasNameDataType) { + this.aliasNameDataType.add(new AliasNameDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aliasNameDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param aliasNameDataType + * Neuer Wert der Eigenschaft "aliasNameDataType". + */ + public ListOfAliasNameDataType.Builder<_B> withAliasNameDataType(final Iterable aliasNameDataType) { + if (this.aliasNameDataType!= null) { + this.aliasNameDataType.clear(); + } + return addAliasNameDataType(aliasNameDataType); + } + + /** + * Fügt Werte zur Eigenschaft "aliasNameDataType" hinzu. + * + * @param aliasNameDataType + * Werte, die zur Eigenschaft "aliasNameDataType" hinzugefügt werden. + */ + public ListOfAliasNameDataType.Builder<_B> addAliasNameDataType(AliasNameDataType... aliasNameDataType) { + addAliasNameDataType(Arrays.asList(aliasNameDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aliasNameDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param aliasNameDataType + * Neuer Wert der Eigenschaft "aliasNameDataType". + */ + public ListOfAliasNameDataType.Builder<_B> withAliasNameDataType(AliasNameDataType... aliasNameDataType) { + withAliasNameDataType(Arrays.asList(aliasNameDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "AliasNameDataType". + * Mit {@link org.opcfoundation.ua._2008._02.types.AliasNameDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "AliasNameDataType". + * Mit {@link org.opcfoundation.ua._2008._02.types.AliasNameDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public AliasNameDataType.Builder> addAliasNameDataType() { + if (this.aliasNameDataType == null) { + this.aliasNameDataType = new ArrayList>>(); + } + final AliasNameDataType.Builder> aliasNameDataType_Builder = new AliasNameDataType.Builder>(this, null, false); + this.aliasNameDataType.add(aliasNameDataType_Builder); + return aliasNameDataType_Builder; + } + + @Override + public ListOfAliasNameDataType build() { + if (_storedValue == null) { + return this.init(new ListOfAliasNameDataType()); + } else { + return ((ListOfAliasNameDataType) _storedValue); + } + } + + public ListOfAliasNameDataType.Builder<_B> copyOf(final ListOfAliasNameDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfAliasNameDataType.Builder<_B> copyOf(final ListOfAliasNameDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfAliasNameDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfAliasNameDataType.Select _root() { + return new ListOfAliasNameDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private AliasNameDataType.Selector> aliasNameDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.aliasNameDataType!= null) { + products.put("aliasNameDataType", this.aliasNameDataType.init()); + } + return products; + } + + public AliasNameDataType.Selector> aliasNameDataType() { + return ((this.aliasNameDataType == null)?this.aliasNameDataType = new AliasNameDataType.Selector>(this._root, this, "aliasNameDataType"):this.aliasNameDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfApplicationDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfApplicationDescription.java new file mode 100644 index 000000000..4bd93ded2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfApplicationDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfApplicationDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfApplicationDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ApplicationDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ApplicationDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfApplicationDescription", propOrder = { + "applicationDescription" +}) +public class ListOfApplicationDescription { + + @XmlElement(name = "ApplicationDescription", nillable = true) + protected List applicationDescription; + + /** + * Gets the value of the applicationDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the applicationDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getApplicationDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ApplicationDescription } + * + * + */ + public List getApplicationDescription() { + if (applicationDescription == null) { + applicationDescription = new ArrayList(); + } + return this.applicationDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfApplicationDescription.Builder<_B> _other) { + if (this.applicationDescription == null) { + _other.applicationDescription = null; + } else { + _other.applicationDescription = new ArrayList>>(); + for (ApplicationDescription _item: this.applicationDescription) { + _other.applicationDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfApplicationDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfApplicationDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfApplicationDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfApplicationDescription.Builder builder() { + return new ListOfApplicationDescription.Builder(null, null, false); + } + + public static<_B >ListOfApplicationDescription.Builder<_B> copyOf(final ListOfApplicationDescription _other) { + final ListOfApplicationDescription.Builder<_B> _newBuilder = new ListOfApplicationDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfApplicationDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree applicationDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationDescriptionPropertyTree!= null):((applicationDescriptionPropertyTree == null)||(!applicationDescriptionPropertyTree.isLeaf())))) { + if (this.applicationDescription == null) { + _other.applicationDescription = null; + } else { + _other.applicationDescription = new ArrayList>>(); + for (ApplicationDescription _item: this.applicationDescription) { + _other.applicationDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, applicationDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfApplicationDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfApplicationDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfApplicationDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfApplicationDescription.Builder<_B> copyOf(final ListOfApplicationDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfApplicationDescription.Builder<_B> _newBuilder = new ListOfApplicationDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfApplicationDescription.Builder copyExcept(final ListOfApplicationDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfApplicationDescription.Builder copyOnly(final ListOfApplicationDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfApplicationDescription _storedValue; + private List>> applicationDescription; + + public Builder(final _B _parentBuilder, final ListOfApplicationDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.applicationDescription == null) { + this.applicationDescription = null; + } else { + this.applicationDescription = new ArrayList>>(); + for (ApplicationDescription _item: _other.applicationDescription) { + this.applicationDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfApplicationDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree applicationDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("applicationDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(applicationDescriptionPropertyTree!= null):((applicationDescriptionPropertyTree == null)||(!applicationDescriptionPropertyTree.isLeaf())))) { + if (_other.applicationDescription == null) { + this.applicationDescription = null; + } else { + this.applicationDescription = new ArrayList>>(); + for (ApplicationDescription _item: _other.applicationDescription) { + this.applicationDescription.add(((_item == null)?null:_item.newCopyBuilder(this, applicationDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfApplicationDescription >_P init(final _P _product) { + if (this.applicationDescription!= null) { + final List applicationDescription = new ArrayList(this.applicationDescription.size()); + for (ApplicationDescription.Builder> _item: this.applicationDescription) { + applicationDescription.add(_item.build()); + } + _product.applicationDescription = applicationDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "applicationDescription" hinzu. + * + * @param applicationDescription + * Werte, die zur Eigenschaft "applicationDescription" hinzugefügt werden. + */ + public ListOfApplicationDescription.Builder<_B> addApplicationDescription(final Iterable applicationDescription) { + if (applicationDescription!= null) { + if (this.applicationDescription == null) { + this.applicationDescription = new ArrayList>>(); + } + for (ApplicationDescription _item: applicationDescription) { + this.applicationDescription.add(new ApplicationDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "applicationDescription" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param applicationDescription + * Neuer Wert der Eigenschaft "applicationDescription". + */ + public ListOfApplicationDescription.Builder<_B> withApplicationDescription(final Iterable applicationDescription) { + if (this.applicationDescription!= null) { + this.applicationDescription.clear(); + } + return addApplicationDescription(applicationDescription); + } + + /** + * Fügt Werte zur Eigenschaft "applicationDescription" hinzu. + * + * @param applicationDescription + * Werte, die zur Eigenschaft "applicationDescription" hinzugefügt werden. + */ + public ListOfApplicationDescription.Builder<_B> addApplicationDescription(ApplicationDescription... applicationDescription) { + addApplicationDescription(Arrays.asList(applicationDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "applicationDescription" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param applicationDescription + * Neuer Wert der Eigenschaft "applicationDescription". + */ + public ListOfApplicationDescription.Builder<_B> withApplicationDescription(ApplicationDescription... applicationDescription) { + withApplicationDescription(Arrays.asList(applicationDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ApplicationDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ApplicationDescription.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ApplicationDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ApplicationDescription.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public ApplicationDescription.Builder> addApplicationDescription() { + if (this.applicationDescription == null) { + this.applicationDescription = new ArrayList>>(); + } + final ApplicationDescription.Builder> applicationDescription_Builder = new ApplicationDescription.Builder>(this, null, false); + this.applicationDescription.add(applicationDescription_Builder); + return applicationDescription_Builder; + } + + @Override + public ListOfApplicationDescription build() { + if (_storedValue == null) { + return this.init(new ListOfApplicationDescription()); + } else { + return ((ListOfApplicationDescription) _storedValue); + } + } + + public ListOfApplicationDescription.Builder<_B> copyOf(final ListOfApplicationDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfApplicationDescription.Builder<_B> copyOf(final ListOfApplicationDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfApplicationDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfApplicationDescription.Select _root() { + return new ListOfApplicationDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ApplicationDescription.Selector> applicationDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.applicationDescription!= null) { + products.put("applicationDescription", this.applicationDescription.init()); + } + return products; + } + + public ApplicationDescription.Selector> applicationDescription() { + return ((this.applicationDescription == null)?this.applicationDescription = new ApplicationDescription.Selector>(this._root, this, "applicationDescription"):this.applicationDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfArgument.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfArgument.java new file mode 100644 index 000000000..c0b85ffe0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfArgument.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfArgument complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfArgument">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Argument" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Argument" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfArgument", propOrder = { + "argument" +}) +public class ListOfArgument { + + @XmlElement(name = "Argument", nillable = true) + protected List argument; + + /** + * Gets the value of the argument property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the argument property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getArgument().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Argument } + * + * + */ + public List getArgument() { + if (argument == null) { + argument = new ArrayList(); + } + return this.argument; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfArgument.Builder<_B> _other) { + if (this.argument == null) { + _other.argument = null; + } else { + _other.argument = new ArrayList>>(); + for (Argument _item: this.argument) { + _other.argument.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfArgument.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfArgument.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfArgument.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfArgument.Builder builder() { + return new ListOfArgument.Builder(null, null, false); + } + + public static<_B >ListOfArgument.Builder<_B> copyOf(final ListOfArgument _other) { + final ListOfArgument.Builder<_B> _newBuilder = new ListOfArgument.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfArgument.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree argumentPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("argument")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(argumentPropertyTree!= null):((argumentPropertyTree == null)||(!argumentPropertyTree.isLeaf())))) { + if (this.argument == null) { + _other.argument = null; + } else { + _other.argument = new ArrayList>>(); + for (Argument _item: this.argument) { + _other.argument.add(((_item == null)?null:_item.newCopyBuilder(_other, argumentPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfArgument.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfArgument.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfArgument.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfArgument.Builder<_B> copyOf(final ListOfArgument _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfArgument.Builder<_B> _newBuilder = new ListOfArgument.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfArgument.Builder copyExcept(final ListOfArgument _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfArgument.Builder copyOnly(final ListOfArgument _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfArgument _storedValue; + private List>> argument; + + public Builder(final _B _parentBuilder, final ListOfArgument _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.argument == null) { + this.argument = null; + } else { + this.argument = new ArrayList>>(); + for (Argument _item: _other.argument) { + this.argument.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfArgument _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree argumentPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("argument")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(argumentPropertyTree!= null):((argumentPropertyTree == null)||(!argumentPropertyTree.isLeaf())))) { + if (_other.argument == null) { + this.argument = null; + } else { + this.argument = new ArrayList>>(); + for (Argument _item: _other.argument) { + this.argument.add(((_item == null)?null:_item.newCopyBuilder(this, argumentPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfArgument >_P init(final _P _product) { + if (this.argument!= null) { + final List argument = new ArrayList(this.argument.size()); + for (Argument.Builder> _item: this.argument) { + argument.add(_item.build()); + } + _product.argument = argument; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "argument" hinzu. + * + * @param argument + * Werte, die zur Eigenschaft "argument" hinzugefügt werden. + */ + public ListOfArgument.Builder<_B> addArgument(final Iterable argument) { + if (argument!= null) { + if (this.argument == null) { + this.argument = new ArrayList>>(); + } + for (Argument _item: argument) { + this.argument.add(new Argument.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "argument" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param argument + * Neuer Wert der Eigenschaft "argument". + */ + public ListOfArgument.Builder<_B> withArgument(final Iterable argument) { + if (this.argument!= null) { + this.argument.clear(); + } + return addArgument(argument); + } + + /** + * Fügt Werte zur Eigenschaft "argument" hinzu. + * + * @param argument + * Werte, die zur Eigenschaft "argument" hinzugefügt werden. + */ + public ListOfArgument.Builder<_B> addArgument(Argument... argument) { + addArgument(Arrays.asList(argument)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "argument" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param argument + * Neuer Wert der Eigenschaft "argument". + */ + public ListOfArgument.Builder<_B> withArgument(Argument... argument) { + withArgument(Arrays.asList(argument)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Argument". + * Mit {@link org.opcfoundation.ua._2008._02.types.Argument.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Argument". + * Mit {@link org.opcfoundation.ua._2008._02.types.Argument.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Argument.Builder> addArgument() { + if (this.argument == null) { + this.argument = new ArrayList>>(); + } + final Argument.Builder> argument_Builder = new Argument.Builder>(this, null, false); + this.argument.add(argument_Builder); + return argument_Builder; + } + + @Override + public ListOfArgument build() { + if (_storedValue == null) { + return this.init(new ListOfArgument()); + } else { + return ((ListOfArgument) _storedValue); + } + } + + public ListOfArgument.Builder<_B> copyOf(final ListOfArgument _other) { + _other.copyTo(this); + return this; + } + + public ListOfArgument.Builder<_B> copyOf(final ListOfArgument.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfArgument.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfArgument.Select _root() { + return new ListOfArgument.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Argument.Selector> argument = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.argument!= null) { + products.put("argument", this.argument.init()); + } + return products; + } + + public Argument.Selector> argument() { + return ((this.argument == null)?this.argument = new Argument.Selector>(this._root, this, "argument"):this.argument); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBoolean.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBoolean.java new file mode 100644 index 000000000..2f5d30482 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBoolean.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBoolean complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBoolean">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Boolean" type="{http://www.w3.org/2001/XMLSchema}boolean" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBoolean", propOrder = { + "_boolean" +}) +public class ListOfBoolean { + + @XmlElement(name = "Boolean", type = Boolean.class) + protected List _boolean; + + /** + * Gets the value of the boolean property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the boolean property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBoolean().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Boolean } + * + * + */ + public List getBoolean() { + if (_boolean == null) { + _boolean = new ArrayList(); + } + return this._boolean; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBoolean.Builder<_B> _other) { + if (this._boolean == null) { + _other._boolean = null; + } else { + _other._boolean = new ArrayList(); + for (Boolean _item: this._boolean) { + _other._boolean.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfBoolean.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBoolean.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBoolean.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBoolean.Builder builder() { + return new ListOfBoolean.Builder(null, null, false); + } + + public static<_B >ListOfBoolean.Builder<_B> copyOf(final ListOfBoolean _other) { + final ListOfBoolean.Builder<_B> _newBuilder = new ListOfBoolean.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBoolean.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree _booleanPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_boolean")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_booleanPropertyTree!= null):((_booleanPropertyTree == null)||(!_booleanPropertyTree.isLeaf())))) { + if (this._boolean == null) { + _other._boolean = null; + } else { + _other._boolean = new ArrayList(); + for (Boolean _item: this._boolean) { + _other._boolean.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfBoolean.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBoolean.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBoolean.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBoolean.Builder<_B> copyOf(final ListOfBoolean _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBoolean.Builder<_B> _newBuilder = new ListOfBoolean.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBoolean.Builder copyExcept(final ListOfBoolean _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBoolean.Builder copyOnly(final ListOfBoolean _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBoolean _storedValue; + private List _boolean; + + public Builder(final _B _parentBuilder, final ListOfBoolean _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other._boolean == null) { + this._boolean = null; + } else { + this._boolean = new ArrayList(); + for (Boolean _item: _other._boolean) { + this._boolean.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBoolean _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree _booleanPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_boolean")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_booleanPropertyTree!= null):((_booleanPropertyTree == null)||(!_booleanPropertyTree.isLeaf())))) { + if (_other._boolean == null) { + this._boolean = null; + } else { + this._boolean = new ArrayList(); + for (Boolean _item: _other._boolean) { + this._boolean.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBoolean >_P init(final _P _product) { + if (this._boolean!= null) { + final List _boolean = new ArrayList(this._boolean.size()); + for (Buildable _item: this._boolean) { + _boolean.add(((Boolean) _item.build())); + } + _product._boolean = _boolean; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "_boolean" hinzu. + * + * @param _boolean + * Werte, die zur Eigenschaft "_boolean" hinzugefügt werden. + */ + public ListOfBoolean.Builder<_B> addBoolean(final Iterable _boolean) { + if (_boolean!= null) { + if (this._boolean == null) { + this._boolean = new ArrayList(); + } + for (Boolean _item: _boolean) { + this._boolean.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_boolean" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _boolean + * Neuer Wert der Eigenschaft "_boolean". + */ + public ListOfBoolean.Builder<_B> withBoolean(final Iterable _boolean) { + if (this._boolean!= null) { + this._boolean.clear(); + } + return addBoolean(_boolean); + } + + /** + * Fügt Werte zur Eigenschaft "_boolean" hinzu. + * + * @param _boolean + * Werte, die zur Eigenschaft "_boolean" hinzugefügt werden. + */ + public ListOfBoolean.Builder<_B> addBoolean(Boolean... _boolean) { + addBoolean(Arrays.asList(_boolean)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_boolean" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _boolean + * Neuer Wert der Eigenschaft "_boolean". + */ + public ListOfBoolean.Builder<_B> withBoolean(Boolean... _boolean) { + withBoolean(Arrays.asList(_boolean)); + return this; + } + + @Override + public ListOfBoolean build() { + if (_storedValue == null) { + return this.init(new ListOfBoolean()); + } else { + return ((ListOfBoolean) _storedValue); + } + } + + public ListOfBoolean.Builder<_B> copyOf(final ListOfBoolean _other) { + _other.copyTo(this); + return this; + } + + public ListOfBoolean.Builder<_B> copyOf(final ListOfBoolean.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBoolean.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBoolean.Select _root() { + return new ListOfBoolean.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> _boolean = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this._boolean!= null) { + products.put("_boolean", this._boolean.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> _boolean() { + return ((this._boolean == null)?this._boolean = new com.kscs.util.jaxb.Selector>(this._root, this, "_boolean"):this._boolean); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerConnectionTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerConnectionTransportDataType.java new file mode 100644 index 000000000..51b81cd42 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerConnectionTransportDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrokerConnectionTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrokerConnectionTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrokerConnectionTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerConnectionTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrokerConnectionTransportDataType", propOrder = { + "brokerConnectionTransportDataType" +}) +public class ListOfBrokerConnectionTransportDataType { + + @XmlElement(name = "BrokerConnectionTransportDataType", nillable = true) + protected List brokerConnectionTransportDataType; + + /** + * Gets the value of the brokerConnectionTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the brokerConnectionTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrokerConnectionTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrokerConnectionTransportDataType } + * + * + */ + public List getBrokerConnectionTransportDataType() { + if (brokerConnectionTransportDataType == null) { + brokerConnectionTransportDataType = new ArrayList(); + } + return this.brokerConnectionTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerConnectionTransportDataType.Builder<_B> _other) { + if (this.brokerConnectionTransportDataType == null) { + _other.brokerConnectionTransportDataType = null; + } else { + _other.brokerConnectionTransportDataType = new ArrayList>>(); + for (BrokerConnectionTransportDataType _item: this.brokerConnectionTransportDataType) { + _other.brokerConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrokerConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrokerConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrokerConnectionTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrokerConnectionTransportDataType.Builder builder() { + return new ListOfBrokerConnectionTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfBrokerConnectionTransportDataType.Builder<_B> copyOf(final ListOfBrokerConnectionTransportDataType _other) { + final ListOfBrokerConnectionTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerConnectionTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree brokerConnectionTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerConnectionTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerConnectionTransportDataTypePropertyTree!= null):((brokerConnectionTransportDataTypePropertyTree == null)||(!brokerConnectionTransportDataTypePropertyTree.isLeaf())))) { + if (this.brokerConnectionTransportDataType == null) { + _other.brokerConnectionTransportDataType = null; + } else { + _other.brokerConnectionTransportDataType = new ArrayList>>(); + for (BrokerConnectionTransportDataType _item: this.brokerConnectionTransportDataType) { + _other.brokerConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, brokerConnectionTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrokerConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrokerConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrokerConnectionTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrokerConnectionTransportDataType.Builder<_B> copyOf(final ListOfBrokerConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrokerConnectionTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrokerConnectionTransportDataType.Builder copyExcept(final ListOfBrokerConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrokerConnectionTransportDataType.Builder copyOnly(final ListOfBrokerConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrokerConnectionTransportDataType _storedValue; + private List>> brokerConnectionTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfBrokerConnectionTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.brokerConnectionTransportDataType == null) { + this.brokerConnectionTransportDataType = null; + } else { + this.brokerConnectionTransportDataType = new ArrayList>>(); + for (BrokerConnectionTransportDataType _item: _other.brokerConnectionTransportDataType) { + this.brokerConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrokerConnectionTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree brokerConnectionTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerConnectionTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerConnectionTransportDataTypePropertyTree!= null):((brokerConnectionTransportDataTypePropertyTree == null)||(!brokerConnectionTransportDataTypePropertyTree.isLeaf())))) { + if (_other.brokerConnectionTransportDataType == null) { + this.brokerConnectionTransportDataType = null; + } else { + this.brokerConnectionTransportDataType = new ArrayList>>(); + for (BrokerConnectionTransportDataType _item: _other.brokerConnectionTransportDataType) { + this.brokerConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, brokerConnectionTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrokerConnectionTransportDataType >_P init(final _P _product) { + if (this.brokerConnectionTransportDataType!= null) { + final List brokerConnectionTransportDataType = new ArrayList(this.brokerConnectionTransportDataType.size()); + for (BrokerConnectionTransportDataType.Builder> _item: this.brokerConnectionTransportDataType) { + brokerConnectionTransportDataType.add(_item.build()); + } + _product.brokerConnectionTransportDataType = brokerConnectionTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "brokerConnectionTransportDataType" hinzu. + * + * @param brokerConnectionTransportDataType + * Werte, die zur Eigenschaft "brokerConnectionTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerConnectionTransportDataType.Builder<_B> addBrokerConnectionTransportDataType(final Iterable brokerConnectionTransportDataType) { + if (brokerConnectionTransportDataType!= null) { + if (this.brokerConnectionTransportDataType == null) { + this.brokerConnectionTransportDataType = new ArrayList>>(); + } + for (BrokerConnectionTransportDataType _item: brokerConnectionTransportDataType) { + this.brokerConnectionTransportDataType.add(new BrokerConnectionTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerConnectionTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param brokerConnectionTransportDataType + * Neuer Wert der Eigenschaft "brokerConnectionTransportDataType". + */ + public ListOfBrokerConnectionTransportDataType.Builder<_B> withBrokerConnectionTransportDataType(final Iterable brokerConnectionTransportDataType) { + if (this.brokerConnectionTransportDataType!= null) { + this.brokerConnectionTransportDataType.clear(); + } + return addBrokerConnectionTransportDataType(brokerConnectionTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "brokerConnectionTransportDataType" hinzu. + * + * @param brokerConnectionTransportDataType + * Werte, die zur Eigenschaft "brokerConnectionTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerConnectionTransportDataType.Builder<_B> addBrokerConnectionTransportDataType(BrokerConnectionTransportDataType... brokerConnectionTransportDataType) { + addBrokerConnectionTransportDataType(Arrays.asList(brokerConnectionTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerConnectionTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param brokerConnectionTransportDataType + * Neuer Wert der Eigenschaft "brokerConnectionTransportDataType". + */ + public ListOfBrokerConnectionTransportDataType.Builder<_B> withBrokerConnectionTransportDataType(BrokerConnectionTransportDataType... brokerConnectionTransportDataType) { + withBrokerConnectionTransportDataType(Arrays.asList(brokerConnectionTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrokerConnectionTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerConnectionTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrokerConnectionTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerConnectionTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrokerConnectionTransportDataType.Builder> addBrokerConnectionTransportDataType() { + if (this.brokerConnectionTransportDataType == null) { + this.brokerConnectionTransportDataType = new ArrayList>>(); + } + final BrokerConnectionTransportDataType.Builder> brokerConnectionTransportDataType_Builder = new BrokerConnectionTransportDataType.Builder>(this, null, false); + this.brokerConnectionTransportDataType.add(brokerConnectionTransportDataType_Builder); + return brokerConnectionTransportDataType_Builder; + } + + @Override + public ListOfBrokerConnectionTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfBrokerConnectionTransportDataType()); + } else { + return ((ListOfBrokerConnectionTransportDataType) _storedValue); + } + } + + public ListOfBrokerConnectionTransportDataType.Builder<_B> copyOf(final ListOfBrokerConnectionTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrokerConnectionTransportDataType.Builder<_B> copyOf(final ListOfBrokerConnectionTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrokerConnectionTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrokerConnectionTransportDataType.Select _root() { + return new ListOfBrokerConnectionTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrokerConnectionTransportDataType.Selector> brokerConnectionTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.brokerConnectionTransportDataType!= null) { + products.put("brokerConnectionTransportDataType", this.brokerConnectionTransportDataType.init()); + } + return products; + } + + public BrokerConnectionTransportDataType.Selector> brokerConnectionTransportDataType() { + return ((this.brokerConnectionTransportDataType == null)?this.brokerConnectionTransportDataType = new BrokerConnectionTransportDataType.Selector>(this._root, this, "brokerConnectionTransportDataType"):this.brokerConnectionTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetReaderTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetReaderTransportDataType.java new file mode 100644 index 000000000..38a841557 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetReaderTransportDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrokerDataSetReaderTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrokerDataSetReaderTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrokerDataSetReaderTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerDataSetReaderTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrokerDataSetReaderTransportDataType", propOrder = { + "brokerDataSetReaderTransportDataType" +}) +public class ListOfBrokerDataSetReaderTransportDataType { + + @XmlElement(name = "BrokerDataSetReaderTransportDataType", nillable = true) + protected List brokerDataSetReaderTransportDataType; + + /** + * Gets the value of the brokerDataSetReaderTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the brokerDataSetReaderTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrokerDataSetReaderTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrokerDataSetReaderTransportDataType } + * + * + */ + public List getBrokerDataSetReaderTransportDataType() { + if (brokerDataSetReaderTransportDataType == null) { + brokerDataSetReaderTransportDataType = new ArrayList(); + } + return this.brokerDataSetReaderTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerDataSetReaderTransportDataType.Builder<_B> _other) { + if (this.brokerDataSetReaderTransportDataType == null) { + _other.brokerDataSetReaderTransportDataType = null; + } else { + _other.brokerDataSetReaderTransportDataType = new ArrayList>>(); + for (BrokerDataSetReaderTransportDataType _item: this.brokerDataSetReaderTransportDataType) { + _other.brokerDataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrokerDataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrokerDataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrokerDataSetReaderTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrokerDataSetReaderTransportDataType.Builder builder() { + return new ListOfBrokerDataSetReaderTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfBrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetReaderTransportDataType _other) { + final ListOfBrokerDataSetReaderTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerDataSetReaderTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree brokerDataSetReaderTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerDataSetReaderTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerDataSetReaderTransportDataTypePropertyTree!= null):((brokerDataSetReaderTransportDataTypePropertyTree == null)||(!brokerDataSetReaderTransportDataTypePropertyTree.isLeaf())))) { + if (this.brokerDataSetReaderTransportDataType == null) { + _other.brokerDataSetReaderTransportDataType = null; + } else { + _other.brokerDataSetReaderTransportDataType = new ArrayList>>(); + for (BrokerDataSetReaderTransportDataType _item: this.brokerDataSetReaderTransportDataType) { + _other.brokerDataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, brokerDataSetReaderTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrokerDataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrokerDataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrokerDataSetReaderTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetReaderTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrokerDataSetReaderTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrokerDataSetReaderTransportDataType.Builder copyExcept(final ListOfBrokerDataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrokerDataSetReaderTransportDataType.Builder copyOnly(final ListOfBrokerDataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrokerDataSetReaderTransportDataType _storedValue; + private List>> brokerDataSetReaderTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfBrokerDataSetReaderTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.brokerDataSetReaderTransportDataType == null) { + this.brokerDataSetReaderTransportDataType = null; + } else { + this.brokerDataSetReaderTransportDataType = new ArrayList>>(); + for (BrokerDataSetReaderTransportDataType _item: _other.brokerDataSetReaderTransportDataType) { + this.brokerDataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrokerDataSetReaderTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree brokerDataSetReaderTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerDataSetReaderTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerDataSetReaderTransportDataTypePropertyTree!= null):((brokerDataSetReaderTransportDataTypePropertyTree == null)||(!brokerDataSetReaderTransportDataTypePropertyTree.isLeaf())))) { + if (_other.brokerDataSetReaderTransportDataType == null) { + this.brokerDataSetReaderTransportDataType = null; + } else { + this.brokerDataSetReaderTransportDataType = new ArrayList>>(); + for (BrokerDataSetReaderTransportDataType _item: _other.brokerDataSetReaderTransportDataType) { + this.brokerDataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, brokerDataSetReaderTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrokerDataSetReaderTransportDataType >_P init(final _P _product) { + if (this.brokerDataSetReaderTransportDataType!= null) { + final List brokerDataSetReaderTransportDataType = new ArrayList(this.brokerDataSetReaderTransportDataType.size()); + for (BrokerDataSetReaderTransportDataType.Builder> _item: this.brokerDataSetReaderTransportDataType) { + brokerDataSetReaderTransportDataType.add(_item.build()); + } + _product.brokerDataSetReaderTransportDataType = brokerDataSetReaderTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "brokerDataSetReaderTransportDataType" hinzu. + * + * @param brokerDataSetReaderTransportDataType + * Werte, die zur Eigenschaft "brokerDataSetReaderTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerDataSetReaderTransportDataType.Builder<_B> addBrokerDataSetReaderTransportDataType(final Iterable brokerDataSetReaderTransportDataType) { + if (brokerDataSetReaderTransportDataType!= null) { + if (this.brokerDataSetReaderTransportDataType == null) { + this.brokerDataSetReaderTransportDataType = new ArrayList>>(); + } + for (BrokerDataSetReaderTransportDataType _item: brokerDataSetReaderTransportDataType) { + this.brokerDataSetReaderTransportDataType.add(new BrokerDataSetReaderTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerDataSetReaderTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param brokerDataSetReaderTransportDataType + * Neuer Wert der Eigenschaft "brokerDataSetReaderTransportDataType". + */ + public ListOfBrokerDataSetReaderTransportDataType.Builder<_B> withBrokerDataSetReaderTransportDataType(final Iterable brokerDataSetReaderTransportDataType) { + if (this.brokerDataSetReaderTransportDataType!= null) { + this.brokerDataSetReaderTransportDataType.clear(); + } + return addBrokerDataSetReaderTransportDataType(brokerDataSetReaderTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "brokerDataSetReaderTransportDataType" hinzu. + * + * @param brokerDataSetReaderTransportDataType + * Werte, die zur Eigenschaft "brokerDataSetReaderTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerDataSetReaderTransportDataType.Builder<_B> addBrokerDataSetReaderTransportDataType(BrokerDataSetReaderTransportDataType... brokerDataSetReaderTransportDataType) { + addBrokerDataSetReaderTransportDataType(Arrays.asList(brokerDataSetReaderTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerDataSetReaderTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param brokerDataSetReaderTransportDataType + * Neuer Wert der Eigenschaft "brokerDataSetReaderTransportDataType". + */ + public ListOfBrokerDataSetReaderTransportDataType.Builder<_B> withBrokerDataSetReaderTransportDataType(BrokerDataSetReaderTransportDataType... brokerDataSetReaderTransportDataType) { + withBrokerDataSetReaderTransportDataType(Arrays.asList(brokerDataSetReaderTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrokerDataSetReaderTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerDataSetReaderTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrokerDataSetReaderTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerDataSetReaderTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrokerDataSetReaderTransportDataType.Builder> addBrokerDataSetReaderTransportDataType() { + if (this.brokerDataSetReaderTransportDataType == null) { + this.brokerDataSetReaderTransportDataType = new ArrayList>>(); + } + final BrokerDataSetReaderTransportDataType.Builder> brokerDataSetReaderTransportDataType_Builder = new BrokerDataSetReaderTransportDataType.Builder>(this, null, false); + this.brokerDataSetReaderTransportDataType.add(brokerDataSetReaderTransportDataType_Builder); + return brokerDataSetReaderTransportDataType_Builder; + } + + @Override + public ListOfBrokerDataSetReaderTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfBrokerDataSetReaderTransportDataType()); + } else { + return ((ListOfBrokerDataSetReaderTransportDataType) _storedValue); + } + } + + public ListOfBrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetReaderTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrokerDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetReaderTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrokerDataSetReaderTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrokerDataSetReaderTransportDataType.Select _root() { + return new ListOfBrokerDataSetReaderTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrokerDataSetReaderTransportDataType.Selector> brokerDataSetReaderTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.brokerDataSetReaderTransportDataType!= null) { + products.put("brokerDataSetReaderTransportDataType", this.brokerDataSetReaderTransportDataType.init()); + } + return products; + } + + public BrokerDataSetReaderTransportDataType.Selector> brokerDataSetReaderTransportDataType() { + return ((this.brokerDataSetReaderTransportDataType == null)?this.brokerDataSetReaderTransportDataType = new BrokerDataSetReaderTransportDataType.Selector>(this._root, this, "brokerDataSetReaderTransportDataType"):this.brokerDataSetReaderTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetWriterTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetWriterTransportDataType.java new file mode 100644 index 000000000..5d6a68d53 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerDataSetWriterTransportDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrokerDataSetWriterTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrokerDataSetWriterTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrokerDataSetWriterTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerDataSetWriterTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrokerDataSetWriterTransportDataType", propOrder = { + "brokerDataSetWriterTransportDataType" +}) +public class ListOfBrokerDataSetWriterTransportDataType { + + @XmlElement(name = "BrokerDataSetWriterTransportDataType", nillable = true) + protected List brokerDataSetWriterTransportDataType; + + /** + * Gets the value of the brokerDataSetWriterTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the brokerDataSetWriterTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrokerDataSetWriterTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrokerDataSetWriterTransportDataType } + * + * + */ + public List getBrokerDataSetWriterTransportDataType() { + if (brokerDataSetWriterTransportDataType == null) { + brokerDataSetWriterTransportDataType = new ArrayList(); + } + return this.brokerDataSetWriterTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerDataSetWriterTransportDataType.Builder<_B> _other) { + if (this.brokerDataSetWriterTransportDataType == null) { + _other.brokerDataSetWriterTransportDataType = null; + } else { + _other.brokerDataSetWriterTransportDataType = new ArrayList>>(); + for (BrokerDataSetWriterTransportDataType _item: this.brokerDataSetWriterTransportDataType) { + _other.brokerDataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrokerDataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrokerDataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrokerDataSetWriterTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrokerDataSetWriterTransportDataType.Builder builder() { + return new ListOfBrokerDataSetWriterTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfBrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetWriterTransportDataType _other) { + final ListOfBrokerDataSetWriterTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerDataSetWriterTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree brokerDataSetWriterTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerDataSetWriterTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerDataSetWriterTransportDataTypePropertyTree!= null):((brokerDataSetWriterTransportDataTypePropertyTree == null)||(!brokerDataSetWriterTransportDataTypePropertyTree.isLeaf())))) { + if (this.brokerDataSetWriterTransportDataType == null) { + _other.brokerDataSetWriterTransportDataType = null; + } else { + _other.brokerDataSetWriterTransportDataType = new ArrayList>>(); + for (BrokerDataSetWriterTransportDataType _item: this.brokerDataSetWriterTransportDataType) { + _other.brokerDataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, brokerDataSetWriterTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrokerDataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrokerDataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrokerDataSetWriterTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetWriterTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrokerDataSetWriterTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrokerDataSetWriterTransportDataType.Builder copyExcept(final ListOfBrokerDataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrokerDataSetWriterTransportDataType.Builder copyOnly(final ListOfBrokerDataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrokerDataSetWriterTransportDataType _storedValue; + private List>> brokerDataSetWriterTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfBrokerDataSetWriterTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.brokerDataSetWriterTransportDataType == null) { + this.brokerDataSetWriterTransportDataType = null; + } else { + this.brokerDataSetWriterTransportDataType = new ArrayList>>(); + for (BrokerDataSetWriterTransportDataType _item: _other.brokerDataSetWriterTransportDataType) { + this.brokerDataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrokerDataSetWriterTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree brokerDataSetWriterTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerDataSetWriterTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerDataSetWriterTransportDataTypePropertyTree!= null):((brokerDataSetWriterTransportDataTypePropertyTree == null)||(!brokerDataSetWriterTransportDataTypePropertyTree.isLeaf())))) { + if (_other.brokerDataSetWriterTransportDataType == null) { + this.brokerDataSetWriterTransportDataType = null; + } else { + this.brokerDataSetWriterTransportDataType = new ArrayList>>(); + for (BrokerDataSetWriterTransportDataType _item: _other.brokerDataSetWriterTransportDataType) { + this.brokerDataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, brokerDataSetWriterTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrokerDataSetWriterTransportDataType >_P init(final _P _product) { + if (this.brokerDataSetWriterTransportDataType!= null) { + final List brokerDataSetWriterTransportDataType = new ArrayList(this.brokerDataSetWriterTransportDataType.size()); + for (BrokerDataSetWriterTransportDataType.Builder> _item: this.brokerDataSetWriterTransportDataType) { + brokerDataSetWriterTransportDataType.add(_item.build()); + } + _product.brokerDataSetWriterTransportDataType = brokerDataSetWriterTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "brokerDataSetWriterTransportDataType" hinzu. + * + * @param brokerDataSetWriterTransportDataType + * Werte, die zur Eigenschaft "brokerDataSetWriterTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerDataSetWriterTransportDataType.Builder<_B> addBrokerDataSetWriterTransportDataType(final Iterable brokerDataSetWriterTransportDataType) { + if (brokerDataSetWriterTransportDataType!= null) { + if (this.brokerDataSetWriterTransportDataType == null) { + this.brokerDataSetWriterTransportDataType = new ArrayList>>(); + } + for (BrokerDataSetWriterTransportDataType _item: brokerDataSetWriterTransportDataType) { + this.brokerDataSetWriterTransportDataType.add(new BrokerDataSetWriterTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerDataSetWriterTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param brokerDataSetWriterTransportDataType + * Neuer Wert der Eigenschaft "brokerDataSetWriterTransportDataType". + */ + public ListOfBrokerDataSetWriterTransportDataType.Builder<_B> withBrokerDataSetWriterTransportDataType(final Iterable brokerDataSetWriterTransportDataType) { + if (this.brokerDataSetWriterTransportDataType!= null) { + this.brokerDataSetWriterTransportDataType.clear(); + } + return addBrokerDataSetWriterTransportDataType(brokerDataSetWriterTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "brokerDataSetWriterTransportDataType" hinzu. + * + * @param brokerDataSetWriterTransportDataType + * Werte, die zur Eigenschaft "brokerDataSetWriterTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerDataSetWriterTransportDataType.Builder<_B> addBrokerDataSetWriterTransportDataType(BrokerDataSetWriterTransportDataType... brokerDataSetWriterTransportDataType) { + addBrokerDataSetWriterTransportDataType(Arrays.asList(brokerDataSetWriterTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerDataSetWriterTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param brokerDataSetWriterTransportDataType + * Neuer Wert der Eigenschaft "brokerDataSetWriterTransportDataType". + */ + public ListOfBrokerDataSetWriterTransportDataType.Builder<_B> withBrokerDataSetWriterTransportDataType(BrokerDataSetWriterTransportDataType... brokerDataSetWriterTransportDataType) { + withBrokerDataSetWriterTransportDataType(Arrays.asList(brokerDataSetWriterTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrokerDataSetWriterTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerDataSetWriterTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrokerDataSetWriterTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerDataSetWriterTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrokerDataSetWriterTransportDataType.Builder> addBrokerDataSetWriterTransportDataType() { + if (this.brokerDataSetWriterTransportDataType == null) { + this.brokerDataSetWriterTransportDataType = new ArrayList>>(); + } + final BrokerDataSetWriterTransportDataType.Builder> brokerDataSetWriterTransportDataType_Builder = new BrokerDataSetWriterTransportDataType.Builder>(this, null, false); + this.brokerDataSetWriterTransportDataType.add(brokerDataSetWriterTransportDataType_Builder); + return brokerDataSetWriterTransportDataType_Builder; + } + + @Override + public ListOfBrokerDataSetWriterTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfBrokerDataSetWriterTransportDataType()); + } else { + return ((ListOfBrokerDataSetWriterTransportDataType) _storedValue); + } + } + + public ListOfBrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetWriterTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrokerDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfBrokerDataSetWriterTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrokerDataSetWriterTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrokerDataSetWriterTransportDataType.Select _root() { + return new ListOfBrokerDataSetWriterTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrokerDataSetWriterTransportDataType.Selector> brokerDataSetWriterTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.brokerDataSetWriterTransportDataType!= null) { + products.put("brokerDataSetWriterTransportDataType", this.brokerDataSetWriterTransportDataType.init()); + } + return products; + } + + public BrokerDataSetWriterTransportDataType.Selector> brokerDataSetWriterTransportDataType() { + return ((this.brokerDataSetWriterTransportDataType == null)?this.brokerDataSetWriterTransportDataType = new BrokerDataSetWriterTransportDataType.Selector>(this._root, this, "brokerDataSetWriterTransportDataType"):this.brokerDataSetWriterTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerTransportQualityOfService.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerTransportQualityOfService.java new file mode 100644 index 000000000..3b9280a6d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerTransportQualityOfService.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrokerTransportQualityOfService complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrokerTransportQualityOfService">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrokerTransportQualityOfService" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerTransportQualityOfService" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrokerTransportQualityOfService", propOrder = { + "brokerTransportQualityOfService" +}) +public class ListOfBrokerTransportQualityOfService { + + @XmlElement(name = "BrokerTransportQualityOfService") + @XmlSchemaType(name = "string") + protected List brokerTransportQualityOfService; + + /** + * Gets the value of the brokerTransportQualityOfService property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the brokerTransportQualityOfService property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrokerTransportQualityOfService().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrokerTransportQualityOfService } + * + * + */ + public List getBrokerTransportQualityOfService() { + if (brokerTransportQualityOfService == null) { + brokerTransportQualityOfService = new ArrayList(); + } + return this.brokerTransportQualityOfService; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerTransportQualityOfService.Builder<_B> _other) { + if (this.brokerTransportQualityOfService == null) { + _other.brokerTransportQualityOfService = null; + } else { + _other.brokerTransportQualityOfService = new ArrayList(); + for (BrokerTransportQualityOfService _item: this.brokerTransportQualityOfService) { + _other.brokerTransportQualityOfService.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfBrokerTransportQualityOfService.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrokerTransportQualityOfService.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrokerTransportQualityOfService.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrokerTransportQualityOfService.Builder builder() { + return new ListOfBrokerTransportQualityOfService.Builder(null, null, false); + } + + public static<_B >ListOfBrokerTransportQualityOfService.Builder<_B> copyOf(final ListOfBrokerTransportQualityOfService _other) { + final ListOfBrokerTransportQualityOfService.Builder<_B> _newBuilder = new ListOfBrokerTransportQualityOfService.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerTransportQualityOfService.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree brokerTransportQualityOfServicePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerTransportQualityOfService")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerTransportQualityOfServicePropertyTree!= null):((brokerTransportQualityOfServicePropertyTree == null)||(!brokerTransportQualityOfServicePropertyTree.isLeaf())))) { + if (this.brokerTransportQualityOfService == null) { + _other.brokerTransportQualityOfService = null; + } else { + _other.brokerTransportQualityOfService = new ArrayList(); + for (BrokerTransportQualityOfService _item: this.brokerTransportQualityOfService) { + _other.brokerTransportQualityOfService.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfBrokerTransportQualityOfService.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrokerTransportQualityOfService.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrokerTransportQualityOfService.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrokerTransportQualityOfService.Builder<_B> copyOf(final ListOfBrokerTransportQualityOfService _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrokerTransportQualityOfService.Builder<_B> _newBuilder = new ListOfBrokerTransportQualityOfService.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrokerTransportQualityOfService.Builder copyExcept(final ListOfBrokerTransportQualityOfService _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrokerTransportQualityOfService.Builder copyOnly(final ListOfBrokerTransportQualityOfService _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrokerTransportQualityOfService _storedValue; + private List brokerTransportQualityOfService; + + public Builder(final _B _parentBuilder, final ListOfBrokerTransportQualityOfService _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.brokerTransportQualityOfService == null) { + this.brokerTransportQualityOfService = null; + } else { + this.brokerTransportQualityOfService = new ArrayList(); + for (BrokerTransportQualityOfService _item: _other.brokerTransportQualityOfService) { + this.brokerTransportQualityOfService.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrokerTransportQualityOfService _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree brokerTransportQualityOfServicePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerTransportQualityOfService")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerTransportQualityOfServicePropertyTree!= null):((brokerTransportQualityOfServicePropertyTree == null)||(!brokerTransportQualityOfServicePropertyTree.isLeaf())))) { + if (_other.brokerTransportQualityOfService == null) { + this.brokerTransportQualityOfService = null; + } else { + this.brokerTransportQualityOfService = new ArrayList(); + for (BrokerTransportQualityOfService _item: _other.brokerTransportQualityOfService) { + this.brokerTransportQualityOfService.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrokerTransportQualityOfService >_P init(final _P _product) { + if (this.brokerTransportQualityOfService!= null) { + final List brokerTransportQualityOfService = new ArrayList(this.brokerTransportQualityOfService.size()); + for (Buildable _item: this.brokerTransportQualityOfService) { + brokerTransportQualityOfService.add(((BrokerTransportQualityOfService) _item.build())); + } + _product.brokerTransportQualityOfService = brokerTransportQualityOfService; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "brokerTransportQualityOfService" hinzu. + * + * @param brokerTransportQualityOfService + * Werte, die zur Eigenschaft "brokerTransportQualityOfService" hinzugefügt werden. + */ + public ListOfBrokerTransportQualityOfService.Builder<_B> addBrokerTransportQualityOfService(final Iterable brokerTransportQualityOfService) { + if (brokerTransportQualityOfService!= null) { + if (this.brokerTransportQualityOfService == null) { + this.brokerTransportQualityOfService = new ArrayList(); + } + for (BrokerTransportQualityOfService _item: brokerTransportQualityOfService) { + this.brokerTransportQualityOfService.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerTransportQualityOfService" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param brokerTransportQualityOfService + * Neuer Wert der Eigenschaft "brokerTransportQualityOfService". + */ + public ListOfBrokerTransportQualityOfService.Builder<_B> withBrokerTransportQualityOfService(final Iterable brokerTransportQualityOfService) { + if (this.brokerTransportQualityOfService!= null) { + this.brokerTransportQualityOfService.clear(); + } + return addBrokerTransportQualityOfService(brokerTransportQualityOfService); + } + + /** + * Fügt Werte zur Eigenschaft "brokerTransportQualityOfService" hinzu. + * + * @param brokerTransportQualityOfService + * Werte, die zur Eigenschaft "brokerTransportQualityOfService" hinzugefügt werden. + */ + public ListOfBrokerTransportQualityOfService.Builder<_B> addBrokerTransportQualityOfService(BrokerTransportQualityOfService... brokerTransportQualityOfService) { + addBrokerTransportQualityOfService(Arrays.asList(brokerTransportQualityOfService)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerTransportQualityOfService" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param brokerTransportQualityOfService + * Neuer Wert der Eigenschaft "brokerTransportQualityOfService". + */ + public ListOfBrokerTransportQualityOfService.Builder<_B> withBrokerTransportQualityOfService(BrokerTransportQualityOfService... brokerTransportQualityOfService) { + withBrokerTransportQualityOfService(Arrays.asList(brokerTransportQualityOfService)); + return this; + } + + @Override + public ListOfBrokerTransportQualityOfService build() { + if (_storedValue == null) { + return this.init(new ListOfBrokerTransportQualityOfService()); + } else { + return ((ListOfBrokerTransportQualityOfService) _storedValue); + } + } + + public ListOfBrokerTransportQualityOfService.Builder<_B> copyOf(final ListOfBrokerTransportQualityOfService _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrokerTransportQualityOfService.Builder<_B> copyOf(final ListOfBrokerTransportQualityOfService.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrokerTransportQualityOfService.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrokerTransportQualityOfService.Select _root() { + return new ListOfBrokerTransportQualityOfService.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> brokerTransportQualityOfService = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.brokerTransportQualityOfService!= null) { + products.put("brokerTransportQualityOfService", this.brokerTransportQualityOfService.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> brokerTransportQualityOfService() { + return ((this.brokerTransportQualityOfService == null)?this.brokerTransportQualityOfService = new com.kscs.util.jaxb.Selector>(this._root, this, "brokerTransportQualityOfService"):this.brokerTransportQualityOfService); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerWriterGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerWriterGroupTransportDataType.java new file mode 100644 index 000000000..0d72f0e32 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrokerWriterGroupTransportDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrokerWriterGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrokerWriterGroupTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrokerWriterGroupTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrokerWriterGroupTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrokerWriterGroupTransportDataType", propOrder = { + "brokerWriterGroupTransportDataType" +}) +public class ListOfBrokerWriterGroupTransportDataType { + + @XmlElement(name = "BrokerWriterGroupTransportDataType", nillable = true) + protected List brokerWriterGroupTransportDataType; + + /** + * Gets the value of the brokerWriterGroupTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the brokerWriterGroupTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrokerWriterGroupTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrokerWriterGroupTransportDataType } + * + * + */ + public List getBrokerWriterGroupTransportDataType() { + if (brokerWriterGroupTransportDataType == null) { + brokerWriterGroupTransportDataType = new ArrayList(); + } + return this.brokerWriterGroupTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerWriterGroupTransportDataType.Builder<_B> _other) { + if (this.brokerWriterGroupTransportDataType == null) { + _other.brokerWriterGroupTransportDataType = null; + } else { + _other.brokerWriterGroupTransportDataType = new ArrayList>>(); + for (BrokerWriterGroupTransportDataType _item: this.brokerWriterGroupTransportDataType) { + _other.brokerWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrokerWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrokerWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrokerWriterGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrokerWriterGroupTransportDataType.Builder builder() { + return new ListOfBrokerWriterGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfBrokerWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfBrokerWriterGroupTransportDataType _other) { + final ListOfBrokerWriterGroupTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrokerWriterGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree brokerWriterGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerWriterGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerWriterGroupTransportDataTypePropertyTree!= null):((brokerWriterGroupTransportDataTypePropertyTree == null)||(!brokerWriterGroupTransportDataTypePropertyTree.isLeaf())))) { + if (this.brokerWriterGroupTransportDataType == null) { + _other.brokerWriterGroupTransportDataType = null; + } else { + _other.brokerWriterGroupTransportDataType = new ArrayList>>(); + for (BrokerWriterGroupTransportDataType _item: this.brokerWriterGroupTransportDataType) { + _other.brokerWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, brokerWriterGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrokerWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrokerWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrokerWriterGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrokerWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfBrokerWriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrokerWriterGroupTransportDataType.Builder<_B> _newBuilder = new ListOfBrokerWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrokerWriterGroupTransportDataType.Builder copyExcept(final ListOfBrokerWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrokerWriterGroupTransportDataType.Builder copyOnly(final ListOfBrokerWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrokerWriterGroupTransportDataType _storedValue; + private List>> brokerWriterGroupTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfBrokerWriterGroupTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.brokerWriterGroupTransportDataType == null) { + this.brokerWriterGroupTransportDataType = null; + } else { + this.brokerWriterGroupTransportDataType = new ArrayList>>(); + for (BrokerWriterGroupTransportDataType _item: _other.brokerWriterGroupTransportDataType) { + this.brokerWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrokerWriterGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree brokerWriterGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("brokerWriterGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(brokerWriterGroupTransportDataTypePropertyTree!= null):((brokerWriterGroupTransportDataTypePropertyTree == null)||(!brokerWriterGroupTransportDataTypePropertyTree.isLeaf())))) { + if (_other.brokerWriterGroupTransportDataType == null) { + this.brokerWriterGroupTransportDataType = null; + } else { + this.brokerWriterGroupTransportDataType = new ArrayList>>(); + for (BrokerWriterGroupTransportDataType _item: _other.brokerWriterGroupTransportDataType) { + this.brokerWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, brokerWriterGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrokerWriterGroupTransportDataType >_P init(final _P _product) { + if (this.brokerWriterGroupTransportDataType!= null) { + final List brokerWriterGroupTransportDataType = new ArrayList(this.brokerWriterGroupTransportDataType.size()); + for (BrokerWriterGroupTransportDataType.Builder> _item: this.brokerWriterGroupTransportDataType) { + brokerWriterGroupTransportDataType.add(_item.build()); + } + _product.brokerWriterGroupTransportDataType = brokerWriterGroupTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "brokerWriterGroupTransportDataType" hinzu. + * + * @param brokerWriterGroupTransportDataType + * Werte, die zur Eigenschaft "brokerWriterGroupTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerWriterGroupTransportDataType.Builder<_B> addBrokerWriterGroupTransportDataType(final Iterable brokerWriterGroupTransportDataType) { + if (brokerWriterGroupTransportDataType!= null) { + if (this.brokerWriterGroupTransportDataType == null) { + this.brokerWriterGroupTransportDataType = new ArrayList>>(); + } + for (BrokerWriterGroupTransportDataType _item: brokerWriterGroupTransportDataType) { + this.brokerWriterGroupTransportDataType.add(new BrokerWriterGroupTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerWriterGroupTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param brokerWriterGroupTransportDataType + * Neuer Wert der Eigenschaft "brokerWriterGroupTransportDataType". + */ + public ListOfBrokerWriterGroupTransportDataType.Builder<_B> withBrokerWriterGroupTransportDataType(final Iterable brokerWriterGroupTransportDataType) { + if (this.brokerWriterGroupTransportDataType!= null) { + this.brokerWriterGroupTransportDataType.clear(); + } + return addBrokerWriterGroupTransportDataType(brokerWriterGroupTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "brokerWriterGroupTransportDataType" hinzu. + * + * @param brokerWriterGroupTransportDataType + * Werte, die zur Eigenschaft "brokerWriterGroupTransportDataType" hinzugefügt + * werden. + */ + public ListOfBrokerWriterGroupTransportDataType.Builder<_B> addBrokerWriterGroupTransportDataType(BrokerWriterGroupTransportDataType... brokerWriterGroupTransportDataType) { + addBrokerWriterGroupTransportDataType(Arrays.asList(brokerWriterGroupTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "brokerWriterGroupTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param brokerWriterGroupTransportDataType + * Neuer Wert der Eigenschaft "brokerWriterGroupTransportDataType". + */ + public ListOfBrokerWriterGroupTransportDataType.Builder<_B> withBrokerWriterGroupTransportDataType(BrokerWriterGroupTransportDataType... brokerWriterGroupTransportDataType) { + withBrokerWriterGroupTransportDataType(Arrays.asList(brokerWriterGroupTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrokerWriterGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerWriterGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrokerWriterGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.BrokerWriterGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrokerWriterGroupTransportDataType.Builder> addBrokerWriterGroupTransportDataType() { + if (this.brokerWriterGroupTransportDataType == null) { + this.brokerWriterGroupTransportDataType = new ArrayList>>(); + } + final BrokerWriterGroupTransportDataType.Builder> brokerWriterGroupTransportDataType_Builder = new BrokerWriterGroupTransportDataType.Builder>(this, null, false); + this.brokerWriterGroupTransportDataType.add(brokerWriterGroupTransportDataType_Builder); + return brokerWriterGroupTransportDataType_Builder; + } + + @Override + public ListOfBrokerWriterGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfBrokerWriterGroupTransportDataType()); + } else { + return ((ListOfBrokerWriterGroupTransportDataType) _storedValue); + } + } + + public ListOfBrokerWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfBrokerWriterGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrokerWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfBrokerWriterGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrokerWriterGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrokerWriterGroupTransportDataType.Select _root() { + return new ListOfBrokerWriterGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrokerWriterGroupTransportDataType.Selector> brokerWriterGroupTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.brokerWriterGroupTransportDataType!= null) { + products.put("brokerWriterGroupTransportDataType", this.brokerWriterGroupTransportDataType.init()); + } + return products; + } + + public BrokerWriterGroupTransportDataType.Selector> brokerWriterGroupTransportDataType() { + return ((this.brokerWriterGroupTransportDataType == null)?this.brokerWriterGroupTransportDataType = new BrokerWriterGroupTransportDataType.Selector>(this._root, this, "brokerWriterGroupTransportDataType"):this.brokerWriterGroupTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseDescription.java new file mode 100644 index 000000000..810a4d231 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseDescription.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrowseDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrowseDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrowseDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrowseDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrowseDescription", propOrder = { + "browseDescription" +}) +public class ListOfBrowseDescription { + + @XmlElement(name = "BrowseDescription", nillable = true) + protected List browseDescription; + + /** + * Gets the value of the browseDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the browseDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrowseDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrowseDescription } + * + * + */ + public List getBrowseDescription() { + if (browseDescription == null) { + browseDescription = new ArrayList(); + } + return this.browseDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowseDescription.Builder<_B> _other) { + if (this.browseDescription == null) { + _other.browseDescription = null; + } else { + _other.browseDescription = new ArrayList>>(); + for (BrowseDescription _item: this.browseDescription) { + _other.browseDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrowseDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrowseDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrowseDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrowseDescription.Builder builder() { + return new ListOfBrowseDescription.Builder(null, null, false); + } + + public static<_B >ListOfBrowseDescription.Builder<_B> copyOf(final ListOfBrowseDescription _other) { + final ListOfBrowseDescription.Builder<_B> _newBuilder = new ListOfBrowseDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowseDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree browseDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseDescriptionPropertyTree!= null):((browseDescriptionPropertyTree == null)||(!browseDescriptionPropertyTree.isLeaf())))) { + if (this.browseDescription == null) { + _other.browseDescription = null; + } else { + _other.browseDescription = new ArrayList>>(); + for (BrowseDescription _item: this.browseDescription) { + _other.browseDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, browseDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrowseDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrowseDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrowseDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrowseDescription.Builder<_B> copyOf(final ListOfBrowseDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrowseDescription.Builder<_B> _newBuilder = new ListOfBrowseDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrowseDescription.Builder copyExcept(final ListOfBrowseDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrowseDescription.Builder copyOnly(final ListOfBrowseDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrowseDescription _storedValue; + private List>> browseDescription; + + public Builder(final _B _parentBuilder, final ListOfBrowseDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.browseDescription == null) { + this.browseDescription = null; + } else { + this.browseDescription = new ArrayList>>(); + for (BrowseDescription _item: _other.browseDescription) { + this.browseDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrowseDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree browseDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseDescriptionPropertyTree!= null):((browseDescriptionPropertyTree == null)||(!browseDescriptionPropertyTree.isLeaf())))) { + if (_other.browseDescription == null) { + this.browseDescription = null; + } else { + this.browseDescription = new ArrayList>>(); + for (BrowseDescription _item: _other.browseDescription) { + this.browseDescription.add(((_item == null)?null:_item.newCopyBuilder(this, browseDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrowseDescription >_P init(final _P _product) { + if (this.browseDescription!= null) { + final List browseDescription = new ArrayList(this.browseDescription.size()); + for (BrowseDescription.Builder> _item: this.browseDescription) { + browseDescription.add(_item.build()); + } + _product.browseDescription = browseDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "browseDescription" hinzu. + * + * @param browseDescription + * Werte, die zur Eigenschaft "browseDescription" hinzugefügt werden. + */ + public ListOfBrowseDescription.Builder<_B> addBrowseDescription(final Iterable browseDescription) { + if (browseDescription!= null) { + if (this.browseDescription == null) { + this.browseDescription = new ArrayList>>(); + } + for (BrowseDescription _item: browseDescription) { + this.browseDescription.add(new BrowseDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param browseDescription + * Neuer Wert der Eigenschaft "browseDescription". + */ + public ListOfBrowseDescription.Builder<_B> withBrowseDescription(final Iterable browseDescription) { + if (this.browseDescription!= null) { + this.browseDescription.clear(); + } + return addBrowseDescription(browseDescription); + } + + /** + * Fügt Werte zur Eigenschaft "browseDescription" hinzu. + * + * @param browseDescription + * Werte, die zur Eigenschaft "browseDescription" hinzugefügt werden. + */ + public ListOfBrowseDescription.Builder<_B> addBrowseDescription(BrowseDescription... browseDescription) { + addBrowseDescription(Arrays.asList(browseDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param browseDescription + * Neuer Wert der Eigenschaft "browseDescription". + */ + public ListOfBrowseDescription.Builder<_B> withBrowseDescription(BrowseDescription... browseDescription) { + withBrowseDescription(Arrays.asList(browseDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrowseDescription". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowseDescription.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrowseDescription". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowseDescription.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrowseDescription.Builder> addBrowseDescription() { + if (this.browseDescription == null) { + this.browseDescription = new ArrayList>>(); + } + final BrowseDescription.Builder> browseDescription_Builder = new BrowseDescription.Builder>(this, null, false); + this.browseDescription.add(browseDescription_Builder); + return browseDescription_Builder; + } + + @Override + public ListOfBrowseDescription build() { + if (_storedValue == null) { + return this.init(new ListOfBrowseDescription()); + } else { + return ((ListOfBrowseDescription) _storedValue); + } + } + + public ListOfBrowseDescription.Builder<_B> copyOf(final ListOfBrowseDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrowseDescription.Builder<_B> copyOf(final ListOfBrowseDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrowseDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrowseDescription.Select _root() { + return new ListOfBrowseDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrowseDescription.Selector> browseDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.browseDescription!= null) { + products.put("browseDescription", this.browseDescription.init()); + } + return products; + } + + public BrowseDescription.Selector> browseDescription() { + return ((this.browseDescription == null)?this.browseDescription = new BrowseDescription.Selector>(this._root, this, "browseDescription"):this.browseDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePath.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePath.java new file mode 100644 index 000000000..930efb468 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePath.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrowsePath complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrowsePath">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrowsePath" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrowsePath" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrowsePath", propOrder = { + "browsePath" +}) +public class ListOfBrowsePath { + + @XmlElement(name = "BrowsePath", nillable = true) + protected List browsePath; + + /** + * Gets the value of the browsePath property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the browsePath property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrowsePath().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrowsePath } + * + * + */ + public List getBrowsePath() { + if (browsePath == null) { + browsePath = new ArrayList(); + } + return this.browsePath; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowsePath.Builder<_B> _other) { + if (this.browsePath == null) { + _other.browsePath = null; + } else { + _other.browsePath = new ArrayList>>(); + for (BrowsePath _item: this.browsePath) { + _other.browsePath.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrowsePath.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrowsePath.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrowsePath.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrowsePath.Builder builder() { + return new ListOfBrowsePath.Builder(null, null, false); + } + + public static<_B >ListOfBrowsePath.Builder<_B> copyOf(final ListOfBrowsePath _other) { + final ListOfBrowsePath.Builder<_B> _newBuilder = new ListOfBrowsePath.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowsePath.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree browsePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathPropertyTree!= null):((browsePathPropertyTree == null)||(!browsePathPropertyTree.isLeaf())))) { + if (this.browsePath == null) { + _other.browsePath = null; + } else { + _other.browsePath = new ArrayList>>(); + for (BrowsePath _item: this.browsePath) { + _other.browsePath.add(((_item == null)?null:_item.newCopyBuilder(_other, browsePathPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrowsePath.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrowsePath.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrowsePath.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrowsePath.Builder<_B> copyOf(final ListOfBrowsePath _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrowsePath.Builder<_B> _newBuilder = new ListOfBrowsePath.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrowsePath.Builder copyExcept(final ListOfBrowsePath _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrowsePath.Builder copyOnly(final ListOfBrowsePath _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrowsePath _storedValue; + private List>> browsePath; + + public Builder(final _B _parentBuilder, final ListOfBrowsePath _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.browsePath == null) { + this.browsePath = null; + } else { + this.browsePath = new ArrayList>>(); + for (BrowsePath _item: _other.browsePath) { + this.browsePath.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrowsePath _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree browsePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathPropertyTree!= null):((browsePathPropertyTree == null)||(!browsePathPropertyTree.isLeaf())))) { + if (_other.browsePath == null) { + this.browsePath = null; + } else { + this.browsePath = new ArrayList>>(); + for (BrowsePath _item: _other.browsePath) { + this.browsePath.add(((_item == null)?null:_item.newCopyBuilder(this, browsePathPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrowsePath >_P init(final _P _product) { + if (this.browsePath!= null) { + final List browsePath = new ArrayList(this.browsePath.size()); + for (BrowsePath.Builder> _item: this.browsePath) { + browsePath.add(_item.build()); + } + _product.browsePath = browsePath; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "browsePath" hinzu. + * + * @param browsePath + * Werte, die zur Eigenschaft "browsePath" hinzugefügt werden. + */ + public ListOfBrowsePath.Builder<_B> addBrowsePath(final Iterable browsePath) { + if (browsePath!= null) { + if (this.browsePath == null) { + this.browsePath = new ArrayList>>(); + } + for (BrowsePath _item: browsePath) { + this.browsePath.add(new BrowsePath.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePath" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browsePath + * Neuer Wert der Eigenschaft "browsePath". + */ + public ListOfBrowsePath.Builder<_B> withBrowsePath(final Iterable browsePath) { + if (this.browsePath!= null) { + this.browsePath.clear(); + } + return addBrowsePath(browsePath); + } + + /** + * Fügt Werte zur Eigenschaft "browsePath" hinzu. + * + * @param browsePath + * Werte, die zur Eigenschaft "browsePath" hinzugefügt werden. + */ + public ListOfBrowsePath.Builder<_B> addBrowsePath(BrowsePath... browsePath) { + addBrowsePath(Arrays.asList(browsePath)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePath" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browsePath + * Neuer Wert der Eigenschaft "browsePath". + */ + public ListOfBrowsePath.Builder<_B> withBrowsePath(BrowsePath... browsePath) { + withBrowsePath(Arrays.asList(browsePath)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrowsePath". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowsePath.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrowsePath". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowsePath.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public BrowsePath.Builder> addBrowsePath() { + if (this.browsePath == null) { + this.browsePath = new ArrayList>>(); + } + final BrowsePath.Builder> browsePath_Builder = new BrowsePath.Builder>(this, null, false); + this.browsePath.add(browsePath_Builder); + return browsePath_Builder; + } + + @Override + public ListOfBrowsePath build() { + if (_storedValue == null) { + return this.init(new ListOfBrowsePath()); + } else { + return ((ListOfBrowsePath) _storedValue); + } + } + + public ListOfBrowsePath.Builder<_B> copyOf(final ListOfBrowsePath _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrowsePath.Builder<_B> copyOf(final ListOfBrowsePath.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrowsePath.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrowsePath.Select _root() { + return new ListOfBrowsePath.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrowsePath.Selector> browsePath = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.browsePath!= null) { + products.put("browsePath", this.browsePath.init()); + } + return products; + } + + public BrowsePath.Selector> browsePath() { + return ((this.browsePath == null)?this.browsePath = new BrowsePath.Selector>(this._root, this, "browsePath"):this.browsePath); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathResult.java new file mode 100644 index 000000000..7a7af5bf0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrowsePathResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrowsePathResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrowsePathResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrowsePathResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrowsePathResult", propOrder = { + "browsePathResult" +}) +public class ListOfBrowsePathResult { + + @XmlElement(name = "BrowsePathResult", nillable = true) + protected List browsePathResult; + + /** + * Gets the value of the browsePathResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the browsePathResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrowsePathResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrowsePathResult } + * + * + */ + public List getBrowsePathResult() { + if (browsePathResult == null) { + browsePathResult = new ArrayList(); + } + return this.browsePathResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowsePathResult.Builder<_B> _other) { + if (this.browsePathResult == null) { + _other.browsePathResult = null; + } else { + _other.browsePathResult = new ArrayList>>(); + for (BrowsePathResult _item: this.browsePathResult) { + _other.browsePathResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrowsePathResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrowsePathResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrowsePathResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrowsePathResult.Builder builder() { + return new ListOfBrowsePathResult.Builder(null, null, false); + } + + public static<_B >ListOfBrowsePathResult.Builder<_B> copyOf(final ListOfBrowsePathResult _other) { + final ListOfBrowsePathResult.Builder<_B> _newBuilder = new ListOfBrowsePathResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowsePathResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree browsePathResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePathResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathResultPropertyTree!= null):((browsePathResultPropertyTree == null)||(!browsePathResultPropertyTree.isLeaf())))) { + if (this.browsePathResult == null) { + _other.browsePathResult = null; + } else { + _other.browsePathResult = new ArrayList>>(); + for (BrowsePathResult _item: this.browsePathResult) { + _other.browsePathResult.add(((_item == null)?null:_item.newCopyBuilder(_other, browsePathResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrowsePathResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrowsePathResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrowsePathResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrowsePathResult.Builder<_B> copyOf(final ListOfBrowsePathResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrowsePathResult.Builder<_B> _newBuilder = new ListOfBrowsePathResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrowsePathResult.Builder copyExcept(final ListOfBrowsePathResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrowsePathResult.Builder copyOnly(final ListOfBrowsePathResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrowsePathResult _storedValue; + private List>> browsePathResult; + + public Builder(final _B _parentBuilder, final ListOfBrowsePathResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.browsePathResult == null) { + this.browsePathResult = null; + } else { + this.browsePathResult = new ArrayList>>(); + for (BrowsePathResult _item: _other.browsePathResult) { + this.browsePathResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrowsePathResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree browsePathResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePathResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathResultPropertyTree!= null):((browsePathResultPropertyTree == null)||(!browsePathResultPropertyTree.isLeaf())))) { + if (_other.browsePathResult == null) { + this.browsePathResult = null; + } else { + this.browsePathResult = new ArrayList>>(); + for (BrowsePathResult _item: _other.browsePathResult) { + this.browsePathResult.add(((_item == null)?null:_item.newCopyBuilder(this, browsePathResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrowsePathResult >_P init(final _P _product) { + if (this.browsePathResult!= null) { + final List browsePathResult = new ArrayList(this.browsePathResult.size()); + for (BrowsePathResult.Builder> _item: this.browsePathResult) { + browsePathResult.add(_item.build()); + } + _product.browsePathResult = browsePathResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "browsePathResult" hinzu. + * + * @param browsePathResult + * Werte, die zur Eigenschaft "browsePathResult" hinzugefügt werden. + */ + public ListOfBrowsePathResult.Builder<_B> addBrowsePathResult(final Iterable browsePathResult) { + if (browsePathResult!= null) { + if (this.browsePathResult == null) { + this.browsePathResult = new ArrayList>>(); + } + for (BrowsePathResult _item: browsePathResult) { + this.browsePathResult.add(new BrowsePathResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePathResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param browsePathResult + * Neuer Wert der Eigenschaft "browsePathResult". + */ + public ListOfBrowsePathResult.Builder<_B> withBrowsePathResult(final Iterable browsePathResult) { + if (this.browsePathResult!= null) { + this.browsePathResult.clear(); + } + return addBrowsePathResult(browsePathResult); + } + + /** + * Fügt Werte zur Eigenschaft "browsePathResult" hinzu. + * + * @param browsePathResult + * Werte, die zur Eigenschaft "browsePathResult" hinzugefügt werden. + */ + public ListOfBrowsePathResult.Builder<_B> addBrowsePathResult(BrowsePathResult... browsePathResult) { + addBrowsePathResult(Arrays.asList(browsePathResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePathResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param browsePathResult + * Neuer Wert der Eigenschaft "browsePathResult". + */ + public ListOfBrowsePathResult.Builder<_B> withBrowsePathResult(BrowsePathResult... browsePathResult) { + withBrowsePathResult(Arrays.asList(browsePathResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrowsePathResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowsePathResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrowsePathResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowsePathResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrowsePathResult.Builder> addBrowsePathResult() { + if (this.browsePathResult == null) { + this.browsePathResult = new ArrayList>>(); + } + final BrowsePathResult.Builder> browsePathResult_Builder = new BrowsePathResult.Builder>(this, null, false); + this.browsePathResult.add(browsePathResult_Builder); + return browsePathResult_Builder; + } + + @Override + public ListOfBrowsePathResult build() { + if (_storedValue == null) { + return this.init(new ListOfBrowsePathResult()); + } else { + return ((ListOfBrowsePathResult) _storedValue); + } + } + + public ListOfBrowsePathResult.Builder<_B> copyOf(final ListOfBrowsePathResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrowsePathResult.Builder<_B> copyOf(final ListOfBrowsePathResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrowsePathResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrowsePathResult.Select _root() { + return new ListOfBrowsePathResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrowsePathResult.Selector> browsePathResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.browsePathResult!= null) { + products.put("browsePathResult", this.browsePathResult.init()); + } + return products; + } + + public BrowsePathResult.Selector> browsePathResult() { + return ((this.browsePathResult == null)?this.browsePathResult = new BrowsePathResult.Selector>(this._root, this, "browsePathResult"):this.browsePathResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathTarget.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathTarget.java new file mode 100644 index 000000000..e0eea84a4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowsePathTarget.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrowsePathTarget complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrowsePathTarget">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrowsePathTarget" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrowsePathTarget" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrowsePathTarget", propOrder = { + "browsePathTarget" +}) +public class ListOfBrowsePathTarget { + + @XmlElement(name = "BrowsePathTarget", nillable = true) + protected List browsePathTarget; + + /** + * Gets the value of the browsePathTarget property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the browsePathTarget property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrowsePathTarget().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrowsePathTarget } + * + * + */ + public List getBrowsePathTarget() { + if (browsePathTarget == null) { + browsePathTarget = new ArrayList(); + } + return this.browsePathTarget; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowsePathTarget.Builder<_B> _other) { + if (this.browsePathTarget == null) { + _other.browsePathTarget = null; + } else { + _other.browsePathTarget = new ArrayList>>(); + for (BrowsePathTarget _item: this.browsePathTarget) { + _other.browsePathTarget.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrowsePathTarget.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrowsePathTarget.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrowsePathTarget.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrowsePathTarget.Builder builder() { + return new ListOfBrowsePathTarget.Builder(null, null, false); + } + + public static<_B >ListOfBrowsePathTarget.Builder<_B> copyOf(final ListOfBrowsePathTarget _other) { + final ListOfBrowsePathTarget.Builder<_B> _newBuilder = new ListOfBrowsePathTarget.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowsePathTarget.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree browsePathTargetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePathTarget")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathTargetPropertyTree!= null):((browsePathTargetPropertyTree == null)||(!browsePathTargetPropertyTree.isLeaf())))) { + if (this.browsePathTarget == null) { + _other.browsePathTarget = null; + } else { + _other.browsePathTarget = new ArrayList>>(); + for (BrowsePathTarget _item: this.browsePathTarget) { + _other.browsePathTarget.add(((_item == null)?null:_item.newCopyBuilder(_other, browsePathTargetPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrowsePathTarget.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrowsePathTarget.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrowsePathTarget.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrowsePathTarget.Builder<_B> copyOf(final ListOfBrowsePathTarget _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrowsePathTarget.Builder<_B> _newBuilder = new ListOfBrowsePathTarget.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrowsePathTarget.Builder copyExcept(final ListOfBrowsePathTarget _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrowsePathTarget.Builder copyOnly(final ListOfBrowsePathTarget _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrowsePathTarget _storedValue; + private List>> browsePathTarget; + + public Builder(final _B _parentBuilder, final ListOfBrowsePathTarget _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.browsePathTarget == null) { + this.browsePathTarget = null; + } else { + this.browsePathTarget = new ArrayList>>(); + for (BrowsePathTarget _item: _other.browsePathTarget) { + this.browsePathTarget.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrowsePathTarget _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree browsePathTargetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePathTarget")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathTargetPropertyTree!= null):((browsePathTargetPropertyTree == null)||(!browsePathTargetPropertyTree.isLeaf())))) { + if (_other.browsePathTarget == null) { + this.browsePathTarget = null; + } else { + this.browsePathTarget = new ArrayList>>(); + for (BrowsePathTarget _item: _other.browsePathTarget) { + this.browsePathTarget.add(((_item == null)?null:_item.newCopyBuilder(this, browsePathTargetPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrowsePathTarget >_P init(final _P _product) { + if (this.browsePathTarget!= null) { + final List browsePathTarget = new ArrayList(this.browsePathTarget.size()); + for (BrowsePathTarget.Builder> _item: this.browsePathTarget) { + browsePathTarget.add(_item.build()); + } + _product.browsePathTarget = browsePathTarget; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "browsePathTarget" hinzu. + * + * @param browsePathTarget + * Werte, die zur Eigenschaft "browsePathTarget" hinzugefügt werden. + */ + public ListOfBrowsePathTarget.Builder<_B> addBrowsePathTarget(final Iterable browsePathTarget) { + if (browsePathTarget!= null) { + if (this.browsePathTarget == null) { + this.browsePathTarget = new ArrayList>>(); + } + for (BrowsePathTarget _item: browsePathTarget) { + this.browsePathTarget.add(new BrowsePathTarget.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePathTarget" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param browsePathTarget + * Neuer Wert der Eigenschaft "browsePathTarget". + */ + public ListOfBrowsePathTarget.Builder<_B> withBrowsePathTarget(final Iterable browsePathTarget) { + if (this.browsePathTarget!= null) { + this.browsePathTarget.clear(); + } + return addBrowsePathTarget(browsePathTarget); + } + + /** + * Fügt Werte zur Eigenschaft "browsePathTarget" hinzu. + * + * @param browsePathTarget + * Werte, die zur Eigenschaft "browsePathTarget" hinzugefügt werden. + */ + public ListOfBrowsePathTarget.Builder<_B> addBrowsePathTarget(BrowsePathTarget... browsePathTarget) { + addBrowsePathTarget(Arrays.asList(browsePathTarget)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePathTarget" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param browsePathTarget + * Neuer Wert der Eigenschaft "browsePathTarget". + */ + public ListOfBrowsePathTarget.Builder<_B> withBrowsePathTarget(BrowsePathTarget... browsePathTarget) { + withBrowsePathTarget(Arrays.asList(browsePathTarget)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrowsePathTarget". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowsePathTarget.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrowsePathTarget". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowsePathTarget.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public BrowsePathTarget.Builder> addBrowsePathTarget() { + if (this.browsePathTarget == null) { + this.browsePathTarget = new ArrayList>>(); + } + final BrowsePathTarget.Builder> browsePathTarget_Builder = new BrowsePathTarget.Builder>(this, null, false); + this.browsePathTarget.add(browsePathTarget_Builder); + return browsePathTarget_Builder; + } + + @Override + public ListOfBrowsePathTarget build() { + if (_storedValue == null) { + return this.init(new ListOfBrowsePathTarget()); + } else { + return ((ListOfBrowsePathTarget) _storedValue); + } + } + + public ListOfBrowsePathTarget.Builder<_B> copyOf(final ListOfBrowsePathTarget _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrowsePathTarget.Builder<_B> copyOf(final ListOfBrowsePathTarget.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrowsePathTarget.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrowsePathTarget.Select _root() { + return new ListOfBrowsePathTarget.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrowsePathTarget.Selector> browsePathTarget = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.browsePathTarget!= null) { + products.put("browsePathTarget", this.browsePathTarget.init()); + } + return products; + } + + public BrowsePathTarget.Selector> browsePathTarget() { + return ((this.browsePathTarget == null)?this.browsePathTarget = new BrowsePathTarget.Selector>(this._root, this, "browsePathTarget"):this.browsePathTarget); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseResult.java new file mode 100644 index 000000000..1ab7248aa --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfBrowseResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfBrowseResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfBrowseResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BrowseResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BrowseResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfBrowseResult", propOrder = { + "browseResult" +}) +public class ListOfBrowseResult { + + @XmlElement(name = "BrowseResult", nillable = true) + protected List browseResult; + + /** + * Gets the value of the browseResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the browseResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBrowseResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BrowseResult } + * + * + */ + public List getBrowseResult() { + if (browseResult == null) { + browseResult = new ArrayList(); + } + return this.browseResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowseResult.Builder<_B> _other) { + if (this.browseResult == null) { + _other.browseResult = null; + } else { + _other.browseResult = new ArrayList>>(); + for (BrowseResult _item: this.browseResult) { + _other.browseResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfBrowseResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfBrowseResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfBrowseResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfBrowseResult.Builder builder() { + return new ListOfBrowseResult.Builder(null, null, false); + } + + public static<_B >ListOfBrowseResult.Builder<_B> copyOf(final ListOfBrowseResult _other) { + final ListOfBrowseResult.Builder<_B> _newBuilder = new ListOfBrowseResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfBrowseResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree browseResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseResultPropertyTree!= null):((browseResultPropertyTree == null)||(!browseResultPropertyTree.isLeaf())))) { + if (this.browseResult == null) { + _other.browseResult = null; + } else { + _other.browseResult = new ArrayList>>(); + for (BrowseResult _item: this.browseResult) { + _other.browseResult.add(((_item == null)?null:_item.newCopyBuilder(_other, browseResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfBrowseResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfBrowseResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfBrowseResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfBrowseResult.Builder<_B> copyOf(final ListOfBrowseResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfBrowseResult.Builder<_B> _newBuilder = new ListOfBrowseResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfBrowseResult.Builder copyExcept(final ListOfBrowseResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfBrowseResult.Builder copyOnly(final ListOfBrowseResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfBrowseResult _storedValue; + private List>> browseResult; + + public Builder(final _B _parentBuilder, final ListOfBrowseResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.browseResult == null) { + this.browseResult = null; + } else { + this.browseResult = new ArrayList>>(); + for (BrowseResult _item: _other.browseResult) { + this.browseResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfBrowseResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree browseResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseResultPropertyTree!= null):((browseResultPropertyTree == null)||(!browseResultPropertyTree.isLeaf())))) { + if (_other.browseResult == null) { + this.browseResult = null; + } else { + this.browseResult = new ArrayList>>(); + for (BrowseResult _item: _other.browseResult) { + this.browseResult.add(((_item == null)?null:_item.newCopyBuilder(this, browseResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfBrowseResult >_P init(final _P _product) { + if (this.browseResult!= null) { + final List browseResult = new ArrayList(this.browseResult.size()); + for (BrowseResult.Builder> _item: this.browseResult) { + browseResult.add(_item.build()); + } + _product.browseResult = browseResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "browseResult" hinzu. + * + * @param browseResult + * Werte, die zur Eigenschaft "browseResult" hinzugefügt werden. + */ + public ListOfBrowseResult.Builder<_B> addBrowseResult(final Iterable browseResult) { + if (browseResult!= null) { + if (this.browseResult == null) { + this.browseResult = new ArrayList>>(); + } + for (BrowseResult _item: browseResult) { + this.browseResult.add(new BrowseResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param browseResult + * Neuer Wert der Eigenschaft "browseResult". + */ + public ListOfBrowseResult.Builder<_B> withBrowseResult(final Iterable browseResult) { + if (this.browseResult!= null) { + this.browseResult.clear(); + } + return addBrowseResult(browseResult); + } + + /** + * Fügt Werte zur Eigenschaft "browseResult" hinzu. + * + * @param browseResult + * Werte, die zur Eigenschaft "browseResult" hinzugefügt werden. + */ + public ListOfBrowseResult.Builder<_B> addBrowseResult(BrowseResult... browseResult) { + addBrowseResult(Arrays.asList(browseResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param browseResult + * Neuer Wert der Eigenschaft "browseResult". + */ + public ListOfBrowseResult.Builder<_B> withBrowseResult(BrowseResult... browseResult) { + withBrowseResult(Arrays.asList(browseResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "BrowseResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowseResult.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "BrowseResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.BrowseResult.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public BrowseResult.Builder> addBrowseResult() { + if (this.browseResult == null) { + this.browseResult = new ArrayList>>(); + } + final BrowseResult.Builder> browseResult_Builder = new BrowseResult.Builder>(this, null, false); + this.browseResult.add(browseResult_Builder); + return browseResult_Builder; + } + + @Override + public ListOfBrowseResult build() { + if (_storedValue == null) { + return this.init(new ListOfBrowseResult()); + } else { + return ((ListOfBrowseResult) _storedValue); + } + } + + public ListOfBrowseResult.Builder<_B> copyOf(final ListOfBrowseResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfBrowseResult.Builder<_B> copyOf(final ListOfBrowseResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfBrowseResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfBrowseResult.Select _root() { + return new ListOfBrowseResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private BrowseResult.Selector> browseResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.browseResult!= null) { + products.put("browseResult", this.browseResult.init()); + } + return products; + } + + public BrowseResult.Selector> browseResult() { + return ((this.browseResult == null)?this.browseResult = new BrowseResult.Selector>(this._root, this, "browseResult"):this.browseResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByte.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByte.java new file mode 100644 index 000000000..5aa2dd6e9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByte.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfByte complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfByte">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Byte" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfByte", propOrder = { + "_byte" +}) +public class ListOfByte { + + @XmlElement(name = "Byte", type = Short.class) + @XmlSchemaType(name = "unsignedByte") + protected List _byte; + + /** + * Gets the value of the byte property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the byte property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getByte().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Short } + * + * + */ + public List getByte() { + if (_byte == null) { + _byte = new ArrayList(); + } + return this._byte; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfByte.Builder<_B> _other) { + if (this._byte == null) { + _other._byte = null; + } else { + _other._byte = new ArrayList(); + for (Short _item: this._byte) { + _other._byte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfByte.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfByte.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfByte.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfByte.Builder builder() { + return new ListOfByte.Builder(null, null, false); + } + + public static<_B >ListOfByte.Builder<_B> copyOf(final ListOfByte _other) { + final ListOfByte.Builder<_B> _newBuilder = new ListOfByte.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfByte.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree _bytePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_byte")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_bytePropertyTree!= null):((_bytePropertyTree == null)||(!_bytePropertyTree.isLeaf())))) { + if (this._byte == null) { + _other._byte = null; + } else { + _other._byte = new ArrayList(); + for (Short _item: this._byte) { + _other._byte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfByte.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfByte.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfByte.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfByte.Builder<_B> copyOf(final ListOfByte _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfByte.Builder<_B> _newBuilder = new ListOfByte.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfByte.Builder copyExcept(final ListOfByte _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfByte.Builder copyOnly(final ListOfByte _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfByte _storedValue; + private List _byte; + + public Builder(final _B _parentBuilder, final ListOfByte _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other._byte == null) { + this._byte = null; + } else { + this._byte = new ArrayList(); + for (Short _item: _other._byte) { + this._byte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfByte _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree _bytePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_byte")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_bytePropertyTree!= null):((_bytePropertyTree == null)||(!_bytePropertyTree.isLeaf())))) { + if (_other._byte == null) { + this._byte = null; + } else { + this._byte = new ArrayList(); + for (Short _item: _other._byte) { + this._byte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfByte >_P init(final _P _product) { + if (this._byte!= null) { + final List _byte = new ArrayList(this._byte.size()); + for (Buildable _item: this._byte) { + _byte.add(((Short) _item.build())); + } + _product._byte = _byte; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "_byte" hinzu. + * + * @param _byte + * Werte, die zur Eigenschaft "_byte" hinzugefügt werden. + */ + public ListOfByte.Builder<_B> addByte(final Iterable _byte) { + if (_byte!= null) { + if (this._byte == null) { + this._byte = new ArrayList(); + } + for (Short _item: _byte) { + this._byte.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_byte" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _byte + * Neuer Wert der Eigenschaft "_byte". + */ + public ListOfByte.Builder<_B> withByte(final Iterable _byte) { + if (this._byte!= null) { + this._byte.clear(); + } + return addByte(_byte); + } + + /** + * Fügt Werte zur Eigenschaft "_byte" hinzu. + * + * @param _byte + * Werte, die zur Eigenschaft "_byte" hinzugefügt werden. + */ + public ListOfByte.Builder<_B> addByte(Short... _byte) { + addByte(Arrays.asList(_byte)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_byte" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _byte + * Neuer Wert der Eigenschaft "_byte". + */ + public ListOfByte.Builder<_B> withByte(Short... _byte) { + withByte(Arrays.asList(_byte)); + return this; + } + + @Override + public ListOfByte build() { + if (_storedValue == null) { + return this.init(new ListOfByte()); + } else { + return ((ListOfByte) _storedValue); + } + } + + public ListOfByte.Builder<_B> copyOf(final ListOfByte _other) { + _other.copyTo(this); + return this; + } + + public ListOfByte.Builder<_B> copyOf(final ListOfByte.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfByte.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfByte.Select _root() { + return new ListOfByte.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> _byte = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this._byte!= null) { + products.put("_byte", this._byte.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> _byte() { + return ((this._byte == null)?this._byte = new com.kscs.util.jaxb.Selector>(this._root, this, "_byte"):this._byte); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByteString.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByteString.java new file mode 100644 index 000000000..4290b9ee3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfByteString.java @@ -0,0 +1,343 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfByteString complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfByteString">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ByteString" type="{http://www.w3.org/2001/XMLSchema}base64Binary" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfByteString", propOrder = { + "byteString" +}) +public class ListOfByteString { + + @XmlElement(name = "ByteString", nillable = true) + protected List byteString; + + /** + * Gets the value of the byteString property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the byteString property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getByteString().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * byte[] + * + */ + public List getByteString() { + if (byteString == null) { + byteString = new ArrayList(); + } + return this.byteString; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfByteString.Builder<_B> _other) { + if (this.byteString == null) { + _other.byteString = null; + } else { + _other.byteString = new ArrayList(); + for (byte[] _item: this.byteString) { + _other.byteString.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfByteString.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfByteString.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfByteString.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfByteString.Builder builder() { + return new ListOfByteString.Builder(null, null, false); + } + + public static<_B >ListOfByteString.Builder<_B> copyOf(final ListOfByteString _other) { + final ListOfByteString.Builder<_B> _newBuilder = new ListOfByteString.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfByteString.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree byteStringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("byteString")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(byteStringPropertyTree!= null):((byteStringPropertyTree == null)||(!byteStringPropertyTree.isLeaf())))) { + if (this.byteString == null) { + _other.byteString = null; + } else { + _other.byteString = new ArrayList(); + for (byte[] _item: this.byteString) { + _other.byteString.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfByteString.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfByteString.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfByteString.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfByteString.Builder<_B> copyOf(final ListOfByteString _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfByteString.Builder<_B> _newBuilder = new ListOfByteString.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfByteString.Builder copyExcept(final ListOfByteString _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfByteString.Builder copyOnly(final ListOfByteString _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfByteString _storedValue; + private List byteString; + + public Builder(final _B _parentBuilder, final ListOfByteString _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.byteString == null) { + this.byteString = null; + } else { + this.byteString = new ArrayList(); + for (byte[] _item: _other.byteString) { + this.byteString.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfByteString _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree byteStringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("byteString")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(byteStringPropertyTree!= null):((byteStringPropertyTree == null)||(!byteStringPropertyTree.isLeaf())))) { + if (_other.byteString == null) { + this.byteString = null; + } else { + this.byteString = new ArrayList(); + for (byte[] _item: _other.byteString) { + this.byteString.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfByteString >_P init(final _P _product) { + if (this.byteString!= null) { + final List byteString = new ArrayList(this.byteString.size()); + for (Buildable _item: this.byteString) { + byteString.add(((byte[]) _item.build())); + } + _product.byteString = byteString; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "byteString" hinzu. + * + * @param byteString + * Werte, die zur Eigenschaft "byteString" hinzugefügt werden. + */ + public ListOfByteString.Builder<_B> addByteString(final Iterable byteString) { + if (byteString!= null) { + if (this.byteString == null) { + this.byteString = new ArrayList(); + } + for (byte[] _item: byteString) { + this.byteString.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "byteString" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param byteString + * Neuer Wert der Eigenschaft "byteString". + */ + public ListOfByteString.Builder<_B> withByteString(final Iterable byteString) { + if (this.byteString!= null) { + this.byteString.clear(); + } + return addByteString(byteString); + } + + /** + * Fügt Werte zur Eigenschaft "byteString" hinzu. + * + * @param byteString + * Werte, die zur Eigenschaft "byteString" hinzugefügt werden. + */ + public ListOfByteString.Builder<_B> addByteString(byte[]... byteString) { + addByteString(Arrays.asList(byteString)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "byteString" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param byteString + * Neuer Wert der Eigenschaft "byteString". + */ + public ListOfByteString.Builder<_B> withByteString(byte[]... byteString) { + withByteString(Arrays.asList(byteString)); + return this; + } + + @Override + public ListOfByteString build() { + if (_storedValue == null) { + return this.init(new ListOfByteString()); + } else { + return ((ListOfByteString) _storedValue); + } + } + + public ListOfByteString.Builder<_B> copyOf(final ListOfByteString _other) { + _other.copyTo(this); + return this; + } + + public ListOfByteString.Builder<_B> copyOf(final ListOfByteString.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfByteString.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfByteString.Select _root() { + return new ListOfByteString.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> byteString = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.byteString!= null) { + products.put("byteString", this.byteString.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> byteString() { + return ((this.byteString == null)?this.byteString = new com.kscs.util.jaxb.Selector>(this._root, this, "byteString"):this.byteString); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodRequest.java new file mode 100644 index 000000000..9ac8a93c2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodRequest.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfCallMethodRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfCallMethodRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CallMethodRequest" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}CallMethodRequest" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfCallMethodRequest", propOrder = { + "callMethodRequest" +}) +public class ListOfCallMethodRequest { + + @XmlElement(name = "CallMethodRequest", nillable = true) + protected List callMethodRequest; + + /** + * Gets the value of the callMethodRequest property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the callMethodRequest property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCallMethodRequest().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CallMethodRequest } + * + * + */ + public List getCallMethodRequest() { + if (callMethodRequest == null) { + callMethodRequest = new ArrayList(); + } + return this.callMethodRequest; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCallMethodRequest.Builder<_B> _other) { + if (this.callMethodRequest == null) { + _other.callMethodRequest = null; + } else { + _other.callMethodRequest = new ArrayList>>(); + for (CallMethodRequest _item: this.callMethodRequest) { + _other.callMethodRequest.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfCallMethodRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfCallMethodRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfCallMethodRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfCallMethodRequest.Builder builder() { + return new ListOfCallMethodRequest.Builder(null, null, false); + } + + public static<_B >ListOfCallMethodRequest.Builder<_B> copyOf(final ListOfCallMethodRequest _other) { + final ListOfCallMethodRequest.Builder<_B> _newBuilder = new ListOfCallMethodRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCallMethodRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree callMethodRequestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("callMethodRequest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(callMethodRequestPropertyTree!= null):((callMethodRequestPropertyTree == null)||(!callMethodRequestPropertyTree.isLeaf())))) { + if (this.callMethodRequest == null) { + _other.callMethodRequest = null; + } else { + _other.callMethodRequest = new ArrayList>>(); + for (CallMethodRequest _item: this.callMethodRequest) { + _other.callMethodRequest.add(((_item == null)?null:_item.newCopyBuilder(_other, callMethodRequestPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfCallMethodRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfCallMethodRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfCallMethodRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfCallMethodRequest.Builder<_B> copyOf(final ListOfCallMethodRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfCallMethodRequest.Builder<_B> _newBuilder = new ListOfCallMethodRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfCallMethodRequest.Builder copyExcept(final ListOfCallMethodRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfCallMethodRequest.Builder copyOnly(final ListOfCallMethodRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfCallMethodRequest _storedValue; + private List>> callMethodRequest; + + public Builder(final _B _parentBuilder, final ListOfCallMethodRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.callMethodRequest == null) { + this.callMethodRequest = null; + } else { + this.callMethodRequest = new ArrayList>>(); + for (CallMethodRequest _item: _other.callMethodRequest) { + this.callMethodRequest.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfCallMethodRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree callMethodRequestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("callMethodRequest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(callMethodRequestPropertyTree!= null):((callMethodRequestPropertyTree == null)||(!callMethodRequestPropertyTree.isLeaf())))) { + if (_other.callMethodRequest == null) { + this.callMethodRequest = null; + } else { + this.callMethodRequest = new ArrayList>>(); + for (CallMethodRequest _item: _other.callMethodRequest) { + this.callMethodRequest.add(((_item == null)?null:_item.newCopyBuilder(this, callMethodRequestPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfCallMethodRequest >_P init(final _P _product) { + if (this.callMethodRequest!= null) { + final List callMethodRequest = new ArrayList(this.callMethodRequest.size()); + for (CallMethodRequest.Builder> _item: this.callMethodRequest) { + callMethodRequest.add(_item.build()); + } + _product.callMethodRequest = callMethodRequest; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "callMethodRequest" hinzu. + * + * @param callMethodRequest + * Werte, die zur Eigenschaft "callMethodRequest" hinzugefügt werden. + */ + public ListOfCallMethodRequest.Builder<_B> addCallMethodRequest(final Iterable callMethodRequest) { + if (callMethodRequest!= null) { + if (this.callMethodRequest == null) { + this.callMethodRequest = new ArrayList>>(); + } + for (CallMethodRequest _item: callMethodRequest) { + this.callMethodRequest.add(new CallMethodRequest.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "callMethodRequest" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param callMethodRequest + * Neuer Wert der Eigenschaft "callMethodRequest". + */ + public ListOfCallMethodRequest.Builder<_B> withCallMethodRequest(final Iterable callMethodRequest) { + if (this.callMethodRequest!= null) { + this.callMethodRequest.clear(); + } + return addCallMethodRequest(callMethodRequest); + } + + /** + * Fügt Werte zur Eigenschaft "callMethodRequest" hinzu. + * + * @param callMethodRequest + * Werte, die zur Eigenschaft "callMethodRequest" hinzugefügt werden. + */ + public ListOfCallMethodRequest.Builder<_B> addCallMethodRequest(CallMethodRequest... callMethodRequest) { + addCallMethodRequest(Arrays.asList(callMethodRequest)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "callMethodRequest" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param callMethodRequest + * Neuer Wert der Eigenschaft "callMethodRequest". + */ + public ListOfCallMethodRequest.Builder<_B> withCallMethodRequest(CallMethodRequest... callMethodRequest) { + withCallMethodRequest(Arrays.asList(callMethodRequest)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "CallMethodRequest". + * Mit {@link org.opcfoundation.ua._2008._02.types.CallMethodRequest.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "CallMethodRequest". + * Mit {@link org.opcfoundation.ua._2008._02.types.CallMethodRequest.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public CallMethodRequest.Builder> addCallMethodRequest() { + if (this.callMethodRequest == null) { + this.callMethodRequest = new ArrayList>>(); + } + final CallMethodRequest.Builder> callMethodRequest_Builder = new CallMethodRequest.Builder>(this, null, false); + this.callMethodRequest.add(callMethodRequest_Builder); + return callMethodRequest_Builder; + } + + @Override + public ListOfCallMethodRequest build() { + if (_storedValue == null) { + return this.init(new ListOfCallMethodRequest()); + } else { + return ((ListOfCallMethodRequest) _storedValue); + } + } + + public ListOfCallMethodRequest.Builder<_B> copyOf(final ListOfCallMethodRequest _other) { + _other.copyTo(this); + return this; + } + + public ListOfCallMethodRequest.Builder<_B> copyOf(final ListOfCallMethodRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfCallMethodRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfCallMethodRequest.Select _root() { + return new ListOfCallMethodRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private CallMethodRequest.Selector> callMethodRequest = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.callMethodRequest!= null) { + products.put("callMethodRequest", this.callMethodRequest.init()); + } + return products; + } + + public CallMethodRequest.Selector> callMethodRequest() { + return ((this.callMethodRequest == null)?this.callMethodRequest = new CallMethodRequest.Selector>(this._root, this, "callMethodRequest"):this.callMethodRequest); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodResult.java new file mode 100644 index 000000000..b08bde8ce --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCallMethodResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfCallMethodResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfCallMethodResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CallMethodResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}CallMethodResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfCallMethodResult", propOrder = { + "callMethodResult" +}) +public class ListOfCallMethodResult { + + @XmlElement(name = "CallMethodResult", nillable = true) + protected List callMethodResult; + + /** + * Gets the value of the callMethodResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the callMethodResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCallMethodResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CallMethodResult } + * + * + */ + public List getCallMethodResult() { + if (callMethodResult == null) { + callMethodResult = new ArrayList(); + } + return this.callMethodResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCallMethodResult.Builder<_B> _other) { + if (this.callMethodResult == null) { + _other.callMethodResult = null; + } else { + _other.callMethodResult = new ArrayList>>(); + for (CallMethodResult _item: this.callMethodResult) { + _other.callMethodResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfCallMethodResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfCallMethodResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfCallMethodResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfCallMethodResult.Builder builder() { + return new ListOfCallMethodResult.Builder(null, null, false); + } + + public static<_B >ListOfCallMethodResult.Builder<_B> copyOf(final ListOfCallMethodResult _other) { + final ListOfCallMethodResult.Builder<_B> _newBuilder = new ListOfCallMethodResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCallMethodResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree callMethodResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("callMethodResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(callMethodResultPropertyTree!= null):((callMethodResultPropertyTree == null)||(!callMethodResultPropertyTree.isLeaf())))) { + if (this.callMethodResult == null) { + _other.callMethodResult = null; + } else { + _other.callMethodResult = new ArrayList>>(); + for (CallMethodResult _item: this.callMethodResult) { + _other.callMethodResult.add(((_item == null)?null:_item.newCopyBuilder(_other, callMethodResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfCallMethodResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfCallMethodResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfCallMethodResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfCallMethodResult.Builder<_B> copyOf(final ListOfCallMethodResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfCallMethodResult.Builder<_B> _newBuilder = new ListOfCallMethodResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfCallMethodResult.Builder copyExcept(final ListOfCallMethodResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfCallMethodResult.Builder copyOnly(final ListOfCallMethodResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfCallMethodResult _storedValue; + private List>> callMethodResult; + + public Builder(final _B _parentBuilder, final ListOfCallMethodResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.callMethodResult == null) { + this.callMethodResult = null; + } else { + this.callMethodResult = new ArrayList>>(); + for (CallMethodResult _item: _other.callMethodResult) { + this.callMethodResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfCallMethodResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree callMethodResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("callMethodResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(callMethodResultPropertyTree!= null):((callMethodResultPropertyTree == null)||(!callMethodResultPropertyTree.isLeaf())))) { + if (_other.callMethodResult == null) { + this.callMethodResult = null; + } else { + this.callMethodResult = new ArrayList>>(); + for (CallMethodResult _item: _other.callMethodResult) { + this.callMethodResult.add(((_item == null)?null:_item.newCopyBuilder(this, callMethodResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfCallMethodResult >_P init(final _P _product) { + if (this.callMethodResult!= null) { + final List callMethodResult = new ArrayList(this.callMethodResult.size()); + for (CallMethodResult.Builder> _item: this.callMethodResult) { + callMethodResult.add(_item.build()); + } + _product.callMethodResult = callMethodResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "callMethodResult" hinzu. + * + * @param callMethodResult + * Werte, die zur Eigenschaft "callMethodResult" hinzugefügt werden. + */ + public ListOfCallMethodResult.Builder<_B> addCallMethodResult(final Iterable callMethodResult) { + if (callMethodResult!= null) { + if (this.callMethodResult == null) { + this.callMethodResult = new ArrayList>>(); + } + for (CallMethodResult _item: callMethodResult) { + this.callMethodResult.add(new CallMethodResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "callMethodResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param callMethodResult + * Neuer Wert der Eigenschaft "callMethodResult". + */ + public ListOfCallMethodResult.Builder<_B> withCallMethodResult(final Iterable callMethodResult) { + if (this.callMethodResult!= null) { + this.callMethodResult.clear(); + } + return addCallMethodResult(callMethodResult); + } + + /** + * Fügt Werte zur Eigenschaft "callMethodResult" hinzu. + * + * @param callMethodResult + * Werte, die zur Eigenschaft "callMethodResult" hinzugefügt werden. + */ + public ListOfCallMethodResult.Builder<_B> addCallMethodResult(CallMethodResult... callMethodResult) { + addCallMethodResult(Arrays.asList(callMethodResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "callMethodResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param callMethodResult + * Neuer Wert der Eigenschaft "callMethodResult". + */ + public ListOfCallMethodResult.Builder<_B> withCallMethodResult(CallMethodResult... callMethodResult) { + withCallMethodResult(Arrays.asList(callMethodResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "CallMethodResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.CallMethodResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "CallMethodResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.CallMethodResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public CallMethodResult.Builder> addCallMethodResult() { + if (this.callMethodResult == null) { + this.callMethodResult = new ArrayList>>(); + } + final CallMethodResult.Builder> callMethodResult_Builder = new CallMethodResult.Builder>(this, null, false); + this.callMethodResult.add(callMethodResult_Builder); + return callMethodResult_Builder; + } + + @Override + public ListOfCallMethodResult build() { + if (_storedValue == null) { + return this.init(new ListOfCallMethodResult()); + } else { + return ((ListOfCallMethodResult) _storedValue); + } + } + + public ListOfCallMethodResult.Builder<_B> copyOf(final ListOfCallMethodResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfCallMethodResult.Builder<_B> copyOf(final ListOfCallMethodResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfCallMethodResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfCallMethodResult.Select _root() { + return new ListOfCallMethodResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private CallMethodResult.Selector> callMethodResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.callMethodResult!= null) { + products.put("callMethodResult", this.callMethodResult.init()); + } + return products; + } + + public CallMethodResult.Selector> callMethodResult() { + return ((this.callMethodResult == null)?this.callMethodResult = new CallMethodResult.Selector>(this._root, this, "callMethodResult"):this.callMethodResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCartesianCoordinates.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCartesianCoordinates.java new file mode 100644 index 000000000..92184970f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCartesianCoordinates.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfCartesianCoordinates complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfCartesianCoordinates">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CartesianCoordinates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}CartesianCoordinates" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfCartesianCoordinates", propOrder = { + "cartesianCoordinates" +}) +public class ListOfCartesianCoordinates { + + @XmlElement(name = "CartesianCoordinates", nillable = true) + protected List cartesianCoordinates; + + /** + * Gets the value of the cartesianCoordinates property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the cartesianCoordinates property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCartesianCoordinates().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CartesianCoordinates } + * + * + */ + public List getCartesianCoordinates() { + if (cartesianCoordinates == null) { + cartesianCoordinates = new ArrayList(); + } + return this.cartesianCoordinates; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCartesianCoordinates.Builder<_B> _other) { + if (this.cartesianCoordinates == null) { + _other.cartesianCoordinates = null; + } else { + _other.cartesianCoordinates = new ArrayList>>(); + for (CartesianCoordinates _item: this.cartesianCoordinates) { + _other.cartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfCartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfCartesianCoordinates.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfCartesianCoordinates.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfCartesianCoordinates.Builder builder() { + return new ListOfCartesianCoordinates.Builder(null, null, false); + } + + public static<_B >ListOfCartesianCoordinates.Builder<_B> copyOf(final ListOfCartesianCoordinates _other) { + final ListOfCartesianCoordinates.Builder<_B> _newBuilder = new ListOfCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCartesianCoordinates.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree cartesianCoordinatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cartesianCoordinates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cartesianCoordinatesPropertyTree!= null):((cartesianCoordinatesPropertyTree == null)||(!cartesianCoordinatesPropertyTree.isLeaf())))) { + if (this.cartesianCoordinates == null) { + _other.cartesianCoordinates = null; + } else { + _other.cartesianCoordinates = new ArrayList>>(); + for (CartesianCoordinates _item: this.cartesianCoordinates) { + _other.cartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(_other, cartesianCoordinatesPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfCartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfCartesianCoordinates.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfCartesianCoordinates.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfCartesianCoordinates.Builder<_B> copyOf(final ListOfCartesianCoordinates _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfCartesianCoordinates.Builder<_B> _newBuilder = new ListOfCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfCartesianCoordinates.Builder copyExcept(final ListOfCartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfCartesianCoordinates.Builder copyOnly(final ListOfCartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfCartesianCoordinates _storedValue; + private List>> cartesianCoordinates; + + public Builder(final _B _parentBuilder, final ListOfCartesianCoordinates _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.cartesianCoordinates == null) { + this.cartesianCoordinates = null; + } else { + this.cartesianCoordinates = new ArrayList>>(); + for (CartesianCoordinates _item: _other.cartesianCoordinates) { + this.cartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfCartesianCoordinates _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree cartesianCoordinatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cartesianCoordinates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cartesianCoordinatesPropertyTree!= null):((cartesianCoordinatesPropertyTree == null)||(!cartesianCoordinatesPropertyTree.isLeaf())))) { + if (_other.cartesianCoordinates == null) { + this.cartesianCoordinates = null; + } else { + this.cartesianCoordinates = new ArrayList>>(); + for (CartesianCoordinates _item: _other.cartesianCoordinates) { + this.cartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(this, cartesianCoordinatesPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfCartesianCoordinates >_P init(final _P _product) { + if (this.cartesianCoordinates!= null) { + final List cartesianCoordinates = new ArrayList(this.cartesianCoordinates.size()); + for (CartesianCoordinates.Builder> _item: this.cartesianCoordinates) { + cartesianCoordinates.add(_item.build()); + } + _product.cartesianCoordinates = cartesianCoordinates; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "cartesianCoordinates" hinzu. + * + * @param cartesianCoordinates + * Werte, die zur Eigenschaft "cartesianCoordinates" hinzugefügt werden. + */ + public ListOfCartesianCoordinates.Builder<_B> addCartesianCoordinates(final Iterable cartesianCoordinates) { + if (cartesianCoordinates!= null) { + if (this.cartesianCoordinates == null) { + this.cartesianCoordinates = new ArrayList>>(); + } + for (CartesianCoordinates _item: cartesianCoordinates) { + this.cartesianCoordinates.add(new CartesianCoordinates.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "cartesianCoordinates" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param cartesianCoordinates + * Neuer Wert der Eigenschaft "cartesianCoordinates". + */ + public ListOfCartesianCoordinates.Builder<_B> withCartesianCoordinates(final Iterable cartesianCoordinates) { + if (this.cartesianCoordinates!= null) { + this.cartesianCoordinates.clear(); + } + return addCartesianCoordinates(cartesianCoordinates); + } + + /** + * Fügt Werte zur Eigenschaft "cartesianCoordinates" hinzu. + * + * @param cartesianCoordinates + * Werte, die zur Eigenschaft "cartesianCoordinates" hinzugefügt werden. + */ + public ListOfCartesianCoordinates.Builder<_B> addCartesianCoordinates(CartesianCoordinates... cartesianCoordinates) { + addCartesianCoordinates(Arrays.asList(cartesianCoordinates)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "cartesianCoordinates" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param cartesianCoordinates + * Neuer Wert der Eigenschaft "cartesianCoordinates". + */ + public ListOfCartesianCoordinates.Builder<_B> withCartesianCoordinates(CartesianCoordinates... cartesianCoordinates) { + withCartesianCoordinates(Arrays.asList(cartesianCoordinates)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "CartesianCoordinates". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.CartesianCoordinates.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "CartesianCoordinates". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.CartesianCoordinates.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public CartesianCoordinates.Builder> addCartesianCoordinates() { + if (this.cartesianCoordinates == null) { + this.cartesianCoordinates = new ArrayList>>(); + } + final CartesianCoordinates.Builder> cartesianCoordinates_Builder = new CartesianCoordinates.Builder>(this, null, false); + this.cartesianCoordinates.add(cartesianCoordinates_Builder); + return cartesianCoordinates_Builder; + } + + @Override + public ListOfCartesianCoordinates build() { + if (_storedValue == null) { + return this.init(new ListOfCartesianCoordinates()); + } else { + return ((ListOfCartesianCoordinates) _storedValue); + } + } + + public ListOfCartesianCoordinates.Builder<_B> copyOf(final ListOfCartesianCoordinates _other) { + _other.copyTo(this); + return this; + } + + public ListOfCartesianCoordinates.Builder<_B> copyOf(final ListOfCartesianCoordinates.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfCartesianCoordinates.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfCartesianCoordinates.Select _root() { + return new ListOfCartesianCoordinates.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private CartesianCoordinates.Selector> cartesianCoordinates = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.cartesianCoordinates!= null) { + products.put("cartesianCoordinates", this.cartesianCoordinates.init()); + } + return products; + } + + public CartesianCoordinates.Selector> cartesianCoordinates() { + return ((this.cartesianCoordinates == null)?this.cartesianCoordinates = new CartesianCoordinates.Selector>(this._root, this, "cartesianCoordinates"):this.cartesianCoordinates); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConfigurationVersionDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConfigurationVersionDataType.java new file mode 100644 index 000000000..3e7735651 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConfigurationVersionDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfConfigurationVersionDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfConfigurationVersionDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ConfigurationVersionDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ConfigurationVersionDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfConfigurationVersionDataType", propOrder = { + "configurationVersionDataType" +}) +public class ListOfConfigurationVersionDataType { + + @XmlElement(name = "ConfigurationVersionDataType", nillable = true) + protected List configurationVersionDataType; + + /** + * Gets the value of the configurationVersionDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the configurationVersionDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getConfigurationVersionDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ConfigurationVersionDataType } + * + * + */ + public List getConfigurationVersionDataType() { + if (configurationVersionDataType == null) { + configurationVersionDataType = new ArrayList(); + } + return this.configurationVersionDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfConfigurationVersionDataType.Builder<_B> _other) { + if (this.configurationVersionDataType == null) { + _other.configurationVersionDataType = null; + } else { + _other.configurationVersionDataType = new ArrayList>>(); + for (ConfigurationVersionDataType _item: this.configurationVersionDataType) { + _other.configurationVersionDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfConfigurationVersionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfConfigurationVersionDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfConfigurationVersionDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfConfigurationVersionDataType.Builder builder() { + return new ListOfConfigurationVersionDataType.Builder(null, null, false); + } + + public static<_B >ListOfConfigurationVersionDataType.Builder<_B> copyOf(final ListOfConfigurationVersionDataType _other) { + final ListOfConfigurationVersionDataType.Builder<_B> _newBuilder = new ListOfConfigurationVersionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfConfigurationVersionDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree configurationVersionDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configurationVersionDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configurationVersionDataTypePropertyTree!= null):((configurationVersionDataTypePropertyTree == null)||(!configurationVersionDataTypePropertyTree.isLeaf())))) { + if (this.configurationVersionDataType == null) { + _other.configurationVersionDataType = null; + } else { + _other.configurationVersionDataType = new ArrayList>>(); + for (ConfigurationVersionDataType _item: this.configurationVersionDataType) { + _other.configurationVersionDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, configurationVersionDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfConfigurationVersionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfConfigurationVersionDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfConfigurationVersionDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfConfigurationVersionDataType.Builder<_B> copyOf(final ListOfConfigurationVersionDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfConfigurationVersionDataType.Builder<_B> _newBuilder = new ListOfConfigurationVersionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfConfigurationVersionDataType.Builder copyExcept(final ListOfConfigurationVersionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfConfigurationVersionDataType.Builder copyOnly(final ListOfConfigurationVersionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfConfigurationVersionDataType _storedValue; + private List>> configurationVersionDataType; + + public Builder(final _B _parentBuilder, final ListOfConfigurationVersionDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.configurationVersionDataType == null) { + this.configurationVersionDataType = null; + } else { + this.configurationVersionDataType = new ArrayList>>(); + for (ConfigurationVersionDataType _item: _other.configurationVersionDataType) { + this.configurationVersionDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfConfigurationVersionDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree configurationVersionDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configurationVersionDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configurationVersionDataTypePropertyTree!= null):((configurationVersionDataTypePropertyTree == null)||(!configurationVersionDataTypePropertyTree.isLeaf())))) { + if (_other.configurationVersionDataType == null) { + this.configurationVersionDataType = null; + } else { + this.configurationVersionDataType = new ArrayList>>(); + for (ConfigurationVersionDataType _item: _other.configurationVersionDataType) { + this.configurationVersionDataType.add(((_item == null)?null:_item.newCopyBuilder(this, configurationVersionDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfConfigurationVersionDataType >_P init(final _P _product) { + if (this.configurationVersionDataType!= null) { + final List configurationVersionDataType = new ArrayList(this.configurationVersionDataType.size()); + for (ConfigurationVersionDataType.Builder> _item: this.configurationVersionDataType) { + configurationVersionDataType.add(_item.build()); + } + _product.configurationVersionDataType = configurationVersionDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "configurationVersionDataType" hinzu. + * + * @param configurationVersionDataType + * Werte, die zur Eigenschaft "configurationVersionDataType" hinzugefügt werden. + */ + public ListOfConfigurationVersionDataType.Builder<_B> addConfigurationVersionDataType(final Iterable configurationVersionDataType) { + if (configurationVersionDataType!= null) { + if (this.configurationVersionDataType == null) { + this.configurationVersionDataType = new ArrayList>>(); + } + for (ConfigurationVersionDataType _item: configurationVersionDataType) { + this.configurationVersionDataType.add(new ConfigurationVersionDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "configurationVersionDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param configurationVersionDataType + * Neuer Wert der Eigenschaft "configurationVersionDataType". + */ + public ListOfConfigurationVersionDataType.Builder<_B> withConfigurationVersionDataType(final Iterable configurationVersionDataType) { + if (this.configurationVersionDataType!= null) { + this.configurationVersionDataType.clear(); + } + return addConfigurationVersionDataType(configurationVersionDataType); + } + + /** + * Fügt Werte zur Eigenschaft "configurationVersionDataType" hinzu. + * + * @param configurationVersionDataType + * Werte, die zur Eigenschaft "configurationVersionDataType" hinzugefügt werden. + */ + public ListOfConfigurationVersionDataType.Builder<_B> addConfigurationVersionDataType(ConfigurationVersionDataType... configurationVersionDataType) { + addConfigurationVersionDataType(Arrays.asList(configurationVersionDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "configurationVersionDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param configurationVersionDataType + * Neuer Wert der Eigenschaft "configurationVersionDataType". + */ + public ListOfConfigurationVersionDataType.Builder<_B> withConfigurationVersionDataType(ConfigurationVersionDataType... configurationVersionDataType) { + withConfigurationVersionDataType(Arrays.asList(configurationVersionDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ConfigurationVersionDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ConfigurationVersionDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ConfigurationVersionDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ConfigurationVersionDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ConfigurationVersionDataType.Builder> addConfigurationVersionDataType() { + if (this.configurationVersionDataType == null) { + this.configurationVersionDataType = new ArrayList>>(); + } + final ConfigurationVersionDataType.Builder> configurationVersionDataType_Builder = new ConfigurationVersionDataType.Builder>(this, null, false); + this.configurationVersionDataType.add(configurationVersionDataType_Builder); + return configurationVersionDataType_Builder; + } + + @Override + public ListOfConfigurationVersionDataType build() { + if (_storedValue == null) { + return this.init(new ListOfConfigurationVersionDataType()); + } else { + return ((ListOfConfigurationVersionDataType) _storedValue); + } + } + + public ListOfConfigurationVersionDataType.Builder<_B> copyOf(final ListOfConfigurationVersionDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfConfigurationVersionDataType.Builder<_B> copyOf(final ListOfConfigurationVersionDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfConfigurationVersionDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfConfigurationVersionDataType.Select _root() { + return new ListOfConfigurationVersionDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ConfigurationVersionDataType.Selector> configurationVersionDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.configurationVersionDataType!= null) { + products.put("configurationVersionDataType", this.configurationVersionDataType.init()); + } + return products; + } + + public ConfigurationVersionDataType.Selector> configurationVersionDataType() { + return ((this.configurationVersionDataType == null)?this.configurationVersionDataType = new ConfigurationVersionDataType.Selector>(this._root, this, "configurationVersionDataType"):this.configurationVersionDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConnectionTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConnectionTransportDataType.java new file mode 100644 index 000000000..2487bc5f6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfConnectionTransportDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfConnectionTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfConnectionTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ConnectionTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ConnectionTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfConnectionTransportDataType", propOrder = { + "connectionTransportDataType" +}) +public class ListOfConnectionTransportDataType { + + @XmlElement(name = "ConnectionTransportDataType", nillable = true) + protected List connectionTransportDataType; + + /** + * Gets the value of the connectionTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the connectionTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getConnectionTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ConnectionTransportDataType } + * + * + */ + public List getConnectionTransportDataType() { + if (connectionTransportDataType == null) { + connectionTransportDataType = new ArrayList(); + } + return this.connectionTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfConnectionTransportDataType.Builder<_B> _other) { + if (this.connectionTransportDataType == null) { + _other.connectionTransportDataType = null; + } else { + _other.connectionTransportDataType = new ArrayList>>(); + for (ConnectionTransportDataType _item: this.connectionTransportDataType) { + _other.connectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfConnectionTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfConnectionTransportDataType.Builder builder() { + return new ListOfConnectionTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfConnectionTransportDataType.Builder<_B> copyOf(final ListOfConnectionTransportDataType _other) { + final ListOfConnectionTransportDataType.Builder<_B> _newBuilder = new ListOfConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfConnectionTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree connectionTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectionTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectionTransportDataTypePropertyTree!= null):((connectionTransportDataTypePropertyTree == null)||(!connectionTransportDataTypePropertyTree.isLeaf())))) { + if (this.connectionTransportDataType == null) { + _other.connectionTransportDataType = null; + } else { + _other.connectionTransportDataType = new ArrayList>>(); + for (ConnectionTransportDataType _item: this.connectionTransportDataType) { + _other.connectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, connectionTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfConnectionTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfConnectionTransportDataType.Builder<_B> copyOf(final ListOfConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfConnectionTransportDataType.Builder<_B> _newBuilder = new ListOfConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfConnectionTransportDataType.Builder copyExcept(final ListOfConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfConnectionTransportDataType.Builder copyOnly(final ListOfConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfConnectionTransportDataType _storedValue; + private List>> connectionTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfConnectionTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.connectionTransportDataType == null) { + this.connectionTransportDataType = null; + } else { + this.connectionTransportDataType = new ArrayList>>(); + for (ConnectionTransportDataType _item: _other.connectionTransportDataType) { + this.connectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfConnectionTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree connectionTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectionTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectionTransportDataTypePropertyTree!= null):((connectionTransportDataTypePropertyTree == null)||(!connectionTransportDataTypePropertyTree.isLeaf())))) { + if (_other.connectionTransportDataType == null) { + this.connectionTransportDataType = null; + } else { + this.connectionTransportDataType = new ArrayList>>(); + for (ConnectionTransportDataType _item: _other.connectionTransportDataType) { + this.connectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, connectionTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfConnectionTransportDataType >_P init(final _P _product) { + if (this.connectionTransportDataType!= null) { + final List connectionTransportDataType = new ArrayList(this.connectionTransportDataType.size()); + for (ConnectionTransportDataType.Builder> _item: this.connectionTransportDataType) { + connectionTransportDataType.add(_item.build()); + } + _product.connectionTransportDataType = connectionTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "connectionTransportDataType" hinzu. + * + * @param connectionTransportDataType + * Werte, die zur Eigenschaft "connectionTransportDataType" hinzugefügt werden. + */ + public ListOfConnectionTransportDataType.Builder<_B> addConnectionTransportDataType(final Iterable connectionTransportDataType) { + if (connectionTransportDataType!= null) { + if (this.connectionTransportDataType == null) { + this.connectionTransportDataType = new ArrayList>>(); + } + for (ConnectionTransportDataType _item: connectionTransportDataType) { + this.connectionTransportDataType.add(new ConnectionTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "connectionTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param connectionTransportDataType + * Neuer Wert der Eigenschaft "connectionTransportDataType". + */ + public ListOfConnectionTransportDataType.Builder<_B> withConnectionTransportDataType(final Iterable connectionTransportDataType) { + if (this.connectionTransportDataType!= null) { + this.connectionTransportDataType.clear(); + } + return addConnectionTransportDataType(connectionTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "connectionTransportDataType" hinzu. + * + * @param connectionTransportDataType + * Werte, die zur Eigenschaft "connectionTransportDataType" hinzugefügt werden. + */ + public ListOfConnectionTransportDataType.Builder<_B> addConnectionTransportDataType(ConnectionTransportDataType... connectionTransportDataType) { + addConnectionTransportDataType(Arrays.asList(connectionTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "connectionTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param connectionTransportDataType + * Neuer Wert der Eigenschaft "connectionTransportDataType". + */ + public ListOfConnectionTransportDataType.Builder<_B> withConnectionTransportDataType(ConnectionTransportDataType... connectionTransportDataType) { + withConnectionTransportDataType(Arrays.asList(connectionTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ConnectionTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ConnectionTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ConnectionTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ConnectionTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ConnectionTransportDataType.Builder> addConnectionTransportDataType() { + if (this.connectionTransportDataType == null) { + this.connectionTransportDataType = new ArrayList>>(); + } + final ConnectionTransportDataType.Builder> connectionTransportDataType_Builder = new ConnectionTransportDataType.Builder>(this, null, false); + this.connectionTransportDataType.add(connectionTransportDataType_Builder); + return connectionTransportDataType_Builder; + } + + @Override + public ListOfConnectionTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfConnectionTransportDataType()); + } else { + return ((ListOfConnectionTransportDataType) _storedValue); + } + } + + public ListOfConnectionTransportDataType.Builder<_B> copyOf(final ListOfConnectionTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfConnectionTransportDataType.Builder<_B> copyOf(final ListOfConnectionTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfConnectionTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfConnectionTransportDataType.Select _root() { + return new ListOfConnectionTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ConnectionTransportDataType.Selector> connectionTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.connectionTransportDataType!= null) { + products.put("connectionTransportDataType", this.connectionTransportDataType.init()); + } + return products; + } + + public ConnectionTransportDataType.Selector> connectionTransportDataType() { + return ((this.connectionTransportDataType == null)?this.connectionTransportDataType = new ConnectionTransportDataType.Selector>(this._root, this, "connectionTransportDataType"):this.connectionTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilter.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilter.java new file mode 100644 index 000000000..72cd2004d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilter.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfContentFilter complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfContentFilter">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ContentFilter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilter" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfContentFilter", propOrder = { + "contentFilter" +}) +public class ListOfContentFilter { + + @XmlElement(name = "ContentFilter", nillable = true) + protected List contentFilter; + + /** + * Gets the value of the contentFilter property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the contentFilter property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContentFilter().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ContentFilter } + * + * + */ + public List getContentFilter() { + if (contentFilter == null) { + contentFilter = new ArrayList(); + } + return this.contentFilter; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfContentFilter.Builder<_B> _other) { + if (this.contentFilter == null) { + _other.contentFilter = null; + } else { + _other.contentFilter = new ArrayList>>(); + for (ContentFilter _item: this.contentFilter) { + _other.contentFilter.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfContentFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfContentFilter.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfContentFilter.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfContentFilter.Builder builder() { + return new ListOfContentFilter.Builder(null, null, false); + } + + public static<_B >ListOfContentFilter.Builder<_B> copyOf(final ListOfContentFilter _other) { + final ListOfContentFilter.Builder<_B> _newBuilder = new ListOfContentFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfContentFilter.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree contentFilterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("contentFilter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(contentFilterPropertyTree!= null):((contentFilterPropertyTree == null)||(!contentFilterPropertyTree.isLeaf())))) { + if (this.contentFilter == null) { + _other.contentFilter = null; + } else { + _other.contentFilter = new ArrayList>>(); + for (ContentFilter _item: this.contentFilter) { + _other.contentFilter.add(((_item == null)?null:_item.newCopyBuilder(_other, contentFilterPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfContentFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfContentFilter.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfContentFilter.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfContentFilter.Builder<_B> copyOf(final ListOfContentFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfContentFilter.Builder<_B> _newBuilder = new ListOfContentFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfContentFilter.Builder copyExcept(final ListOfContentFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfContentFilter.Builder copyOnly(final ListOfContentFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfContentFilter _storedValue; + private List>> contentFilter; + + public Builder(final _B _parentBuilder, final ListOfContentFilter _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.contentFilter == null) { + this.contentFilter = null; + } else { + this.contentFilter = new ArrayList>>(); + for (ContentFilter _item: _other.contentFilter) { + this.contentFilter.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfContentFilter _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree contentFilterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("contentFilter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(contentFilterPropertyTree!= null):((contentFilterPropertyTree == null)||(!contentFilterPropertyTree.isLeaf())))) { + if (_other.contentFilter == null) { + this.contentFilter = null; + } else { + this.contentFilter = new ArrayList>>(); + for (ContentFilter _item: _other.contentFilter) { + this.contentFilter.add(((_item == null)?null:_item.newCopyBuilder(this, contentFilterPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfContentFilter >_P init(final _P _product) { + if (this.contentFilter!= null) { + final List contentFilter = new ArrayList(this.contentFilter.size()); + for (ContentFilter.Builder> _item: this.contentFilter) { + contentFilter.add(_item.build()); + } + _product.contentFilter = contentFilter; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "contentFilter" hinzu. + * + * @param contentFilter + * Werte, die zur Eigenschaft "contentFilter" hinzugefügt werden. + */ + public ListOfContentFilter.Builder<_B> addContentFilter(final Iterable contentFilter) { + if (contentFilter!= null) { + if (this.contentFilter == null) { + this.contentFilter = new ArrayList>>(); + } + for (ContentFilter _item: contentFilter) { + this.contentFilter.add(new ContentFilter.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "contentFilter" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param contentFilter + * Neuer Wert der Eigenschaft "contentFilter". + */ + public ListOfContentFilter.Builder<_B> withContentFilter(final Iterable contentFilter) { + if (this.contentFilter!= null) { + this.contentFilter.clear(); + } + return addContentFilter(contentFilter); + } + + /** + * Fügt Werte zur Eigenschaft "contentFilter" hinzu. + * + * @param contentFilter + * Werte, die zur Eigenschaft "contentFilter" hinzugefügt werden. + */ + public ListOfContentFilter.Builder<_B> addContentFilter(ContentFilter... contentFilter) { + addContentFilter(Arrays.asList(contentFilter)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "contentFilter" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param contentFilter + * Neuer Wert der Eigenschaft "contentFilter". + */ + public ListOfContentFilter.Builder<_B> withContentFilter(ContentFilter... contentFilter) { + withContentFilter(Arrays.asList(contentFilter)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ContentFilter". + * Mit {@link org.opcfoundation.ua._2008._02.types.ContentFilter.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ContentFilter". + * Mit {@link org.opcfoundation.ua._2008._02.types.ContentFilter.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ContentFilter.Builder> addContentFilter() { + if (this.contentFilter == null) { + this.contentFilter = new ArrayList>>(); + } + final ContentFilter.Builder> contentFilter_Builder = new ContentFilter.Builder>(this, null, false); + this.contentFilter.add(contentFilter_Builder); + return contentFilter_Builder; + } + + @Override + public ListOfContentFilter build() { + if (_storedValue == null) { + return this.init(new ListOfContentFilter()); + } else { + return ((ListOfContentFilter) _storedValue); + } + } + + public ListOfContentFilter.Builder<_B> copyOf(final ListOfContentFilter _other) { + _other.copyTo(this); + return this; + } + + public ListOfContentFilter.Builder<_B> copyOf(final ListOfContentFilter.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfContentFilter.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfContentFilter.Select _root() { + return new ListOfContentFilter.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ContentFilter.Selector> contentFilter = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.contentFilter!= null) { + products.put("contentFilter", this.contentFilter.init()); + } + return products; + } + + public ContentFilter.Selector> contentFilter() { + return ((this.contentFilter == null)?this.contentFilter = new ContentFilter.Selector>(this._root, this, "contentFilter"):this.contentFilter); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElement.java new file mode 100644 index 000000000..3531861bd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElement.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfContentFilterElement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfContentFilterElement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ContentFilterElement" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilterElement" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfContentFilterElement", propOrder = { + "contentFilterElement" +}) +public class ListOfContentFilterElement { + + @XmlElement(name = "ContentFilterElement", nillable = true) + protected List contentFilterElement; + + /** + * Gets the value of the contentFilterElement property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the contentFilterElement property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContentFilterElement().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ContentFilterElement } + * + * + */ + public List getContentFilterElement() { + if (contentFilterElement == null) { + contentFilterElement = new ArrayList(); + } + return this.contentFilterElement; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfContentFilterElement.Builder<_B> _other) { + if (this.contentFilterElement == null) { + _other.contentFilterElement = null; + } else { + _other.contentFilterElement = new ArrayList>>(); + for (ContentFilterElement _item: this.contentFilterElement) { + _other.contentFilterElement.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfContentFilterElement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfContentFilterElement.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfContentFilterElement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfContentFilterElement.Builder builder() { + return new ListOfContentFilterElement.Builder(null, null, false); + } + + public static<_B >ListOfContentFilterElement.Builder<_B> copyOf(final ListOfContentFilterElement _other) { + final ListOfContentFilterElement.Builder<_B> _newBuilder = new ListOfContentFilterElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfContentFilterElement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree contentFilterElementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("contentFilterElement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(contentFilterElementPropertyTree!= null):((contentFilterElementPropertyTree == null)||(!contentFilterElementPropertyTree.isLeaf())))) { + if (this.contentFilterElement == null) { + _other.contentFilterElement = null; + } else { + _other.contentFilterElement = new ArrayList>>(); + for (ContentFilterElement _item: this.contentFilterElement) { + _other.contentFilterElement.add(((_item == null)?null:_item.newCopyBuilder(_other, contentFilterElementPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfContentFilterElement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfContentFilterElement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfContentFilterElement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfContentFilterElement.Builder<_B> copyOf(final ListOfContentFilterElement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfContentFilterElement.Builder<_B> _newBuilder = new ListOfContentFilterElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfContentFilterElement.Builder copyExcept(final ListOfContentFilterElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfContentFilterElement.Builder copyOnly(final ListOfContentFilterElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfContentFilterElement _storedValue; + private List>> contentFilterElement; + + public Builder(final _B _parentBuilder, final ListOfContentFilterElement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.contentFilterElement == null) { + this.contentFilterElement = null; + } else { + this.contentFilterElement = new ArrayList>>(); + for (ContentFilterElement _item: _other.contentFilterElement) { + this.contentFilterElement.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfContentFilterElement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree contentFilterElementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("contentFilterElement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(contentFilterElementPropertyTree!= null):((contentFilterElementPropertyTree == null)||(!contentFilterElementPropertyTree.isLeaf())))) { + if (_other.contentFilterElement == null) { + this.contentFilterElement = null; + } else { + this.contentFilterElement = new ArrayList>>(); + for (ContentFilterElement _item: _other.contentFilterElement) { + this.contentFilterElement.add(((_item == null)?null:_item.newCopyBuilder(this, contentFilterElementPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfContentFilterElement >_P init(final _P _product) { + if (this.contentFilterElement!= null) { + final List contentFilterElement = new ArrayList(this.contentFilterElement.size()); + for (ContentFilterElement.Builder> _item: this.contentFilterElement) { + contentFilterElement.add(_item.build()); + } + _product.contentFilterElement = contentFilterElement; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "contentFilterElement" hinzu. + * + * @param contentFilterElement + * Werte, die zur Eigenschaft "contentFilterElement" hinzugefügt werden. + */ + public ListOfContentFilterElement.Builder<_B> addContentFilterElement(final Iterable contentFilterElement) { + if (contentFilterElement!= null) { + if (this.contentFilterElement == null) { + this.contentFilterElement = new ArrayList>>(); + } + for (ContentFilterElement _item: contentFilterElement) { + this.contentFilterElement.add(new ContentFilterElement.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "contentFilterElement" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param contentFilterElement + * Neuer Wert der Eigenschaft "contentFilterElement". + */ + public ListOfContentFilterElement.Builder<_B> withContentFilterElement(final Iterable contentFilterElement) { + if (this.contentFilterElement!= null) { + this.contentFilterElement.clear(); + } + return addContentFilterElement(contentFilterElement); + } + + /** + * Fügt Werte zur Eigenschaft "contentFilterElement" hinzu. + * + * @param contentFilterElement + * Werte, die zur Eigenschaft "contentFilterElement" hinzugefügt werden. + */ + public ListOfContentFilterElement.Builder<_B> addContentFilterElement(ContentFilterElement... contentFilterElement) { + addContentFilterElement(Arrays.asList(contentFilterElement)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "contentFilterElement" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param contentFilterElement + * Neuer Wert der Eigenschaft "contentFilterElement". + */ + public ListOfContentFilterElement.Builder<_B> withContentFilterElement(ContentFilterElement... contentFilterElement) { + withContentFilterElement(Arrays.asList(contentFilterElement)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ContentFilterElement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ContentFilterElement.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ContentFilterElement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ContentFilterElement.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public ContentFilterElement.Builder> addContentFilterElement() { + if (this.contentFilterElement == null) { + this.contentFilterElement = new ArrayList>>(); + } + final ContentFilterElement.Builder> contentFilterElement_Builder = new ContentFilterElement.Builder>(this, null, false); + this.contentFilterElement.add(contentFilterElement_Builder); + return contentFilterElement_Builder; + } + + @Override + public ListOfContentFilterElement build() { + if (_storedValue == null) { + return this.init(new ListOfContentFilterElement()); + } else { + return ((ListOfContentFilterElement) _storedValue); + } + } + + public ListOfContentFilterElement.Builder<_B> copyOf(final ListOfContentFilterElement _other) { + _other.copyTo(this); + return this; + } + + public ListOfContentFilterElement.Builder<_B> copyOf(final ListOfContentFilterElement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfContentFilterElement.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfContentFilterElement.Select _root() { + return new ListOfContentFilterElement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ContentFilterElement.Selector> contentFilterElement = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.contentFilterElement!= null) { + products.put("contentFilterElement", this.contentFilterElement.init()); + } + return products; + } + + public ContentFilterElement.Selector> contentFilterElement() { + return ((this.contentFilterElement == null)?this.contentFilterElement = new ContentFilterElement.Selector>(this._root, this, "contentFilterElement"):this.contentFilterElement); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElementResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElementResult.java new file mode 100644 index 000000000..3057a21ed --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfContentFilterElementResult.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfContentFilterElementResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfContentFilterElementResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ContentFilterElementResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilterElementResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfContentFilterElementResult", propOrder = { + "contentFilterElementResult" +}) +public class ListOfContentFilterElementResult { + + @XmlElement(name = "ContentFilterElementResult", nillable = true) + protected List contentFilterElementResult; + + /** + * Gets the value of the contentFilterElementResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the contentFilterElementResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContentFilterElementResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ContentFilterElementResult } + * + * + */ + public List getContentFilterElementResult() { + if (contentFilterElementResult == null) { + contentFilterElementResult = new ArrayList(); + } + return this.contentFilterElementResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfContentFilterElementResult.Builder<_B> _other) { + if (this.contentFilterElementResult == null) { + _other.contentFilterElementResult = null; + } else { + _other.contentFilterElementResult = new ArrayList>>(); + for (ContentFilterElementResult _item: this.contentFilterElementResult) { + _other.contentFilterElementResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfContentFilterElementResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfContentFilterElementResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfContentFilterElementResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfContentFilterElementResult.Builder builder() { + return new ListOfContentFilterElementResult.Builder(null, null, false); + } + + public static<_B >ListOfContentFilterElementResult.Builder<_B> copyOf(final ListOfContentFilterElementResult _other) { + final ListOfContentFilterElementResult.Builder<_B> _newBuilder = new ListOfContentFilterElementResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfContentFilterElementResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree contentFilterElementResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("contentFilterElementResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(contentFilterElementResultPropertyTree!= null):((contentFilterElementResultPropertyTree == null)||(!contentFilterElementResultPropertyTree.isLeaf())))) { + if (this.contentFilterElementResult == null) { + _other.contentFilterElementResult = null; + } else { + _other.contentFilterElementResult = new ArrayList>>(); + for (ContentFilterElementResult _item: this.contentFilterElementResult) { + _other.contentFilterElementResult.add(((_item == null)?null:_item.newCopyBuilder(_other, contentFilterElementResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfContentFilterElementResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfContentFilterElementResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfContentFilterElementResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfContentFilterElementResult.Builder<_B> copyOf(final ListOfContentFilterElementResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfContentFilterElementResult.Builder<_B> _newBuilder = new ListOfContentFilterElementResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfContentFilterElementResult.Builder copyExcept(final ListOfContentFilterElementResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfContentFilterElementResult.Builder copyOnly(final ListOfContentFilterElementResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfContentFilterElementResult _storedValue; + private List>> contentFilterElementResult; + + public Builder(final _B _parentBuilder, final ListOfContentFilterElementResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.contentFilterElementResult == null) { + this.contentFilterElementResult = null; + } else { + this.contentFilterElementResult = new ArrayList>>(); + for (ContentFilterElementResult _item: _other.contentFilterElementResult) { + this.contentFilterElementResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfContentFilterElementResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree contentFilterElementResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("contentFilterElementResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(contentFilterElementResultPropertyTree!= null):((contentFilterElementResultPropertyTree == null)||(!contentFilterElementResultPropertyTree.isLeaf())))) { + if (_other.contentFilterElementResult == null) { + this.contentFilterElementResult = null; + } else { + this.contentFilterElementResult = new ArrayList>>(); + for (ContentFilterElementResult _item: _other.contentFilterElementResult) { + this.contentFilterElementResult.add(((_item == null)?null:_item.newCopyBuilder(this, contentFilterElementResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfContentFilterElementResult >_P init(final _P _product) { + if (this.contentFilterElementResult!= null) { + final List contentFilterElementResult = new ArrayList(this.contentFilterElementResult.size()); + for (ContentFilterElementResult.Builder> _item: this.contentFilterElementResult) { + contentFilterElementResult.add(_item.build()); + } + _product.contentFilterElementResult = contentFilterElementResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "contentFilterElementResult" hinzu. + * + * @param contentFilterElementResult + * Werte, die zur Eigenschaft "contentFilterElementResult" hinzugefügt werden. + */ + public ListOfContentFilterElementResult.Builder<_B> addContentFilterElementResult(final Iterable contentFilterElementResult) { + if (contentFilterElementResult!= null) { + if (this.contentFilterElementResult == null) { + this.contentFilterElementResult = new ArrayList>>(); + } + for (ContentFilterElementResult _item: contentFilterElementResult) { + this.contentFilterElementResult.add(new ContentFilterElementResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "contentFilterElementResult" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param contentFilterElementResult + * Neuer Wert der Eigenschaft "contentFilterElementResult". + */ + public ListOfContentFilterElementResult.Builder<_B> withContentFilterElementResult(final Iterable contentFilterElementResult) { + if (this.contentFilterElementResult!= null) { + this.contentFilterElementResult.clear(); + } + return addContentFilterElementResult(contentFilterElementResult); + } + + /** + * Fügt Werte zur Eigenschaft "contentFilterElementResult" hinzu. + * + * @param contentFilterElementResult + * Werte, die zur Eigenschaft "contentFilterElementResult" hinzugefügt werden. + */ + public ListOfContentFilterElementResult.Builder<_B> addContentFilterElementResult(ContentFilterElementResult... contentFilterElementResult) { + addContentFilterElementResult(Arrays.asList(contentFilterElementResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "contentFilterElementResult" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param contentFilterElementResult + * Neuer Wert der Eigenschaft "contentFilterElementResult". + */ + public ListOfContentFilterElementResult.Builder<_B> withContentFilterElementResult(ContentFilterElementResult... contentFilterElementResult) { + withContentFilterElementResult(Arrays.asList(contentFilterElementResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ContentFilterElementResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ContentFilterElementResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ContentFilterElementResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ContentFilterElementResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ContentFilterElementResult.Builder> addContentFilterElementResult() { + if (this.contentFilterElementResult == null) { + this.contentFilterElementResult = new ArrayList>>(); + } + final ContentFilterElementResult.Builder> contentFilterElementResult_Builder = new ContentFilterElementResult.Builder>(this, null, false); + this.contentFilterElementResult.add(contentFilterElementResult_Builder); + return contentFilterElementResult_Builder; + } + + @Override + public ListOfContentFilterElementResult build() { + if (_storedValue == null) { + return this.init(new ListOfContentFilterElementResult()); + } else { + return ((ListOfContentFilterElementResult) _storedValue); + } + } + + public ListOfContentFilterElementResult.Builder<_B> copyOf(final ListOfContentFilterElementResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfContentFilterElementResult.Builder<_B> copyOf(final ListOfContentFilterElementResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfContentFilterElementResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfContentFilterElementResult.Select _root() { + return new ListOfContentFilterElementResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ContentFilterElementResult.Selector> contentFilterElementResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.contentFilterElementResult!= null) { + products.put("contentFilterElementResult", this.contentFilterElementResult.init()); + } + return products; + } + + public ContentFilterElementResult.Selector> contentFilterElementResult() { + return ((this.contentFilterElementResult == null)?this.contentFilterElementResult = new ContentFilterElementResult.Selector>(this._root, this, "contentFilterElementResult"):this.contentFilterElementResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCurrencyUnitType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCurrencyUnitType.java new file mode 100644 index 000000000..2ccb5ee49 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfCurrencyUnitType.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfCurrencyUnitType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfCurrencyUnitType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CurrencyUnitType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}CurrencyUnitType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfCurrencyUnitType", propOrder = { + "currencyUnitType" +}) +public class ListOfCurrencyUnitType { + + @XmlElement(name = "CurrencyUnitType", nillable = true) + protected List currencyUnitType; + + /** + * Gets the value of the currencyUnitType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the currencyUnitType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCurrencyUnitType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CurrencyUnitType } + * + * + */ + public List getCurrencyUnitType() { + if (currencyUnitType == null) { + currencyUnitType = new ArrayList(); + } + return this.currencyUnitType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCurrencyUnitType.Builder<_B> _other) { + if (this.currencyUnitType == null) { + _other.currencyUnitType = null; + } else { + _other.currencyUnitType = new ArrayList>>(); + for (CurrencyUnitType _item: this.currencyUnitType) { + _other.currencyUnitType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfCurrencyUnitType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfCurrencyUnitType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfCurrencyUnitType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfCurrencyUnitType.Builder builder() { + return new ListOfCurrencyUnitType.Builder(null, null, false); + } + + public static<_B >ListOfCurrencyUnitType.Builder<_B> copyOf(final ListOfCurrencyUnitType _other) { + final ListOfCurrencyUnitType.Builder<_B> _newBuilder = new ListOfCurrencyUnitType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfCurrencyUnitType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree currencyUnitTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currencyUnitType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currencyUnitTypePropertyTree!= null):((currencyUnitTypePropertyTree == null)||(!currencyUnitTypePropertyTree.isLeaf())))) { + if (this.currencyUnitType == null) { + _other.currencyUnitType = null; + } else { + _other.currencyUnitType = new ArrayList>>(); + for (CurrencyUnitType _item: this.currencyUnitType) { + _other.currencyUnitType.add(((_item == null)?null:_item.newCopyBuilder(_other, currencyUnitTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfCurrencyUnitType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfCurrencyUnitType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfCurrencyUnitType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfCurrencyUnitType.Builder<_B> copyOf(final ListOfCurrencyUnitType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfCurrencyUnitType.Builder<_B> _newBuilder = new ListOfCurrencyUnitType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfCurrencyUnitType.Builder copyExcept(final ListOfCurrencyUnitType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfCurrencyUnitType.Builder copyOnly(final ListOfCurrencyUnitType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfCurrencyUnitType _storedValue; + private List>> currencyUnitType; + + public Builder(final _B _parentBuilder, final ListOfCurrencyUnitType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.currencyUnitType == null) { + this.currencyUnitType = null; + } else { + this.currencyUnitType = new ArrayList>>(); + for (CurrencyUnitType _item: _other.currencyUnitType) { + this.currencyUnitType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfCurrencyUnitType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree currencyUnitTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currencyUnitType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currencyUnitTypePropertyTree!= null):((currencyUnitTypePropertyTree == null)||(!currencyUnitTypePropertyTree.isLeaf())))) { + if (_other.currencyUnitType == null) { + this.currencyUnitType = null; + } else { + this.currencyUnitType = new ArrayList>>(); + for (CurrencyUnitType _item: _other.currencyUnitType) { + this.currencyUnitType.add(((_item == null)?null:_item.newCopyBuilder(this, currencyUnitTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfCurrencyUnitType >_P init(final _P _product) { + if (this.currencyUnitType!= null) { + final List currencyUnitType = new ArrayList(this.currencyUnitType.size()); + for (CurrencyUnitType.Builder> _item: this.currencyUnitType) { + currencyUnitType.add(_item.build()); + } + _product.currencyUnitType = currencyUnitType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "currencyUnitType" hinzu. + * + * @param currencyUnitType + * Werte, die zur Eigenschaft "currencyUnitType" hinzugefügt werden. + */ + public ListOfCurrencyUnitType.Builder<_B> addCurrencyUnitType(final Iterable currencyUnitType) { + if (currencyUnitType!= null) { + if (this.currencyUnitType == null) { + this.currencyUnitType = new ArrayList>>(); + } + for (CurrencyUnitType _item: currencyUnitType) { + this.currencyUnitType.add(new CurrencyUnitType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currencyUnitType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param currencyUnitType + * Neuer Wert der Eigenschaft "currencyUnitType". + */ + public ListOfCurrencyUnitType.Builder<_B> withCurrencyUnitType(final Iterable currencyUnitType) { + if (this.currencyUnitType!= null) { + this.currencyUnitType.clear(); + } + return addCurrencyUnitType(currencyUnitType); + } + + /** + * Fügt Werte zur Eigenschaft "currencyUnitType" hinzu. + * + * @param currencyUnitType + * Werte, die zur Eigenschaft "currencyUnitType" hinzugefügt werden. + */ + public ListOfCurrencyUnitType.Builder<_B> addCurrencyUnitType(CurrencyUnitType... currencyUnitType) { + addCurrencyUnitType(Arrays.asList(currencyUnitType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currencyUnitType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param currencyUnitType + * Neuer Wert der Eigenschaft "currencyUnitType". + */ + public ListOfCurrencyUnitType.Builder<_B> withCurrencyUnitType(CurrencyUnitType... currencyUnitType) { + withCurrencyUnitType(Arrays.asList(currencyUnitType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "CurrencyUnitType". + * Mit {@link org.opcfoundation.ua._2008._02.types.CurrencyUnitType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "CurrencyUnitType". + * Mit {@link org.opcfoundation.ua._2008._02.types.CurrencyUnitType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public CurrencyUnitType.Builder> addCurrencyUnitType() { + if (this.currencyUnitType == null) { + this.currencyUnitType = new ArrayList>>(); + } + final CurrencyUnitType.Builder> currencyUnitType_Builder = new CurrencyUnitType.Builder>(this, null, false); + this.currencyUnitType.add(currencyUnitType_Builder); + return currencyUnitType_Builder; + } + + @Override + public ListOfCurrencyUnitType build() { + if (_storedValue == null) { + return this.init(new ListOfCurrencyUnitType()); + } else { + return ((ListOfCurrencyUnitType) _storedValue); + } + } + + public ListOfCurrencyUnitType.Builder<_B> copyOf(final ListOfCurrencyUnitType _other) { + _other.copyTo(this); + return this; + } + + public ListOfCurrencyUnitType.Builder<_B> copyOf(final ListOfCurrencyUnitType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfCurrencyUnitType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfCurrencyUnitType.Select _root() { + return new ListOfCurrencyUnitType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private CurrencyUnitType.Selector> currencyUnitType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.currencyUnitType!= null) { + products.put("currencyUnitType", this.currencyUnitType.init()); + } + return products; + } + + public CurrencyUnitType.Selector> currencyUnitType() { + return ((this.currencyUnitType == null)?this.currencyUnitType = new CurrencyUnitType.Selector>(this._root, this, "currencyUnitType"):this.currencyUnitType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetFieldContentMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetFieldContentMask.java new file mode 100644 index 000000000..80e642684 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetFieldContentMask.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetFieldContentMask complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetFieldContentMask">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetFieldContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetFieldContentMask" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetFieldContentMask", propOrder = { + "dataSetFieldContentMask" +}) +public class ListOfDataSetFieldContentMask { + + @XmlElement(name = "DataSetFieldContentMask", type = Long.class) + @XmlSchemaType(name = "unsignedInt") + protected List dataSetFieldContentMask; + + /** + * Gets the value of the dataSetFieldContentMask property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetFieldContentMask property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetFieldContentMask().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getDataSetFieldContentMask() { + if (dataSetFieldContentMask == null) { + dataSetFieldContentMask = new ArrayList(); + } + return this.dataSetFieldContentMask; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetFieldContentMask.Builder<_B> _other) { + if (this.dataSetFieldContentMask == null) { + _other.dataSetFieldContentMask = null; + } else { + _other.dataSetFieldContentMask = new ArrayList(); + for (Long _item: this.dataSetFieldContentMask) { + _other.dataSetFieldContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfDataSetFieldContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetFieldContentMask.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetFieldContentMask.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetFieldContentMask.Builder builder() { + return new ListOfDataSetFieldContentMask.Builder(null, null, false); + } + + public static<_B >ListOfDataSetFieldContentMask.Builder<_B> copyOf(final ListOfDataSetFieldContentMask _other) { + final ListOfDataSetFieldContentMask.Builder<_B> _newBuilder = new ListOfDataSetFieldContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetFieldContentMask.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetFieldContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldContentMaskPropertyTree!= null):((dataSetFieldContentMaskPropertyTree == null)||(!dataSetFieldContentMaskPropertyTree.isLeaf())))) { + if (this.dataSetFieldContentMask == null) { + _other.dataSetFieldContentMask = null; + } else { + _other.dataSetFieldContentMask = new ArrayList(); + for (Long _item: this.dataSetFieldContentMask) { + _other.dataSetFieldContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfDataSetFieldContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetFieldContentMask.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetFieldContentMask.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetFieldContentMask.Builder<_B> copyOf(final ListOfDataSetFieldContentMask _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetFieldContentMask.Builder<_B> _newBuilder = new ListOfDataSetFieldContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetFieldContentMask.Builder copyExcept(final ListOfDataSetFieldContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetFieldContentMask.Builder copyOnly(final ListOfDataSetFieldContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetFieldContentMask _storedValue; + private List dataSetFieldContentMask; + + public Builder(final _B _parentBuilder, final ListOfDataSetFieldContentMask _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetFieldContentMask == null) { + this.dataSetFieldContentMask = null; + } else { + this.dataSetFieldContentMask = new ArrayList(); + for (Long _item: _other.dataSetFieldContentMask) { + this.dataSetFieldContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetFieldContentMask _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetFieldContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFieldContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFieldContentMaskPropertyTree!= null):((dataSetFieldContentMaskPropertyTree == null)||(!dataSetFieldContentMaskPropertyTree.isLeaf())))) { + if (_other.dataSetFieldContentMask == null) { + this.dataSetFieldContentMask = null; + } else { + this.dataSetFieldContentMask = new ArrayList(); + for (Long _item: _other.dataSetFieldContentMask) { + this.dataSetFieldContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetFieldContentMask >_P init(final _P _product) { + if (this.dataSetFieldContentMask!= null) { + final List dataSetFieldContentMask = new ArrayList(this.dataSetFieldContentMask.size()); + for (Buildable _item: this.dataSetFieldContentMask) { + dataSetFieldContentMask.add(((Long) _item.build())); + } + _product.dataSetFieldContentMask = dataSetFieldContentMask; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetFieldContentMask" hinzu. + * + * @param dataSetFieldContentMask + * Werte, die zur Eigenschaft "dataSetFieldContentMask" hinzugefügt werden. + */ + public ListOfDataSetFieldContentMask.Builder<_B> addDataSetFieldContentMask(final Iterable dataSetFieldContentMask) { + if (dataSetFieldContentMask!= null) { + if (this.dataSetFieldContentMask == null) { + this.dataSetFieldContentMask = new ArrayList(); + } + for (Long _item: dataSetFieldContentMask) { + this.dataSetFieldContentMask.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFieldContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetFieldContentMask + * Neuer Wert der Eigenschaft "dataSetFieldContentMask". + */ + public ListOfDataSetFieldContentMask.Builder<_B> withDataSetFieldContentMask(final Iterable dataSetFieldContentMask) { + if (this.dataSetFieldContentMask!= null) { + this.dataSetFieldContentMask.clear(); + } + return addDataSetFieldContentMask(dataSetFieldContentMask); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetFieldContentMask" hinzu. + * + * @param dataSetFieldContentMask + * Werte, die zur Eigenschaft "dataSetFieldContentMask" hinzugefügt werden. + */ + public ListOfDataSetFieldContentMask.Builder<_B> addDataSetFieldContentMask(Long... dataSetFieldContentMask) { + addDataSetFieldContentMask(Arrays.asList(dataSetFieldContentMask)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFieldContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetFieldContentMask + * Neuer Wert der Eigenschaft "dataSetFieldContentMask". + */ + public ListOfDataSetFieldContentMask.Builder<_B> withDataSetFieldContentMask(Long... dataSetFieldContentMask) { + withDataSetFieldContentMask(Arrays.asList(dataSetFieldContentMask)); + return this; + } + + @Override + public ListOfDataSetFieldContentMask build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetFieldContentMask()); + } else { + return ((ListOfDataSetFieldContentMask) _storedValue); + } + } + + public ListOfDataSetFieldContentMask.Builder<_B> copyOf(final ListOfDataSetFieldContentMask _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetFieldContentMask.Builder<_B> copyOf(final ListOfDataSetFieldContentMask.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetFieldContentMask.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetFieldContentMask.Select _root() { + return new ListOfDataSetFieldContentMask.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> dataSetFieldContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetFieldContentMask!= null) { + products.put("dataSetFieldContentMask", this.dataSetFieldContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dataSetFieldContentMask() { + return ((this.dataSetFieldContentMask == null)?this.dataSetFieldContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetFieldContentMask"):this.dataSetFieldContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetMetaDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetMetaDataType.java new file mode 100644 index 000000000..c1f782637 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetMetaDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetMetaDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetMetaDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetMetaDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetMetaDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetMetaDataType", propOrder = { + "dataSetMetaDataType" +}) +public class ListOfDataSetMetaDataType { + + @XmlElement(name = "DataSetMetaDataType", nillable = true) + protected List dataSetMetaDataType; + + /** + * Gets the value of the dataSetMetaDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetMetaDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetMetaDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetMetaDataType } + * + * + */ + public List getDataSetMetaDataType() { + if (dataSetMetaDataType == null) { + dataSetMetaDataType = new ArrayList(); + } + return this.dataSetMetaDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetMetaDataType.Builder<_B> _other) { + if (this.dataSetMetaDataType == null) { + _other.dataSetMetaDataType = null; + } else { + _other.dataSetMetaDataType = new ArrayList>>(); + for (DataSetMetaDataType _item: this.dataSetMetaDataType) { + _other.dataSetMetaDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetMetaDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetMetaDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetMetaDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetMetaDataType.Builder builder() { + return new ListOfDataSetMetaDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetMetaDataType.Builder<_B> copyOf(final ListOfDataSetMetaDataType _other) { + final ListOfDataSetMetaDataType.Builder<_B> _newBuilder = new ListOfDataSetMetaDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetMetaDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetMetaDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMetaDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMetaDataTypePropertyTree!= null):((dataSetMetaDataTypePropertyTree == null)||(!dataSetMetaDataTypePropertyTree.isLeaf())))) { + if (this.dataSetMetaDataType == null) { + _other.dataSetMetaDataType = null; + } else { + _other.dataSetMetaDataType = new ArrayList>>(); + for (DataSetMetaDataType _item: this.dataSetMetaDataType) { + _other.dataSetMetaDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetMetaDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetMetaDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetMetaDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetMetaDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetMetaDataType.Builder<_B> copyOf(final ListOfDataSetMetaDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetMetaDataType.Builder<_B> _newBuilder = new ListOfDataSetMetaDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetMetaDataType.Builder copyExcept(final ListOfDataSetMetaDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetMetaDataType.Builder copyOnly(final ListOfDataSetMetaDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetMetaDataType _storedValue; + private List>> dataSetMetaDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetMetaDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetMetaDataType == null) { + this.dataSetMetaDataType = null; + } else { + this.dataSetMetaDataType = new ArrayList>>(); + for (DataSetMetaDataType _item: _other.dataSetMetaDataType) { + this.dataSetMetaDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetMetaDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetMetaDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMetaDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMetaDataTypePropertyTree!= null):((dataSetMetaDataTypePropertyTree == null)||(!dataSetMetaDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetMetaDataType == null) { + this.dataSetMetaDataType = null; + } else { + this.dataSetMetaDataType = new ArrayList>>(); + for (DataSetMetaDataType _item: _other.dataSetMetaDataType) { + this.dataSetMetaDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetMetaDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetMetaDataType >_P init(final _P _product) { + if (this.dataSetMetaDataType!= null) { + final List dataSetMetaDataType = new ArrayList(this.dataSetMetaDataType.size()); + for (DataSetMetaDataType.Builder> _item: this.dataSetMetaDataType) { + dataSetMetaDataType.add(_item.build()); + } + _product.dataSetMetaDataType = dataSetMetaDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetMetaDataType" hinzu. + * + * @param dataSetMetaDataType + * Werte, die zur Eigenschaft "dataSetMetaDataType" hinzugefügt werden. + */ + public ListOfDataSetMetaDataType.Builder<_B> addDataSetMetaDataType(final Iterable dataSetMetaDataType) { + if (dataSetMetaDataType!= null) { + if (this.dataSetMetaDataType == null) { + this.dataSetMetaDataType = new ArrayList>>(); + } + for (DataSetMetaDataType _item: dataSetMetaDataType) { + this.dataSetMetaDataType.add(new DataSetMetaDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMetaDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataSetMetaDataType + * Neuer Wert der Eigenschaft "dataSetMetaDataType". + */ + public ListOfDataSetMetaDataType.Builder<_B> withDataSetMetaDataType(final Iterable dataSetMetaDataType) { + if (this.dataSetMetaDataType!= null) { + this.dataSetMetaDataType.clear(); + } + return addDataSetMetaDataType(dataSetMetaDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetMetaDataType" hinzu. + * + * @param dataSetMetaDataType + * Werte, die zur Eigenschaft "dataSetMetaDataType" hinzugefügt werden. + */ + public ListOfDataSetMetaDataType.Builder<_B> addDataSetMetaDataType(DataSetMetaDataType... dataSetMetaDataType) { + addDataSetMetaDataType(Arrays.asList(dataSetMetaDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMetaDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataSetMetaDataType + * Neuer Wert der Eigenschaft "dataSetMetaDataType". + */ + public ListOfDataSetMetaDataType.Builder<_B> withDataSetMetaDataType(DataSetMetaDataType... dataSetMetaDataType) { + withDataSetMetaDataType(Arrays.asList(dataSetMetaDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetMetaDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetMetaDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetMetaDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetMetaDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public DataSetMetaDataType.Builder> addDataSetMetaDataType() { + if (this.dataSetMetaDataType == null) { + this.dataSetMetaDataType = new ArrayList>>(); + } + final DataSetMetaDataType.Builder> dataSetMetaDataType_Builder = new DataSetMetaDataType.Builder>(this, null, false); + this.dataSetMetaDataType.add(dataSetMetaDataType_Builder); + return dataSetMetaDataType_Builder; + } + + @Override + public ListOfDataSetMetaDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetMetaDataType()); + } else { + return ((ListOfDataSetMetaDataType) _storedValue); + } + } + + public ListOfDataSetMetaDataType.Builder<_B> copyOf(final ListOfDataSetMetaDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetMetaDataType.Builder<_B> copyOf(final ListOfDataSetMetaDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetMetaDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetMetaDataType.Select _root() { + return new ListOfDataSetMetaDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetMetaDataType.Selector> dataSetMetaDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetMetaDataType!= null) { + products.put("dataSetMetaDataType", this.dataSetMetaDataType.init()); + } + return products; + } + + public DataSetMetaDataType.Selector> dataSetMetaDataType() { + return ((this.dataSetMetaDataType == null)?this.dataSetMetaDataType = new DataSetMetaDataType.Selector>(this._root, this, "dataSetMetaDataType"):this.dataSetMetaDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetOrderingType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetOrderingType.java new file mode 100644 index 000000000..bdaf8cde1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetOrderingType.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetOrderingType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetOrderingType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetOrderingType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetOrderingType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetOrderingType", propOrder = { + "dataSetOrderingType" +}) +public class ListOfDataSetOrderingType { + + @XmlElement(name = "DataSetOrderingType") + @XmlSchemaType(name = "string") + protected List dataSetOrderingType; + + /** + * Gets the value of the dataSetOrderingType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetOrderingType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetOrderingType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetOrderingType } + * + * + */ + public List getDataSetOrderingType() { + if (dataSetOrderingType == null) { + dataSetOrderingType = new ArrayList(); + } + return this.dataSetOrderingType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetOrderingType.Builder<_B> _other) { + if (this.dataSetOrderingType == null) { + _other.dataSetOrderingType = null; + } else { + _other.dataSetOrderingType = new ArrayList(); + for (DataSetOrderingType _item: this.dataSetOrderingType) { + _other.dataSetOrderingType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfDataSetOrderingType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetOrderingType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetOrderingType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetOrderingType.Builder builder() { + return new ListOfDataSetOrderingType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetOrderingType.Builder<_B> copyOf(final ListOfDataSetOrderingType _other) { + final ListOfDataSetOrderingType.Builder<_B> _newBuilder = new ListOfDataSetOrderingType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetOrderingType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetOrderingTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOrderingType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOrderingTypePropertyTree!= null):((dataSetOrderingTypePropertyTree == null)||(!dataSetOrderingTypePropertyTree.isLeaf())))) { + if (this.dataSetOrderingType == null) { + _other.dataSetOrderingType = null; + } else { + _other.dataSetOrderingType = new ArrayList(); + for (DataSetOrderingType _item: this.dataSetOrderingType) { + _other.dataSetOrderingType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfDataSetOrderingType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetOrderingType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetOrderingType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetOrderingType.Builder<_B> copyOf(final ListOfDataSetOrderingType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetOrderingType.Builder<_B> _newBuilder = new ListOfDataSetOrderingType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetOrderingType.Builder copyExcept(final ListOfDataSetOrderingType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetOrderingType.Builder copyOnly(final ListOfDataSetOrderingType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetOrderingType _storedValue; + private List dataSetOrderingType; + + public Builder(final _B _parentBuilder, final ListOfDataSetOrderingType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetOrderingType == null) { + this.dataSetOrderingType = null; + } else { + this.dataSetOrderingType = new ArrayList(); + for (DataSetOrderingType _item: _other.dataSetOrderingType) { + this.dataSetOrderingType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetOrderingType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetOrderingTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOrderingType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOrderingTypePropertyTree!= null):((dataSetOrderingTypePropertyTree == null)||(!dataSetOrderingTypePropertyTree.isLeaf())))) { + if (_other.dataSetOrderingType == null) { + this.dataSetOrderingType = null; + } else { + this.dataSetOrderingType = new ArrayList(); + for (DataSetOrderingType _item: _other.dataSetOrderingType) { + this.dataSetOrderingType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetOrderingType >_P init(final _P _product) { + if (this.dataSetOrderingType!= null) { + final List dataSetOrderingType = new ArrayList(this.dataSetOrderingType.size()); + for (Buildable _item: this.dataSetOrderingType) { + dataSetOrderingType.add(((DataSetOrderingType) _item.build())); + } + _product.dataSetOrderingType = dataSetOrderingType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetOrderingType" hinzu. + * + * @param dataSetOrderingType + * Werte, die zur Eigenschaft "dataSetOrderingType" hinzugefügt werden. + */ + public ListOfDataSetOrderingType.Builder<_B> addDataSetOrderingType(final Iterable dataSetOrderingType) { + if (dataSetOrderingType!= null) { + if (this.dataSetOrderingType == null) { + this.dataSetOrderingType = new ArrayList(); + } + for (DataSetOrderingType _item: dataSetOrderingType) { + this.dataSetOrderingType.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetOrderingType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataSetOrderingType + * Neuer Wert der Eigenschaft "dataSetOrderingType". + */ + public ListOfDataSetOrderingType.Builder<_B> withDataSetOrderingType(final Iterable dataSetOrderingType) { + if (this.dataSetOrderingType!= null) { + this.dataSetOrderingType.clear(); + } + return addDataSetOrderingType(dataSetOrderingType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetOrderingType" hinzu. + * + * @param dataSetOrderingType + * Werte, die zur Eigenschaft "dataSetOrderingType" hinzugefügt werden. + */ + public ListOfDataSetOrderingType.Builder<_B> addDataSetOrderingType(DataSetOrderingType... dataSetOrderingType) { + addDataSetOrderingType(Arrays.asList(dataSetOrderingType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetOrderingType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataSetOrderingType + * Neuer Wert der Eigenschaft "dataSetOrderingType". + */ + public ListOfDataSetOrderingType.Builder<_B> withDataSetOrderingType(DataSetOrderingType... dataSetOrderingType) { + withDataSetOrderingType(Arrays.asList(dataSetOrderingType)); + return this; + } + + @Override + public ListOfDataSetOrderingType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetOrderingType()); + } else { + return ((ListOfDataSetOrderingType) _storedValue); + } + } + + public ListOfDataSetOrderingType.Builder<_B> copyOf(final ListOfDataSetOrderingType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetOrderingType.Builder<_B> copyOf(final ListOfDataSetOrderingType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetOrderingType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetOrderingType.Select _root() { + return new ListOfDataSetOrderingType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> dataSetOrderingType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetOrderingType!= null) { + products.put("dataSetOrderingType", this.dataSetOrderingType.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dataSetOrderingType() { + return ((this.dataSetOrderingType == null)?this.dataSetOrderingType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetOrderingType"):this.dataSetOrderingType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderDataType.java new file mode 100644 index 000000000..aeed1149c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetReaderDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetReaderDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetReaderDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetReaderDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetReaderDataType", propOrder = { + "dataSetReaderDataType" +}) +public class ListOfDataSetReaderDataType { + + @XmlElement(name = "DataSetReaderDataType", nillable = true) + protected List dataSetReaderDataType; + + /** + * Gets the value of the dataSetReaderDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetReaderDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetReaderDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetReaderDataType } + * + * + */ + public List getDataSetReaderDataType() { + if (dataSetReaderDataType == null) { + dataSetReaderDataType = new ArrayList(); + } + return this.dataSetReaderDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetReaderDataType.Builder<_B> _other) { + if (this.dataSetReaderDataType == null) { + _other.dataSetReaderDataType = null; + } else { + _other.dataSetReaderDataType = new ArrayList>>(); + for (DataSetReaderDataType _item: this.dataSetReaderDataType) { + _other.dataSetReaderDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetReaderDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetReaderDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetReaderDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetReaderDataType.Builder builder() { + return new ListOfDataSetReaderDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetReaderDataType.Builder<_B> copyOf(final ListOfDataSetReaderDataType _other) { + final ListOfDataSetReaderDataType.Builder<_B> _newBuilder = new ListOfDataSetReaderDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetReaderDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetReaderDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderDataTypePropertyTree!= null):((dataSetReaderDataTypePropertyTree == null)||(!dataSetReaderDataTypePropertyTree.isLeaf())))) { + if (this.dataSetReaderDataType == null) { + _other.dataSetReaderDataType = null; + } else { + _other.dataSetReaderDataType = new ArrayList>>(); + for (DataSetReaderDataType _item: this.dataSetReaderDataType) { + _other.dataSetReaderDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetReaderDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetReaderDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetReaderDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetReaderDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetReaderDataType.Builder<_B> copyOf(final ListOfDataSetReaderDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetReaderDataType.Builder<_B> _newBuilder = new ListOfDataSetReaderDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetReaderDataType.Builder copyExcept(final ListOfDataSetReaderDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetReaderDataType.Builder copyOnly(final ListOfDataSetReaderDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetReaderDataType _storedValue; + private List>> dataSetReaderDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetReaderDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetReaderDataType == null) { + this.dataSetReaderDataType = null; + } else { + this.dataSetReaderDataType = new ArrayList>>(); + for (DataSetReaderDataType _item: _other.dataSetReaderDataType) { + this.dataSetReaderDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetReaderDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetReaderDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderDataTypePropertyTree!= null):((dataSetReaderDataTypePropertyTree == null)||(!dataSetReaderDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetReaderDataType == null) { + this.dataSetReaderDataType = null; + } else { + this.dataSetReaderDataType = new ArrayList>>(); + for (DataSetReaderDataType _item: _other.dataSetReaderDataType) { + this.dataSetReaderDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetReaderDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetReaderDataType >_P init(final _P _product) { + if (this.dataSetReaderDataType!= null) { + final List dataSetReaderDataType = new ArrayList(this.dataSetReaderDataType.size()); + for (DataSetReaderDataType.Builder> _item: this.dataSetReaderDataType) { + dataSetReaderDataType.add(_item.build()); + } + _product.dataSetReaderDataType = dataSetReaderDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetReaderDataType" hinzu. + * + * @param dataSetReaderDataType + * Werte, die zur Eigenschaft "dataSetReaderDataType" hinzugefügt werden. + */ + public ListOfDataSetReaderDataType.Builder<_B> addDataSetReaderDataType(final Iterable dataSetReaderDataType) { + if (dataSetReaderDataType!= null) { + if (this.dataSetReaderDataType == null) { + this.dataSetReaderDataType = new ArrayList>>(); + } + for (DataSetReaderDataType _item: dataSetReaderDataType) { + this.dataSetReaderDataType.add(new DataSetReaderDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderDataType + * Neuer Wert der Eigenschaft "dataSetReaderDataType". + */ + public ListOfDataSetReaderDataType.Builder<_B> withDataSetReaderDataType(final Iterable dataSetReaderDataType) { + if (this.dataSetReaderDataType!= null) { + this.dataSetReaderDataType.clear(); + } + return addDataSetReaderDataType(dataSetReaderDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetReaderDataType" hinzu. + * + * @param dataSetReaderDataType + * Werte, die zur Eigenschaft "dataSetReaderDataType" hinzugefügt werden. + */ + public ListOfDataSetReaderDataType.Builder<_B> addDataSetReaderDataType(DataSetReaderDataType... dataSetReaderDataType) { + addDataSetReaderDataType(Arrays.asList(dataSetReaderDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderDataType + * Neuer Wert der Eigenschaft "dataSetReaderDataType". + */ + public ListOfDataSetReaderDataType.Builder<_B> withDataSetReaderDataType(DataSetReaderDataType... dataSetReaderDataType) { + withDataSetReaderDataType(Arrays.asList(dataSetReaderDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetReaderDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetReaderDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetReaderDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetReaderDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public DataSetReaderDataType.Builder> addDataSetReaderDataType() { + if (this.dataSetReaderDataType == null) { + this.dataSetReaderDataType = new ArrayList>>(); + } + final DataSetReaderDataType.Builder> dataSetReaderDataType_Builder = new DataSetReaderDataType.Builder>(this, null, false); + this.dataSetReaderDataType.add(dataSetReaderDataType_Builder); + return dataSetReaderDataType_Builder; + } + + @Override + public ListOfDataSetReaderDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetReaderDataType()); + } else { + return ((ListOfDataSetReaderDataType) _storedValue); + } + } + + public ListOfDataSetReaderDataType.Builder<_B> copyOf(final ListOfDataSetReaderDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetReaderDataType.Builder<_B> copyOf(final ListOfDataSetReaderDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetReaderDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetReaderDataType.Select _root() { + return new ListOfDataSetReaderDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetReaderDataType.Selector> dataSetReaderDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetReaderDataType!= null) { + products.put("dataSetReaderDataType", this.dataSetReaderDataType.init()); + } + return products; + } + + public DataSetReaderDataType.Selector> dataSetReaderDataType() { + return ((this.dataSetReaderDataType == null)?this.dataSetReaderDataType = new DataSetReaderDataType.Selector>(this._root, this, "dataSetReaderDataType"):this.dataSetReaderDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderMessageDataType.java new file mode 100644 index 000000000..ba9953f65 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderMessageDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetReaderMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetReaderMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetReaderMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetReaderMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetReaderMessageDataType", propOrder = { + "dataSetReaderMessageDataType" +}) +public class ListOfDataSetReaderMessageDataType { + + @XmlElement(name = "DataSetReaderMessageDataType", nillable = true) + protected List dataSetReaderMessageDataType; + + /** + * Gets the value of the dataSetReaderMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetReaderMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetReaderMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetReaderMessageDataType } + * + * + */ + public List getDataSetReaderMessageDataType() { + if (dataSetReaderMessageDataType == null) { + dataSetReaderMessageDataType = new ArrayList(); + } + return this.dataSetReaderMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetReaderMessageDataType.Builder<_B> _other) { + if (this.dataSetReaderMessageDataType == null) { + _other.dataSetReaderMessageDataType = null; + } else { + _other.dataSetReaderMessageDataType = new ArrayList>>(); + for (DataSetReaderMessageDataType _item: this.dataSetReaderMessageDataType) { + _other.dataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetReaderMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetReaderMessageDataType.Builder builder() { + return new ListOfDataSetReaderMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfDataSetReaderMessageDataType _other) { + final ListOfDataSetReaderMessageDataType.Builder<_B> _newBuilder = new ListOfDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetReaderMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetReaderMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderMessageDataTypePropertyTree!= null):((dataSetReaderMessageDataTypePropertyTree == null)||(!dataSetReaderMessageDataTypePropertyTree.isLeaf())))) { + if (this.dataSetReaderMessageDataType == null) { + _other.dataSetReaderMessageDataType = null; + } else { + _other.dataSetReaderMessageDataType = new ArrayList>>(); + for (DataSetReaderMessageDataType _item: this.dataSetReaderMessageDataType) { + _other.dataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetReaderMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetReaderMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfDataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetReaderMessageDataType.Builder<_B> _newBuilder = new ListOfDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetReaderMessageDataType.Builder copyExcept(final ListOfDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetReaderMessageDataType.Builder copyOnly(final ListOfDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetReaderMessageDataType _storedValue; + private List>> dataSetReaderMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetReaderMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetReaderMessageDataType == null) { + this.dataSetReaderMessageDataType = null; + } else { + this.dataSetReaderMessageDataType = new ArrayList>>(); + for (DataSetReaderMessageDataType _item: _other.dataSetReaderMessageDataType) { + this.dataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetReaderMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetReaderMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderMessageDataTypePropertyTree!= null):((dataSetReaderMessageDataTypePropertyTree == null)||(!dataSetReaderMessageDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetReaderMessageDataType == null) { + this.dataSetReaderMessageDataType = null; + } else { + this.dataSetReaderMessageDataType = new ArrayList>>(); + for (DataSetReaderMessageDataType _item: _other.dataSetReaderMessageDataType) { + this.dataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetReaderMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetReaderMessageDataType >_P init(final _P _product) { + if (this.dataSetReaderMessageDataType!= null) { + final List dataSetReaderMessageDataType = new ArrayList(this.dataSetReaderMessageDataType.size()); + for (DataSetReaderMessageDataType.Builder> _item: this.dataSetReaderMessageDataType) { + dataSetReaderMessageDataType.add(_item.build()); + } + _product.dataSetReaderMessageDataType = dataSetReaderMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetReaderMessageDataType" hinzu. + * + * @param dataSetReaderMessageDataType + * Werte, die zur Eigenschaft "dataSetReaderMessageDataType" hinzugefügt werden. + */ + public ListOfDataSetReaderMessageDataType.Builder<_B> addDataSetReaderMessageDataType(final Iterable dataSetReaderMessageDataType) { + if (dataSetReaderMessageDataType!= null) { + if (this.dataSetReaderMessageDataType == null) { + this.dataSetReaderMessageDataType = new ArrayList>>(); + } + for (DataSetReaderMessageDataType _item: dataSetReaderMessageDataType) { + this.dataSetReaderMessageDataType.add(new DataSetReaderMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderMessageDataType + * Neuer Wert der Eigenschaft "dataSetReaderMessageDataType". + */ + public ListOfDataSetReaderMessageDataType.Builder<_B> withDataSetReaderMessageDataType(final Iterable dataSetReaderMessageDataType) { + if (this.dataSetReaderMessageDataType!= null) { + this.dataSetReaderMessageDataType.clear(); + } + return addDataSetReaderMessageDataType(dataSetReaderMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetReaderMessageDataType" hinzu. + * + * @param dataSetReaderMessageDataType + * Werte, die zur Eigenschaft "dataSetReaderMessageDataType" hinzugefügt werden. + */ + public ListOfDataSetReaderMessageDataType.Builder<_B> addDataSetReaderMessageDataType(DataSetReaderMessageDataType... dataSetReaderMessageDataType) { + addDataSetReaderMessageDataType(Arrays.asList(dataSetReaderMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderMessageDataType + * Neuer Wert der Eigenschaft "dataSetReaderMessageDataType". + */ + public ListOfDataSetReaderMessageDataType.Builder<_B> withDataSetReaderMessageDataType(DataSetReaderMessageDataType... dataSetReaderMessageDataType) { + withDataSetReaderMessageDataType(Arrays.asList(dataSetReaderMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetReaderMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetReaderMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetReaderMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetReaderMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DataSetReaderMessageDataType.Builder> addDataSetReaderMessageDataType() { + if (this.dataSetReaderMessageDataType == null) { + this.dataSetReaderMessageDataType = new ArrayList>>(); + } + final DataSetReaderMessageDataType.Builder> dataSetReaderMessageDataType_Builder = new DataSetReaderMessageDataType.Builder>(this, null, false); + this.dataSetReaderMessageDataType.add(dataSetReaderMessageDataType_Builder); + return dataSetReaderMessageDataType_Builder; + } + + @Override + public ListOfDataSetReaderMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetReaderMessageDataType()); + } else { + return ((ListOfDataSetReaderMessageDataType) _storedValue); + } + } + + public ListOfDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfDataSetReaderMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfDataSetReaderMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetReaderMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetReaderMessageDataType.Select _root() { + return new ListOfDataSetReaderMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetReaderMessageDataType.Selector> dataSetReaderMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetReaderMessageDataType!= null) { + products.put("dataSetReaderMessageDataType", this.dataSetReaderMessageDataType.init()); + } + return products; + } + + public DataSetReaderMessageDataType.Selector> dataSetReaderMessageDataType() { + return ((this.dataSetReaderMessageDataType == null)?this.dataSetReaderMessageDataType = new DataSetReaderMessageDataType.Selector>(this._root, this, "dataSetReaderMessageDataType"):this.dataSetReaderMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderTransportDataType.java new file mode 100644 index 000000000..a55d3fcb9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetReaderTransportDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetReaderTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetReaderTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetReaderTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetReaderTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetReaderTransportDataType", propOrder = { + "dataSetReaderTransportDataType" +}) +public class ListOfDataSetReaderTransportDataType { + + @XmlElement(name = "DataSetReaderTransportDataType", nillable = true) + protected List dataSetReaderTransportDataType; + + /** + * Gets the value of the dataSetReaderTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetReaderTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetReaderTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetReaderTransportDataType } + * + * + */ + public List getDataSetReaderTransportDataType() { + if (dataSetReaderTransportDataType == null) { + dataSetReaderTransportDataType = new ArrayList(); + } + return this.dataSetReaderTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetReaderTransportDataType.Builder<_B> _other) { + if (this.dataSetReaderTransportDataType == null) { + _other.dataSetReaderTransportDataType = null; + } else { + _other.dataSetReaderTransportDataType = new ArrayList>>(); + for (DataSetReaderTransportDataType _item: this.dataSetReaderTransportDataType) { + _other.dataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetReaderTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetReaderTransportDataType.Builder builder() { + return new ListOfDataSetReaderTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfDataSetReaderTransportDataType _other) { + final ListOfDataSetReaderTransportDataType.Builder<_B> _newBuilder = new ListOfDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetReaderTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetReaderTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderTransportDataTypePropertyTree!= null):((dataSetReaderTransportDataTypePropertyTree == null)||(!dataSetReaderTransportDataTypePropertyTree.isLeaf())))) { + if (this.dataSetReaderTransportDataType == null) { + _other.dataSetReaderTransportDataType = null; + } else { + _other.dataSetReaderTransportDataType = new ArrayList>>(); + for (DataSetReaderTransportDataType _item: this.dataSetReaderTransportDataType) { + _other.dataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetReaderTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetReaderTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetReaderTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetReaderTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfDataSetReaderTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetReaderTransportDataType.Builder<_B> _newBuilder = new ListOfDataSetReaderTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetReaderTransportDataType.Builder copyExcept(final ListOfDataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetReaderTransportDataType.Builder copyOnly(final ListOfDataSetReaderTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetReaderTransportDataType _storedValue; + private List>> dataSetReaderTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetReaderTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetReaderTransportDataType == null) { + this.dataSetReaderTransportDataType = null; + } else { + this.dataSetReaderTransportDataType = new ArrayList>>(); + for (DataSetReaderTransportDataType _item: _other.dataSetReaderTransportDataType) { + this.dataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetReaderTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetReaderTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaderTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReaderTransportDataTypePropertyTree!= null):((dataSetReaderTransportDataTypePropertyTree == null)||(!dataSetReaderTransportDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetReaderTransportDataType == null) { + this.dataSetReaderTransportDataType = null; + } else { + this.dataSetReaderTransportDataType = new ArrayList>>(); + for (DataSetReaderTransportDataType _item: _other.dataSetReaderTransportDataType) { + this.dataSetReaderTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetReaderTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetReaderTransportDataType >_P init(final _P _product) { + if (this.dataSetReaderTransportDataType!= null) { + final List dataSetReaderTransportDataType = new ArrayList(this.dataSetReaderTransportDataType.size()); + for (DataSetReaderTransportDataType.Builder> _item: this.dataSetReaderTransportDataType) { + dataSetReaderTransportDataType.add(_item.build()); + } + _product.dataSetReaderTransportDataType = dataSetReaderTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetReaderTransportDataType" hinzu. + * + * @param dataSetReaderTransportDataType + * Werte, die zur Eigenschaft "dataSetReaderTransportDataType" hinzugefügt werden. + */ + public ListOfDataSetReaderTransportDataType.Builder<_B> addDataSetReaderTransportDataType(final Iterable dataSetReaderTransportDataType) { + if (dataSetReaderTransportDataType!= null) { + if (this.dataSetReaderTransportDataType == null) { + this.dataSetReaderTransportDataType = new ArrayList>>(); + } + for (DataSetReaderTransportDataType _item: dataSetReaderTransportDataType) { + this.dataSetReaderTransportDataType.add(new DataSetReaderTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderTransportDataType + * Neuer Wert der Eigenschaft "dataSetReaderTransportDataType". + */ + public ListOfDataSetReaderTransportDataType.Builder<_B> withDataSetReaderTransportDataType(final Iterable dataSetReaderTransportDataType) { + if (this.dataSetReaderTransportDataType!= null) { + this.dataSetReaderTransportDataType.clear(); + } + return addDataSetReaderTransportDataType(dataSetReaderTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetReaderTransportDataType" hinzu. + * + * @param dataSetReaderTransportDataType + * Werte, die zur Eigenschaft "dataSetReaderTransportDataType" hinzugefügt werden. + */ + public ListOfDataSetReaderTransportDataType.Builder<_B> addDataSetReaderTransportDataType(DataSetReaderTransportDataType... dataSetReaderTransportDataType) { + addDataSetReaderTransportDataType(Arrays.asList(dataSetReaderTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaderTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetReaderTransportDataType + * Neuer Wert der Eigenschaft "dataSetReaderTransportDataType". + */ + public ListOfDataSetReaderTransportDataType.Builder<_B> withDataSetReaderTransportDataType(DataSetReaderTransportDataType... dataSetReaderTransportDataType) { + withDataSetReaderTransportDataType(Arrays.asList(dataSetReaderTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetReaderTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetReaderTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetReaderTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetReaderTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DataSetReaderTransportDataType.Builder> addDataSetReaderTransportDataType() { + if (this.dataSetReaderTransportDataType == null) { + this.dataSetReaderTransportDataType = new ArrayList>>(); + } + final DataSetReaderTransportDataType.Builder> dataSetReaderTransportDataType_Builder = new DataSetReaderTransportDataType.Builder>(this, null, false); + this.dataSetReaderTransportDataType.add(dataSetReaderTransportDataType_Builder); + return dataSetReaderTransportDataType_Builder; + } + + @Override + public ListOfDataSetReaderTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetReaderTransportDataType()); + } else { + return ((ListOfDataSetReaderTransportDataType) _storedValue); + } + } + + public ListOfDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfDataSetReaderTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetReaderTransportDataType.Builder<_B> copyOf(final ListOfDataSetReaderTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetReaderTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetReaderTransportDataType.Select _root() { + return new ListOfDataSetReaderTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetReaderTransportDataType.Selector> dataSetReaderTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetReaderTransportDataType!= null) { + products.put("dataSetReaderTransportDataType", this.dataSetReaderTransportDataType.init()); + } + return products; + } + + public DataSetReaderTransportDataType.Selector> dataSetReaderTransportDataType() { + return ((this.dataSetReaderTransportDataType == null)?this.dataSetReaderTransportDataType = new DataSetReaderTransportDataType.Selector>(this._root, this, "dataSetReaderTransportDataType"):this.dataSetReaderTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterDataType.java new file mode 100644 index 000000000..c794881d6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetWriterDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetWriterDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetWriterDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetWriterDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetWriterDataType", propOrder = { + "dataSetWriterDataType" +}) +public class ListOfDataSetWriterDataType { + + @XmlElement(name = "DataSetWriterDataType", nillable = true) + protected List dataSetWriterDataType; + + /** + * Gets the value of the dataSetWriterDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetWriterDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetWriterDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetWriterDataType } + * + * + */ + public List getDataSetWriterDataType() { + if (dataSetWriterDataType == null) { + dataSetWriterDataType = new ArrayList(); + } + return this.dataSetWriterDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetWriterDataType.Builder<_B> _other) { + if (this.dataSetWriterDataType == null) { + _other.dataSetWriterDataType = null; + } else { + _other.dataSetWriterDataType = new ArrayList>>(); + for (DataSetWriterDataType _item: this.dataSetWriterDataType) { + _other.dataSetWriterDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetWriterDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetWriterDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetWriterDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetWriterDataType.Builder builder() { + return new ListOfDataSetWriterDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetWriterDataType.Builder<_B> copyOf(final ListOfDataSetWriterDataType _other) { + final ListOfDataSetWriterDataType.Builder<_B> _newBuilder = new ListOfDataSetWriterDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetWriterDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetWriterDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterDataTypePropertyTree!= null):((dataSetWriterDataTypePropertyTree == null)||(!dataSetWriterDataTypePropertyTree.isLeaf())))) { + if (this.dataSetWriterDataType == null) { + _other.dataSetWriterDataType = null; + } else { + _other.dataSetWriterDataType = new ArrayList>>(); + for (DataSetWriterDataType _item: this.dataSetWriterDataType) { + _other.dataSetWriterDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetWriterDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetWriterDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetWriterDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetWriterDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetWriterDataType.Builder<_B> copyOf(final ListOfDataSetWriterDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetWriterDataType.Builder<_B> _newBuilder = new ListOfDataSetWriterDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetWriterDataType.Builder copyExcept(final ListOfDataSetWriterDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetWriterDataType.Builder copyOnly(final ListOfDataSetWriterDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetWriterDataType _storedValue; + private List>> dataSetWriterDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetWriterDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetWriterDataType == null) { + this.dataSetWriterDataType = null; + } else { + this.dataSetWriterDataType = new ArrayList>>(); + for (DataSetWriterDataType _item: _other.dataSetWriterDataType) { + this.dataSetWriterDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetWriterDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetWriterDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterDataTypePropertyTree!= null):((dataSetWriterDataTypePropertyTree == null)||(!dataSetWriterDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetWriterDataType == null) { + this.dataSetWriterDataType = null; + } else { + this.dataSetWriterDataType = new ArrayList>>(); + for (DataSetWriterDataType _item: _other.dataSetWriterDataType) { + this.dataSetWriterDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetWriterDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetWriterDataType >_P init(final _P _product) { + if (this.dataSetWriterDataType!= null) { + final List dataSetWriterDataType = new ArrayList(this.dataSetWriterDataType.size()); + for (DataSetWriterDataType.Builder> _item: this.dataSetWriterDataType) { + dataSetWriterDataType.add(_item.build()); + } + _product.dataSetWriterDataType = dataSetWriterDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetWriterDataType" hinzu. + * + * @param dataSetWriterDataType + * Werte, die zur Eigenschaft "dataSetWriterDataType" hinzugefügt werden. + */ + public ListOfDataSetWriterDataType.Builder<_B> addDataSetWriterDataType(final Iterable dataSetWriterDataType) { + if (dataSetWriterDataType!= null) { + if (this.dataSetWriterDataType == null) { + this.dataSetWriterDataType = new ArrayList>>(); + } + for (DataSetWriterDataType _item: dataSetWriterDataType) { + this.dataSetWriterDataType.add(new DataSetWriterDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterDataType + * Neuer Wert der Eigenschaft "dataSetWriterDataType". + */ + public ListOfDataSetWriterDataType.Builder<_B> withDataSetWriterDataType(final Iterable dataSetWriterDataType) { + if (this.dataSetWriterDataType!= null) { + this.dataSetWriterDataType.clear(); + } + return addDataSetWriterDataType(dataSetWriterDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetWriterDataType" hinzu. + * + * @param dataSetWriterDataType + * Werte, die zur Eigenschaft "dataSetWriterDataType" hinzugefügt werden. + */ + public ListOfDataSetWriterDataType.Builder<_B> addDataSetWriterDataType(DataSetWriterDataType... dataSetWriterDataType) { + addDataSetWriterDataType(Arrays.asList(dataSetWriterDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterDataType + * Neuer Wert der Eigenschaft "dataSetWriterDataType". + */ + public ListOfDataSetWriterDataType.Builder<_B> withDataSetWriterDataType(DataSetWriterDataType... dataSetWriterDataType) { + withDataSetWriterDataType(Arrays.asList(dataSetWriterDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetWriterDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetWriterDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetWriterDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetWriterDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public DataSetWriterDataType.Builder> addDataSetWriterDataType() { + if (this.dataSetWriterDataType == null) { + this.dataSetWriterDataType = new ArrayList>>(); + } + final DataSetWriterDataType.Builder> dataSetWriterDataType_Builder = new DataSetWriterDataType.Builder>(this, null, false); + this.dataSetWriterDataType.add(dataSetWriterDataType_Builder); + return dataSetWriterDataType_Builder; + } + + @Override + public ListOfDataSetWriterDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetWriterDataType()); + } else { + return ((ListOfDataSetWriterDataType) _storedValue); + } + } + + public ListOfDataSetWriterDataType.Builder<_B> copyOf(final ListOfDataSetWriterDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetWriterDataType.Builder<_B> copyOf(final ListOfDataSetWriterDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetWriterDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetWriterDataType.Select _root() { + return new ListOfDataSetWriterDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetWriterDataType.Selector> dataSetWriterDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetWriterDataType!= null) { + products.put("dataSetWriterDataType", this.dataSetWriterDataType.init()); + } + return products; + } + + public DataSetWriterDataType.Selector> dataSetWriterDataType() { + return ((this.dataSetWriterDataType == null)?this.dataSetWriterDataType = new DataSetWriterDataType.Selector>(this._root, this, "dataSetWriterDataType"):this.dataSetWriterDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterMessageDataType.java new file mode 100644 index 000000000..8d13472f5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterMessageDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetWriterMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetWriterMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetWriterMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetWriterMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetWriterMessageDataType", propOrder = { + "dataSetWriterMessageDataType" +}) +public class ListOfDataSetWriterMessageDataType { + + @XmlElement(name = "DataSetWriterMessageDataType", nillable = true) + protected List dataSetWriterMessageDataType; + + /** + * Gets the value of the dataSetWriterMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetWriterMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetWriterMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetWriterMessageDataType } + * + * + */ + public List getDataSetWriterMessageDataType() { + if (dataSetWriterMessageDataType == null) { + dataSetWriterMessageDataType = new ArrayList(); + } + return this.dataSetWriterMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetWriterMessageDataType.Builder<_B> _other) { + if (this.dataSetWriterMessageDataType == null) { + _other.dataSetWriterMessageDataType = null; + } else { + _other.dataSetWriterMessageDataType = new ArrayList>>(); + for (DataSetWriterMessageDataType _item: this.dataSetWriterMessageDataType) { + _other.dataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetWriterMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetWriterMessageDataType.Builder builder() { + return new ListOfDataSetWriterMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfDataSetWriterMessageDataType _other) { + final ListOfDataSetWriterMessageDataType.Builder<_B> _newBuilder = new ListOfDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetWriterMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetWriterMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterMessageDataTypePropertyTree!= null):((dataSetWriterMessageDataTypePropertyTree == null)||(!dataSetWriterMessageDataTypePropertyTree.isLeaf())))) { + if (this.dataSetWriterMessageDataType == null) { + _other.dataSetWriterMessageDataType = null; + } else { + _other.dataSetWriterMessageDataType = new ArrayList>>(); + for (DataSetWriterMessageDataType _item: this.dataSetWriterMessageDataType) { + _other.dataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetWriterMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetWriterMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfDataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetWriterMessageDataType.Builder<_B> _newBuilder = new ListOfDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetWriterMessageDataType.Builder copyExcept(final ListOfDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetWriterMessageDataType.Builder copyOnly(final ListOfDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetWriterMessageDataType _storedValue; + private List>> dataSetWriterMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetWriterMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetWriterMessageDataType == null) { + this.dataSetWriterMessageDataType = null; + } else { + this.dataSetWriterMessageDataType = new ArrayList>>(); + for (DataSetWriterMessageDataType _item: _other.dataSetWriterMessageDataType) { + this.dataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetWriterMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetWriterMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterMessageDataTypePropertyTree!= null):((dataSetWriterMessageDataTypePropertyTree == null)||(!dataSetWriterMessageDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetWriterMessageDataType == null) { + this.dataSetWriterMessageDataType = null; + } else { + this.dataSetWriterMessageDataType = new ArrayList>>(); + for (DataSetWriterMessageDataType _item: _other.dataSetWriterMessageDataType) { + this.dataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetWriterMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetWriterMessageDataType >_P init(final _P _product) { + if (this.dataSetWriterMessageDataType!= null) { + final List dataSetWriterMessageDataType = new ArrayList(this.dataSetWriterMessageDataType.size()); + for (DataSetWriterMessageDataType.Builder> _item: this.dataSetWriterMessageDataType) { + dataSetWriterMessageDataType.add(_item.build()); + } + _product.dataSetWriterMessageDataType = dataSetWriterMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetWriterMessageDataType" hinzu. + * + * @param dataSetWriterMessageDataType + * Werte, die zur Eigenschaft "dataSetWriterMessageDataType" hinzugefügt werden. + */ + public ListOfDataSetWriterMessageDataType.Builder<_B> addDataSetWriterMessageDataType(final Iterable dataSetWriterMessageDataType) { + if (dataSetWriterMessageDataType!= null) { + if (this.dataSetWriterMessageDataType == null) { + this.dataSetWriterMessageDataType = new ArrayList>>(); + } + for (DataSetWriterMessageDataType _item: dataSetWriterMessageDataType) { + this.dataSetWriterMessageDataType.add(new DataSetWriterMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterMessageDataType + * Neuer Wert der Eigenschaft "dataSetWriterMessageDataType". + */ + public ListOfDataSetWriterMessageDataType.Builder<_B> withDataSetWriterMessageDataType(final Iterable dataSetWriterMessageDataType) { + if (this.dataSetWriterMessageDataType!= null) { + this.dataSetWriterMessageDataType.clear(); + } + return addDataSetWriterMessageDataType(dataSetWriterMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetWriterMessageDataType" hinzu. + * + * @param dataSetWriterMessageDataType + * Werte, die zur Eigenschaft "dataSetWriterMessageDataType" hinzugefügt werden. + */ + public ListOfDataSetWriterMessageDataType.Builder<_B> addDataSetWriterMessageDataType(DataSetWriterMessageDataType... dataSetWriterMessageDataType) { + addDataSetWriterMessageDataType(Arrays.asList(dataSetWriterMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterMessageDataType + * Neuer Wert der Eigenschaft "dataSetWriterMessageDataType". + */ + public ListOfDataSetWriterMessageDataType.Builder<_B> withDataSetWriterMessageDataType(DataSetWriterMessageDataType... dataSetWriterMessageDataType) { + withDataSetWriterMessageDataType(Arrays.asList(dataSetWriterMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetWriterMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetWriterMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetWriterMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetWriterMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DataSetWriterMessageDataType.Builder> addDataSetWriterMessageDataType() { + if (this.dataSetWriterMessageDataType == null) { + this.dataSetWriterMessageDataType = new ArrayList>>(); + } + final DataSetWriterMessageDataType.Builder> dataSetWriterMessageDataType_Builder = new DataSetWriterMessageDataType.Builder>(this, null, false); + this.dataSetWriterMessageDataType.add(dataSetWriterMessageDataType_Builder); + return dataSetWriterMessageDataType_Builder; + } + + @Override + public ListOfDataSetWriterMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetWriterMessageDataType()); + } else { + return ((ListOfDataSetWriterMessageDataType) _storedValue); + } + } + + public ListOfDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfDataSetWriterMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfDataSetWriterMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetWriterMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetWriterMessageDataType.Select _root() { + return new ListOfDataSetWriterMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetWriterMessageDataType.Selector> dataSetWriterMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetWriterMessageDataType!= null) { + products.put("dataSetWriterMessageDataType", this.dataSetWriterMessageDataType.init()); + } + return products; + } + + public DataSetWriterMessageDataType.Selector> dataSetWriterMessageDataType() { + return ((this.dataSetWriterMessageDataType == null)?this.dataSetWriterMessageDataType = new DataSetWriterMessageDataType.Selector>(this._root, this, "dataSetWriterMessageDataType"):this.dataSetWriterMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterTransportDataType.java new file mode 100644 index 000000000..fd15c1447 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataSetWriterTransportDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataSetWriterTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataSetWriterTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataSetWriterTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetWriterTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataSetWriterTransportDataType", propOrder = { + "dataSetWriterTransportDataType" +}) +public class ListOfDataSetWriterTransportDataType { + + @XmlElement(name = "DataSetWriterTransportDataType", nillable = true) + protected List dataSetWriterTransportDataType; + + /** + * Gets the value of the dataSetWriterTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataSetWriterTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataSetWriterTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataSetWriterTransportDataType } + * + * + */ + public List getDataSetWriterTransportDataType() { + if (dataSetWriterTransportDataType == null) { + dataSetWriterTransportDataType = new ArrayList(); + } + return this.dataSetWriterTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetWriterTransportDataType.Builder<_B> _other) { + if (this.dataSetWriterTransportDataType == null) { + _other.dataSetWriterTransportDataType = null; + } else { + _other.dataSetWriterTransportDataType = new ArrayList>>(); + for (DataSetWriterTransportDataType _item: this.dataSetWriterTransportDataType) { + _other.dataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataSetWriterTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataSetWriterTransportDataType.Builder builder() { + return new ListOfDataSetWriterTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfDataSetWriterTransportDataType _other) { + final ListOfDataSetWriterTransportDataType.Builder<_B> _newBuilder = new ListOfDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataSetWriterTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataSetWriterTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterTransportDataTypePropertyTree!= null):((dataSetWriterTransportDataTypePropertyTree == null)||(!dataSetWriterTransportDataTypePropertyTree.isLeaf())))) { + if (this.dataSetWriterTransportDataType == null) { + _other.dataSetWriterTransportDataType = null; + } else { + _other.dataSetWriterTransportDataType = new ArrayList>>(); + for (DataSetWriterTransportDataType _item: this.dataSetWriterTransportDataType) { + _other.dataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, dataSetWriterTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataSetWriterTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataSetWriterTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataSetWriterTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfDataSetWriterTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataSetWriterTransportDataType.Builder<_B> _newBuilder = new ListOfDataSetWriterTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataSetWriterTransportDataType.Builder copyExcept(final ListOfDataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataSetWriterTransportDataType.Builder copyOnly(final ListOfDataSetWriterTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataSetWriterTransportDataType _storedValue; + private List>> dataSetWriterTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfDataSetWriterTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataSetWriterTransportDataType == null) { + this.dataSetWriterTransportDataType = null; + } else { + this.dataSetWriterTransportDataType = new ArrayList>>(); + for (DataSetWriterTransportDataType _item: _other.dataSetWriterTransportDataType) { + this.dataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataSetWriterTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataSetWriterTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriterTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWriterTransportDataTypePropertyTree!= null):((dataSetWriterTransportDataTypePropertyTree == null)||(!dataSetWriterTransportDataTypePropertyTree.isLeaf())))) { + if (_other.dataSetWriterTransportDataType == null) { + this.dataSetWriterTransportDataType = null; + } else { + this.dataSetWriterTransportDataType = new ArrayList>>(); + for (DataSetWriterTransportDataType _item: _other.dataSetWriterTransportDataType) { + this.dataSetWriterTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, dataSetWriterTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataSetWriterTransportDataType >_P init(final _P _product) { + if (this.dataSetWriterTransportDataType!= null) { + final List dataSetWriterTransportDataType = new ArrayList(this.dataSetWriterTransportDataType.size()); + for (DataSetWriterTransportDataType.Builder> _item: this.dataSetWriterTransportDataType) { + dataSetWriterTransportDataType.add(_item.build()); + } + _product.dataSetWriterTransportDataType = dataSetWriterTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataSetWriterTransportDataType" hinzu. + * + * @param dataSetWriterTransportDataType + * Werte, die zur Eigenschaft "dataSetWriterTransportDataType" hinzugefügt werden. + */ + public ListOfDataSetWriterTransportDataType.Builder<_B> addDataSetWriterTransportDataType(final Iterable dataSetWriterTransportDataType) { + if (dataSetWriterTransportDataType!= null) { + if (this.dataSetWriterTransportDataType == null) { + this.dataSetWriterTransportDataType = new ArrayList>>(); + } + for (DataSetWriterTransportDataType _item: dataSetWriterTransportDataType) { + this.dataSetWriterTransportDataType.add(new DataSetWriterTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterTransportDataType + * Neuer Wert der Eigenschaft "dataSetWriterTransportDataType". + */ + public ListOfDataSetWriterTransportDataType.Builder<_B> withDataSetWriterTransportDataType(final Iterable dataSetWriterTransportDataType) { + if (this.dataSetWriterTransportDataType!= null) { + this.dataSetWriterTransportDataType.clear(); + } + return addDataSetWriterTransportDataType(dataSetWriterTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "dataSetWriterTransportDataType" hinzu. + * + * @param dataSetWriterTransportDataType + * Werte, die zur Eigenschaft "dataSetWriterTransportDataType" hinzugefügt werden. + */ + public ListOfDataSetWriterTransportDataType.Builder<_B> addDataSetWriterTransportDataType(DataSetWriterTransportDataType... dataSetWriterTransportDataType) { + addDataSetWriterTransportDataType(Arrays.asList(dataSetWriterTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriterTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetWriterTransportDataType + * Neuer Wert der Eigenschaft "dataSetWriterTransportDataType". + */ + public ListOfDataSetWriterTransportDataType.Builder<_B> withDataSetWriterTransportDataType(DataSetWriterTransportDataType... dataSetWriterTransportDataType) { + withDataSetWriterTransportDataType(Arrays.asList(dataSetWriterTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataSetWriterTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetWriterTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataSetWriterTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataSetWriterTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DataSetWriterTransportDataType.Builder> addDataSetWriterTransportDataType() { + if (this.dataSetWriterTransportDataType == null) { + this.dataSetWriterTransportDataType = new ArrayList>>(); + } + final DataSetWriterTransportDataType.Builder> dataSetWriterTransportDataType_Builder = new DataSetWriterTransportDataType.Builder>(this, null, false); + this.dataSetWriterTransportDataType.add(dataSetWriterTransportDataType_Builder); + return dataSetWriterTransportDataType_Builder; + } + + @Override + public ListOfDataSetWriterTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDataSetWriterTransportDataType()); + } else { + return ((ListOfDataSetWriterTransportDataType) _storedValue); + } + } + + public ListOfDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfDataSetWriterTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataSetWriterTransportDataType.Builder<_B> copyOf(final ListOfDataSetWriterTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataSetWriterTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataSetWriterTransportDataType.Select _root() { + return new ListOfDataSetWriterTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataSetWriterTransportDataType.Selector> dataSetWriterTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetWriterTransportDataType!= null) { + products.put("dataSetWriterTransportDataType", this.dataSetWriterTransportDataType.init()); + } + return products; + } + + public DataSetWriterTransportDataType.Selector> dataSetWriterTransportDataType() { + return ((this.dataSetWriterTransportDataType == null)?this.dataSetWriterTransportDataType = new DataSetWriterTransportDataType.Selector>(this._root, this, "dataSetWriterTransportDataType"):this.dataSetWriterTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDefinition.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDefinition.java new file mode 100644 index 000000000..57cc1920d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDefinition.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataTypeDefinition complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataTypeDefinition">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataTypeDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDefinition" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataTypeDefinition", propOrder = { + "dataTypeDefinition" +}) +public class ListOfDataTypeDefinition { + + @XmlElement(name = "DataTypeDefinition", nillable = true) + protected List dataTypeDefinition; + + /** + * Gets the value of the dataTypeDefinition property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataTypeDefinition property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataTypeDefinition().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataTypeDefinition } + * + * + */ + public List getDataTypeDefinition() { + if (dataTypeDefinition == null) { + dataTypeDefinition = new ArrayList(); + } + return this.dataTypeDefinition; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataTypeDefinition.Builder<_B> _other) { + if (this.dataTypeDefinition == null) { + _other.dataTypeDefinition = null; + } else { + _other.dataTypeDefinition = new ArrayList>>(); + for (DataTypeDefinition _item: this.dataTypeDefinition) { + _other.dataTypeDefinition.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataTypeDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataTypeDefinition.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataTypeDefinition.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataTypeDefinition.Builder builder() { + return new ListOfDataTypeDefinition.Builder(null, null, false); + } + + public static<_B >ListOfDataTypeDefinition.Builder<_B> copyOf(final ListOfDataTypeDefinition _other) { + final ListOfDataTypeDefinition.Builder<_B> _newBuilder = new ListOfDataTypeDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataTypeDefinition.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataTypeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeDefinitionPropertyTree!= null):((dataTypeDefinitionPropertyTree == null)||(!dataTypeDefinitionPropertyTree.isLeaf())))) { + if (this.dataTypeDefinition == null) { + _other.dataTypeDefinition = null; + } else { + _other.dataTypeDefinition = new ArrayList>>(); + for (DataTypeDefinition _item: this.dataTypeDefinition) { + _other.dataTypeDefinition.add(((_item == null)?null:_item.newCopyBuilder(_other, dataTypeDefinitionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataTypeDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataTypeDefinition.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataTypeDefinition.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataTypeDefinition.Builder<_B> copyOf(final ListOfDataTypeDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataTypeDefinition.Builder<_B> _newBuilder = new ListOfDataTypeDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataTypeDefinition.Builder copyExcept(final ListOfDataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataTypeDefinition.Builder copyOnly(final ListOfDataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataTypeDefinition _storedValue; + private List>> dataTypeDefinition; + + public Builder(final _B _parentBuilder, final ListOfDataTypeDefinition _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataTypeDefinition == null) { + this.dataTypeDefinition = null; + } else { + this.dataTypeDefinition = new ArrayList>>(); + for (DataTypeDefinition _item: _other.dataTypeDefinition) { + this.dataTypeDefinition.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataTypeDefinition _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataTypeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeDefinitionPropertyTree!= null):((dataTypeDefinitionPropertyTree == null)||(!dataTypeDefinitionPropertyTree.isLeaf())))) { + if (_other.dataTypeDefinition == null) { + this.dataTypeDefinition = null; + } else { + this.dataTypeDefinition = new ArrayList>>(); + for (DataTypeDefinition _item: _other.dataTypeDefinition) { + this.dataTypeDefinition.add(((_item == null)?null:_item.newCopyBuilder(this, dataTypeDefinitionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataTypeDefinition >_P init(final _P _product) { + if (this.dataTypeDefinition!= null) { + final List dataTypeDefinition = new ArrayList(this.dataTypeDefinition.size()); + for (DataTypeDefinition.Builder> _item: this.dataTypeDefinition) { + dataTypeDefinition.add(_item.build()); + } + _product.dataTypeDefinition = dataTypeDefinition; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataTypeDefinition" hinzu. + * + * @param dataTypeDefinition + * Werte, die zur Eigenschaft "dataTypeDefinition" hinzugefügt werden. + */ + public ListOfDataTypeDefinition.Builder<_B> addDataTypeDefinition(final Iterable dataTypeDefinition) { + if (dataTypeDefinition!= null) { + if (this.dataTypeDefinition == null) { + this.dataTypeDefinition = new ArrayList>>(); + } + for (DataTypeDefinition _item: dataTypeDefinition) { + this.dataTypeDefinition.add(new DataTypeDefinition.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeDefinition" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeDefinition + * Neuer Wert der Eigenschaft "dataTypeDefinition". + */ + public ListOfDataTypeDefinition.Builder<_B> withDataTypeDefinition(final Iterable dataTypeDefinition) { + if (this.dataTypeDefinition!= null) { + this.dataTypeDefinition.clear(); + } + return addDataTypeDefinition(dataTypeDefinition); + } + + /** + * Fügt Werte zur Eigenschaft "dataTypeDefinition" hinzu. + * + * @param dataTypeDefinition + * Werte, die zur Eigenschaft "dataTypeDefinition" hinzugefügt werden. + */ + public ListOfDataTypeDefinition.Builder<_B> addDataTypeDefinition(DataTypeDefinition... dataTypeDefinition) { + addDataTypeDefinition(Arrays.asList(dataTypeDefinition)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeDefinition" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeDefinition + * Neuer Wert der Eigenschaft "dataTypeDefinition". + */ + public ListOfDataTypeDefinition.Builder<_B> withDataTypeDefinition(DataTypeDefinition... dataTypeDefinition) { + withDataTypeDefinition(Arrays.asList(dataTypeDefinition)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataTypeDefinition". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataTypeDefinition.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataTypeDefinition". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataTypeDefinition.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public DataTypeDefinition.Builder> addDataTypeDefinition() { + if (this.dataTypeDefinition == null) { + this.dataTypeDefinition = new ArrayList>>(); + } + final DataTypeDefinition.Builder> dataTypeDefinition_Builder = new DataTypeDefinition.Builder>(this, null, false); + this.dataTypeDefinition.add(dataTypeDefinition_Builder); + return dataTypeDefinition_Builder; + } + + @Override + public ListOfDataTypeDefinition build() { + if (_storedValue == null) { + return this.init(new ListOfDataTypeDefinition()); + } else { + return ((ListOfDataTypeDefinition) _storedValue); + } + } + + public ListOfDataTypeDefinition.Builder<_B> copyOf(final ListOfDataTypeDefinition _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataTypeDefinition.Builder<_B> copyOf(final ListOfDataTypeDefinition.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataTypeDefinition.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataTypeDefinition.Select _root() { + return new ListOfDataTypeDefinition.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataTypeDefinition.Selector> dataTypeDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataTypeDefinition!= null) { + products.put("dataTypeDefinition", this.dataTypeDefinition.init()); + } + return products; + } + + public DataTypeDefinition.Selector> dataTypeDefinition() { + return ((this.dataTypeDefinition == null)?this.dataTypeDefinition = new DataTypeDefinition.Selector>(this._root, this, "dataTypeDefinition"):this.dataTypeDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDescription.java new file mode 100644 index 000000000..f390a4d70 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataTypeDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataTypeDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataTypeDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataTypeDescription", propOrder = { + "dataTypeDescription" +}) +public class ListOfDataTypeDescription { + + @XmlElement(name = "DataTypeDescription", nillable = true) + protected List dataTypeDescription; + + /** + * Gets the value of the dataTypeDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataTypeDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataTypeDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataTypeDescription } + * + * + */ + public List getDataTypeDescription() { + if (dataTypeDescription == null) { + dataTypeDescription = new ArrayList(); + } + return this.dataTypeDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataTypeDescription.Builder<_B> _other) { + if (this.dataTypeDescription == null) { + _other.dataTypeDescription = null; + } else { + _other.dataTypeDescription = new ArrayList>>(); + for (DataTypeDescription _item: this.dataTypeDescription) { + _other.dataTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataTypeDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataTypeDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataTypeDescription.Builder builder() { + return new ListOfDataTypeDescription.Builder(null, null, false); + } + + public static<_B >ListOfDataTypeDescription.Builder<_B> copyOf(final ListOfDataTypeDescription _other) { + final ListOfDataTypeDescription.Builder<_B> _newBuilder = new ListOfDataTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataTypeDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataTypeDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeDescriptionPropertyTree!= null):((dataTypeDescriptionPropertyTree == null)||(!dataTypeDescriptionPropertyTree.isLeaf())))) { + if (this.dataTypeDescription == null) { + _other.dataTypeDescription = null; + } else { + _other.dataTypeDescription = new ArrayList>>(); + for (DataTypeDescription _item: this.dataTypeDescription) { + _other.dataTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, dataTypeDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataTypeDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataTypeDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataTypeDescription.Builder<_B> copyOf(final ListOfDataTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataTypeDescription.Builder<_B> _newBuilder = new ListOfDataTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataTypeDescription.Builder copyExcept(final ListOfDataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataTypeDescription.Builder copyOnly(final ListOfDataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataTypeDescription _storedValue; + private List>> dataTypeDescription; + + public Builder(final _B _parentBuilder, final ListOfDataTypeDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataTypeDescription == null) { + this.dataTypeDescription = null; + } else { + this.dataTypeDescription = new ArrayList>>(); + for (DataTypeDescription _item: _other.dataTypeDescription) { + this.dataTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataTypeDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataTypeDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeDescriptionPropertyTree!= null):((dataTypeDescriptionPropertyTree == null)||(!dataTypeDescriptionPropertyTree.isLeaf())))) { + if (_other.dataTypeDescription == null) { + this.dataTypeDescription = null; + } else { + this.dataTypeDescription = new ArrayList>>(); + for (DataTypeDescription _item: _other.dataTypeDescription) { + this.dataTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(this, dataTypeDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataTypeDescription >_P init(final _P _product) { + if (this.dataTypeDescription!= null) { + final List dataTypeDescription = new ArrayList(this.dataTypeDescription.size()); + for (DataTypeDescription.Builder> _item: this.dataTypeDescription) { + dataTypeDescription.add(_item.build()); + } + _product.dataTypeDescription = dataTypeDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataTypeDescription" hinzu. + * + * @param dataTypeDescription + * Werte, die zur Eigenschaft "dataTypeDescription" hinzugefügt werden. + */ + public ListOfDataTypeDescription.Builder<_B> addDataTypeDescription(final Iterable dataTypeDescription) { + if (dataTypeDescription!= null) { + if (this.dataTypeDescription == null) { + this.dataTypeDescription = new ArrayList>>(); + } + for (DataTypeDescription _item: dataTypeDescription) { + this.dataTypeDescription.add(new DataTypeDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeDescription + * Neuer Wert der Eigenschaft "dataTypeDescription". + */ + public ListOfDataTypeDescription.Builder<_B> withDataTypeDescription(final Iterable dataTypeDescription) { + if (this.dataTypeDescription!= null) { + this.dataTypeDescription.clear(); + } + return addDataTypeDescription(dataTypeDescription); + } + + /** + * Fügt Werte zur Eigenschaft "dataTypeDescription" hinzu. + * + * @param dataTypeDescription + * Werte, die zur Eigenschaft "dataTypeDescription" hinzugefügt werden. + */ + public ListOfDataTypeDescription.Builder<_B> addDataTypeDescription(DataTypeDescription... dataTypeDescription) { + addDataTypeDescription(Arrays.asList(dataTypeDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeDescription + * Neuer Wert der Eigenschaft "dataTypeDescription". + */ + public ListOfDataTypeDescription.Builder<_B> withDataTypeDescription(DataTypeDescription... dataTypeDescription) { + withDataTypeDescription(Arrays.asList(dataTypeDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataTypeDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataTypeDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataTypeDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataTypeDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public DataTypeDescription.Builder> addDataTypeDescription() { + if (this.dataTypeDescription == null) { + this.dataTypeDescription = new ArrayList>>(); + } + final DataTypeDescription.Builder> dataTypeDescription_Builder = new DataTypeDescription.Builder>(this, null, false); + this.dataTypeDescription.add(dataTypeDescription_Builder); + return dataTypeDescription_Builder; + } + + @Override + public ListOfDataTypeDescription build() { + if (_storedValue == null) { + return this.init(new ListOfDataTypeDescription()); + } else { + return ((ListOfDataTypeDescription) _storedValue); + } + } + + public ListOfDataTypeDescription.Builder<_B> copyOf(final ListOfDataTypeDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataTypeDescription.Builder<_B> copyOf(final ListOfDataTypeDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataTypeDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataTypeDescription.Select _root() { + return new ListOfDataTypeDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataTypeDescription.Selector> dataTypeDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataTypeDescription!= null) { + products.put("dataTypeDescription", this.dataTypeDescription.init()); + } + return products; + } + + public DataTypeDescription.Selector> dataTypeDescription() { + return ((this.dataTypeDescription == null)?this.dataTypeDescription = new DataTypeDescription.Selector>(this._root, this, "dataTypeDescription"):this.dataTypeDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeSchemaHeader.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeSchemaHeader.java new file mode 100644 index 000000000..e33f778ec --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataTypeSchemaHeader.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataTypeSchemaHeader complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataTypeSchemaHeader">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataTypeSchemaHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeSchemaHeader" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataTypeSchemaHeader", propOrder = { + "dataTypeSchemaHeader" +}) +public class ListOfDataTypeSchemaHeader { + + @XmlElement(name = "DataTypeSchemaHeader", nillable = true) + protected List dataTypeSchemaHeader; + + /** + * Gets the value of the dataTypeSchemaHeader property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataTypeSchemaHeader property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataTypeSchemaHeader().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataTypeSchemaHeader } + * + * + */ + public List getDataTypeSchemaHeader() { + if (dataTypeSchemaHeader == null) { + dataTypeSchemaHeader = new ArrayList(); + } + return this.dataTypeSchemaHeader; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataTypeSchemaHeader.Builder<_B> _other) { + if (this.dataTypeSchemaHeader == null) { + _other.dataTypeSchemaHeader = null; + } else { + _other.dataTypeSchemaHeader = new ArrayList>>(); + for (DataTypeSchemaHeader _item: this.dataTypeSchemaHeader) { + _other.dataTypeSchemaHeader.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataTypeSchemaHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataTypeSchemaHeader.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataTypeSchemaHeader.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataTypeSchemaHeader.Builder builder() { + return new ListOfDataTypeSchemaHeader.Builder(null, null, false); + } + + public static<_B >ListOfDataTypeSchemaHeader.Builder<_B> copyOf(final ListOfDataTypeSchemaHeader _other) { + final ListOfDataTypeSchemaHeader.Builder<_B> _newBuilder = new ListOfDataTypeSchemaHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataTypeSchemaHeader.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataTypeSchemaHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeSchemaHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeSchemaHeaderPropertyTree!= null):((dataTypeSchemaHeaderPropertyTree == null)||(!dataTypeSchemaHeaderPropertyTree.isLeaf())))) { + if (this.dataTypeSchemaHeader == null) { + _other.dataTypeSchemaHeader = null; + } else { + _other.dataTypeSchemaHeader = new ArrayList>>(); + for (DataTypeSchemaHeader _item: this.dataTypeSchemaHeader) { + _other.dataTypeSchemaHeader.add(((_item == null)?null:_item.newCopyBuilder(_other, dataTypeSchemaHeaderPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataTypeSchemaHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataTypeSchemaHeader.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataTypeSchemaHeader.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataTypeSchemaHeader.Builder<_B> copyOf(final ListOfDataTypeSchemaHeader _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataTypeSchemaHeader.Builder<_B> _newBuilder = new ListOfDataTypeSchemaHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataTypeSchemaHeader.Builder copyExcept(final ListOfDataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataTypeSchemaHeader.Builder copyOnly(final ListOfDataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataTypeSchemaHeader _storedValue; + private List>> dataTypeSchemaHeader; + + public Builder(final _B _parentBuilder, final ListOfDataTypeSchemaHeader _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataTypeSchemaHeader == null) { + this.dataTypeSchemaHeader = null; + } else { + this.dataTypeSchemaHeader = new ArrayList>>(); + for (DataTypeSchemaHeader _item: _other.dataTypeSchemaHeader) { + this.dataTypeSchemaHeader.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataTypeSchemaHeader _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataTypeSchemaHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataTypeSchemaHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypeSchemaHeaderPropertyTree!= null):((dataTypeSchemaHeaderPropertyTree == null)||(!dataTypeSchemaHeaderPropertyTree.isLeaf())))) { + if (_other.dataTypeSchemaHeader == null) { + this.dataTypeSchemaHeader = null; + } else { + this.dataTypeSchemaHeader = new ArrayList>>(); + for (DataTypeSchemaHeader _item: _other.dataTypeSchemaHeader) { + this.dataTypeSchemaHeader.add(((_item == null)?null:_item.newCopyBuilder(this, dataTypeSchemaHeaderPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataTypeSchemaHeader >_P init(final _P _product) { + if (this.dataTypeSchemaHeader!= null) { + final List dataTypeSchemaHeader = new ArrayList(this.dataTypeSchemaHeader.size()); + for (DataTypeSchemaHeader.Builder> _item: this.dataTypeSchemaHeader) { + dataTypeSchemaHeader.add(_item.build()); + } + _product.dataTypeSchemaHeader = dataTypeSchemaHeader; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataTypeSchemaHeader" hinzu. + * + * @param dataTypeSchemaHeader + * Werte, die zur Eigenschaft "dataTypeSchemaHeader" hinzugefügt werden. + */ + public ListOfDataTypeSchemaHeader.Builder<_B> addDataTypeSchemaHeader(final Iterable dataTypeSchemaHeader) { + if (dataTypeSchemaHeader!= null) { + if (this.dataTypeSchemaHeader == null) { + this.dataTypeSchemaHeader = new ArrayList>>(); + } + for (DataTypeSchemaHeader _item: dataTypeSchemaHeader) { + this.dataTypeSchemaHeader.add(new DataTypeSchemaHeader.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeSchemaHeader" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeSchemaHeader + * Neuer Wert der Eigenschaft "dataTypeSchemaHeader". + */ + public ListOfDataTypeSchemaHeader.Builder<_B> withDataTypeSchemaHeader(final Iterable dataTypeSchemaHeader) { + if (this.dataTypeSchemaHeader!= null) { + this.dataTypeSchemaHeader.clear(); + } + return addDataTypeSchemaHeader(dataTypeSchemaHeader); + } + + /** + * Fügt Werte zur Eigenschaft "dataTypeSchemaHeader" hinzu. + * + * @param dataTypeSchemaHeader + * Werte, die zur Eigenschaft "dataTypeSchemaHeader" hinzugefügt werden. + */ + public ListOfDataTypeSchemaHeader.Builder<_B> addDataTypeSchemaHeader(DataTypeSchemaHeader... dataTypeSchemaHeader) { + addDataTypeSchemaHeader(Arrays.asList(dataTypeSchemaHeader)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeSchemaHeader" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataTypeSchemaHeader + * Neuer Wert der Eigenschaft "dataTypeSchemaHeader". + */ + public ListOfDataTypeSchemaHeader.Builder<_B> withDataTypeSchemaHeader(DataTypeSchemaHeader... dataTypeSchemaHeader) { + withDataTypeSchemaHeader(Arrays.asList(dataTypeSchemaHeader)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataTypeSchemaHeader". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataTypeSchemaHeader.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataTypeSchemaHeader". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DataTypeSchemaHeader.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public DataTypeSchemaHeader.Builder> addDataTypeSchemaHeader() { + if (this.dataTypeSchemaHeader == null) { + this.dataTypeSchemaHeader = new ArrayList>>(); + } + final DataTypeSchemaHeader.Builder> dataTypeSchemaHeader_Builder = new DataTypeSchemaHeader.Builder>(this, null, false); + this.dataTypeSchemaHeader.add(dataTypeSchemaHeader_Builder); + return dataTypeSchemaHeader_Builder; + } + + @Override + public ListOfDataTypeSchemaHeader build() { + if (_storedValue == null) { + return this.init(new ListOfDataTypeSchemaHeader()); + } else { + return ((ListOfDataTypeSchemaHeader) _storedValue); + } + } + + public ListOfDataTypeSchemaHeader.Builder<_B> copyOf(final ListOfDataTypeSchemaHeader _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataTypeSchemaHeader.Builder<_B> copyOf(final ListOfDataTypeSchemaHeader.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataTypeSchemaHeader.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataTypeSchemaHeader.Select _root() { + return new ListOfDataTypeSchemaHeader.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataTypeSchemaHeader.Selector> dataTypeSchemaHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataTypeSchemaHeader!= null) { + products.put("dataTypeSchemaHeader", this.dataTypeSchemaHeader.init()); + } + return products; + } + + public DataTypeSchemaHeader.Selector> dataTypeSchemaHeader() { + return ((this.dataTypeSchemaHeader == null)?this.dataTypeSchemaHeader = new DataTypeSchemaHeader.Selector>(this._root, this, "dataTypeSchemaHeader"):this.dataTypeSchemaHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataValue.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataValue.java new file mode 100644 index 000000000..1269b1124 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDataValue.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDataValue complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDataValue">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DataValue" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataValue" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDataValue", propOrder = { + "dataValue" +}) +public class ListOfDataValue { + + @XmlElement(name = "DataValue", nillable = true) + protected List dataValue; + + /** + * Gets the value of the dataValue property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataValue property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataValue } + * + * + */ + public List getDataValue() { + if (dataValue == null) { + dataValue = new ArrayList(); + } + return this.dataValue; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataValue.Builder<_B> _other) { + if (this.dataValue == null) { + _other.dataValue = null; + } else { + _other.dataValue = new ArrayList>>(); + for (DataValue _item: this.dataValue) { + _other.dataValue.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDataValue.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDataValue.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDataValue.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDataValue.Builder builder() { + return new ListOfDataValue.Builder(null, null, false); + } + + public static<_B >ListOfDataValue.Builder<_B> copyOf(final ListOfDataValue _other) { + final ListOfDataValue.Builder<_B> _newBuilder = new ListOfDataValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDataValue.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dataValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataValuePropertyTree!= null):((dataValuePropertyTree == null)||(!dataValuePropertyTree.isLeaf())))) { + if (this.dataValue == null) { + _other.dataValue = null; + } else { + _other.dataValue = new ArrayList>>(); + for (DataValue _item: this.dataValue) { + _other.dataValue.add(((_item == null)?null:_item.newCopyBuilder(_other, dataValuePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDataValue.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDataValue.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDataValue.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDataValue.Builder<_B> copyOf(final ListOfDataValue _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDataValue.Builder<_B> _newBuilder = new ListOfDataValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDataValue.Builder copyExcept(final ListOfDataValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDataValue.Builder copyOnly(final ListOfDataValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDataValue _storedValue; + private List>> dataValue; + + public Builder(final _B _parentBuilder, final ListOfDataValue _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dataValue == null) { + this.dataValue = null; + } else { + this.dataValue = new ArrayList>>(); + for (DataValue _item: _other.dataValue) { + this.dataValue.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDataValue _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dataValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataValuePropertyTree!= null):((dataValuePropertyTree == null)||(!dataValuePropertyTree.isLeaf())))) { + if (_other.dataValue == null) { + this.dataValue = null; + } else { + this.dataValue = new ArrayList>>(); + for (DataValue _item: _other.dataValue) { + this.dataValue.add(((_item == null)?null:_item.newCopyBuilder(this, dataValuePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDataValue >_P init(final _P _product) { + if (this.dataValue!= null) { + final List dataValue = new ArrayList(this.dataValue.size()); + for (DataValue.Builder> _item: this.dataValue) { + dataValue.add(_item.build()); + } + _product.dataValue = dataValue; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dataValue" hinzu. + * + * @param dataValue + * Werte, die zur Eigenschaft "dataValue" hinzugefügt werden. + */ + public ListOfDataValue.Builder<_B> addDataValue(final Iterable dataValue) { + if (dataValue!= null) { + if (this.dataValue == null) { + this.dataValue = new ArrayList>>(); + } + for (DataValue _item: dataValue) { + this.dataValue.add(new DataValue.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataValue" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataValue + * Neuer Wert der Eigenschaft "dataValue". + */ + public ListOfDataValue.Builder<_B> withDataValue(final Iterable dataValue) { + if (this.dataValue!= null) { + this.dataValue.clear(); + } + return addDataValue(dataValue); + } + + /** + * Fügt Werte zur Eigenschaft "dataValue" hinzu. + * + * @param dataValue + * Werte, die zur Eigenschaft "dataValue" hinzugefügt werden. + */ + public ListOfDataValue.Builder<_B> addDataValue(DataValue... dataValue) { + addDataValue(Arrays.asList(dataValue)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataValue" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataValue + * Neuer Wert der Eigenschaft "dataValue". + */ + public ListOfDataValue.Builder<_B> withDataValue(DataValue... dataValue) { + withDataValue(Arrays.asList(dataValue)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DataValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.DataValue.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DataValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.DataValue.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public DataValue.Builder> addDataValue() { + if (this.dataValue == null) { + this.dataValue = new ArrayList>>(); + } + final DataValue.Builder> dataValue_Builder = new DataValue.Builder>(this, null, false); + this.dataValue.add(dataValue_Builder); + return dataValue_Builder; + } + + @Override + public ListOfDataValue build() { + if (_storedValue == null) { + return this.init(new ListOfDataValue()); + } else { + return ((ListOfDataValue) _storedValue); + } + } + + public ListOfDataValue.Builder<_B> copyOf(final ListOfDataValue _other) { + _other.copyTo(this); + return this; + } + + public ListOfDataValue.Builder<_B> copyOf(final ListOfDataValue.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDataValue.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDataValue.Select _root() { + return new ListOfDataValue.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DataValue.Selector> dataValue = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataValue!= null) { + products.put("dataValue", this.dataValue.init()); + } + return products; + } + + public DataValue.Selector> dataValue() { + return ((this.dataValue == null)?this.dataValue = new DataValue.Selector>(this._root, this, "dataValue"):this.dataValue); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramConnectionTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramConnectionTransportDataType.java new file mode 100644 index 000000000..19e3cac33 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramConnectionTransportDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDatagramConnectionTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDatagramConnectionTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DatagramConnectionTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DatagramConnectionTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDatagramConnectionTransportDataType", propOrder = { + "datagramConnectionTransportDataType" +}) +public class ListOfDatagramConnectionTransportDataType { + + @XmlElement(name = "DatagramConnectionTransportDataType", nillable = true) + protected List datagramConnectionTransportDataType; + + /** + * Gets the value of the datagramConnectionTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the datagramConnectionTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDatagramConnectionTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DatagramConnectionTransportDataType } + * + * + */ + public List getDatagramConnectionTransportDataType() { + if (datagramConnectionTransportDataType == null) { + datagramConnectionTransportDataType = new ArrayList(); + } + return this.datagramConnectionTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDatagramConnectionTransportDataType.Builder<_B> _other) { + if (this.datagramConnectionTransportDataType == null) { + _other.datagramConnectionTransportDataType = null; + } else { + _other.datagramConnectionTransportDataType = new ArrayList>>(); + for (DatagramConnectionTransportDataType _item: this.datagramConnectionTransportDataType) { + _other.datagramConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDatagramConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDatagramConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDatagramConnectionTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDatagramConnectionTransportDataType.Builder builder() { + return new ListOfDatagramConnectionTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfDatagramConnectionTransportDataType.Builder<_B> copyOf(final ListOfDatagramConnectionTransportDataType _other) { + final ListOfDatagramConnectionTransportDataType.Builder<_B> _newBuilder = new ListOfDatagramConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDatagramConnectionTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree datagramConnectionTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("datagramConnectionTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(datagramConnectionTransportDataTypePropertyTree!= null):((datagramConnectionTransportDataTypePropertyTree == null)||(!datagramConnectionTransportDataTypePropertyTree.isLeaf())))) { + if (this.datagramConnectionTransportDataType == null) { + _other.datagramConnectionTransportDataType = null; + } else { + _other.datagramConnectionTransportDataType = new ArrayList>>(); + for (DatagramConnectionTransportDataType _item: this.datagramConnectionTransportDataType) { + _other.datagramConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, datagramConnectionTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDatagramConnectionTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDatagramConnectionTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDatagramConnectionTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDatagramConnectionTransportDataType.Builder<_B> copyOf(final ListOfDatagramConnectionTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDatagramConnectionTransportDataType.Builder<_B> _newBuilder = new ListOfDatagramConnectionTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDatagramConnectionTransportDataType.Builder copyExcept(final ListOfDatagramConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDatagramConnectionTransportDataType.Builder copyOnly(final ListOfDatagramConnectionTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDatagramConnectionTransportDataType _storedValue; + private List>> datagramConnectionTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfDatagramConnectionTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.datagramConnectionTransportDataType == null) { + this.datagramConnectionTransportDataType = null; + } else { + this.datagramConnectionTransportDataType = new ArrayList>>(); + for (DatagramConnectionTransportDataType _item: _other.datagramConnectionTransportDataType) { + this.datagramConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDatagramConnectionTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree datagramConnectionTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("datagramConnectionTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(datagramConnectionTransportDataTypePropertyTree!= null):((datagramConnectionTransportDataTypePropertyTree == null)||(!datagramConnectionTransportDataTypePropertyTree.isLeaf())))) { + if (_other.datagramConnectionTransportDataType == null) { + this.datagramConnectionTransportDataType = null; + } else { + this.datagramConnectionTransportDataType = new ArrayList>>(); + for (DatagramConnectionTransportDataType _item: _other.datagramConnectionTransportDataType) { + this.datagramConnectionTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, datagramConnectionTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDatagramConnectionTransportDataType >_P init(final _P _product) { + if (this.datagramConnectionTransportDataType!= null) { + final List datagramConnectionTransportDataType = new ArrayList(this.datagramConnectionTransportDataType.size()); + for (DatagramConnectionTransportDataType.Builder> _item: this.datagramConnectionTransportDataType) { + datagramConnectionTransportDataType.add(_item.build()); + } + _product.datagramConnectionTransportDataType = datagramConnectionTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "datagramConnectionTransportDataType" hinzu. + * + * @param datagramConnectionTransportDataType + * Werte, die zur Eigenschaft "datagramConnectionTransportDataType" hinzugefügt + * werden. + */ + public ListOfDatagramConnectionTransportDataType.Builder<_B> addDatagramConnectionTransportDataType(final Iterable datagramConnectionTransportDataType) { + if (datagramConnectionTransportDataType!= null) { + if (this.datagramConnectionTransportDataType == null) { + this.datagramConnectionTransportDataType = new ArrayList>>(); + } + for (DatagramConnectionTransportDataType _item: datagramConnectionTransportDataType) { + this.datagramConnectionTransportDataType.add(new DatagramConnectionTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "datagramConnectionTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param datagramConnectionTransportDataType + * Neuer Wert der Eigenschaft "datagramConnectionTransportDataType". + */ + public ListOfDatagramConnectionTransportDataType.Builder<_B> withDatagramConnectionTransportDataType(final Iterable datagramConnectionTransportDataType) { + if (this.datagramConnectionTransportDataType!= null) { + this.datagramConnectionTransportDataType.clear(); + } + return addDatagramConnectionTransportDataType(datagramConnectionTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "datagramConnectionTransportDataType" hinzu. + * + * @param datagramConnectionTransportDataType + * Werte, die zur Eigenschaft "datagramConnectionTransportDataType" hinzugefügt + * werden. + */ + public ListOfDatagramConnectionTransportDataType.Builder<_B> addDatagramConnectionTransportDataType(DatagramConnectionTransportDataType... datagramConnectionTransportDataType) { + addDatagramConnectionTransportDataType(Arrays.asList(datagramConnectionTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "datagramConnectionTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param datagramConnectionTransportDataType + * Neuer Wert der Eigenschaft "datagramConnectionTransportDataType". + */ + public ListOfDatagramConnectionTransportDataType.Builder<_B> withDatagramConnectionTransportDataType(DatagramConnectionTransportDataType... datagramConnectionTransportDataType) { + withDatagramConnectionTransportDataType(Arrays.asList(datagramConnectionTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DatagramConnectionTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DatagramConnectionTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DatagramConnectionTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DatagramConnectionTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DatagramConnectionTransportDataType.Builder> addDatagramConnectionTransportDataType() { + if (this.datagramConnectionTransportDataType == null) { + this.datagramConnectionTransportDataType = new ArrayList>>(); + } + final DatagramConnectionTransportDataType.Builder> datagramConnectionTransportDataType_Builder = new DatagramConnectionTransportDataType.Builder>(this, null, false); + this.datagramConnectionTransportDataType.add(datagramConnectionTransportDataType_Builder); + return datagramConnectionTransportDataType_Builder; + } + + @Override + public ListOfDatagramConnectionTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDatagramConnectionTransportDataType()); + } else { + return ((ListOfDatagramConnectionTransportDataType) _storedValue); + } + } + + public ListOfDatagramConnectionTransportDataType.Builder<_B> copyOf(final ListOfDatagramConnectionTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDatagramConnectionTransportDataType.Builder<_B> copyOf(final ListOfDatagramConnectionTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDatagramConnectionTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDatagramConnectionTransportDataType.Select _root() { + return new ListOfDatagramConnectionTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DatagramConnectionTransportDataType.Selector> datagramConnectionTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.datagramConnectionTransportDataType!= null) { + products.put("datagramConnectionTransportDataType", this.datagramConnectionTransportDataType.init()); + } + return products; + } + + public DatagramConnectionTransportDataType.Selector> datagramConnectionTransportDataType() { + return ((this.datagramConnectionTransportDataType == null)?this.datagramConnectionTransportDataType = new DatagramConnectionTransportDataType.Selector>(this._root, this, "datagramConnectionTransportDataType"):this.datagramConnectionTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramWriterGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramWriterGroupTransportDataType.java new file mode 100644 index 000000000..416f12cec --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDatagramWriterGroupTransportDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDatagramWriterGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDatagramWriterGroupTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DatagramWriterGroupTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DatagramWriterGroupTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDatagramWriterGroupTransportDataType", propOrder = { + "datagramWriterGroupTransportDataType" +}) +public class ListOfDatagramWriterGroupTransportDataType { + + @XmlElement(name = "DatagramWriterGroupTransportDataType", nillable = true) + protected List datagramWriterGroupTransportDataType; + + /** + * Gets the value of the datagramWriterGroupTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the datagramWriterGroupTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDatagramWriterGroupTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DatagramWriterGroupTransportDataType } + * + * + */ + public List getDatagramWriterGroupTransportDataType() { + if (datagramWriterGroupTransportDataType == null) { + datagramWriterGroupTransportDataType = new ArrayList(); + } + return this.datagramWriterGroupTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDatagramWriterGroupTransportDataType.Builder<_B> _other) { + if (this.datagramWriterGroupTransportDataType == null) { + _other.datagramWriterGroupTransportDataType = null; + } else { + _other.datagramWriterGroupTransportDataType = new ArrayList>>(); + for (DatagramWriterGroupTransportDataType _item: this.datagramWriterGroupTransportDataType) { + _other.datagramWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDatagramWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDatagramWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDatagramWriterGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDatagramWriterGroupTransportDataType.Builder builder() { + return new ListOfDatagramWriterGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfDatagramWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfDatagramWriterGroupTransportDataType _other) { + final ListOfDatagramWriterGroupTransportDataType.Builder<_B> _newBuilder = new ListOfDatagramWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDatagramWriterGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree datagramWriterGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("datagramWriterGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(datagramWriterGroupTransportDataTypePropertyTree!= null):((datagramWriterGroupTransportDataTypePropertyTree == null)||(!datagramWriterGroupTransportDataTypePropertyTree.isLeaf())))) { + if (this.datagramWriterGroupTransportDataType == null) { + _other.datagramWriterGroupTransportDataType = null; + } else { + _other.datagramWriterGroupTransportDataType = new ArrayList>>(); + for (DatagramWriterGroupTransportDataType _item: this.datagramWriterGroupTransportDataType) { + _other.datagramWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, datagramWriterGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDatagramWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDatagramWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDatagramWriterGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDatagramWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfDatagramWriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDatagramWriterGroupTransportDataType.Builder<_B> _newBuilder = new ListOfDatagramWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDatagramWriterGroupTransportDataType.Builder copyExcept(final ListOfDatagramWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDatagramWriterGroupTransportDataType.Builder copyOnly(final ListOfDatagramWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDatagramWriterGroupTransportDataType _storedValue; + private List>> datagramWriterGroupTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfDatagramWriterGroupTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.datagramWriterGroupTransportDataType == null) { + this.datagramWriterGroupTransportDataType = null; + } else { + this.datagramWriterGroupTransportDataType = new ArrayList>>(); + for (DatagramWriterGroupTransportDataType _item: _other.datagramWriterGroupTransportDataType) { + this.datagramWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDatagramWriterGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree datagramWriterGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("datagramWriterGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(datagramWriterGroupTransportDataTypePropertyTree!= null):((datagramWriterGroupTransportDataTypePropertyTree == null)||(!datagramWriterGroupTransportDataTypePropertyTree.isLeaf())))) { + if (_other.datagramWriterGroupTransportDataType == null) { + this.datagramWriterGroupTransportDataType = null; + } else { + this.datagramWriterGroupTransportDataType = new ArrayList>>(); + for (DatagramWriterGroupTransportDataType _item: _other.datagramWriterGroupTransportDataType) { + this.datagramWriterGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, datagramWriterGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDatagramWriterGroupTransportDataType >_P init(final _P _product) { + if (this.datagramWriterGroupTransportDataType!= null) { + final List datagramWriterGroupTransportDataType = new ArrayList(this.datagramWriterGroupTransportDataType.size()); + for (DatagramWriterGroupTransportDataType.Builder> _item: this.datagramWriterGroupTransportDataType) { + datagramWriterGroupTransportDataType.add(_item.build()); + } + _product.datagramWriterGroupTransportDataType = datagramWriterGroupTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "datagramWriterGroupTransportDataType" hinzu. + * + * @param datagramWriterGroupTransportDataType + * Werte, die zur Eigenschaft "datagramWriterGroupTransportDataType" hinzugefügt + * werden. + */ + public ListOfDatagramWriterGroupTransportDataType.Builder<_B> addDatagramWriterGroupTransportDataType(final Iterable datagramWriterGroupTransportDataType) { + if (datagramWriterGroupTransportDataType!= null) { + if (this.datagramWriterGroupTransportDataType == null) { + this.datagramWriterGroupTransportDataType = new ArrayList>>(); + } + for (DatagramWriterGroupTransportDataType _item: datagramWriterGroupTransportDataType) { + this.datagramWriterGroupTransportDataType.add(new DatagramWriterGroupTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "datagramWriterGroupTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param datagramWriterGroupTransportDataType + * Neuer Wert der Eigenschaft "datagramWriterGroupTransportDataType". + */ + public ListOfDatagramWriterGroupTransportDataType.Builder<_B> withDatagramWriterGroupTransportDataType(final Iterable datagramWriterGroupTransportDataType) { + if (this.datagramWriterGroupTransportDataType!= null) { + this.datagramWriterGroupTransportDataType.clear(); + } + return addDatagramWriterGroupTransportDataType(datagramWriterGroupTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "datagramWriterGroupTransportDataType" hinzu. + * + * @param datagramWriterGroupTransportDataType + * Werte, die zur Eigenschaft "datagramWriterGroupTransportDataType" hinzugefügt + * werden. + */ + public ListOfDatagramWriterGroupTransportDataType.Builder<_B> addDatagramWriterGroupTransportDataType(DatagramWriterGroupTransportDataType... datagramWriterGroupTransportDataType) { + addDatagramWriterGroupTransportDataType(Arrays.asList(datagramWriterGroupTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "datagramWriterGroupTransportDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param datagramWriterGroupTransportDataType + * Neuer Wert der Eigenschaft "datagramWriterGroupTransportDataType". + */ + public ListOfDatagramWriterGroupTransportDataType.Builder<_B> withDatagramWriterGroupTransportDataType(DatagramWriterGroupTransportDataType... datagramWriterGroupTransportDataType) { + withDatagramWriterGroupTransportDataType(Arrays.asList(datagramWriterGroupTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DatagramWriterGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DatagramWriterGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DatagramWriterGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DatagramWriterGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DatagramWriterGroupTransportDataType.Builder> addDatagramWriterGroupTransportDataType() { + if (this.datagramWriterGroupTransportDataType == null) { + this.datagramWriterGroupTransportDataType = new ArrayList>>(); + } + final DatagramWriterGroupTransportDataType.Builder> datagramWriterGroupTransportDataType_Builder = new DatagramWriterGroupTransportDataType.Builder>(this, null, false); + this.datagramWriterGroupTransportDataType.add(datagramWriterGroupTransportDataType_Builder); + return datagramWriterGroupTransportDataType_Builder; + } + + @Override + public ListOfDatagramWriterGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfDatagramWriterGroupTransportDataType()); + } else { + return ((ListOfDatagramWriterGroupTransportDataType) _storedValue); + } + } + + public ListOfDatagramWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfDatagramWriterGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfDatagramWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfDatagramWriterGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDatagramWriterGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDatagramWriterGroupTransportDataType.Select _root() { + return new ListOfDatagramWriterGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DatagramWriterGroupTransportDataType.Selector> datagramWriterGroupTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.datagramWriterGroupTransportDataType!= null) { + products.put("datagramWriterGroupTransportDataType", this.datagramWriterGroupTransportDataType.init()); + } + return products; + } + + public DatagramWriterGroupTransportDataType.Selector> datagramWriterGroupTransportDataType() { + return ((this.datagramWriterGroupTransportDataType == null)?this.datagramWriterGroupTransportDataType = new DatagramWriterGroupTransportDataType.Selector>(this._root, this, "datagramWriterGroupTransportDataType"):this.datagramWriterGroupTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDateTime.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDateTime.java new file mode 100644 index 000000000..76b76ff3e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDateTime.java @@ -0,0 +1,347 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDateTime complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDateTime">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDateTime", propOrder = { + "dateTime" +}) +public class ListOfDateTime { + + @XmlElement(name = "DateTime") + @XmlSchemaType(name = "dateTime") + protected List dateTime; + + /** + * Gets the value of the dateTime property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dateTime property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDateTime().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link XMLGregorianCalendar } + * + * + */ + public List getDateTime() { + if (dateTime == null) { + dateTime = new ArrayList(); + } + return this.dateTime; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDateTime.Builder<_B> _other) { + if (this.dateTime == null) { + _other.dateTime = null; + } else { + _other.dateTime = new ArrayList(); + for (XMLGregorianCalendar _item: this.dateTime) { + _other.dateTime.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item.clone()))); + } + } + } + + public<_B >ListOfDateTime.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDateTime.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDateTime.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDateTime.Builder builder() { + return new ListOfDateTime.Builder(null, null, false); + } + + public static<_B >ListOfDateTime.Builder<_B> copyOf(final ListOfDateTime _other) { + final ListOfDateTime.Builder<_B> _newBuilder = new ListOfDateTime.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDateTime.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree dateTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dateTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dateTimePropertyTree!= null):((dateTimePropertyTree == null)||(!dateTimePropertyTree.isLeaf())))) { + if (this.dateTime == null) { + _other.dateTime = null; + } else { + _other.dateTime = new ArrayList(); + for (XMLGregorianCalendar _item: this.dateTime) { + _other.dateTime.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item.clone()))); + } + } + } + } + + public<_B >ListOfDateTime.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDateTime.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDateTime.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDateTime.Builder<_B> copyOf(final ListOfDateTime _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDateTime.Builder<_B> _newBuilder = new ListOfDateTime.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDateTime.Builder copyExcept(final ListOfDateTime _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDateTime.Builder copyOnly(final ListOfDateTime _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDateTime _storedValue; + private List dateTime; + + public Builder(final _B _parentBuilder, final ListOfDateTime _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.dateTime == null) { + this.dateTime = null; + } else { + this.dateTime = new ArrayList(); + for (XMLGregorianCalendar _item: _other.dateTime) { + this.dateTime.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item.clone()))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDateTime _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree dateTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dateTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dateTimePropertyTree!= null):((dateTimePropertyTree == null)||(!dateTimePropertyTree.isLeaf())))) { + if (_other.dateTime == null) { + this.dateTime = null; + } else { + this.dateTime = new ArrayList(); + for (XMLGregorianCalendar _item: _other.dateTime) { + this.dateTime.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item.clone()))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDateTime >_P init(final _P _product) { + if (this.dateTime!= null) { + final List dateTime = new ArrayList(this.dateTime.size()); + for (Buildable _item: this.dateTime) { + dateTime.add(((XMLGregorianCalendar) _item.build())); + } + _product.dateTime = dateTime; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "dateTime" hinzu. + * + * @param dateTime + * Werte, die zur Eigenschaft "dateTime" hinzugefügt werden. + */ + public ListOfDateTime.Builder<_B> addDateTime(final Iterable dateTime) { + if (dateTime!= null) { + if (this.dateTime == null) { + this.dateTime = new ArrayList(); + } + for (XMLGregorianCalendar _item: dateTime) { + this.dateTime.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dateTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dateTime + * Neuer Wert der Eigenschaft "dateTime". + */ + public ListOfDateTime.Builder<_B> withDateTime(final Iterable dateTime) { + if (this.dateTime!= null) { + this.dateTime.clear(); + } + return addDateTime(dateTime); + } + + /** + * Fügt Werte zur Eigenschaft "dateTime" hinzu. + * + * @param dateTime + * Werte, die zur Eigenschaft "dateTime" hinzugefügt werden. + */ + public ListOfDateTime.Builder<_B> addDateTime(XMLGregorianCalendar... dateTime) { + addDateTime(Arrays.asList(dateTime)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dateTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dateTime + * Neuer Wert der Eigenschaft "dateTime". + */ + public ListOfDateTime.Builder<_B> withDateTime(XMLGregorianCalendar... dateTime) { + withDateTime(Arrays.asList(dateTime)); + return this; + } + + @Override + public ListOfDateTime build() { + if (_storedValue == null) { + return this.init(new ListOfDateTime()); + } else { + return ((ListOfDateTime) _storedValue); + } + } + + public ListOfDateTime.Builder<_B> copyOf(final ListOfDateTime _other) { + _other.copyTo(this); + return this; + } + + public ListOfDateTime.Builder<_B> copyOf(final ListOfDateTime.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDateTime.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDateTime.Select _root() { + return new ListOfDateTime.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> dateTime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dateTime!= null) { + products.put("dateTime", this.dateTime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dateTime() { + return ((this.dateTime == null)?this.dateTime = new com.kscs.util.jaxb.Selector>(this._root, this, "dateTime"):this.dateTime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteNodesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteNodesItem.java new file mode 100644 index 000000000..fce3726bf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteNodesItem.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDeleteNodesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDeleteNodesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DeleteNodesItem" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DeleteNodesItem" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDeleteNodesItem", propOrder = { + "deleteNodesItem" +}) +public class ListOfDeleteNodesItem { + + @XmlElement(name = "DeleteNodesItem", nillable = true) + protected List deleteNodesItem; + + /** + * Gets the value of the deleteNodesItem property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the deleteNodesItem property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDeleteNodesItem().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DeleteNodesItem } + * + * + */ + public List getDeleteNodesItem() { + if (deleteNodesItem == null) { + deleteNodesItem = new ArrayList(); + } + return this.deleteNodesItem; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDeleteNodesItem.Builder<_B> _other) { + if (this.deleteNodesItem == null) { + _other.deleteNodesItem = null; + } else { + _other.deleteNodesItem = new ArrayList>>(); + for (DeleteNodesItem _item: this.deleteNodesItem) { + _other.deleteNodesItem.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDeleteNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDeleteNodesItem.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDeleteNodesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDeleteNodesItem.Builder builder() { + return new ListOfDeleteNodesItem.Builder(null, null, false); + } + + public static<_B >ListOfDeleteNodesItem.Builder<_B> copyOf(final ListOfDeleteNodesItem _other) { + final ListOfDeleteNodesItem.Builder<_B> _newBuilder = new ListOfDeleteNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDeleteNodesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree deleteNodesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteNodesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteNodesItemPropertyTree!= null):((deleteNodesItemPropertyTree == null)||(!deleteNodesItemPropertyTree.isLeaf())))) { + if (this.deleteNodesItem == null) { + _other.deleteNodesItem = null; + } else { + _other.deleteNodesItem = new ArrayList>>(); + for (DeleteNodesItem _item: this.deleteNodesItem) { + _other.deleteNodesItem.add(((_item == null)?null:_item.newCopyBuilder(_other, deleteNodesItemPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDeleteNodesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDeleteNodesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDeleteNodesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDeleteNodesItem.Builder<_B> copyOf(final ListOfDeleteNodesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDeleteNodesItem.Builder<_B> _newBuilder = new ListOfDeleteNodesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDeleteNodesItem.Builder copyExcept(final ListOfDeleteNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDeleteNodesItem.Builder copyOnly(final ListOfDeleteNodesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDeleteNodesItem _storedValue; + private List>> deleteNodesItem; + + public Builder(final _B _parentBuilder, final ListOfDeleteNodesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.deleteNodesItem == null) { + this.deleteNodesItem = null; + } else { + this.deleteNodesItem = new ArrayList>>(); + for (DeleteNodesItem _item: _other.deleteNodesItem) { + this.deleteNodesItem.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDeleteNodesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree deleteNodesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteNodesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteNodesItemPropertyTree!= null):((deleteNodesItemPropertyTree == null)||(!deleteNodesItemPropertyTree.isLeaf())))) { + if (_other.deleteNodesItem == null) { + this.deleteNodesItem = null; + } else { + this.deleteNodesItem = new ArrayList>>(); + for (DeleteNodesItem _item: _other.deleteNodesItem) { + this.deleteNodesItem.add(((_item == null)?null:_item.newCopyBuilder(this, deleteNodesItemPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDeleteNodesItem >_P init(final _P _product) { + if (this.deleteNodesItem!= null) { + final List deleteNodesItem = new ArrayList(this.deleteNodesItem.size()); + for (DeleteNodesItem.Builder> _item: this.deleteNodesItem) { + deleteNodesItem.add(_item.build()); + } + _product.deleteNodesItem = deleteNodesItem; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "deleteNodesItem" hinzu. + * + * @param deleteNodesItem + * Werte, die zur Eigenschaft "deleteNodesItem" hinzugefügt werden. + */ + public ListOfDeleteNodesItem.Builder<_B> addDeleteNodesItem(final Iterable deleteNodesItem) { + if (deleteNodesItem!= null) { + if (this.deleteNodesItem == null) { + this.deleteNodesItem = new ArrayList>>(); + } + for (DeleteNodesItem _item: deleteNodesItem) { + this.deleteNodesItem.add(new DeleteNodesItem.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteNodesItem" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param deleteNodesItem + * Neuer Wert der Eigenschaft "deleteNodesItem". + */ + public ListOfDeleteNodesItem.Builder<_B> withDeleteNodesItem(final Iterable deleteNodesItem) { + if (this.deleteNodesItem!= null) { + this.deleteNodesItem.clear(); + } + return addDeleteNodesItem(deleteNodesItem); + } + + /** + * Fügt Werte zur Eigenschaft "deleteNodesItem" hinzu. + * + * @param deleteNodesItem + * Werte, die zur Eigenschaft "deleteNodesItem" hinzugefügt werden. + */ + public ListOfDeleteNodesItem.Builder<_B> addDeleteNodesItem(DeleteNodesItem... deleteNodesItem) { + addDeleteNodesItem(Arrays.asList(deleteNodesItem)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteNodesItem" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param deleteNodesItem + * Neuer Wert der Eigenschaft "deleteNodesItem". + */ + public ListOfDeleteNodesItem.Builder<_B> withDeleteNodesItem(DeleteNodesItem... deleteNodesItem) { + withDeleteNodesItem(Arrays.asList(deleteNodesItem)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DeleteNodesItem". + * Mit {@link org.opcfoundation.ua._2008._02.types.DeleteNodesItem.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DeleteNodesItem". + * Mit {@link org.opcfoundation.ua._2008._02.types.DeleteNodesItem.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DeleteNodesItem.Builder> addDeleteNodesItem() { + if (this.deleteNodesItem == null) { + this.deleteNodesItem = new ArrayList>>(); + } + final DeleteNodesItem.Builder> deleteNodesItem_Builder = new DeleteNodesItem.Builder>(this, null, false); + this.deleteNodesItem.add(deleteNodesItem_Builder); + return deleteNodesItem_Builder; + } + + @Override + public ListOfDeleteNodesItem build() { + if (_storedValue == null) { + return this.init(new ListOfDeleteNodesItem()); + } else { + return ((ListOfDeleteNodesItem) _storedValue); + } + } + + public ListOfDeleteNodesItem.Builder<_B> copyOf(final ListOfDeleteNodesItem _other) { + _other.copyTo(this); + return this; + } + + public ListOfDeleteNodesItem.Builder<_B> copyOf(final ListOfDeleteNodesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDeleteNodesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDeleteNodesItem.Select _root() { + return new ListOfDeleteNodesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DeleteNodesItem.Selector> deleteNodesItem = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.deleteNodesItem!= null) { + products.put("deleteNodesItem", this.deleteNodesItem.init()); + } + return products; + } + + public DeleteNodesItem.Selector> deleteNodesItem() { + return ((this.deleteNodesItem == null)?this.deleteNodesItem = new DeleteNodesItem.Selector>(this._root, this, "deleteNodesItem"):this.deleteNodesItem); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteReferencesItem.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteReferencesItem.java new file mode 100644 index 000000000..6fffa8037 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDeleteReferencesItem.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDeleteReferencesItem complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDeleteReferencesItem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DeleteReferencesItem" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DeleteReferencesItem" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDeleteReferencesItem", propOrder = { + "deleteReferencesItem" +}) +public class ListOfDeleteReferencesItem { + + @XmlElement(name = "DeleteReferencesItem", nillable = true) + protected List deleteReferencesItem; + + /** + * Gets the value of the deleteReferencesItem property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the deleteReferencesItem property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDeleteReferencesItem().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DeleteReferencesItem } + * + * + */ + public List getDeleteReferencesItem() { + if (deleteReferencesItem == null) { + deleteReferencesItem = new ArrayList(); + } + return this.deleteReferencesItem; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDeleteReferencesItem.Builder<_B> _other) { + if (this.deleteReferencesItem == null) { + _other.deleteReferencesItem = null; + } else { + _other.deleteReferencesItem = new ArrayList>>(); + for (DeleteReferencesItem _item: this.deleteReferencesItem) { + _other.deleteReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDeleteReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDeleteReferencesItem.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDeleteReferencesItem.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDeleteReferencesItem.Builder builder() { + return new ListOfDeleteReferencesItem.Builder(null, null, false); + } + + public static<_B >ListOfDeleteReferencesItem.Builder<_B> copyOf(final ListOfDeleteReferencesItem _other) { + final ListOfDeleteReferencesItem.Builder<_B> _newBuilder = new ListOfDeleteReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDeleteReferencesItem.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree deleteReferencesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteReferencesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteReferencesItemPropertyTree!= null):((deleteReferencesItemPropertyTree == null)||(!deleteReferencesItemPropertyTree.isLeaf())))) { + if (this.deleteReferencesItem == null) { + _other.deleteReferencesItem = null; + } else { + _other.deleteReferencesItem = new ArrayList>>(); + for (DeleteReferencesItem _item: this.deleteReferencesItem) { + _other.deleteReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(_other, deleteReferencesItemPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDeleteReferencesItem.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDeleteReferencesItem.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDeleteReferencesItem.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDeleteReferencesItem.Builder<_B> copyOf(final ListOfDeleteReferencesItem _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDeleteReferencesItem.Builder<_B> _newBuilder = new ListOfDeleteReferencesItem.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDeleteReferencesItem.Builder copyExcept(final ListOfDeleteReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDeleteReferencesItem.Builder copyOnly(final ListOfDeleteReferencesItem _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDeleteReferencesItem _storedValue; + private List>> deleteReferencesItem; + + public Builder(final _B _parentBuilder, final ListOfDeleteReferencesItem _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.deleteReferencesItem == null) { + this.deleteReferencesItem = null; + } else { + this.deleteReferencesItem = new ArrayList>>(); + for (DeleteReferencesItem _item: _other.deleteReferencesItem) { + this.deleteReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDeleteReferencesItem _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree deleteReferencesItemPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteReferencesItem")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteReferencesItemPropertyTree!= null):((deleteReferencesItemPropertyTree == null)||(!deleteReferencesItemPropertyTree.isLeaf())))) { + if (_other.deleteReferencesItem == null) { + this.deleteReferencesItem = null; + } else { + this.deleteReferencesItem = new ArrayList>>(); + for (DeleteReferencesItem _item: _other.deleteReferencesItem) { + this.deleteReferencesItem.add(((_item == null)?null:_item.newCopyBuilder(this, deleteReferencesItemPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDeleteReferencesItem >_P init(final _P _product) { + if (this.deleteReferencesItem!= null) { + final List deleteReferencesItem = new ArrayList(this.deleteReferencesItem.size()); + for (DeleteReferencesItem.Builder> _item: this.deleteReferencesItem) { + deleteReferencesItem.add(_item.build()); + } + _product.deleteReferencesItem = deleteReferencesItem; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "deleteReferencesItem" hinzu. + * + * @param deleteReferencesItem + * Werte, die zur Eigenschaft "deleteReferencesItem" hinzugefügt werden. + */ + public ListOfDeleteReferencesItem.Builder<_B> addDeleteReferencesItem(final Iterable deleteReferencesItem) { + if (deleteReferencesItem!= null) { + if (this.deleteReferencesItem == null) { + this.deleteReferencesItem = new ArrayList>>(); + } + for (DeleteReferencesItem _item: deleteReferencesItem) { + this.deleteReferencesItem.add(new DeleteReferencesItem.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteReferencesItem" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param deleteReferencesItem + * Neuer Wert der Eigenschaft "deleteReferencesItem". + */ + public ListOfDeleteReferencesItem.Builder<_B> withDeleteReferencesItem(final Iterable deleteReferencesItem) { + if (this.deleteReferencesItem!= null) { + this.deleteReferencesItem.clear(); + } + return addDeleteReferencesItem(deleteReferencesItem); + } + + /** + * Fügt Werte zur Eigenschaft "deleteReferencesItem" hinzu. + * + * @param deleteReferencesItem + * Werte, die zur Eigenschaft "deleteReferencesItem" hinzugefügt werden. + */ + public ListOfDeleteReferencesItem.Builder<_B> addDeleteReferencesItem(DeleteReferencesItem... deleteReferencesItem) { + addDeleteReferencesItem(Arrays.asList(deleteReferencesItem)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteReferencesItem" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param deleteReferencesItem + * Neuer Wert der Eigenschaft "deleteReferencesItem". + */ + public ListOfDeleteReferencesItem.Builder<_B> withDeleteReferencesItem(DeleteReferencesItem... deleteReferencesItem) { + withDeleteReferencesItem(Arrays.asList(deleteReferencesItem)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DeleteReferencesItem". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DeleteReferencesItem.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DeleteReferencesItem". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.DeleteReferencesItem.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public DeleteReferencesItem.Builder> addDeleteReferencesItem() { + if (this.deleteReferencesItem == null) { + this.deleteReferencesItem = new ArrayList>>(); + } + final DeleteReferencesItem.Builder> deleteReferencesItem_Builder = new DeleteReferencesItem.Builder>(this, null, false); + this.deleteReferencesItem.add(deleteReferencesItem_Builder); + return deleteReferencesItem_Builder; + } + + @Override + public ListOfDeleteReferencesItem build() { + if (_storedValue == null) { + return this.init(new ListOfDeleteReferencesItem()); + } else { + return ((ListOfDeleteReferencesItem) _storedValue); + } + } + + public ListOfDeleteReferencesItem.Builder<_B> copyOf(final ListOfDeleteReferencesItem _other) { + _other.copyTo(this); + return this; + } + + public ListOfDeleteReferencesItem.Builder<_B> copyOf(final ListOfDeleteReferencesItem.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDeleteReferencesItem.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDeleteReferencesItem.Select _root() { + return new ListOfDeleteReferencesItem.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DeleteReferencesItem.Selector> deleteReferencesItem = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.deleteReferencesItem!= null) { + products.put("deleteReferencesItem", this.deleteReferencesItem.init()); + } + return products; + } + + public DeleteReferencesItem.Selector> deleteReferencesItem() { + return ((this.deleteReferencesItem == null)?this.deleteReferencesItem = new DeleteReferencesItem.Selector>(this._root, this, "deleteReferencesItem"):this.deleteReferencesItem); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticInfo.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticInfo.java new file mode 100644 index 000000000..c9ab48f7f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticInfo.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDiagnosticInfo complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDiagnosticInfo">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DiagnosticInfo" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiagnosticInfo" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDiagnosticInfo", propOrder = { + "diagnosticInfo" +}) +public class ListOfDiagnosticInfo { + + @XmlElement(name = "DiagnosticInfo", nillable = true) + protected List diagnosticInfo; + + /** + * Gets the value of the diagnosticInfo property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the diagnosticInfo property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDiagnosticInfo().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DiagnosticInfo } + * + * + */ + public List getDiagnosticInfo() { + if (diagnosticInfo == null) { + diagnosticInfo = new ArrayList(); + } + return this.diagnosticInfo; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDiagnosticInfo.Builder<_B> _other) { + if (this.diagnosticInfo == null) { + _other.diagnosticInfo = null; + } else { + _other.diagnosticInfo = new ArrayList>>(); + for (DiagnosticInfo _item: this.diagnosticInfo) { + _other.diagnosticInfo.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfDiagnosticInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDiagnosticInfo.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDiagnosticInfo.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDiagnosticInfo.Builder builder() { + return new ListOfDiagnosticInfo.Builder(null, null, false); + } + + public static<_B >ListOfDiagnosticInfo.Builder<_B> copyOf(final ListOfDiagnosticInfo _other) { + final ListOfDiagnosticInfo.Builder<_B> _newBuilder = new ListOfDiagnosticInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDiagnosticInfo.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree diagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfoPropertyTree!= null):((diagnosticInfoPropertyTree == null)||(!diagnosticInfoPropertyTree.isLeaf())))) { + if (this.diagnosticInfo == null) { + _other.diagnosticInfo = null; + } else { + _other.diagnosticInfo = new ArrayList>>(); + for (DiagnosticInfo _item: this.diagnosticInfo) { + _other.diagnosticInfo.add(((_item == null)?null:_item.newCopyBuilder(_other, diagnosticInfoPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfDiagnosticInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDiagnosticInfo.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDiagnosticInfo.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDiagnosticInfo.Builder<_B> copyOf(final ListOfDiagnosticInfo _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDiagnosticInfo.Builder<_B> _newBuilder = new ListOfDiagnosticInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDiagnosticInfo.Builder copyExcept(final ListOfDiagnosticInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDiagnosticInfo.Builder copyOnly(final ListOfDiagnosticInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDiagnosticInfo _storedValue; + private List>> diagnosticInfo; + + public Builder(final _B _parentBuilder, final ListOfDiagnosticInfo _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.diagnosticInfo == null) { + this.diagnosticInfo = null; + } else { + this.diagnosticInfo = new ArrayList>>(); + for (DiagnosticInfo _item: _other.diagnosticInfo) { + this.diagnosticInfo.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDiagnosticInfo _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree diagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfoPropertyTree!= null):((diagnosticInfoPropertyTree == null)||(!diagnosticInfoPropertyTree.isLeaf())))) { + if (_other.diagnosticInfo == null) { + this.diagnosticInfo = null; + } else { + this.diagnosticInfo = new ArrayList>>(); + for (DiagnosticInfo _item: _other.diagnosticInfo) { + this.diagnosticInfo.add(((_item == null)?null:_item.newCopyBuilder(this, diagnosticInfoPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDiagnosticInfo >_P init(final _P _product) { + if (this.diagnosticInfo!= null) { + final List diagnosticInfo = new ArrayList(this.diagnosticInfo.size()); + for (DiagnosticInfo.Builder> _item: this.diagnosticInfo) { + diagnosticInfo.add(_item.build()); + } + _product.diagnosticInfo = diagnosticInfo; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "diagnosticInfo" hinzu. + * + * @param diagnosticInfo + * Werte, die zur Eigenschaft "diagnosticInfo" hinzugefügt werden. + */ + public ListOfDiagnosticInfo.Builder<_B> addDiagnosticInfo(final Iterable diagnosticInfo) { + if (diagnosticInfo!= null) { + if (this.diagnosticInfo == null) { + this.diagnosticInfo = new ArrayList>>(); + } + for (DiagnosticInfo _item: diagnosticInfo) { + this.diagnosticInfo.add(new DiagnosticInfo.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfo" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfo + * Neuer Wert der Eigenschaft "diagnosticInfo". + */ + public ListOfDiagnosticInfo.Builder<_B> withDiagnosticInfo(final Iterable diagnosticInfo) { + if (this.diagnosticInfo!= null) { + this.diagnosticInfo.clear(); + } + return addDiagnosticInfo(diagnosticInfo); + } + + /** + * Fügt Werte zur Eigenschaft "diagnosticInfo" hinzu. + * + * @param diagnosticInfo + * Werte, die zur Eigenschaft "diagnosticInfo" hinzugefügt werden. + */ + public ListOfDiagnosticInfo.Builder<_B> addDiagnosticInfo(DiagnosticInfo... diagnosticInfo) { + addDiagnosticInfo(Arrays.asList(diagnosticInfo)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfo" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfo + * Neuer Wert der Eigenschaft "diagnosticInfo". + */ + public ListOfDiagnosticInfo.Builder<_B> withDiagnosticInfo(DiagnosticInfo... diagnosticInfo) { + withDiagnosticInfo(Arrays.asList(diagnosticInfo)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "DiagnosticInfo". + * Mit {@link org.opcfoundation.ua._2008._02.types.DiagnosticInfo.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "DiagnosticInfo". + * Mit {@link org.opcfoundation.ua._2008._02.types.DiagnosticInfo.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public DiagnosticInfo.Builder> addDiagnosticInfo() { + if (this.diagnosticInfo == null) { + this.diagnosticInfo = new ArrayList>>(); + } + final DiagnosticInfo.Builder> diagnosticInfo_Builder = new DiagnosticInfo.Builder>(this, null, false); + this.diagnosticInfo.add(diagnosticInfo_Builder); + return diagnosticInfo_Builder; + } + + @Override + public ListOfDiagnosticInfo build() { + if (_storedValue == null) { + return this.init(new ListOfDiagnosticInfo()); + } else { + return ((ListOfDiagnosticInfo) _storedValue); + } + } + + public ListOfDiagnosticInfo.Builder<_B> copyOf(final ListOfDiagnosticInfo _other) { + _other.copyTo(this); + return this; + } + + public ListOfDiagnosticInfo.Builder<_B> copyOf(final ListOfDiagnosticInfo.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDiagnosticInfo.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDiagnosticInfo.Select _root() { + return new ListOfDiagnosticInfo.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private DiagnosticInfo.Selector> diagnosticInfo = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.diagnosticInfo!= null) { + products.put("diagnosticInfo", this.diagnosticInfo.init()); + } + return products; + } + + public DiagnosticInfo.Selector> diagnosticInfo() { + return ((this.diagnosticInfo == null)?this.diagnosticInfo = new DiagnosticInfo.Selector>(this._root, this, "diagnosticInfo"):this.diagnosticInfo); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticsLevel.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticsLevel.java new file mode 100644 index 000000000..2c0e60182 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDiagnosticsLevel.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDiagnosticsLevel complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDiagnosticsLevel">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DiagnosticsLevel" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiagnosticsLevel" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDiagnosticsLevel", propOrder = { + "diagnosticsLevel" +}) +public class ListOfDiagnosticsLevel { + + @XmlElement(name = "DiagnosticsLevel") + @XmlSchemaType(name = "string") + protected List diagnosticsLevel; + + /** + * Gets the value of the diagnosticsLevel property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the diagnosticsLevel property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDiagnosticsLevel().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DiagnosticsLevel } + * + * + */ + public List getDiagnosticsLevel() { + if (diagnosticsLevel == null) { + diagnosticsLevel = new ArrayList(); + } + return this.diagnosticsLevel; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDiagnosticsLevel.Builder<_B> _other) { + if (this.diagnosticsLevel == null) { + _other.diagnosticsLevel = null; + } else { + _other.diagnosticsLevel = new ArrayList(); + for (DiagnosticsLevel _item: this.diagnosticsLevel) { + _other.diagnosticsLevel.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfDiagnosticsLevel.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDiagnosticsLevel.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDiagnosticsLevel.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDiagnosticsLevel.Builder builder() { + return new ListOfDiagnosticsLevel.Builder(null, null, false); + } + + public static<_B >ListOfDiagnosticsLevel.Builder<_B> copyOf(final ListOfDiagnosticsLevel _other) { + final ListOfDiagnosticsLevel.Builder<_B> _newBuilder = new ListOfDiagnosticsLevel.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDiagnosticsLevel.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree diagnosticsLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticsLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticsLevelPropertyTree!= null):((diagnosticsLevelPropertyTree == null)||(!diagnosticsLevelPropertyTree.isLeaf())))) { + if (this.diagnosticsLevel == null) { + _other.diagnosticsLevel = null; + } else { + _other.diagnosticsLevel = new ArrayList(); + for (DiagnosticsLevel _item: this.diagnosticsLevel) { + _other.diagnosticsLevel.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfDiagnosticsLevel.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDiagnosticsLevel.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDiagnosticsLevel.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDiagnosticsLevel.Builder<_B> copyOf(final ListOfDiagnosticsLevel _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDiagnosticsLevel.Builder<_B> _newBuilder = new ListOfDiagnosticsLevel.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDiagnosticsLevel.Builder copyExcept(final ListOfDiagnosticsLevel _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDiagnosticsLevel.Builder copyOnly(final ListOfDiagnosticsLevel _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDiagnosticsLevel _storedValue; + private List diagnosticsLevel; + + public Builder(final _B _parentBuilder, final ListOfDiagnosticsLevel _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.diagnosticsLevel == null) { + this.diagnosticsLevel = null; + } else { + this.diagnosticsLevel = new ArrayList(); + for (DiagnosticsLevel _item: _other.diagnosticsLevel) { + this.diagnosticsLevel.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDiagnosticsLevel _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree diagnosticsLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticsLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticsLevelPropertyTree!= null):((diagnosticsLevelPropertyTree == null)||(!diagnosticsLevelPropertyTree.isLeaf())))) { + if (_other.diagnosticsLevel == null) { + this.diagnosticsLevel = null; + } else { + this.diagnosticsLevel = new ArrayList(); + for (DiagnosticsLevel _item: _other.diagnosticsLevel) { + this.diagnosticsLevel.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDiagnosticsLevel >_P init(final _P _product) { + if (this.diagnosticsLevel!= null) { + final List diagnosticsLevel = new ArrayList(this.diagnosticsLevel.size()); + for (Buildable _item: this.diagnosticsLevel) { + diagnosticsLevel.add(((DiagnosticsLevel) _item.build())); + } + _product.diagnosticsLevel = diagnosticsLevel; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "diagnosticsLevel" hinzu. + * + * @param diagnosticsLevel + * Werte, die zur Eigenschaft "diagnosticsLevel" hinzugefügt werden. + */ + public ListOfDiagnosticsLevel.Builder<_B> addDiagnosticsLevel(final Iterable diagnosticsLevel) { + if (diagnosticsLevel!= null) { + if (this.diagnosticsLevel == null) { + this.diagnosticsLevel = new ArrayList(); + } + for (DiagnosticsLevel _item: diagnosticsLevel) { + this.diagnosticsLevel.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticsLevel" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param diagnosticsLevel + * Neuer Wert der Eigenschaft "diagnosticsLevel". + */ + public ListOfDiagnosticsLevel.Builder<_B> withDiagnosticsLevel(final Iterable diagnosticsLevel) { + if (this.diagnosticsLevel!= null) { + this.diagnosticsLevel.clear(); + } + return addDiagnosticsLevel(diagnosticsLevel); + } + + /** + * Fügt Werte zur Eigenschaft "diagnosticsLevel" hinzu. + * + * @param diagnosticsLevel + * Werte, die zur Eigenschaft "diagnosticsLevel" hinzugefügt werden. + */ + public ListOfDiagnosticsLevel.Builder<_B> addDiagnosticsLevel(DiagnosticsLevel... diagnosticsLevel) { + addDiagnosticsLevel(Arrays.asList(diagnosticsLevel)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticsLevel" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param diagnosticsLevel + * Neuer Wert der Eigenschaft "diagnosticsLevel". + */ + public ListOfDiagnosticsLevel.Builder<_B> withDiagnosticsLevel(DiagnosticsLevel... diagnosticsLevel) { + withDiagnosticsLevel(Arrays.asList(diagnosticsLevel)); + return this; + } + + @Override + public ListOfDiagnosticsLevel build() { + if (_storedValue == null) { + return this.init(new ListOfDiagnosticsLevel()); + } else { + return ((ListOfDiagnosticsLevel) _storedValue); + } + } + + public ListOfDiagnosticsLevel.Builder<_B> copyOf(final ListOfDiagnosticsLevel _other) { + _other.copyTo(this); + return this; + } + + public ListOfDiagnosticsLevel.Builder<_B> copyOf(final ListOfDiagnosticsLevel.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDiagnosticsLevel.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDiagnosticsLevel.Select _root() { + return new ListOfDiagnosticsLevel.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> diagnosticsLevel = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.diagnosticsLevel!= null) { + products.put("diagnosticsLevel", this.diagnosticsLevel.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> diagnosticsLevel() { + return ((this.diagnosticsLevel == null)?this.diagnosticsLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticsLevel"):this.diagnosticsLevel); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDouble.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDouble.java new file mode 100644 index 000000000..17d4f9a49 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfDouble.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfDouble complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfDouble">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Double" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfDouble", propOrder = { + "_double" +}) +public class ListOfDouble { + + @XmlElement(name = "Double", type = Double.class) + protected List _double; + + /** + * Gets the value of the double property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the double property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDouble().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Double } + * + * + */ + public List getDouble() { + if (_double == null) { + _double = new ArrayList(); + } + return this._double; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDouble.Builder<_B> _other) { + if (this._double == null) { + _other._double = null; + } else { + _other._double = new ArrayList(); + for (Double _item: this._double) { + _other._double.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfDouble.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfDouble.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfDouble.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfDouble.Builder builder() { + return new ListOfDouble.Builder(null, null, false); + } + + public static<_B >ListOfDouble.Builder<_B> copyOf(final ListOfDouble _other) { + final ListOfDouble.Builder<_B> _newBuilder = new ListOfDouble.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfDouble.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree _doublePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_double")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_doublePropertyTree!= null):((_doublePropertyTree == null)||(!_doublePropertyTree.isLeaf())))) { + if (this._double == null) { + _other._double = null; + } else { + _other._double = new ArrayList(); + for (Double _item: this._double) { + _other._double.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfDouble.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfDouble.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfDouble.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfDouble.Builder<_B> copyOf(final ListOfDouble _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfDouble.Builder<_B> _newBuilder = new ListOfDouble.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfDouble.Builder copyExcept(final ListOfDouble _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfDouble.Builder copyOnly(final ListOfDouble _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfDouble _storedValue; + private List _double; + + public Builder(final _B _parentBuilder, final ListOfDouble _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other._double == null) { + this._double = null; + } else { + this._double = new ArrayList(); + for (Double _item: _other._double) { + this._double.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfDouble _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree _doublePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_double")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_doublePropertyTree!= null):((_doublePropertyTree == null)||(!_doublePropertyTree.isLeaf())))) { + if (_other._double == null) { + this._double = null; + } else { + this._double = new ArrayList(); + for (Double _item: _other._double) { + this._double.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfDouble >_P init(final _P _product) { + if (this._double!= null) { + final List _double = new ArrayList(this._double.size()); + for (Buildable _item: this._double) { + _double.add(((Double) _item.build())); + } + _product._double = _double; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "_double" hinzu. + * + * @param _double + * Werte, die zur Eigenschaft "_double" hinzugefügt werden. + */ + public ListOfDouble.Builder<_B> addDouble(final Iterable _double) { + if (_double!= null) { + if (this._double == null) { + this._double = new ArrayList(); + } + for (Double _item: _double) { + this._double.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_double" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _double + * Neuer Wert der Eigenschaft "_double". + */ + public ListOfDouble.Builder<_B> withDouble(final Iterable _double) { + if (this._double!= null) { + this._double.clear(); + } + return addDouble(_double); + } + + /** + * Fügt Werte zur Eigenschaft "_double" hinzu. + * + * @param _double + * Werte, die zur Eigenschaft "_double" hinzugefügt werden. + */ + public ListOfDouble.Builder<_B> addDouble(Double... _double) { + addDouble(Arrays.asList(_double)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_double" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _double + * Neuer Wert der Eigenschaft "_double". + */ + public ListOfDouble.Builder<_B> withDouble(Double... _double) { + withDouble(Arrays.asList(_double)); + return this; + } + + @Override + public ListOfDouble build() { + if (_storedValue == null) { + return this.init(new ListOfDouble()); + } else { + return ((ListOfDouble) _storedValue); + } + } + + public ListOfDouble.Builder<_B> copyOf(final ListOfDouble _other) { + _other.copyTo(this); + return this; + } + + public ListOfDouble.Builder<_B> copyOf(final ListOfDouble.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfDouble.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfDouble.Select _root() { + return new ListOfDouble.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> _double = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this._double!= null) { + products.put("_double", this._double.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> _double() { + return ((this._double == null)?this._double = new com.kscs.util.jaxb.Selector>(this._root, this, "_double"):this._double); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointConfiguration.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointConfiguration.java new file mode 100644 index 000000000..d9bbf01e8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointConfiguration.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEndpointConfiguration complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEndpointConfiguration">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointConfiguration" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EndpointConfiguration" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEndpointConfiguration", propOrder = { + "endpointConfiguration" +}) +public class ListOfEndpointConfiguration { + + @XmlElement(name = "EndpointConfiguration", nillable = true) + protected List endpointConfiguration; + + /** + * Gets the value of the endpointConfiguration property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the endpointConfiguration property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEndpointConfiguration().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EndpointConfiguration } + * + * + */ + public List getEndpointConfiguration() { + if (endpointConfiguration == null) { + endpointConfiguration = new ArrayList(); + } + return this.endpointConfiguration; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointConfiguration.Builder<_B> _other) { + if (this.endpointConfiguration == null) { + _other.endpointConfiguration = null; + } else { + _other.endpointConfiguration = new ArrayList>>(); + for (EndpointConfiguration _item: this.endpointConfiguration) { + _other.endpointConfiguration.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEndpointConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEndpointConfiguration.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEndpointConfiguration.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEndpointConfiguration.Builder builder() { + return new ListOfEndpointConfiguration.Builder(null, null, false); + } + + public static<_B >ListOfEndpointConfiguration.Builder<_B> copyOf(final ListOfEndpointConfiguration _other) { + final ListOfEndpointConfiguration.Builder<_B> _newBuilder = new ListOfEndpointConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointConfiguration.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointConfigurationPropertyTree!= null):((endpointConfigurationPropertyTree == null)||(!endpointConfigurationPropertyTree.isLeaf())))) { + if (this.endpointConfiguration == null) { + _other.endpointConfiguration = null; + } else { + _other.endpointConfiguration = new ArrayList>>(); + for (EndpointConfiguration _item: this.endpointConfiguration) { + _other.endpointConfiguration.add(((_item == null)?null:_item.newCopyBuilder(_other, endpointConfigurationPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEndpointConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEndpointConfiguration.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEndpointConfiguration.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEndpointConfiguration.Builder<_B> copyOf(final ListOfEndpointConfiguration _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEndpointConfiguration.Builder<_B> _newBuilder = new ListOfEndpointConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEndpointConfiguration.Builder copyExcept(final ListOfEndpointConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEndpointConfiguration.Builder copyOnly(final ListOfEndpointConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEndpointConfiguration _storedValue; + private List>> endpointConfiguration; + + public Builder(final _B _parentBuilder, final ListOfEndpointConfiguration _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.endpointConfiguration == null) { + this.endpointConfiguration = null; + } else { + this.endpointConfiguration = new ArrayList>>(); + for (EndpointConfiguration _item: _other.endpointConfiguration) { + this.endpointConfiguration.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEndpointConfiguration _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointConfigurationPropertyTree!= null):((endpointConfigurationPropertyTree == null)||(!endpointConfigurationPropertyTree.isLeaf())))) { + if (_other.endpointConfiguration == null) { + this.endpointConfiguration = null; + } else { + this.endpointConfiguration = new ArrayList>>(); + for (EndpointConfiguration _item: _other.endpointConfiguration) { + this.endpointConfiguration.add(((_item == null)?null:_item.newCopyBuilder(this, endpointConfigurationPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEndpointConfiguration >_P init(final _P _product) { + if (this.endpointConfiguration!= null) { + final List endpointConfiguration = new ArrayList(this.endpointConfiguration.size()); + for (EndpointConfiguration.Builder> _item: this.endpointConfiguration) { + endpointConfiguration.add(_item.build()); + } + _product.endpointConfiguration = endpointConfiguration; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "endpointConfiguration" hinzu. + * + * @param endpointConfiguration + * Werte, die zur Eigenschaft "endpointConfiguration" hinzugefügt werden. + */ + public ListOfEndpointConfiguration.Builder<_B> addEndpointConfiguration(final Iterable endpointConfiguration) { + if (endpointConfiguration!= null) { + if (this.endpointConfiguration == null) { + this.endpointConfiguration = new ArrayList>>(); + } + for (EndpointConfiguration _item: endpointConfiguration) { + this.endpointConfiguration.add(new EndpointConfiguration.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointConfiguration" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param endpointConfiguration + * Neuer Wert der Eigenschaft "endpointConfiguration". + */ + public ListOfEndpointConfiguration.Builder<_B> withEndpointConfiguration(final Iterable endpointConfiguration) { + if (this.endpointConfiguration!= null) { + this.endpointConfiguration.clear(); + } + return addEndpointConfiguration(endpointConfiguration); + } + + /** + * Fügt Werte zur Eigenschaft "endpointConfiguration" hinzu. + * + * @param endpointConfiguration + * Werte, die zur Eigenschaft "endpointConfiguration" hinzugefügt werden. + */ + public ListOfEndpointConfiguration.Builder<_B> addEndpointConfiguration(EndpointConfiguration... endpointConfiguration) { + addEndpointConfiguration(Arrays.asList(endpointConfiguration)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointConfiguration" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param endpointConfiguration + * Neuer Wert der Eigenschaft "endpointConfiguration". + */ + public ListOfEndpointConfiguration.Builder<_B> withEndpointConfiguration(EndpointConfiguration... endpointConfiguration) { + withEndpointConfiguration(Arrays.asList(endpointConfiguration)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EndpointConfiguration". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.EndpointConfiguration.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EndpointConfiguration". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.EndpointConfiguration.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public EndpointConfiguration.Builder> addEndpointConfiguration() { + if (this.endpointConfiguration == null) { + this.endpointConfiguration = new ArrayList>>(); + } + final EndpointConfiguration.Builder> endpointConfiguration_Builder = new EndpointConfiguration.Builder>(this, null, false); + this.endpointConfiguration.add(endpointConfiguration_Builder); + return endpointConfiguration_Builder; + } + + @Override + public ListOfEndpointConfiguration build() { + if (_storedValue == null) { + return this.init(new ListOfEndpointConfiguration()); + } else { + return ((ListOfEndpointConfiguration) _storedValue); + } + } + + public ListOfEndpointConfiguration.Builder<_B> copyOf(final ListOfEndpointConfiguration _other) { + _other.copyTo(this); + return this; + } + + public ListOfEndpointConfiguration.Builder<_B> copyOf(final ListOfEndpointConfiguration.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEndpointConfiguration.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEndpointConfiguration.Select _root() { + return new ListOfEndpointConfiguration.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EndpointConfiguration.Selector> endpointConfiguration = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointConfiguration!= null) { + products.put("endpointConfiguration", this.endpointConfiguration.init()); + } + return products; + } + + public EndpointConfiguration.Selector> endpointConfiguration() { + return ((this.endpointConfiguration == null)?this.endpointConfiguration = new EndpointConfiguration.Selector>(this._root, this, "endpointConfiguration"):this.endpointConfiguration); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointDescription.java new file mode 100644 index 000000000..553e722d6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEndpointDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEndpointDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EndpointDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEndpointDescription", propOrder = { + "endpointDescription" +}) +public class ListOfEndpointDescription { + + @XmlElement(name = "EndpointDescription", nillable = true) + protected List endpointDescription; + + /** + * Gets the value of the endpointDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the endpointDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEndpointDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EndpointDescription } + * + * + */ + public List getEndpointDescription() { + if (endpointDescription == null) { + endpointDescription = new ArrayList(); + } + return this.endpointDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointDescription.Builder<_B> _other) { + if (this.endpointDescription == null) { + _other.endpointDescription = null; + } else { + _other.endpointDescription = new ArrayList>>(); + for (EndpointDescription _item: this.endpointDescription) { + _other.endpointDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEndpointDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEndpointDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEndpointDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEndpointDescription.Builder builder() { + return new ListOfEndpointDescription.Builder(null, null, false); + } + + public static<_B >ListOfEndpointDescription.Builder<_B> copyOf(final ListOfEndpointDescription _other) { + final ListOfEndpointDescription.Builder<_B> _newBuilder = new ListOfEndpointDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointDescriptionPropertyTree!= null):((endpointDescriptionPropertyTree == null)||(!endpointDescriptionPropertyTree.isLeaf())))) { + if (this.endpointDescription == null) { + _other.endpointDescription = null; + } else { + _other.endpointDescription = new ArrayList>>(); + for (EndpointDescription _item: this.endpointDescription) { + _other.endpointDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, endpointDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEndpointDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEndpointDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEndpointDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEndpointDescription.Builder<_B> copyOf(final ListOfEndpointDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEndpointDescription.Builder<_B> _newBuilder = new ListOfEndpointDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEndpointDescription.Builder copyExcept(final ListOfEndpointDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEndpointDescription.Builder copyOnly(final ListOfEndpointDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEndpointDescription _storedValue; + private List>> endpointDescription; + + public Builder(final _B _parentBuilder, final ListOfEndpointDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.endpointDescription == null) { + this.endpointDescription = null; + } else { + this.endpointDescription = new ArrayList>>(); + for (EndpointDescription _item: _other.endpointDescription) { + this.endpointDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEndpointDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointDescriptionPropertyTree!= null):((endpointDescriptionPropertyTree == null)||(!endpointDescriptionPropertyTree.isLeaf())))) { + if (_other.endpointDescription == null) { + this.endpointDescription = null; + } else { + this.endpointDescription = new ArrayList>>(); + for (EndpointDescription _item: _other.endpointDescription) { + this.endpointDescription.add(((_item == null)?null:_item.newCopyBuilder(this, endpointDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEndpointDescription >_P init(final _P _product) { + if (this.endpointDescription!= null) { + final List endpointDescription = new ArrayList(this.endpointDescription.size()); + for (EndpointDescription.Builder> _item: this.endpointDescription) { + endpointDescription.add(_item.build()); + } + _product.endpointDescription = endpointDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "endpointDescription" hinzu. + * + * @param endpointDescription + * Werte, die zur Eigenschaft "endpointDescription" hinzugefügt werden. + */ + public ListOfEndpointDescription.Builder<_B> addEndpointDescription(final Iterable endpointDescription) { + if (endpointDescription!= null) { + if (this.endpointDescription == null) { + this.endpointDescription = new ArrayList>>(); + } + for (EndpointDescription _item: endpointDescription) { + this.endpointDescription.add(new EndpointDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param endpointDescription + * Neuer Wert der Eigenschaft "endpointDescription". + */ + public ListOfEndpointDescription.Builder<_B> withEndpointDescription(final Iterable endpointDescription) { + if (this.endpointDescription!= null) { + this.endpointDescription.clear(); + } + return addEndpointDescription(endpointDescription); + } + + /** + * Fügt Werte zur Eigenschaft "endpointDescription" hinzu. + * + * @param endpointDescription + * Werte, die zur Eigenschaft "endpointDescription" hinzugefügt werden. + */ + public ListOfEndpointDescription.Builder<_B> addEndpointDescription(EndpointDescription... endpointDescription) { + addEndpointDescription(Arrays.asList(endpointDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param endpointDescription + * Neuer Wert der Eigenschaft "endpointDescription". + */ + public ListOfEndpointDescription.Builder<_B> withEndpointDescription(EndpointDescription... endpointDescription) { + withEndpointDescription(Arrays.asList(endpointDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EndpointDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.EndpointDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EndpointDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.EndpointDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public EndpointDescription.Builder> addEndpointDescription() { + if (this.endpointDescription == null) { + this.endpointDescription = new ArrayList>>(); + } + final EndpointDescription.Builder> endpointDescription_Builder = new EndpointDescription.Builder>(this, null, false); + this.endpointDescription.add(endpointDescription_Builder); + return endpointDescription_Builder; + } + + @Override + public ListOfEndpointDescription build() { + if (_storedValue == null) { + return this.init(new ListOfEndpointDescription()); + } else { + return ((ListOfEndpointDescription) _storedValue); + } + } + + public ListOfEndpointDescription.Builder<_B> copyOf(final ListOfEndpointDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfEndpointDescription.Builder<_B> copyOf(final ListOfEndpointDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEndpointDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEndpointDescription.Select _root() { + return new ListOfEndpointDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EndpointDescription.Selector> endpointDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointDescription!= null) { + products.put("endpointDescription", this.endpointDescription.init()); + } + return products; + } + + public EndpointDescription.Selector> endpointDescription() { + return ((this.endpointDescription == null)?this.endpointDescription = new EndpointDescription.Selector>(this._root, this, "endpointDescription"):this.endpointDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointType.java new file mode 100644 index 000000000..c066cac95 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointType.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEndpointType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEndpointType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EndpointType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEndpointType", propOrder = { + "endpointType" +}) +public class ListOfEndpointType { + + @XmlElement(name = "EndpointType", nillable = true) + protected List endpointType; + + /** + * Gets the value of the endpointType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the endpointType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEndpointType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EndpointType } + * + * + */ + public List getEndpointType() { + if (endpointType == null) { + endpointType = new ArrayList(); + } + return this.endpointType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointType.Builder<_B> _other) { + if (this.endpointType == null) { + _other.endpointType = null; + } else { + _other.endpointType = new ArrayList>>(); + for (EndpointType _item: this.endpointType) { + _other.endpointType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEndpointType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEndpointType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEndpointType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEndpointType.Builder builder() { + return new ListOfEndpointType.Builder(null, null, false); + } + + public static<_B >ListOfEndpointType.Builder<_B> copyOf(final ListOfEndpointType _other) { + final ListOfEndpointType.Builder<_B> _newBuilder = new ListOfEndpointType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointTypePropertyTree!= null):((endpointTypePropertyTree == null)||(!endpointTypePropertyTree.isLeaf())))) { + if (this.endpointType == null) { + _other.endpointType = null; + } else { + _other.endpointType = new ArrayList>>(); + for (EndpointType _item: this.endpointType) { + _other.endpointType.add(((_item == null)?null:_item.newCopyBuilder(_other, endpointTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEndpointType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEndpointType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEndpointType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEndpointType.Builder<_B> copyOf(final ListOfEndpointType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEndpointType.Builder<_B> _newBuilder = new ListOfEndpointType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEndpointType.Builder copyExcept(final ListOfEndpointType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEndpointType.Builder copyOnly(final ListOfEndpointType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEndpointType _storedValue; + private List>> endpointType; + + public Builder(final _B _parentBuilder, final ListOfEndpointType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.endpointType == null) { + this.endpointType = null; + } else { + this.endpointType = new ArrayList>>(); + for (EndpointType _item: _other.endpointType) { + this.endpointType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEndpointType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointTypePropertyTree!= null):((endpointTypePropertyTree == null)||(!endpointTypePropertyTree.isLeaf())))) { + if (_other.endpointType == null) { + this.endpointType = null; + } else { + this.endpointType = new ArrayList>>(); + for (EndpointType _item: _other.endpointType) { + this.endpointType.add(((_item == null)?null:_item.newCopyBuilder(this, endpointTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEndpointType >_P init(final _P _product) { + if (this.endpointType!= null) { + final List endpointType = new ArrayList(this.endpointType.size()); + for (EndpointType.Builder> _item: this.endpointType) { + endpointType.add(_item.build()); + } + _product.endpointType = endpointType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "endpointType" hinzu. + * + * @param endpointType + * Werte, die zur Eigenschaft "endpointType" hinzugefügt werden. + */ + public ListOfEndpointType.Builder<_B> addEndpointType(final Iterable endpointType) { + if (endpointType!= null) { + if (this.endpointType == null) { + this.endpointType = new ArrayList>>(); + } + for (EndpointType _item: endpointType) { + this.endpointType.add(new EndpointType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointType + * Neuer Wert der Eigenschaft "endpointType". + */ + public ListOfEndpointType.Builder<_B> withEndpointType(final Iterable endpointType) { + if (this.endpointType!= null) { + this.endpointType.clear(); + } + return addEndpointType(endpointType); + } + + /** + * Fügt Werte zur Eigenschaft "endpointType" hinzu. + * + * @param endpointType + * Werte, die zur Eigenschaft "endpointType" hinzugefügt werden. + */ + public ListOfEndpointType.Builder<_B> addEndpointType(EndpointType... endpointType) { + addEndpointType(Arrays.asList(endpointType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointType + * Neuer Wert der Eigenschaft "endpointType". + */ + public ListOfEndpointType.Builder<_B> withEndpointType(EndpointType... endpointType) { + withEndpointType(Arrays.asList(endpointType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EndpointType". + * Mit {@link org.opcfoundation.ua._2008._02.types.EndpointType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EndpointType". + * Mit {@link org.opcfoundation.ua._2008._02.types.EndpointType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public EndpointType.Builder> addEndpointType() { + if (this.endpointType == null) { + this.endpointType = new ArrayList>>(); + } + final EndpointType.Builder> endpointType_Builder = new EndpointType.Builder>(this, null, false); + this.endpointType.add(endpointType_Builder); + return endpointType_Builder; + } + + @Override + public ListOfEndpointType build() { + if (_storedValue == null) { + return this.init(new ListOfEndpointType()); + } else { + return ((ListOfEndpointType) _storedValue); + } + } + + public ListOfEndpointType.Builder<_B> copyOf(final ListOfEndpointType _other) { + _other.copyTo(this); + return this; + } + + public ListOfEndpointType.Builder<_B> copyOf(final ListOfEndpointType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEndpointType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEndpointType.Select _root() { + return new ListOfEndpointType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EndpointType.Selector> endpointType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointType!= null) { + products.put("endpointType", this.endpointType.init()); + } + return products; + } + + public EndpointType.Selector> endpointType() { + return ((this.endpointType == null)?this.endpointType = new EndpointType.Selector>(this._root, this, "endpointType"):this.endpointType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointUrlListDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointUrlListDataType.java new file mode 100644 index 000000000..d6ab43c00 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEndpointUrlListDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEndpointUrlListDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEndpointUrlListDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EndpointUrlListDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EndpointUrlListDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEndpointUrlListDataType", propOrder = { + "endpointUrlListDataType" +}) +public class ListOfEndpointUrlListDataType { + + @XmlElement(name = "EndpointUrlListDataType", nillable = true) + protected List endpointUrlListDataType; + + /** + * Gets the value of the endpointUrlListDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the endpointUrlListDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEndpointUrlListDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EndpointUrlListDataType } + * + * + */ + public List getEndpointUrlListDataType() { + if (endpointUrlListDataType == null) { + endpointUrlListDataType = new ArrayList(); + } + return this.endpointUrlListDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointUrlListDataType.Builder<_B> _other) { + if (this.endpointUrlListDataType == null) { + _other.endpointUrlListDataType = null; + } else { + _other.endpointUrlListDataType = new ArrayList>>(); + for (EndpointUrlListDataType _item: this.endpointUrlListDataType) { + _other.endpointUrlListDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEndpointUrlListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEndpointUrlListDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEndpointUrlListDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEndpointUrlListDataType.Builder builder() { + return new ListOfEndpointUrlListDataType.Builder(null, null, false); + } + + public static<_B >ListOfEndpointUrlListDataType.Builder<_B> copyOf(final ListOfEndpointUrlListDataType _other) { + final ListOfEndpointUrlListDataType.Builder<_B> _newBuilder = new ListOfEndpointUrlListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEndpointUrlListDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree endpointUrlListDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrlListDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlListDataTypePropertyTree!= null):((endpointUrlListDataTypePropertyTree == null)||(!endpointUrlListDataTypePropertyTree.isLeaf())))) { + if (this.endpointUrlListDataType == null) { + _other.endpointUrlListDataType = null; + } else { + _other.endpointUrlListDataType = new ArrayList>>(); + for (EndpointUrlListDataType _item: this.endpointUrlListDataType) { + _other.endpointUrlListDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, endpointUrlListDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEndpointUrlListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEndpointUrlListDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEndpointUrlListDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEndpointUrlListDataType.Builder<_B> copyOf(final ListOfEndpointUrlListDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEndpointUrlListDataType.Builder<_B> _newBuilder = new ListOfEndpointUrlListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEndpointUrlListDataType.Builder copyExcept(final ListOfEndpointUrlListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEndpointUrlListDataType.Builder copyOnly(final ListOfEndpointUrlListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEndpointUrlListDataType _storedValue; + private List>> endpointUrlListDataType; + + public Builder(final _B _parentBuilder, final ListOfEndpointUrlListDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.endpointUrlListDataType == null) { + this.endpointUrlListDataType = null; + } else { + this.endpointUrlListDataType = new ArrayList>>(); + for (EndpointUrlListDataType _item: _other.endpointUrlListDataType) { + this.endpointUrlListDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEndpointUrlListDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree endpointUrlListDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrlListDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlListDataTypePropertyTree!= null):((endpointUrlListDataTypePropertyTree == null)||(!endpointUrlListDataTypePropertyTree.isLeaf())))) { + if (_other.endpointUrlListDataType == null) { + this.endpointUrlListDataType = null; + } else { + this.endpointUrlListDataType = new ArrayList>>(); + for (EndpointUrlListDataType _item: _other.endpointUrlListDataType) { + this.endpointUrlListDataType.add(((_item == null)?null:_item.newCopyBuilder(this, endpointUrlListDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEndpointUrlListDataType >_P init(final _P _product) { + if (this.endpointUrlListDataType!= null) { + final List endpointUrlListDataType = new ArrayList(this.endpointUrlListDataType.size()); + for (EndpointUrlListDataType.Builder> _item: this.endpointUrlListDataType) { + endpointUrlListDataType.add(_item.build()); + } + _product.endpointUrlListDataType = endpointUrlListDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "endpointUrlListDataType" hinzu. + * + * @param endpointUrlListDataType + * Werte, die zur Eigenschaft "endpointUrlListDataType" hinzugefügt werden. + */ + public ListOfEndpointUrlListDataType.Builder<_B> addEndpointUrlListDataType(final Iterable endpointUrlListDataType) { + if (endpointUrlListDataType!= null) { + if (this.endpointUrlListDataType == null) { + this.endpointUrlListDataType = new ArrayList>>(); + } + for (EndpointUrlListDataType _item: endpointUrlListDataType) { + this.endpointUrlListDataType.add(new EndpointUrlListDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrlListDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param endpointUrlListDataType + * Neuer Wert der Eigenschaft "endpointUrlListDataType". + */ + public ListOfEndpointUrlListDataType.Builder<_B> withEndpointUrlListDataType(final Iterable endpointUrlListDataType) { + if (this.endpointUrlListDataType!= null) { + this.endpointUrlListDataType.clear(); + } + return addEndpointUrlListDataType(endpointUrlListDataType); + } + + /** + * Fügt Werte zur Eigenschaft "endpointUrlListDataType" hinzu. + * + * @param endpointUrlListDataType + * Werte, die zur Eigenschaft "endpointUrlListDataType" hinzugefügt werden. + */ + public ListOfEndpointUrlListDataType.Builder<_B> addEndpointUrlListDataType(EndpointUrlListDataType... endpointUrlListDataType) { + addEndpointUrlListDataType(Arrays.asList(endpointUrlListDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrlListDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param endpointUrlListDataType + * Neuer Wert der Eigenschaft "endpointUrlListDataType". + */ + public ListOfEndpointUrlListDataType.Builder<_B> withEndpointUrlListDataType(EndpointUrlListDataType... endpointUrlListDataType) { + withEndpointUrlListDataType(Arrays.asList(endpointUrlListDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EndpointUrlListDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.EndpointUrlListDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EndpointUrlListDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.EndpointUrlListDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public EndpointUrlListDataType.Builder> addEndpointUrlListDataType() { + if (this.endpointUrlListDataType == null) { + this.endpointUrlListDataType = new ArrayList>>(); + } + final EndpointUrlListDataType.Builder> endpointUrlListDataType_Builder = new EndpointUrlListDataType.Builder>(this, null, false); + this.endpointUrlListDataType.add(endpointUrlListDataType_Builder); + return endpointUrlListDataType_Builder; + } + + @Override + public ListOfEndpointUrlListDataType build() { + if (_storedValue == null) { + return this.init(new ListOfEndpointUrlListDataType()); + } else { + return ((ListOfEndpointUrlListDataType) _storedValue); + } + } + + public ListOfEndpointUrlListDataType.Builder<_B> copyOf(final ListOfEndpointUrlListDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfEndpointUrlListDataType.Builder<_B> copyOf(final ListOfEndpointUrlListDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEndpointUrlListDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEndpointUrlListDataType.Select _root() { + return new ListOfEndpointUrlListDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EndpointUrlListDataType.Selector> endpointUrlListDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.endpointUrlListDataType!= null) { + products.put("endpointUrlListDataType", this.endpointUrlListDataType.init()); + } + return products; + } + + public EndpointUrlListDataType.Selector> endpointUrlListDataType() { + return ((this.endpointUrlListDataType == null)?this.endpointUrlListDataType = new EndpointUrlListDataType.Selector>(this._root, this, "endpointUrlListDataType"):this.endpointUrlListDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDefinition.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDefinition.java new file mode 100644 index 000000000..d830444ed --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDefinition.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEnumDefinition complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEnumDefinition">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EnumDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EnumDefinition" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEnumDefinition", propOrder = { + "enumDefinition" +}) +public class ListOfEnumDefinition { + + @XmlElement(name = "EnumDefinition", nillable = true) + protected List enumDefinition; + + /** + * Gets the value of the enumDefinition property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the enumDefinition property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEnumDefinition().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EnumDefinition } + * + * + */ + public List getEnumDefinition() { + if (enumDefinition == null) { + enumDefinition = new ArrayList(); + } + return this.enumDefinition; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumDefinition.Builder<_B> _other) { + if (this.enumDefinition == null) { + _other.enumDefinition = null; + } else { + _other.enumDefinition = new ArrayList>>(); + for (EnumDefinition _item: this.enumDefinition) { + _other.enumDefinition.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEnumDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEnumDefinition.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEnumDefinition.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEnumDefinition.Builder builder() { + return new ListOfEnumDefinition.Builder(null, null, false); + } + + public static<_B >ListOfEnumDefinition.Builder<_B> copyOf(final ListOfEnumDefinition _other) { + final ListOfEnumDefinition.Builder<_B> _newBuilder = new ListOfEnumDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumDefinition.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree enumDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDefinitionPropertyTree!= null):((enumDefinitionPropertyTree == null)||(!enumDefinitionPropertyTree.isLeaf())))) { + if (this.enumDefinition == null) { + _other.enumDefinition = null; + } else { + _other.enumDefinition = new ArrayList>>(); + for (EnumDefinition _item: this.enumDefinition) { + _other.enumDefinition.add(((_item == null)?null:_item.newCopyBuilder(_other, enumDefinitionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEnumDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEnumDefinition.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEnumDefinition.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEnumDefinition.Builder<_B> copyOf(final ListOfEnumDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEnumDefinition.Builder<_B> _newBuilder = new ListOfEnumDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEnumDefinition.Builder copyExcept(final ListOfEnumDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEnumDefinition.Builder copyOnly(final ListOfEnumDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEnumDefinition _storedValue; + private List>> enumDefinition; + + public Builder(final _B _parentBuilder, final ListOfEnumDefinition _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.enumDefinition == null) { + this.enumDefinition = null; + } else { + this.enumDefinition = new ArrayList>>(); + for (EnumDefinition _item: _other.enumDefinition) { + this.enumDefinition.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEnumDefinition _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree enumDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDefinitionPropertyTree!= null):((enumDefinitionPropertyTree == null)||(!enumDefinitionPropertyTree.isLeaf())))) { + if (_other.enumDefinition == null) { + this.enumDefinition = null; + } else { + this.enumDefinition = new ArrayList>>(); + for (EnumDefinition _item: _other.enumDefinition) { + this.enumDefinition.add(((_item == null)?null:_item.newCopyBuilder(this, enumDefinitionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEnumDefinition >_P init(final _P _product) { + if (this.enumDefinition!= null) { + final List enumDefinition = new ArrayList(this.enumDefinition.size()); + for (EnumDefinition.Builder> _item: this.enumDefinition) { + enumDefinition.add(_item.build()); + } + _product.enumDefinition = enumDefinition; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "enumDefinition" hinzu. + * + * @param enumDefinition + * Werte, die zur Eigenschaft "enumDefinition" hinzugefügt werden. + */ + public ListOfEnumDefinition.Builder<_B> addEnumDefinition(final Iterable enumDefinition) { + if (enumDefinition!= null) { + if (this.enumDefinition == null) { + this.enumDefinition = new ArrayList>>(); + } + for (EnumDefinition _item: enumDefinition) { + this.enumDefinition.add(new EnumDefinition.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDefinition" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDefinition + * Neuer Wert der Eigenschaft "enumDefinition". + */ + public ListOfEnumDefinition.Builder<_B> withEnumDefinition(final Iterable enumDefinition) { + if (this.enumDefinition!= null) { + this.enumDefinition.clear(); + } + return addEnumDefinition(enumDefinition); + } + + /** + * Fügt Werte zur Eigenschaft "enumDefinition" hinzu. + * + * @param enumDefinition + * Werte, die zur Eigenschaft "enumDefinition" hinzugefügt werden. + */ + public ListOfEnumDefinition.Builder<_B> addEnumDefinition(EnumDefinition... enumDefinition) { + addEnumDefinition(Arrays.asList(enumDefinition)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDefinition" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDefinition + * Neuer Wert der Eigenschaft "enumDefinition". + */ + public ListOfEnumDefinition.Builder<_B> withEnumDefinition(EnumDefinition... enumDefinition) { + withEnumDefinition(Arrays.asList(enumDefinition)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EnumDefinition". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumDefinition.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EnumDefinition". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumDefinition.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public EnumDefinition.Builder> addEnumDefinition() { + if (this.enumDefinition == null) { + this.enumDefinition = new ArrayList>>(); + } + final EnumDefinition.Builder> enumDefinition_Builder = new EnumDefinition.Builder>(this, null, false); + this.enumDefinition.add(enumDefinition_Builder); + return enumDefinition_Builder; + } + + @Override + public ListOfEnumDefinition build() { + if (_storedValue == null) { + return this.init(new ListOfEnumDefinition()); + } else { + return ((ListOfEnumDefinition) _storedValue); + } + } + + public ListOfEnumDefinition.Builder<_B> copyOf(final ListOfEnumDefinition _other) { + _other.copyTo(this); + return this; + } + + public ListOfEnumDefinition.Builder<_B> copyOf(final ListOfEnumDefinition.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEnumDefinition.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEnumDefinition.Select _root() { + return new ListOfEnumDefinition.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EnumDefinition.Selector> enumDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.enumDefinition!= null) { + products.put("enumDefinition", this.enumDefinition.init()); + } + return products; + } + + public EnumDefinition.Selector> enumDefinition() { + return ((this.enumDefinition == null)?this.enumDefinition = new EnumDefinition.Selector>(this._root, this, "enumDefinition"):this.enumDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDescription.java new file mode 100644 index 000000000..897e811c9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumDescription.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEnumDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEnumDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EnumDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EnumDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEnumDescription", propOrder = { + "enumDescription" +}) +public class ListOfEnumDescription { + + @XmlElement(name = "EnumDescription", nillable = true) + protected List enumDescription; + + /** + * Gets the value of the enumDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the enumDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEnumDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EnumDescription } + * + * + */ + public List getEnumDescription() { + if (enumDescription == null) { + enumDescription = new ArrayList(); + } + return this.enumDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumDescription.Builder<_B> _other) { + if (this.enumDescription == null) { + _other.enumDescription = null; + } else { + _other.enumDescription = new ArrayList>>(); + for (EnumDescription _item: this.enumDescription) { + _other.enumDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEnumDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEnumDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEnumDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEnumDescription.Builder builder() { + return new ListOfEnumDescription.Builder(null, null, false); + } + + public static<_B >ListOfEnumDescription.Builder<_B> copyOf(final ListOfEnumDescription _other) { + final ListOfEnumDescription.Builder<_B> _newBuilder = new ListOfEnumDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree enumDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDescriptionPropertyTree!= null):((enumDescriptionPropertyTree == null)||(!enumDescriptionPropertyTree.isLeaf())))) { + if (this.enumDescription == null) { + _other.enumDescription = null; + } else { + _other.enumDescription = new ArrayList>>(); + for (EnumDescription _item: this.enumDescription) { + _other.enumDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, enumDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEnumDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEnumDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEnumDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEnumDescription.Builder<_B> copyOf(final ListOfEnumDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEnumDescription.Builder<_B> _newBuilder = new ListOfEnumDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEnumDescription.Builder copyExcept(final ListOfEnumDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEnumDescription.Builder copyOnly(final ListOfEnumDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEnumDescription _storedValue; + private List>> enumDescription; + + public Builder(final _B _parentBuilder, final ListOfEnumDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.enumDescription == null) { + this.enumDescription = null; + } else { + this.enumDescription = new ArrayList>>(); + for (EnumDescription _item: _other.enumDescription) { + this.enumDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEnumDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree enumDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumDescriptionPropertyTree!= null):((enumDescriptionPropertyTree == null)||(!enumDescriptionPropertyTree.isLeaf())))) { + if (_other.enumDescription == null) { + this.enumDescription = null; + } else { + this.enumDescription = new ArrayList>>(); + for (EnumDescription _item: _other.enumDescription) { + this.enumDescription.add(((_item == null)?null:_item.newCopyBuilder(this, enumDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEnumDescription >_P init(final _P _product) { + if (this.enumDescription!= null) { + final List enumDescription = new ArrayList(this.enumDescription.size()); + for (EnumDescription.Builder> _item: this.enumDescription) { + enumDescription.add(_item.build()); + } + _product.enumDescription = enumDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "enumDescription" hinzu. + * + * @param enumDescription + * Werte, die zur Eigenschaft "enumDescription" hinzugefügt werden. + */ + public ListOfEnumDescription.Builder<_B> addEnumDescription(final Iterable enumDescription) { + if (enumDescription!= null) { + if (this.enumDescription == null) { + this.enumDescription = new ArrayList>>(); + } + for (EnumDescription _item: enumDescription) { + this.enumDescription.add(new EnumDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDescription" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDescription + * Neuer Wert der Eigenschaft "enumDescription". + */ + public ListOfEnumDescription.Builder<_B> withEnumDescription(final Iterable enumDescription) { + if (this.enumDescription!= null) { + this.enumDescription.clear(); + } + return addEnumDescription(enumDescription); + } + + /** + * Fügt Werte zur Eigenschaft "enumDescription" hinzu. + * + * @param enumDescription + * Werte, die zur Eigenschaft "enumDescription" hinzugefügt werden. + */ + public ListOfEnumDescription.Builder<_B> addEnumDescription(EnumDescription... enumDescription) { + addEnumDescription(Arrays.asList(enumDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDescription" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDescription + * Neuer Wert der Eigenschaft "enumDescription". + */ + public ListOfEnumDescription.Builder<_B> withEnumDescription(EnumDescription... enumDescription) { + withEnumDescription(Arrays.asList(enumDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EnumDescription". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumDescription.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EnumDescription". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumDescription.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public EnumDescription.Builder> addEnumDescription() { + if (this.enumDescription == null) { + this.enumDescription = new ArrayList>>(); + } + final EnumDescription.Builder> enumDescription_Builder = new EnumDescription.Builder>(this, null, false); + this.enumDescription.add(enumDescription_Builder); + return enumDescription_Builder; + } + + @Override + public ListOfEnumDescription build() { + if (_storedValue == null) { + return this.init(new ListOfEnumDescription()); + } else { + return ((ListOfEnumDescription) _storedValue); + } + } + + public ListOfEnumDescription.Builder<_B> copyOf(final ListOfEnumDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfEnumDescription.Builder<_B> copyOf(final ListOfEnumDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEnumDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEnumDescription.Select _root() { + return new ListOfEnumDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EnumDescription.Selector> enumDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.enumDescription!= null) { + products.put("enumDescription", this.enumDescription.init()); + } + return products; + } + + public EnumDescription.Selector> enumDescription() { + return ((this.enumDescription == null)?this.enumDescription = new EnumDescription.Selector>(this._root, this, "enumDescription"):this.enumDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumField.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumField.java new file mode 100644 index 000000000..e704ced78 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumField.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEnumField complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEnumField">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EnumField" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EnumField" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEnumField", propOrder = { + "enumField" +}) +public class ListOfEnumField { + + @XmlElement(name = "EnumField", nillable = true) + protected List enumField; + + /** + * Gets the value of the enumField property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the enumField property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEnumField().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EnumField } + * + * + */ + public List getEnumField() { + if (enumField == null) { + enumField = new ArrayList(); + } + return this.enumField; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumField.Builder<_B> _other) { + if (this.enumField == null) { + _other.enumField = null; + } else { + _other.enumField = new ArrayList>>(); + for (EnumField _item: this.enumField) { + _other.enumField.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEnumField.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEnumField.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEnumField.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEnumField.Builder builder() { + return new ListOfEnumField.Builder(null, null, false); + } + + public static<_B >ListOfEnumField.Builder<_B> copyOf(final ListOfEnumField _other) { + final ListOfEnumField.Builder<_B> _newBuilder = new ListOfEnumField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumField.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree enumFieldPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumField")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumFieldPropertyTree!= null):((enumFieldPropertyTree == null)||(!enumFieldPropertyTree.isLeaf())))) { + if (this.enumField == null) { + _other.enumField = null; + } else { + _other.enumField = new ArrayList>>(); + for (EnumField _item: this.enumField) { + _other.enumField.add(((_item == null)?null:_item.newCopyBuilder(_other, enumFieldPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEnumField.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEnumField.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEnumField.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEnumField.Builder<_B> copyOf(final ListOfEnumField _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEnumField.Builder<_B> _newBuilder = new ListOfEnumField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEnumField.Builder copyExcept(final ListOfEnumField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEnumField.Builder copyOnly(final ListOfEnumField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEnumField _storedValue; + private List>> enumField; + + public Builder(final _B _parentBuilder, final ListOfEnumField _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.enumField == null) { + this.enumField = null; + } else { + this.enumField = new ArrayList>>(); + for (EnumField _item: _other.enumField) { + this.enumField.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEnumField _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree enumFieldPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumField")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumFieldPropertyTree!= null):((enumFieldPropertyTree == null)||(!enumFieldPropertyTree.isLeaf())))) { + if (_other.enumField == null) { + this.enumField = null; + } else { + this.enumField = new ArrayList>>(); + for (EnumField _item: _other.enumField) { + this.enumField.add(((_item == null)?null:_item.newCopyBuilder(this, enumFieldPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEnumField >_P init(final _P _product) { + if (this.enumField!= null) { + final List enumField = new ArrayList(this.enumField.size()); + for (EnumField.Builder> _item: this.enumField) { + enumField.add(_item.build()); + } + _product.enumField = enumField; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "enumField" hinzu. + * + * @param enumField + * Werte, die zur Eigenschaft "enumField" hinzugefügt werden. + */ + public ListOfEnumField.Builder<_B> addEnumField(final Iterable enumField) { + if (enumField!= null) { + if (this.enumField == null) { + this.enumField = new ArrayList>>(); + } + for (EnumField _item: enumField) { + this.enumField.add(new EnumField.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumField" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enumField + * Neuer Wert der Eigenschaft "enumField". + */ + public ListOfEnumField.Builder<_B> withEnumField(final Iterable enumField) { + if (this.enumField!= null) { + this.enumField.clear(); + } + return addEnumField(enumField); + } + + /** + * Fügt Werte zur Eigenschaft "enumField" hinzu. + * + * @param enumField + * Werte, die zur Eigenschaft "enumField" hinzugefügt werden. + */ + public ListOfEnumField.Builder<_B> addEnumField(EnumField... enumField) { + addEnumField(Arrays.asList(enumField)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumField" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enumField + * Neuer Wert der Eigenschaft "enumField". + */ + public ListOfEnumField.Builder<_B> withEnumField(EnumField... enumField) { + withEnumField(Arrays.asList(enumField)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EnumField". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumField.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EnumField". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumField.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public EnumField.Builder> addEnumField() { + if (this.enumField == null) { + this.enumField = new ArrayList>>(); + } + final EnumField.Builder> enumField_Builder = new EnumField.Builder>(this, null, false); + this.enumField.add(enumField_Builder); + return enumField_Builder; + } + + @Override + public ListOfEnumField build() { + if (_storedValue == null) { + return this.init(new ListOfEnumField()); + } else { + return ((ListOfEnumField) _storedValue); + } + } + + public ListOfEnumField.Builder<_B> copyOf(final ListOfEnumField _other) { + _other.copyTo(this); + return this; + } + + public ListOfEnumField.Builder<_B> copyOf(final ListOfEnumField.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEnumField.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEnumField.Select _root() { + return new ListOfEnumField.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EnumField.Selector> enumField = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.enumField!= null) { + products.put("enumField", this.enumField.init()); + } + return products; + } + + public EnumField.Selector> enumField() { + return ((this.enumField == null)?this.enumField = new EnumField.Selector>(this._root, this, "enumField"):this.enumField); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumValueType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumValueType.java new file mode 100644 index 000000000..41836b16f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEnumValueType.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEnumValueType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEnumValueType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EnumValueType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EnumValueType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEnumValueType", propOrder = { + "enumValueType" +}) +public class ListOfEnumValueType { + + @XmlElement(name = "EnumValueType", nillable = true) + protected List enumValueType; + + /** + * Gets the value of the enumValueType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the enumValueType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEnumValueType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EnumValueType } + * + * + */ + public List getEnumValueType() { + if (enumValueType == null) { + enumValueType = new ArrayList(); + } + return this.enumValueType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumValueType.Builder<_B> _other) { + if (this.enumValueType == null) { + _other.enumValueType = null; + } else { + _other.enumValueType = new ArrayList>>(); + for (EnumValueType _item: this.enumValueType) { + _other.enumValueType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEnumValueType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEnumValueType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEnumValueType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEnumValueType.Builder builder() { + return new ListOfEnumValueType.Builder(null, null, false); + } + + public static<_B >ListOfEnumValueType.Builder<_B> copyOf(final ListOfEnumValueType _other) { + final ListOfEnumValueType.Builder<_B> _newBuilder = new ListOfEnumValueType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEnumValueType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree enumValueTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumValueType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumValueTypePropertyTree!= null):((enumValueTypePropertyTree == null)||(!enumValueTypePropertyTree.isLeaf())))) { + if (this.enumValueType == null) { + _other.enumValueType = null; + } else { + _other.enumValueType = new ArrayList>>(); + for (EnumValueType _item: this.enumValueType) { + _other.enumValueType.add(((_item == null)?null:_item.newCopyBuilder(_other, enumValueTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEnumValueType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEnumValueType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEnumValueType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEnumValueType.Builder<_B> copyOf(final ListOfEnumValueType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEnumValueType.Builder<_B> _newBuilder = new ListOfEnumValueType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEnumValueType.Builder copyExcept(final ListOfEnumValueType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEnumValueType.Builder copyOnly(final ListOfEnumValueType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEnumValueType _storedValue; + private List>> enumValueType; + + public Builder(final _B _parentBuilder, final ListOfEnumValueType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.enumValueType == null) { + this.enumValueType = null; + } else { + this.enumValueType = new ArrayList>>(); + for (EnumValueType _item: _other.enumValueType) { + this.enumValueType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEnumValueType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree enumValueTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enumValueType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enumValueTypePropertyTree!= null):((enumValueTypePropertyTree == null)||(!enumValueTypePropertyTree.isLeaf())))) { + if (_other.enumValueType == null) { + this.enumValueType = null; + } else { + this.enumValueType = new ArrayList>>(); + for (EnumValueType _item: _other.enumValueType) { + this.enumValueType.add(((_item == null)?null:_item.newCopyBuilder(this, enumValueTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEnumValueType >_P init(final _P _product) { + if (this.enumValueType!= null) { + final List enumValueType = new ArrayList(this.enumValueType.size()); + for (EnumValueType.Builder> _item: this.enumValueType) { + enumValueType.add(_item.build()); + } + _product.enumValueType = enumValueType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "enumValueType" hinzu. + * + * @param enumValueType + * Werte, die zur Eigenschaft "enumValueType" hinzugefügt werden. + */ + public ListOfEnumValueType.Builder<_B> addEnumValueType(final Iterable enumValueType) { + if (enumValueType!= null) { + if (this.enumValueType == null) { + this.enumValueType = new ArrayList>>(); + } + for (EnumValueType _item: enumValueType) { + this.enumValueType.add(new EnumValueType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumValueType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumValueType + * Neuer Wert der Eigenschaft "enumValueType". + */ + public ListOfEnumValueType.Builder<_B> withEnumValueType(final Iterable enumValueType) { + if (this.enumValueType!= null) { + this.enumValueType.clear(); + } + return addEnumValueType(enumValueType); + } + + /** + * Fügt Werte zur Eigenschaft "enumValueType" hinzu. + * + * @param enumValueType + * Werte, die zur Eigenschaft "enumValueType" hinzugefügt werden. + */ + public ListOfEnumValueType.Builder<_B> addEnumValueType(EnumValueType... enumValueType) { + addEnumValueType(Arrays.asList(enumValueType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumValueType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumValueType + * Neuer Wert der Eigenschaft "enumValueType". + */ + public ListOfEnumValueType.Builder<_B> withEnumValueType(EnumValueType... enumValueType) { + withEnumValueType(Arrays.asList(enumValueType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EnumValueType". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumValueType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EnumValueType". + * Mit {@link org.opcfoundation.ua._2008._02.types.EnumValueType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public EnumValueType.Builder> addEnumValueType() { + if (this.enumValueType == null) { + this.enumValueType = new ArrayList>>(); + } + final EnumValueType.Builder> enumValueType_Builder = new EnumValueType.Builder>(this, null, false); + this.enumValueType.add(enumValueType_Builder); + return enumValueType_Builder; + } + + @Override + public ListOfEnumValueType build() { + if (_storedValue == null) { + return this.init(new ListOfEnumValueType()); + } else { + return ((ListOfEnumValueType) _storedValue); + } + } + + public ListOfEnumValueType.Builder<_B> copyOf(final ListOfEnumValueType _other) { + _other.copyTo(this); + return this; + } + + public ListOfEnumValueType.Builder<_B> copyOf(final ListOfEnumValueType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEnumValueType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEnumValueType.Select _root() { + return new ListOfEnumValueType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EnumValueType.Selector> enumValueType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.enumValueType!= null) { + products.put("enumValueType", this.enumValueType.init()); + } + return products; + } + + public EnumValueType.Selector> enumValueType() { + return ((this.enumValueType == null)?this.enumValueType = new EnumValueType.Selector>(this._root, this, "enumValueType"):this.enumValueType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEventFieldList.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEventFieldList.java new file mode 100644 index 000000000..b0746f213 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfEventFieldList.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfEventFieldList complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfEventFieldList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="EventFieldList" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EventFieldList" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfEventFieldList", propOrder = { + "eventFieldList" +}) +public class ListOfEventFieldList { + + @XmlElement(name = "EventFieldList", nillable = true) + protected List eventFieldList; + + /** + * Gets the value of the eventFieldList property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the eventFieldList property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getEventFieldList().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EventFieldList } + * + * + */ + public List getEventFieldList() { + if (eventFieldList == null) { + eventFieldList = new ArrayList(); + } + return this.eventFieldList; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEventFieldList.Builder<_B> _other) { + if (this.eventFieldList == null) { + _other.eventFieldList = null; + } else { + _other.eventFieldList = new ArrayList>>(); + for (EventFieldList _item: this.eventFieldList) { + _other.eventFieldList.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfEventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfEventFieldList.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfEventFieldList.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfEventFieldList.Builder builder() { + return new ListOfEventFieldList.Builder(null, null, false); + } + + public static<_B >ListOfEventFieldList.Builder<_B> copyOf(final ListOfEventFieldList _other) { + final ListOfEventFieldList.Builder<_B> _newBuilder = new ListOfEventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfEventFieldList.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree eventFieldListPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventFieldList")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventFieldListPropertyTree!= null):((eventFieldListPropertyTree == null)||(!eventFieldListPropertyTree.isLeaf())))) { + if (this.eventFieldList == null) { + _other.eventFieldList = null; + } else { + _other.eventFieldList = new ArrayList>>(); + for (EventFieldList _item: this.eventFieldList) { + _other.eventFieldList.add(((_item == null)?null:_item.newCopyBuilder(_other, eventFieldListPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfEventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfEventFieldList.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfEventFieldList.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfEventFieldList.Builder<_B> copyOf(final ListOfEventFieldList _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfEventFieldList.Builder<_B> _newBuilder = new ListOfEventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfEventFieldList.Builder copyExcept(final ListOfEventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfEventFieldList.Builder copyOnly(final ListOfEventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfEventFieldList _storedValue; + private List>> eventFieldList; + + public Builder(final _B _parentBuilder, final ListOfEventFieldList _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.eventFieldList == null) { + this.eventFieldList = null; + } else { + this.eventFieldList = new ArrayList>>(); + for (EventFieldList _item: _other.eventFieldList) { + this.eventFieldList.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfEventFieldList _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree eventFieldListPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventFieldList")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventFieldListPropertyTree!= null):((eventFieldListPropertyTree == null)||(!eventFieldListPropertyTree.isLeaf())))) { + if (_other.eventFieldList == null) { + this.eventFieldList = null; + } else { + this.eventFieldList = new ArrayList>>(); + for (EventFieldList _item: _other.eventFieldList) { + this.eventFieldList.add(((_item == null)?null:_item.newCopyBuilder(this, eventFieldListPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfEventFieldList >_P init(final _P _product) { + if (this.eventFieldList!= null) { + final List eventFieldList = new ArrayList(this.eventFieldList.size()); + for (EventFieldList.Builder> _item: this.eventFieldList) { + eventFieldList.add(_item.build()); + } + _product.eventFieldList = eventFieldList; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "eventFieldList" hinzu. + * + * @param eventFieldList + * Werte, die zur Eigenschaft "eventFieldList" hinzugefügt werden. + */ + public ListOfEventFieldList.Builder<_B> addEventFieldList(final Iterable eventFieldList) { + if (eventFieldList!= null) { + if (this.eventFieldList == null) { + this.eventFieldList = new ArrayList>>(); + } + for (EventFieldList _item: eventFieldList) { + this.eventFieldList.add(new EventFieldList.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventFieldList" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventFieldList + * Neuer Wert der Eigenschaft "eventFieldList". + */ + public ListOfEventFieldList.Builder<_B> withEventFieldList(final Iterable eventFieldList) { + if (this.eventFieldList!= null) { + this.eventFieldList.clear(); + } + return addEventFieldList(eventFieldList); + } + + /** + * Fügt Werte zur Eigenschaft "eventFieldList" hinzu. + * + * @param eventFieldList + * Werte, die zur Eigenschaft "eventFieldList" hinzugefügt werden. + */ + public ListOfEventFieldList.Builder<_B> addEventFieldList(EventFieldList... eventFieldList) { + addEventFieldList(Arrays.asList(eventFieldList)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventFieldList" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventFieldList + * Neuer Wert der Eigenschaft "eventFieldList". + */ + public ListOfEventFieldList.Builder<_B> withEventFieldList(EventFieldList... eventFieldList) { + withEventFieldList(Arrays.asList(eventFieldList)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "EventFieldList". + * Mit {@link org.opcfoundation.ua._2008._02.types.EventFieldList.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "EventFieldList". + * Mit {@link org.opcfoundation.ua._2008._02.types.EventFieldList.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public EventFieldList.Builder> addEventFieldList() { + if (this.eventFieldList == null) { + this.eventFieldList = new ArrayList>>(); + } + final EventFieldList.Builder> eventFieldList_Builder = new EventFieldList.Builder>(this, null, false); + this.eventFieldList.add(eventFieldList_Builder); + return eventFieldList_Builder; + } + + @Override + public ListOfEventFieldList build() { + if (_storedValue == null) { + return this.init(new ListOfEventFieldList()); + } else { + return ((ListOfEventFieldList) _storedValue); + } + } + + public ListOfEventFieldList.Builder<_B> copyOf(final ListOfEventFieldList _other) { + _other.copyTo(this); + return this; + } + + public ListOfEventFieldList.Builder<_B> copyOf(final ListOfEventFieldList.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfEventFieldList.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfEventFieldList.Select _root() { + return new ListOfEventFieldList.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private EventFieldList.Selector> eventFieldList = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.eventFieldList!= null) { + products.put("eventFieldList", this.eventFieldList.init()); + } + return products; + } + + public EventFieldList.Selector> eventFieldList() { + return ((this.eventFieldList == null)?this.eventFieldList = new EventFieldList.Selector>(this._root, this, "eventFieldList"):this.eventFieldList); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExpandedNodeId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExpandedNodeId.java new file mode 100644 index 000000000..66747667d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExpandedNodeId.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfExpandedNodeId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfExpandedNodeId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ExpandedNodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfExpandedNodeId", propOrder = { + "expandedNodeId" +}) +public class ListOfExpandedNodeId { + + @XmlElement(name = "ExpandedNodeId", nillable = true) + protected List expandedNodeId; + + /** + * Gets the value of the expandedNodeId property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the expandedNodeId property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getExpandedNodeId().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ExpandedNodeId } + * + * + */ + public List getExpandedNodeId() { + if (expandedNodeId == null) { + expandedNodeId = new ArrayList(); + } + return this.expandedNodeId; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfExpandedNodeId.Builder<_B> _other) { + if (this.expandedNodeId == null) { + _other.expandedNodeId = null; + } else { + _other.expandedNodeId = new ArrayList>>(); + for (ExpandedNodeId _item: this.expandedNodeId) { + _other.expandedNodeId.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfExpandedNodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfExpandedNodeId.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfExpandedNodeId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfExpandedNodeId.Builder builder() { + return new ListOfExpandedNodeId.Builder(null, null, false); + } + + public static<_B >ListOfExpandedNodeId.Builder<_B> copyOf(final ListOfExpandedNodeId _other) { + final ListOfExpandedNodeId.Builder<_B> _newBuilder = new ListOfExpandedNodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfExpandedNodeId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree expandedNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("expandedNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(expandedNodeIdPropertyTree!= null):((expandedNodeIdPropertyTree == null)||(!expandedNodeIdPropertyTree.isLeaf())))) { + if (this.expandedNodeId == null) { + _other.expandedNodeId = null; + } else { + _other.expandedNodeId = new ArrayList>>(); + for (ExpandedNodeId _item: this.expandedNodeId) { + _other.expandedNodeId.add(((_item == null)?null:_item.newCopyBuilder(_other, expandedNodeIdPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfExpandedNodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfExpandedNodeId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfExpandedNodeId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfExpandedNodeId.Builder<_B> copyOf(final ListOfExpandedNodeId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfExpandedNodeId.Builder<_B> _newBuilder = new ListOfExpandedNodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfExpandedNodeId.Builder copyExcept(final ListOfExpandedNodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfExpandedNodeId.Builder copyOnly(final ListOfExpandedNodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfExpandedNodeId _storedValue; + private List>> expandedNodeId; + + public Builder(final _B _parentBuilder, final ListOfExpandedNodeId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.expandedNodeId == null) { + this.expandedNodeId = null; + } else { + this.expandedNodeId = new ArrayList>>(); + for (ExpandedNodeId _item: _other.expandedNodeId) { + this.expandedNodeId.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfExpandedNodeId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree expandedNodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("expandedNodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(expandedNodeIdPropertyTree!= null):((expandedNodeIdPropertyTree == null)||(!expandedNodeIdPropertyTree.isLeaf())))) { + if (_other.expandedNodeId == null) { + this.expandedNodeId = null; + } else { + this.expandedNodeId = new ArrayList>>(); + for (ExpandedNodeId _item: _other.expandedNodeId) { + this.expandedNodeId.add(((_item == null)?null:_item.newCopyBuilder(this, expandedNodeIdPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfExpandedNodeId >_P init(final _P _product) { + if (this.expandedNodeId!= null) { + final List expandedNodeId = new ArrayList(this.expandedNodeId.size()); + for (ExpandedNodeId.Builder> _item: this.expandedNodeId) { + expandedNodeId.add(_item.build()); + } + _product.expandedNodeId = expandedNodeId; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "expandedNodeId" hinzu. + * + * @param expandedNodeId + * Werte, die zur Eigenschaft "expandedNodeId" hinzugefügt werden. + */ + public ListOfExpandedNodeId.Builder<_B> addExpandedNodeId(final Iterable expandedNodeId) { + if (expandedNodeId!= null) { + if (this.expandedNodeId == null) { + this.expandedNodeId = new ArrayList>>(); + } + for (ExpandedNodeId _item: expandedNodeId) { + this.expandedNodeId.add(new ExpandedNodeId.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "expandedNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param expandedNodeId + * Neuer Wert der Eigenschaft "expandedNodeId". + */ + public ListOfExpandedNodeId.Builder<_B> withExpandedNodeId(final Iterable expandedNodeId) { + if (this.expandedNodeId!= null) { + this.expandedNodeId.clear(); + } + return addExpandedNodeId(expandedNodeId); + } + + /** + * Fügt Werte zur Eigenschaft "expandedNodeId" hinzu. + * + * @param expandedNodeId + * Werte, die zur Eigenschaft "expandedNodeId" hinzugefügt werden. + */ + public ListOfExpandedNodeId.Builder<_B> addExpandedNodeId(ExpandedNodeId... expandedNodeId) { + addExpandedNodeId(Arrays.asList(expandedNodeId)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "expandedNodeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param expandedNodeId + * Neuer Wert der Eigenschaft "expandedNodeId". + */ + public ListOfExpandedNodeId.Builder<_B> withExpandedNodeId(ExpandedNodeId... expandedNodeId) { + withExpandedNodeId(Arrays.asList(expandedNodeId)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ExpandedNodeId". + * Mit {@link org.opcfoundation.ua._2008._02.types.ExpandedNodeId.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ExpandedNodeId". + * Mit {@link org.opcfoundation.ua._2008._02.types.ExpandedNodeId.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ExpandedNodeId.Builder> addExpandedNodeId() { + if (this.expandedNodeId == null) { + this.expandedNodeId = new ArrayList>>(); + } + final ExpandedNodeId.Builder> expandedNodeId_Builder = new ExpandedNodeId.Builder>(this, null, false); + this.expandedNodeId.add(expandedNodeId_Builder); + return expandedNodeId_Builder; + } + + @Override + public ListOfExpandedNodeId build() { + if (_storedValue == null) { + return this.init(new ListOfExpandedNodeId()); + } else { + return ((ListOfExpandedNodeId) _storedValue); + } + } + + public ListOfExpandedNodeId.Builder<_B> copyOf(final ListOfExpandedNodeId _other) { + _other.copyTo(this); + return this; + } + + public ListOfExpandedNodeId.Builder<_B> copyOf(final ListOfExpandedNodeId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfExpandedNodeId.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfExpandedNodeId.Select _root() { + return new ListOfExpandedNodeId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ExpandedNodeId.Selector> expandedNodeId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.expandedNodeId!= null) { + products.put("expandedNodeId", this.expandedNodeId.init()); + } + return products; + } + + public ExpandedNodeId.Selector> expandedNodeId() { + return ((this.expandedNodeId == null)?this.expandedNodeId = new ExpandedNodeId.Selector>(this._root, this, "expandedNodeId"):this.expandedNodeId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExtensionObject.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExtensionObject.java new file mode 100644 index 000000000..23428bbaf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfExtensionObject.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfExtensionObject complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfExtensionObject">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ExtensionObject" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfExtensionObject", propOrder = { + "extensionObject" +}) +public class ListOfExtensionObject { + + @XmlElement(name = "ExtensionObject", nillable = true) + protected List extensionObject; + + /** + * Gets the value of the extensionObject property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the extensionObject property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getExtensionObject().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ExtensionObject } + * + * + */ + public List getExtensionObject() { + if (extensionObject == null) { + extensionObject = new ArrayList(); + } + return this.extensionObject; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfExtensionObject.Builder<_B> _other) { + if (this.extensionObject == null) { + _other.extensionObject = null; + } else { + _other.extensionObject = new ArrayList>>(); + for (ExtensionObject _item: this.extensionObject) { + _other.extensionObject.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfExtensionObject.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfExtensionObject.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfExtensionObject.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfExtensionObject.Builder builder() { + return new ListOfExtensionObject.Builder(null, null, false); + } + + public static<_B >ListOfExtensionObject.Builder<_B> copyOf(final ListOfExtensionObject _other) { + final ListOfExtensionObject.Builder<_B> _newBuilder = new ListOfExtensionObject.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfExtensionObject.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree extensionObjectPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("extensionObject")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(extensionObjectPropertyTree!= null):((extensionObjectPropertyTree == null)||(!extensionObjectPropertyTree.isLeaf())))) { + if (this.extensionObject == null) { + _other.extensionObject = null; + } else { + _other.extensionObject = new ArrayList>>(); + for (ExtensionObject _item: this.extensionObject) { + _other.extensionObject.add(((_item == null)?null:_item.newCopyBuilder(_other, extensionObjectPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfExtensionObject.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfExtensionObject.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfExtensionObject.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfExtensionObject.Builder<_B> copyOf(final ListOfExtensionObject _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfExtensionObject.Builder<_B> _newBuilder = new ListOfExtensionObject.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfExtensionObject.Builder copyExcept(final ListOfExtensionObject _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfExtensionObject.Builder copyOnly(final ListOfExtensionObject _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfExtensionObject _storedValue; + private List>> extensionObject; + + public Builder(final _B _parentBuilder, final ListOfExtensionObject _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.extensionObject == null) { + this.extensionObject = null; + } else { + this.extensionObject = new ArrayList>>(); + for (ExtensionObject _item: _other.extensionObject) { + this.extensionObject.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfExtensionObject _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree extensionObjectPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("extensionObject")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(extensionObjectPropertyTree!= null):((extensionObjectPropertyTree == null)||(!extensionObjectPropertyTree.isLeaf())))) { + if (_other.extensionObject == null) { + this.extensionObject = null; + } else { + this.extensionObject = new ArrayList>>(); + for (ExtensionObject _item: _other.extensionObject) { + this.extensionObject.add(((_item == null)?null:_item.newCopyBuilder(this, extensionObjectPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfExtensionObject >_P init(final _P _product) { + if (this.extensionObject!= null) { + final List extensionObject = new ArrayList(this.extensionObject.size()); + for (ExtensionObject.Builder> _item: this.extensionObject) { + extensionObject.add(_item.build()); + } + _product.extensionObject = extensionObject; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "extensionObject" hinzu. + * + * @param extensionObject + * Werte, die zur Eigenschaft "extensionObject" hinzugefügt werden. + */ + public ListOfExtensionObject.Builder<_B> addExtensionObject(final Iterable extensionObject) { + if (extensionObject!= null) { + if (this.extensionObject == null) { + this.extensionObject = new ArrayList>>(); + } + for (ExtensionObject _item: extensionObject) { + this.extensionObject.add(new ExtensionObject.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "extensionObject" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param extensionObject + * Neuer Wert der Eigenschaft "extensionObject". + */ + public ListOfExtensionObject.Builder<_B> withExtensionObject(final Iterable extensionObject) { + if (this.extensionObject!= null) { + this.extensionObject.clear(); + } + return addExtensionObject(extensionObject); + } + + /** + * Fügt Werte zur Eigenschaft "extensionObject" hinzu. + * + * @param extensionObject + * Werte, die zur Eigenschaft "extensionObject" hinzugefügt werden. + */ + public ListOfExtensionObject.Builder<_B> addExtensionObject(ExtensionObject... extensionObject) { + addExtensionObject(Arrays.asList(extensionObject)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "extensionObject" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param extensionObject + * Neuer Wert der Eigenschaft "extensionObject". + */ + public ListOfExtensionObject.Builder<_B> withExtensionObject(ExtensionObject... extensionObject) { + withExtensionObject(Arrays.asList(extensionObject)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ExtensionObject". + * Mit {@link org.opcfoundation.ua._2008._02.types.ExtensionObject.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ExtensionObject". + * Mit {@link org.opcfoundation.ua._2008._02.types.ExtensionObject.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ExtensionObject.Builder> addExtensionObject() { + if (this.extensionObject == null) { + this.extensionObject = new ArrayList>>(); + } + final ExtensionObject.Builder> extensionObject_Builder = new ExtensionObject.Builder>(this, null, false); + this.extensionObject.add(extensionObject_Builder); + return extensionObject_Builder; + } + + @Override + public ListOfExtensionObject build() { + if (_storedValue == null) { + return this.init(new ListOfExtensionObject()); + } else { + return ((ListOfExtensionObject) _storedValue); + } + } + + public ListOfExtensionObject.Builder<_B> copyOf(final ListOfExtensionObject _other) { + _other.copyTo(this); + return this; + } + + public ListOfExtensionObject.Builder<_B> copyOf(final ListOfExtensionObject.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfExtensionObject.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfExtensionObject.Select _root() { + return new ListOfExtensionObject.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ExtensionObject.Selector> extensionObject = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.extensionObject!= null) { + products.put("extensionObject", this.extensionObject.init()); + } + return products; + } + + public ExtensionObject.Selector> extensionObject() { + return ((this.extensionObject == null)?this.extensionObject = new ExtensionObject.Selector>(this._root, this, "extensionObject"):this.extensionObject); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldMetaData.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldMetaData.java new file mode 100644 index 000000000..5fcf489b2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldMetaData.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfFieldMetaData complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfFieldMetaData">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="FieldMetaData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}FieldMetaData" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfFieldMetaData", propOrder = { + "fieldMetaData" +}) +public class ListOfFieldMetaData { + + @XmlElement(name = "FieldMetaData", nillable = true) + protected List fieldMetaData; + + /** + * Gets the value of the fieldMetaData property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the fieldMetaData property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getFieldMetaData().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link FieldMetaData } + * + * + */ + public List getFieldMetaData() { + if (fieldMetaData == null) { + fieldMetaData = new ArrayList(); + } + return this.fieldMetaData; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFieldMetaData.Builder<_B> _other) { + if (this.fieldMetaData == null) { + _other.fieldMetaData = null; + } else { + _other.fieldMetaData = new ArrayList>>(); + for (FieldMetaData _item: this.fieldMetaData) { + _other.fieldMetaData.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfFieldMetaData.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfFieldMetaData.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfFieldMetaData.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfFieldMetaData.Builder builder() { + return new ListOfFieldMetaData.Builder(null, null, false); + } + + public static<_B >ListOfFieldMetaData.Builder<_B> copyOf(final ListOfFieldMetaData _other) { + final ListOfFieldMetaData.Builder<_B> _newBuilder = new ListOfFieldMetaData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFieldMetaData.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree fieldMetaDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fieldMetaData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldMetaDataPropertyTree!= null):((fieldMetaDataPropertyTree == null)||(!fieldMetaDataPropertyTree.isLeaf())))) { + if (this.fieldMetaData == null) { + _other.fieldMetaData = null; + } else { + _other.fieldMetaData = new ArrayList>>(); + for (FieldMetaData _item: this.fieldMetaData) { + _other.fieldMetaData.add(((_item == null)?null:_item.newCopyBuilder(_other, fieldMetaDataPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfFieldMetaData.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfFieldMetaData.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfFieldMetaData.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfFieldMetaData.Builder<_B> copyOf(final ListOfFieldMetaData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfFieldMetaData.Builder<_B> _newBuilder = new ListOfFieldMetaData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfFieldMetaData.Builder copyExcept(final ListOfFieldMetaData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfFieldMetaData.Builder copyOnly(final ListOfFieldMetaData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfFieldMetaData _storedValue; + private List>> fieldMetaData; + + public Builder(final _B _parentBuilder, final ListOfFieldMetaData _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.fieldMetaData == null) { + this.fieldMetaData = null; + } else { + this.fieldMetaData = new ArrayList>>(); + for (FieldMetaData _item: _other.fieldMetaData) { + this.fieldMetaData.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfFieldMetaData _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree fieldMetaDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fieldMetaData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldMetaDataPropertyTree!= null):((fieldMetaDataPropertyTree == null)||(!fieldMetaDataPropertyTree.isLeaf())))) { + if (_other.fieldMetaData == null) { + this.fieldMetaData = null; + } else { + this.fieldMetaData = new ArrayList>>(); + for (FieldMetaData _item: _other.fieldMetaData) { + this.fieldMetaData.add(((_item == null)?null:_item.newCopyBuilder(this, fieldMetaDataPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfFieldMetaData >_P init(final _P _product) { + if (this.fieldMetaData!= null) { + final List fieldMetaData = new ArrayList(this.fieldMetaData.size()); + for (FieldMetaData.Builder> _item: this.fieldMetaData) { + fieldMetaData.add(_item.build()); + } + _product.fieldMetaData = fieldMetaData; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "fieldMetaData" hinzu. + * + * @param fieldMetaData + * Werte, die zur Eigenschaft "fieldMetaData" hinzugefügt werden. + */ + public ListOfFieldMetaData.Builder<_B> addFieldMetaData(final Iterable fieldMetaData) { + if (fieldMetaData!= null) { + if (this.fieldMetaData == null) { + this.fieldMetaData = new ArrayList>>(); + } + for (FieldMetaData _item: fieldMetaData) { + this.fieldMetaData.add(new FieldMetaData.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fieldMetaData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param fieldMetaData + * Neuer Wert der Eigenschaft "fieldMetaData". + */ + public ListOfFieldMetaData.Builder<_B> withFieldMetaData(final Iterable fieldMetaData) { + if (this.fieldMetaData!= null) { + this.fieldMetaData.clear(); + } + return addFieldMetaData(fieldMetaData); + } + + /** + * Fügt Werte zur Eigenschaft "fieldMetaData" hinzu. + * + * @param fieldMetaData + * Werte, die zur Eigenschaft "fieldMetaData" hinzugefügt werden. + */ + public ListOfFieldMetaData.Builder<_B> addFieldMetaData(FieldMetaData... fieldMetaData) { + addFieldMetaData(Arrays.asList(fieldMetaData)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fieldMetaData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param fieldMetaData + * Neuer Wert der Eigenschaft "fieldMetaData". + */ + public ListOfFieldMetaData.Builder<_B> withFieldMetaData(FieldMetaData... fieldMetaData) { + withFieldMetaData(Arrays.asList(fieldMetaData)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "FieldMetaData". + * Mit {@link org.opcfoundation.ua._2008._02.types.FieldMetaData.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "FieldMetaData". + * Mit {@link org.opcfoundation.ua._2008._02.types.FieldMetaData.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public FieldMetaData.Builder> addFieldMetaData() { + if (this.fieldMetaData == null) { + this.fieldMetaData = new ArrayList>>(); + } + final FieldMetaData.Builder> fieldMetaData_Builder = new FieldMetaData.Builder>(this, null, false); + this.fieldMetaData.add(fieldMetaData_Builder); + return fieldMetaData_Builder; + } + + @Override + public ListOfFieldMetaData build() { + if (_storedValue == null) { + return this.init(new ListOfFieldMetaData()); + } else { + return ((ListOfFieldMetaData) _storedValue); + } + } + + public ListOfFieldMetaData.Builder<_B> copyOf(final ListOfFieldMetaData _other) { + _other.copyTo(this); + return this; + } + + public ListOfFieldMetaData.Builder<_B> copyOf(final ListOfFieldMetaData.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfFieldMetaData.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfFieldMetaData.Select _root() { + return new ListOfFieldMetaData.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private FieldMetaData.Selector> fieldMetaData = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.fieldMetaData!= null) { + products.put("fieldMetaData", this.fieldMetaData.init()); + } + return products; + } + + public FieldMetaData.Selector> fieldMetaData() { + return ((this.fieldMetaData == null)?this.fieldMetaData = new FieldMetaData.Selector>(this._root, this, "fieldMetaData"):this.fieldMetaData); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldTargetDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldTargetDataType.java new file mode 100644 index 000000000..fe5a49734 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFieldTargetDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfFieldTargetDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfFieldTargetDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="FieldTargetDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}FieldTargetDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfFieldTargetDataType", propOrder = { + "fieldTargetDataType" +}) +public class ListOfFieldTargetDataType { + + @XmlElement(name = "FieldTargetDataType", nillable = true) + protected List fieldTargetDataType; + + /** + * Gets the value of the fieldTargetDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the fieldTargetDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getFieldTargetDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link FieldTargetDataType } + * + * + */ + public List getFieldTargetDataType() { + if (fieldTargetDataType == null) { + fieldTargetDataType = new ArrayList(); + } + return this.fieldTargetDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFieldTargetDataType.Builder<_B> _other) { + if (this.fieldTargetDataType == null) { + _other.fieldTargetDataType = null; + } else { + _other.fieldTargetDataType = new ArrayList>>(); + for (FieldTargetDataType _item: this.fieldTargetDataType) { + _other.fieldTargetDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfFieldTargetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfFieldTargetDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfFieldTargetDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfFieldTargetDataType.Builder builder() { + return new ListOfFieldTargetDataType.Builder(null, null, false); + } + + public static<_B >ListOfFieldTargetDataType.Builder<_B> copyOf(final ListOfFieldTargetDataType _other) { + final ListOfFieldTargetDataType.Builder<_B> _newBuilder = new ListOfFieldTargetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFieldTargetDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree fieldTargetDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fieldTargetDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldTargetDataTypePropertyTree!= null):((fieldTargetDataTypePropertyTree == null)||(!fieldTargetDataTypePropertyTree.isLeaf())))) { + if (this.fieldTargetDataType == null) { + _other.fieldTargetDataType = null; + } else { + _other.fieldTargetDataType = new ArrayList>>(); + for (FieldTargetDataType _item: this.fieldTargetDataType) { + _other.fieldTargetDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, fieldTargetDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfFieldTargetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfFieldTargetDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfFieldTargetDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfFieldTargetDataType.Builder<_B> copyOf(final ListOfFieldTargetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfFieldTargetDataType.Builder<_B> _newBuilder = new ListOfFieldTargetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfFieldTargetDataType.Builder copyExcept(final ListOfFieldTargetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfFieldTargetDataType.Builder copyOnly(final ListOfFieldTargetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfFieldTargetDataType _storedValue; + private List>> fieldTargetDataType; + + public Builder(final _B _parentBuilder, final ListOfFieldTargetDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.fieldTargetDataType == null) { + this.fieldTargetDataType = null; + } else { + this.fieldTargetDataType = new ArrayList>>(); + for (FieldTargetDataType _item: _other.fieldTargetDataType) { + this.fieldTargetDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfFieldTargetDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree fieldTargetDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fieldTargetDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldTargetDataTypePropertyTree!= null):((fieldTargetDataTypePropertyTree == null)||(!fieldTargetDataTypePropertyTree.isLeaf())))) { + if (_other.fieldTargetDataType == null) { + this.fieldTargetDataType = null; + } else { + this.fieldTargetDataType = new ArrayList>>(); + for (FieldTargetDataType _item: _other.fieldTargetDataType) { + this.fieldTargetDataType.add(((_item == null)?null:_item.newCopyBuilder(this, fieldTargetDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfFieldTargetDataType >_P init(final _P _product) { + if (this.fieldTargetDataType!= null) { + final List fieldTargetDataType = new ArrayList(this.fieldTargetDataType.size()); + for (FieldTargetDataType.Builder> _item: this.fieldTargetDataType) { + fieldTargetDataType.add(_item.build()); + } + _product.fieldTargetDataType = fieldTargetDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "fieldTargetDataType" hinzu. + * + * @param fieldTargetDataType + * Werte, die zur Eigenschaft "fieldTargetDataType" hinzugefügt werden. + */ + public ListOfFieldTargetDataType.Builder<_B> addFieldTargetDataType(final Iterable fieldTargetDataType) { + if (fieldTargetDataType!= null) { + if (this.fieldTargetDataType == null) { + this.fieldTargetDataType = new ArrayList>>(); + } + for (FieldTargetDataType _item: fieldTargetDataType) { + this.fieldTargetDataType.add(new FieldTargetDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fieldTargetDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param fieldTargetDataType + * Neuer Wert der Eigenschaft "fieldTargetDataType". + */ + public ListOfFieldTargetDataType.Builder<_B> withFieldTargetDataType(final Iterable fieldTargetDataType) { + if (this.fieldTargetDataType!= null) { + this.fieldTargetDataType.clear(); + } + return addFieldTargetDataType(fieldTargetDataType); + } + + /** + * Fügt Werte zur Eigenschaft "fieldTargetDataType" hinzu. + * + * @param fieldTargetDataType + * Werte, die zur Eigenschaft "fieldTargetDataType" hinzugefügt werden. + */ + public ListOfFieldTargetDataType.Builder<_B> addFieldTargetDataType(FieldTargetDataType... fieldTargetDataType) { + addFieldTargetDataType(Arrays.asList(fieldTargetDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fieldTargetDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param fieldTargetDataType + * Neuer Wert der Eigenschaft "fieldTargetDataType". + */ + public ListOfFieldTargetDataType.Builder<_B> withFieldTargetDataType(FieldTargetDataType... fieldTargetDataType) { + withFieldTargetDataType(Arrays.asList(fieldTargetDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "FieldTargetDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.FieldTargetDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "FieldTargetDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.FieldTargetDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public FieldTargetDataType.Builder> addFieldTargetDataType() { + if (this.fieldTargetDataType == null) { + this.fieldTargetDataType = new ArrayList>>(); + } + final FieldTargetDataType.Builder> fieldTargetDataType_Builder = new FieldTargetDataType.Builder>(this, null, false); + this.fieldTargetDataType.add(fieldTargetDataType_Builder); + return fieldTargetDataType_Builder; + } + + @Override + public ListOfFieldTargetDataType build() { + if (_storedValue == null) { + return this.init(new ListOfFieldTargetDataType()); + } else { + return ((ListOfFieldTargetDataType) _storedValue); + } + } + + public ListOfFieldTargetDataType.Builder<_B> copyOf(final ListOfFieldTargetDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfFieldTargetDataType.Builder<_B> copyOf(final ListOfFieldTargetDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfFieldTargetDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfFieldTargetDataType.Select _root() { + return new ListOfFieldTargetDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private FieldTargetDataType.Selector> fieldTargetDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.fieldTargetDataType!= null) { + products.put("fieldTargetDataType", this.fieldTargetDataType.init()); + } + return products; + } + + public FieldTargetDataType.Selector> fieldTargetDataType() { + return ((this.fieldTargetDataType == null)?this.fieldTargetDataType = new FieldTargetDataType.Selector>(this._root, this, "fieldTargetDataType"):this.fieldTargetDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFloat.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFloat.java new file mode 100644 index 000000000..4a8a23708 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFloat.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfFloat complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfFloat">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Float" type="{http://www.w3.org/2001/XMLSchema}float" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfFloat", propOrder = { + "_float" +}) +public class ListOfFloat { + + @XmlElement(name = "Float", type = Float.class) + protected List _float; + + /** + * Gets the value of the float property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the float property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getFloat().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Float } + * + * + */ + public List getFloat() { + if (_float == null) { + _float = new ArrayList(); + } + return this._float; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFloat.Builder<_B> _other) { + if (this._float == null) { + _other._float = null; + } else { + _other._float = new ArrayList(); + for (Float _item: this._float) { + _other._float.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfFloat.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfFloat.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfFloat.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfFloat.Builder builder() { + return new ListOfFloat.Builder(null, null, false); + } + + public static<_B >ListOfFloat.Builder<_B> copyOf(final ListOfFloat _other) { + final ListOfFloat.Builder<_B> _newBuilder = new ListOfFloat.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFloat.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree _floatPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_float")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_floatPropertyTree!= null):((_floatPropertyTree == null)||(!_floatPropertyTree.isLeaf())))) { + if (this._float == null) { + _other._float = null; + } else { + _other._float = new ArrayList(); + for (Float _item: this._float) { + _other._float.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfFloat.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfFloat.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfFloat.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfFloat.Builder<_B> copyOf(final ListOfFloat _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfFloat.Builder<_B> _newBuilder = new ListOfFloat.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfFloat.Builder copyExcept(final ListOfFloat _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfFloat.Builder copyOnly(final ListOfFloat _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfFloat _storedValue; + private List _float; + + public Builder(final _B _parentBuilder, final ListOfFloat _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other._float == null) { + this._float = null; + } else { + this._float = new ArrayList(); + for (Float _item: _other._float) { + this._float.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfFloat _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree _floatPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("_float")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(_floatPropertyTree!= null):((_floatPropertyTree == null)||(!_floatPropertyTree.isLeaf())))) { + if (_other._float == null) { + this._float = null; + } else { + this._float = new ArrayList(); + for (Float _item: _other._float) { + this._float.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfFloat >_P init(final _P _product) { + if (this._float!= null) { + final List _float = new ArrayList(this._float.size()); + for (Buildable _item: this._float) { + _float.add(((Float) _item.build())); + } + _product._float = _float; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "_float" hinzu. + * + * @param _float + * Werte, die zur Eigenschaft "_float" hinzugefügt werden. + */ + public ListOfFloat.Builder<_B> addFloat(final Iterable _float) { + if (_float!= null) { + if (this._float == null) { + this._float = new ArrayList(); + } + for (Float _item: _float) { + this._float.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_float" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _float + * Neuer Wert der Eigenschaft "_float". + */ + public ListOfFloat.Builder<_B> withFloat(final Iterable _float) { + if (this._float!= null) { + this._float.clear(); + } + return addFloat(_float); + } + + /** + * Fügt Werte zur Eigenschaft "_float" hinzu. + * + * @param _float + * Werte, die zur Eigenschaft "_float" hinzugefügt werden. + */ + public ListOfFloat.Builder<_B> addFloat(Float... _float) { + addFloat(Arrays.asList(_float)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "_float" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param _float + * Neuer Wert der Eigenschaft "_float". + */ + public ListOfFloat.Builder<_B> withFloat(Float... _float) { + withFloat(Arrays.asList(_float)); + return this; + } + + @Override + public ListOfFloat build() { + if (_storedValue == null) { + return this.init(new ListOfFloat()); + } else { + return ((ListOfFloat) _storedValue); + } + } + + public ListOfFloat.Builder<_B> copyOf(final ListOfFloat _other) { + _other.copyTo(this); + return this; + } + + public ListOfFloat.Builder<_B> copyOf(final ListOfFloat.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfFloat.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfFloat.Select _root() { + return new ListOfFloat.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> _float = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this._float!= null) { + products.put("_float", this._float.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> _float() { + return ((this._float == null)?this._float = new com.kscs.util.jaxb.Selector>(this._root, this, "_float"):this._float); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFrame.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFrame.java new file mode 100644 index 000000000..1d8a1a998 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfFrame.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfFrame complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfFrame">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Frame" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Frame" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfFrame", propOrder = { + "frame" +}) +public class ListOfFrame { + + @XmlElement(name = "Frame", nillable = true) + protected List frame; + + /** + * Gets the value of the frame property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the frame property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getFrame().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Frame } + * + * + */ + public List getFrame() { + if (frame == null) { + frame = new ArrayList(); + } + return this.frame; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFrame.Builder<_B> _other) { + if (this.frame == null) { + _other.frame = null; + } else { + _other.frame = new ArrayList>>(); + for (Frame _item: this.frame) { + _other.frame.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfFrame.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfFrame.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfFrame.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfFrame.Builder builder() { + return new ListOfFrame.Builder(null, null, false); + } + + public static<_B >ListOfFrame.Builder<_B> copyOf(final ListOfFrame _other) { + final ListOfFrame.Builder<_B> _newBuilder = new ListOfFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfFrame.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree framePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("frame")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(framePropertyTree!= null):((framePropertyTree == null)||(!framePropertyTree.isLeaf())))) { + if (this.frame == null) { + _other.frame = null; + } else { + _other.frame = new ArrayList>>(); + for (Frame _item: this.frame) { + _other.frame.add(((_item == null)?null:_item.newCopyBuilder(_other, framePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfFrame.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfFrame.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfFrame.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfFrame.Builder<_B> copyOf(final ListOfFrame _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfFrame.Builder<_B> _newBuilder = new ListOfFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfFrame.Builder copyExcept(final ListOfFrame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfFrame.Builder copyOnly(final ListOfFrame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfFrame _storedValue; + private List>> frame; + + public Builder(final _B _parentBuilder, final ListOfFrame _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.frame == null) { + this.frame = null; + } else { + this.frame = new ArrayList>>(); + for (Frame _item: _other.frame) { + this.frame.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfFrame _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree framePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("frame")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(framePropertyTree!= null):((framePropertyTree == null)||(!framePropertyTree.isLeaf())))) { + if (_other.frame == null) { + this.frame = null; + } else { + this.frame = new ArrayList>>(); + for (Frame _item: _other.frame) { + this.frame.add(((_item == null)?null:_item.newCopyBuilder(this, framePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfFrame >_P init(final _P _product) { + if (this.frame!= null) { + final List frame = new ArrayList(this.frame.size()); + for (Frame.Builder> _item: this.frame) { + frame.add(_item.build()); + } + _product.frame = frame; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "frame" hinzu. + * + * @param frame + * Werte, die zur Eigenschaft "frame" hinzugefügt werden. + */ + public ListOfFrame.Builder<_B> addFrame(final Iterable frame) { + if (frame!= null) { + if (this.frame == null) { + this.frame = new ArrayList>>(); + } + for (Frame _item: frame) { + this.frame.add(new Frame.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "frame" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param frame + * Neuer Wert der Eigenschaft "frame". + */ + public ListOfFrame.Builder<_B> withFrame(final Iterable frame) { + if (this.frame!= null) { + this.frame.clear(); + } + return addFrame(frame); + } + + /** + * Fügt Werte zur Eigenschaft "frame" hinzu. + * + * @param frame + * Werte, die zur Eigenschaft "frame" hinzugefügt werden. + */ + public ListOfFrame.Builder<_B> addFrame(Frame... frame) { + addFrame(Arrays.asList(frame)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "frame" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param frame + * Neuer Wert der Eigenschaft "frame". + */ + public ListOfFrame.Builder<_B> withFrame(Frame... frame) { + withFrame(Arrays.asList(frame)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Frame". + * Mit {@link org.opcfoundation.ua._2008._02.types.Frame.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Frame". + * Mit {@link org.opcfoundation.ua._2008._02.types.Frame.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Frame.Builder> addFrame() { + if (this.frame == null) { + this.frame = new ArrayList>>(); + } + final Frame.Builder> frame_Builder = new Frame.Builder>(this, null, false); + this.frame.add(frame_Builder); + return frame_Builder; + } + + @Override + public ListOfFrame build() { + if (_storedValue == null) { + return this.init(new ListOfFrame()); + } else { + return ((ListOfFrame) _storedValue); + } + } + + public ListOfFrame.Builder<_B> copyOf(final ListOfFrame _other) { + _other.copyTo(this); + return this; + } + + public ListOfFrame.Builder<_B> copyOf(final ListOfFrame.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfFrame.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfFrame.Select _root() { + return new ListOfFrame.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Frame.Selector> frame = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.frame!= null) { + products.put("frame", this.frame.init()); + } + return products; + } + + public Frame.Selector> frame() { + return ((this.frame == null)?this.frame = new Frame.Selector>(this._root, this, "frame"):this.frame); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGenericAttributeValue.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGenericAttributeValue.java new file mode 100644 index 000000000..bb38ba0f8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGenericAttributeValue.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfGenericAttributeValue complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfGenericAttributeValue">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="GenericAttributeValue" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}GenericAttributeValue" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfGenericAttributeValue", propOrder = { + "genericAttributeValue" +}) +public class ListOfGenericAttributeValue { + + @XmlElement(name = "GenericAttributeValue", nillable = true) + protected List genericAttributeValue; + + /** + * Gets the value of the genericAttributeValue property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the genericAttributeValue property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGenericAttributeValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link GenericAttributeValue } + * + * + */ + public List getGenericAttributeValue() { + if (genericAttributeValue == null) { + genericAttributeValue = new ArrayList(); + } + return this.genericAttributeValue; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfGenericAttributeValue.Builder<_B> _other) { + if (this.genericAttributeValue == null) { + _other.genericAttributeValue = null; + } else { + _other.genericAttributeValue = new ArrayList>>(); + for (GenericAttributeValue _item: this.genericAttributeValue) { + _other.genericAttributeValue.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfGenericAttributeValue.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfGenericAttributeValue.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfGenericAttributeValue.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfGenericAttributeValue.Builder builder() { + return new ListOfGenericAttributeValue.Builder(null, null, false); + } + + public static<_B >ListOfGenericAttributeValue.Builder<_B> copyOf(final ListOfGenericAttributeValue _other) { + final ListOfGenericAttributeValue.Builder<_B> _newBuilder = new ListOfGenericAttributeValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfGenericAttributeValue.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree genericAttributeValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("genericAttributeValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(genericAttributeValuePropertyTree!= null):((genericAttributeValuePropertyTree == null)||(!genericAttributeValuePropertyTree.isLeaf())))) { + if (this.genericAttributeValue == null) { + _other.genericAttributeValue = null; + } else { + _other.genericAttributeValue = new ArrayList>>(); + for (GenericAttributeValue _item: this.genericAttributeValue) { + _other.genericAttributeValue.add(((_item == null)?null:_item.newCopyBuilder(_other, genericAttributeValuePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfGenericAttributeValue.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfGenericAttributeValue.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfGenericAttributeValue.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfGenericAttributeValue.Builder<_B> copyOf(final ListOfGenericAttributeValue _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfGenericAttributeValue.Builder<_B> _newBuilder = new ListOfGenericAttributeValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfGenericAttributeValue.Builder copyExcept(final ListOfGenericAttributeValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfGenericAttributeValue.Builder copyOnly(final ListOfGenericAttributeValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfGenericAttributeValue _storedValue; + private List>> genericAttributeValue; + + public Builder(final _B _parentBuilder, final ListOfGenericAttributeValue _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.genericAttributeValue == null) { + this.genericAttributeValue = null; + } else { + this.genericAttributeValue = new ArrayList>>(); + for (GenericAttributeValue _item: _other.genericAttributeValue) { + this.genericAttributeValue.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfGenericAttributeValue _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree genericAttributeValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("genericAttributeValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(genericAttributeValuePropertyTree!= null):((genericAttributeValuePropertyTree == null)||(!genericAttributeValuePropertyTree.isLeaf())))) { + if (_other.genericAttributeValue == null) { + this.genericAttributeValue = null; + } else { + this.genericAttributeValue = new ArrayList>>(); + for (GenericAttributeValue _item: _other.genericAttributeValue) { + this.genericAttributeValue.add(((_item == null)?null:_item.newCopyBuilder(this, genericAttributeValuePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfGenericAttributeValue >_P init(final _P _product) { + if (this.genericAttributeValue!= null) { + final List genericAttributeValue = new ArrayList(this.genericAttributeValue.size()); + for (GenericAttributeValue.Builder> _item: this.genericAttributeValue) { + genericAttributeValue.add(_item.build()); + } + _product.genericAttributeValue = genericAttributeValue; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "genericAttributeValue" hinzu. + * + * @param genericAttributeValue + * Werte, die zur Eigenschaft "genericAttributeValue" hinzugefügt werden. + */ + public ListOfGenericAttributeValue.Builder<_B> addGenericAttributeValue(final Iterable genericAttributeValue) { + if (genericAttributeValue!= null) { + if (this.genericAttributeValue == null) { + this.genericAttributeValue = new ArrayList>>(); + } + for (GenericAttributeValue _item: genericAttributeValue) { + this.genericAttributeValue.add(new GenericAttributeValue.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "genericAttributeValue" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param genericAttributeValue + * Neuer Wert der Eigenschaft "genericAttributeValue". + */ + public ListOfGenericAttributeValue.Builder<_B> withGenericAttributeValue(final Iterable genericAttributeValue) { + if (this.genericAttributeValue!= null) { + this.genericAttributeValue.clear(); + } + return addGenericAttributeValue(genericAttributeValue); + } + + /** + * Fügt Werte zur Eigenschaft "genericAttributeValue" hinzu. + * + * @param genericAttributeValue + * Werte, die zur Eigenschaft "genericAttributeValue" hinzugefügt werden. + */ + public ListOfGenericAttributeValue.Builder<_B> addGenericAttributeValue(GenericAttributeValue... genericAttributeValue) { + addGenericAttributeValue(Arrays.asList(genericAttributeValue)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "genericAttributeValue" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param genericAttributeValue + * Neuer Wert der Eigenschaft "genericAttributeValue". + */ + public ListOfGenericAttributeValue.Builder<_B> withGenericAttributeValue(GenericAttributeValue... genericAttributeValue) { + withGenericAttributeValue(Arrays.asList(genericAttributeValue)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "GenericAttributeValue". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.GenericAttributeValue.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "GenericAttributeValue". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.GenericAttributeValue.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public GenericAttributeValue.Builder> addGenericAttributeValue() { + if (this.genericAttributeValue == null) { + this.genericAttributeValue = new ArrayList>>(); + } + final GenericAttributeValue.Builder> genericAttributeValue_Builder = new GenericAttributeValue.Builder>(this, null, false); + this.genericAttributeValue.add(genericAttributeValue_Builder); + return genericAttributeValue_Builder; + } + + @Override + public ListOfGenericAttributeValue build() { + if (_storedValue == null) { + return this.init(new ListOfGenericAttributeValue()); + } else { + return ((ListOfGenericAttributeValue) _storedValue); + } + } + + public ListOfGenericAttributeValue.Builder<_B> copyOf(final ListOfGenericAttributeValue _other) { + _other.copyTo(this); + return this; + } + + public ListOfGenericAttributeValue.Builder<_B> copyOf(final ListOfGenericAttributeValue.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfGenericAttributeValue.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfGenericAttributeValue.Select _root() { + return new ListOfGenericAttributeValue.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private GenericAttributeValue.Selector> genericAttributeValue = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.genericAttributeValue!= null) { + products.put("genericAttributeValue", this.genericAttributeValue.init()); + } + return products; + } + + public GenericAttributeValue.Selector> genericAttributeValue() { + return ((this.genericAttributeValue == null)?this.genericAttributeValue = new GenericAttributeValue.Selector>(this._root, this, "genericAttributeValue"):this.genericAttributeValue); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGuid.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGuid.java new file mode 100644 index 000000000..a5d882997 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfGuid.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfGuid complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfGuid">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Guid" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Guid" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfGuid", propOrder = { + "guid" +}) +public class ListOfGuid { + + @XmlElement(name = "Guid") + protected List guid; + + /** + * Gets the value of the guid property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the guid property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGuid().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Guid } + * + * + */ + public List getGuid() { + if (guid == null) { + guid = new ArrayList(); + } + return this.guid; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfGuid.Builder<_B> _other) { + if (this.guid == null) { + _other.guid = null; + } else { + _other.guid = new ArrayList>>(); + for (Guid _item: this.guid) { + _other.guid.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfGuid.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfGuid.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfGuid.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfGuid.Builder builder() { + return new ListOfGuid.Builder(null, null, false); + } + + public static<_B >ListOfGuid.Builder<_B> copyOf(final ListOfGuid _other) { + final ListOfGuid.Builder<_B> _newBuilder = new ListOfGuid.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfGuid.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree guidPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("guid")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(guidPropertyTree!= null):((guidPropertyTree == null)||(!guidPropertyTree.isLeaf())))) { + if (this.guid == null) { + _other.guid = null; + } else { + _other.guid = new ArrayList>>(); + for (Guid _item: this.guid) { + _other.guid.add(((_item == null)?null:_item.newCopyBuilder(_other, guidPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfGuid.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfGuid.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfGuid.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfGuid.Builder<_B> copyOf(final ListOfGuid _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfGuid.Builder<_B> _newBuilder = new ListOfGuid.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfGuid.Builder copyExcept(final ListOfGuid _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfGuid.Builder copyOnly(final ListOfGuid _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfGuid _storedValue; + private List>> guid; + + public Builder(final _B _parentBuilder, final ListOfGuid _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.guid == null) { + this.guid = null; + } else { + this.guid = new ArrayList>>(); + for (Guid _item: _other.guid) { + this.guid.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfGuid _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree guidPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("guid")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(guidPropertyTree!= null):((guidPropertyTree == null)||(!guidPropertyTree.isLeaf())))) { + if (_other.guid == null) { + this.guid = null; + } else { + this.guid = new ArrayList>>(); + for (Guid _item: _other.guid) { + this.guid.add(((_item == null)?null:_item.newCopyBuilder(this, guidPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfGuid >_P init(final _P _product) { + if (this.guid!= null) { + final List guid = new ArrayList(this.guid.size()); + for (Guid.Builder> _item: this.guid) { + guid.add(_item.build()); + } + _product.guid = guid; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "guid" hinzu. + * + * @param guid + * Werte, die zur Eigenschaft "guid" hinzugefügt werden. + */ + public ListOfGuid.Builder<_B> addGuid(final Iterable guid) { + if (guid!= null) { + if (this.guid == null) { + this.guid = new ArrayList>>(); + } + for (Guid _item: guid) { + this.guid.add(new Guid.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "guid" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param guid + * Neuer Wert der Eigenschaft "guid". + */ + public ListOfGuid.Builder<_B> withGuid(final Iterable guid) { + if (this.guid!= null) { + this.guid.clear(); + } + return addGuid(guid); + } + + /** + * Fügt Werte zur Eigenschaft "guid" hinzu. + * + * @param guid + * Werte, die zur Eigenschaft "guid" hinzugefügt werden. + */ + public ListOfGuid.Builder<_B> addGuid(Guid... guid) { + addGuid(Arrays.asList(guid)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "guid" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param guid + * Neuer Wert der Eigenschaft "guid". + */ + public ListOfGuid.Builder<_B> withGuid(Guid... guid) { + withGuid(Arrays.asList(guid)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Guid". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Guid". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Guid.Builder> addGuid() { + if (this.guid == null) { + this.guid = new ArrayList>>(); + } + final Guid.Builder> guid_Builder = new Guid.Builder>(this, null, false); + this.guid.add(guid_Builder); + return guid_Builder; + } + + @Override + public ListOfGuid build() { + if (_storedValue == null) { + return this.init(new ListOfGuid()); + } else { + return ((ListOfGuid) _storedValue); + } + } + + public ListOfGuid.Builder<_B> copyOf(final ListOfGuid _other) { + _other.copyTo(this); + return this; + } + + public ListOfGuid.Builder<_B> copyOf(final ListOfGuid.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfGuid.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfGuid.Select _root() { + return new ListOfGuid.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Guid.Selector> guid = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.guid!= null) { + products.put("guid", this.guid.init()); + } + return products; + } + + public Guid.Selector> guid() { + return ((this.guid == null)?this.guid = new Guid.Selector>(this._root, this, "guid"):this.guid); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryEventFieldList.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryEventFieldList.java new file mode 100644 index 000000000..cc6efbf38 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryEventFieldList.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfHistoryEventFieldList complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfHistoryEventFieldList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="HistoryEventFieldList" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryEventFieldList" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfHistoryEventFieldList", propOrder = { + "historyEventFieldList" +}) +public class ListOfHistoryEventFieldList { + + @XmlElement(name = "HistoryEventFieldList", nillable = true) + protected List historyEventFieldList; + + /** + * Gets the value of the historyEventFieldList property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the historyEventFieldList property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getHistoryEventFieldList().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link HistoryEventFieldList } + * + * + */ + public List getHistoryEventFieldList() { + if (historyEventFieldList == null) { + historyEventFieldList = new ArrayList(); + } + return this.historyEventFieldList; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryEventFieldList.Builder<_B> _other) { + if (this.historyEventFieldList == null) { + _other.historyEventFieldList = null; + } else { + _other.historyEventFieldList = new ArrayList>>(); + for (HistoryEventFieldList _item: this.historyEventFieldList) { + _other.historyEventFieldList.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfHistoryEventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfHistoryEventFieldList.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfHistoryEventFieldList.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfHistoryEventFieldList.Builder builder() { + return new ListOfHistoryEventFieldList.Builder(null, null, false); + } + + public static<_B >ListOfHistoryEventFieldList.Builder<_B> copyOf(final ListOfHistoryEventFieldList _other) { + final ListOfHistoryEventFieldList.Builder<_B> _newBuilder = new ListOfHistoryEventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryEventFieldList.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree historyEventFieldListPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyEventFieldList")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyEventFieldListPropertyTree!= null):((historyEventFieldListPropertyTree == null)||(!historyEventFieldListPropertyTree.isLeaf())))) { + if (this.historyEventFieldList == null) { + _other.historyEventFieldList = null; + } else { + _other.historyEventFieldList = new ArrayList>>(); + for (HistoryEventFieldList _item: this.historyEventFieldList) { + _other.historyEventFieldList.add(((_item == null)?null:_item.newCopyBuilder(_other, historyEventFieldListPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfHistoryEventFieldList.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfHistoryEventFieldList.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfHistoryEventFieldList.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfHistoryEventFieldList.Builder<_B> copyOf(final ListOfHistoryEventFieldList _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfHistoryEventFieldList.Builder<_B> _newBuilder = new ListOfHistoryEventFieldList.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfHistoryEventFieldList.Builder copyExcept(final ListOfHistoryEventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfHistoryEventFieldList.Builder copyOnly(final ListOfHistoryEventFieldList _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfHistoryEventFieldList _storedValue; + private List>> historyEventFieldList; + + public Builder(final _B _parentBuilder, final ListOfHistoryEventFieldList _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.historyEventFieldList == null) { + this.historyEventFieldList = null; + } else { + this.historyEventFieldList = new ArrayList>>(); + for (HistoryEventFieldList _item: _other.historyEventFieldList) { + this.historyEventFieldList.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfHistoryEventFieldList _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree historyEventFieldListPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyEventFieldList")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyEventFieldListPropertyTree!= null):((historyEventFieldListPropertyTree == null)||(!historyEventFieldListPropertyTree.isLeaf())))) { + if (_other.historyEventFieldList == null) { + this.historyEventFieldList = null; + } else { + this.historyEventFieldList = new ArrayList>>(); + for (HistoryEventFieldList _item: _other.historyEventFieldList) { + this.historyEventFieldList.add(((_item == null)?null:_item.newCopyBuilder(this, historyEventFieldListPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfHistoryEventFieldList >_P init(final _P _product) { + if (this.historyEventFieldList!= null) { + final List historyEventFieldList = new ArrayList(this.historyEventFieldList.size()); + for (HistoryEventFieldList.Builder> _item: this.historyEventFieldList) { + historyEventFieldList.add(_item.build()); + } + _product.historyEventFieldList = historyEventFieldList; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "historyEventFieldList" hinzu. + * + * @param historyEventFieldList + * Werte, die zur Eigenschaft "historyEventFieldList" hinzugefügt werden. + */ + public ListOfHistoryEventFieldList.Builder<_B> addHistoryEventFieldList(final Iterable historyEventFieldList) { + if (historyEventFieldList!= null) { + if (this.historyEventFieldList == null) { + this.historyEventFieldList = new ArrayList>>(); + } + for (HistoryEventFieldList _item: historyEventFieldList) { + this.historyEventFieldList.add(new HistoryEventFieldList.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyEventFieldList" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param historyEventFieldList + * Neuer Wert der Eigenschaft "historyEventFieldList". + */ + public ListOfHistoryEventFieldList.Builder<_B> withHistoryEventFieldList(final Iterable historyEventFieldList) { + if (this.historyEventFieldList!= null) { + this.historyEventFieldList.clear(); + } + return addHistoryEventFieldList(historyEventFieldList); + } + + /** + * Fügt Werte zur Eigenschaft "historyEventFieldList" hinzu. + * + * @param historyEventFieldList + * Werte, die zur Eigenschaft "historyEventFieldList" hinzugefügt werden. + */ + public ListOfHistoryEventFieldList.Builder<_B> addHistoryEventFieldList(HistoryEventFieldList... historyEventFieldList) { + addHistoryEventFieldList(Arrays.asList(historyEventFieldList)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyEventFieldList" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param historyEventFieldList + * Neuer Wert der Eigenschaft "historyEventFieldList". + */ + public ListOfHistoryEventFieldList.Builder<_B> withHistoryEventFieldList(HistoryEventFieldList... historyEventFieldList) { + withHistoryEventFieldList(Arrays.asList(historyEventFieldList)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "HistoryEventFieldList". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.HistoryEventFieldList.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "HistoryEventFieldList". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.HistoryEventFieldList.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public HistoryEventFieldList.Builder> addHistoryEventFieldList() { + if (this.historyEventFieldList == null) { + this.historyEventFieldList = new ArrayList>>(); + } + final HistoryEventFieldList.Builder> historyEventFieldList_Builder = new HistoryEventFieldList.Builder>(this, null, false); + this.historyEventFieldList.add(historyEventFieldList_Builder); + return historyEventFieldList_Builder; + } + + @Override + public ListOfHistoryEventFieldList build() { + if (_storedValue == null) { + return this.init(new ListOfHistoryEventFieldList()); + } else { + return ((ListOfHistoryEventFieldList) _storedValue); + } + } + + public ListOfHistoryEventFieldList.Builder<_B> copyOf(final ListOfHistoryEventFieldList _other) { + _other.copyTo(this); + return this; + } + + public ListOfHistoryEventFieldList.Builder<_B> copyOf(final ListOfHistoryEventFieldList.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfHistoryEventFieldList.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfHistoryEventFieldList.Select _root() { + return new ListOfHistoryEventFieldList.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private HistoryEventFieldList.Selector> historyEventFieldList = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.historyEventFieldList!= null) { + products.put("historyEventFieldList", this.historyEventFieldList.init()); + } + return products; + } + + public HistoryEventFieldList.Selector> historyEventFieldList() { + return ((this.historyEventFieldList == null)?this.historyEventFieldList = new HistoryEventFieldList.Selector>(this._root, this, "historyEventFieldList"):this.historyEventFieldList); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadResult.java new file mode 100644 index 000000000..c47047074 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfHistoryReadResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfHistoryReadResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="HistoryReadResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfHistoryReadResult", propOrder = { + "historyReadResult" +}) +public class ListOfHistoryReadResult { + + @XmlElement(name = "HistoryReadResult", nillable = true) + protected List historyReadResult; + + /** + * Gets the value of the historyReadResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the historyReadResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getHistoryReadResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link HistoryReadResult } + * + * + */ + public List getHistoryReadResult() { + if (historyReadResult == null) { + historyReadResult = new ArrayList(); + } + return this.historyReadResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryReadResult.Builder<_B> _other) { + if (this.historyReadResult == null) { + _other.historyReadResult = null; + } else { + _other.historyReadResult = new ArrayList>>(); + for (HistoryReadResult _item: this.historyReadResult) { + _other.historyReadResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfHistoryReadResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfHistoryReadResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfHistoryReadResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfHistoryReadResult.Builder builder() { + return new ListOfHistoryReadResult.Builder(null, null, false); + } + + public static<_B >ListOfHistoryReadResult.Builder<_B> copyOf(final ListOfHistoryReadResult _other) { + final ListOfHistoryReadResult.Builder<_B> _newBuilder = new ListOfHistoryReadResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryReadResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree historyReadResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadResultPropertyTree!= null):((historyReadResultPropertyTree == null)||(!historyReadResultPropertyTree.isLeaf())))) { + if (this.historyReadResult == null) { + _other.historyReadResult = null; + } else { + _other.historyReadResult = new ArrayList>>(); + for (HistoryReadResult _item: this.historyReadResult) { + _other.historyReadResult.add(((_item == null)?null:_item.newCopyBuilder(_other, historyReadResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfHistoryReadResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfHistoryReadResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfHistoryReadResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfHistoryReadResult.Builder<_B> copyOf(final ListOfHistoryReadResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfHistoryReadResult.Builder<_B> _newBuilder = new ListOfHistoryReadResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfHistoryReadResult.Builder copyExcept(final ListOfHistoryReadResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfHistoryReadResult.Builder copyOnly(final ListOfHistoryReadResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfHistoryReadResult _storedValue; + private List>> historyReadResult; + + public Builder(final _B _parentBuilder, final ListOfHistoryReadResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.historyReadResult == null) { + this.historyReadResult = null; + } else { + this.historyReadResult = new ArrayList>>(); + for (HistoryReadResult _item: _other.historyReadResult) { + this.historyReadResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfHistoryReadResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree historyReadResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadResultPropertyTree!= null):((historyReadResultPropertyTree == null)||(!historyReadResultPropertyTree.isLeaf())))) { + if (_other.historyReadResult == null) { + this.historyReadResult = null; + } else { + this.historyReadResult = new ArrayList>>(); + for (HistoryReadResult _item: _other.historyReadResult) { + this.historyReadResult.add(((_item == null)?null:_item.newCopyBuilder(this, historyReadResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfHistoryReadResult >_P init(final _P _product) { + if (this.historyReadResult!= null) { + final List historyReadResult = new ArrayList(this.historyReadResult.size()); + for (HistoryReadResult.Builder> _item: this.historyReadResult) { + historyReadResult.add(_item.build()); + } + _product.historyReadResult = historyReadResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "historyReadResult" hinzu. + * + * @param historyReadResult + * Werte, die zur Eigenschaft "historyReadResult" hinzugefügt werden. + */ + public ListOfHistoryReadResult.Builder<_B> addHistoryReadResult(final Iterable historyReadResult) { + if (historyReadResult!= null) { + if (this.historyReadResult == null) { + this.historyReadResult = new ArrayList>>(); + } + for (HistoryReadResult _item: historyReadResult) { + this.historyReadResult.add(new HistoryReadResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyReadResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyReadResult + * Neuer Wert der Eigenschaft "historyReadResult". + */ + public ListOfHistoryReadResult.Builder<_B> withHistoryReadResult(final Iterable historyReadResult) { + if (this.historyReadResult!= null) { + this.historyReadResult.clear(); + } + return addHistoryReadResult(historyReadResult); + } + + /** + * Fügt Werte zur Eigenschaft "historyReadResult" hinzu. + * + * @param historyReadResult + * Werte, die zur Eigenschaft "historyReadResult" hinzugefügt werden. + */ + public ListOfHistoryReadResult.Builder<_B> addHistoryReadResult(HistoryReadResult... historyReadResult) { + addHistoryReadResult(Arrays.asList(historyReadResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyReadResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyReadResult + * Neuer Wert der Eigenschaft "historyReadResult". + */ + public ListOfHistoryReadResult.Builder<_B> withHistoryReadResult(HistoryReadResult... historyReadResult) { + withHistoryReadResult(Arrays.asList(historyReadResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "HistoryReadResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.HistoryReadResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "HistoryReadResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.HistoryReadResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public HistoryReadResult.Builder> addHistoryReadResult() { + if (this.historyReadResult == null) { + this.historyReadResult = new ArrayList>>(); + } + final HistoryReadResult.Builder> historyReadResult_Builder = new HistoryReadResult.Builder>(this, null, false); + this.historyReadResult.add(historyReadResult_Builder); + return historyReadResult_Builder; + } + + @Override + public ListOfHistoryReadResult build() { + if (_storedValue == null) { + return this.init(new ListOfHistoryReadResult()); + } else { + return ((ListOfHistoryReadResult) _storedValue); + } + } + + public ListOfHistoryReadResult.Builder<_B> copyOf(final ListOfHistoryReadResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfHistoryReadResult.Builder<_B> copyOf(final ListOfHistoryReadResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfHistoryReadResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfHistoryReadResult.Select _root() { + return new ListOfHistoryReadResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private HistoryReadResult.Selector> historyReadResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.historyReadResult!= null) { + products.put("historyReadResult", this.historyReadResult.init()); + } + return products; + } + + public HistoryReadResult.Selector> historyReadResult() { + return ((this.historyReadResult == null)?this.historyReadResult = new HistoryReadResult.Selector>(this._root, this, "historyReadResult"):this.historyReadResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadValueId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadValueId.java new file mode 100644 index 000000000..345d78f9c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryReadValueId.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfHistoryReadValueId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfHistoryReadValueId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="HistoryReadValueId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadValueId" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfHistoryReadValueId", propOrder = { + "historyReadValueId" +}) +public class ListOfHistoryReadValueId { + + @XmlElement(name = "HistoryReadValueId", nillable = true) + protected List historyReadValueId; + + /** + * Gets the value of the historyReadValueId property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the historyReadValueId property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getHistoryReadValueId().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link HistoryReadValueId } + * + * + */ + public List getHistoryReadValueId() { + if (historyReadValueId == null) { + historyReadValueId = new ArrayList(); + } + return this.historyReadValueId; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryReadValueId.Builder<_B> _other) { + if (this.historyReadValueId == null) { + _other.historyReadValueId = null; + } else { + _other.historyReadValueId = new ArrayList>>(); + for (HistoryReadValueId _item: this.historyReadValueId) { + _other.historyReadValueId.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfHistoryReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfHistoryReadValueId.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfHistoryReadValueId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfHistoryReadValueId.Builder builder() { + return new ListOfHistoryReadValueId.Builder(null, null, false); + } + + public static<_B >ListOfHistoryReadValueId.Builder<_B> copyOf(final ListOfHistoryReadValueId _other) { + final ListOfHistoryReadValueId.Builder<_B> _newBuilder = new ListOfHistoryReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryReadValueId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree historyReadValueIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadValueId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadValueIdPropertyTree!= null):((historyReadValueIdPropertyTree == null)||(!historyReadValueIdPropertyTree.isLeaf())))) { + if (this.historyReadValueId == null) { + _other.historyReadValueId = null; + } else { + _other.historyReadValueId = new ArrayList>>(); + for (HistoryReadValueId _item: this.historyReadValueId) { + _other.historyReadValueId.add(((_item == null)?null:_item.newCopyBuilder(_other, historyReadValueIdPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfHistoryReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfHistoryReadValueId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfHistoryReadValueId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfHistoryReadValueId.Builder<_B> copyOf(final ListOfHistoryReadValueId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfHistoryReadValueId.Builder<_B> _newBuilder = new ListOfHistoryReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfHistoryReadValueId.Builder copyExcept(final ListOfHistoryReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfHistoryReadValueId.Builder copyOnly(final ListOfHistoryReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfHistoryReadValueId _storedValue; + private List>> historyReadValueId; + + public Builder(final _B _parentBuilder, final ListOfHistoryReadValueId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.historyReadValueId == null) { + this.historyReadValueId = null; + } else { + this.historyReadValueId = new ArrayList>>(); + for (HistoryReadValueId _item: _other.historyReadValueId) { + this.historyReadValueId.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfHistoryReadValueId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree historyReadValueIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadValueId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadValueIdPropertyTree!= null):((historyReadValueIdPropertyTree == null)||(!historyReadValueIdPropertyTree.isLeaf())))) { + if (_other.historyReadValueId == null) { + this.historyReadValueId = null; + } else { + this.historyReadValueId = new ArrayList>>(); + for (HistoryReadValueId _item: _other.historyReadValueId) { + this.historyReadValueId.add(((_item == null)?null:_item.newCopyBuilder(this, historyReadValueIdPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfHistoryReadValueId >_P init(final _P _product) { + if (this.historyReadValueId!= null) { + final List historyReadValueId = new ArrayList(this.historyReadValueId.size()); + for (HistoryReadValueId.Builder> _item: this.historyReadValueId) { + historyReadValueId.add(_item.build()); + } + _product.historyReadValueId = historyReadValueId; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "historyReadValueId" hinzu. + * + * @param historyReadValueId + * Werte, die zur Eigenschaft "historyReadValueId" hinzugefügt werden. + */ + public ListOfHistoryReadValueId.Builder<_B> addHistoryReadValueId(final Iterable historyReadValueId) { + if (historyReadValueId!= null) { + if (this.historyReadValueId == null) { + this.historyReadValueId = new ArrayList>>(); + } + for (HistoryReadValueId _item: historyReadValueId) { + this.historyReadValueId.add(new HistoryReadValueId.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyReadValueId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyReadValueId + * Neuer Wert der Eigenschaft "historyReadValueId". + */ + public ListOfHistoryReadValueId.Builder<_B> withHistoryReadValueId(final Iterable historyReadValueId) { + if (this.historyReadValueId!= null) { + this.historyReadValueId.clear(); + } + return addHistoryReadValueId(historyReadValueId); + } + + /** + * Fügt Werte zur Eigenschaft "historyReadValueId" hinzu. + * + * @param historyReadValueId + * Werte, die zur Eigenschaft "historyReadValueId" hinzugefügt werden. + */ + public ListOfHistoryReadValueId.Builder<_B> addHistoryReadValueId(HistoryReadValueId... historyReadValueId) { + addHistoryReadValueId(Arrays.asList(historyReadValueId)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyReadValueId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyReadValueId + * Neuer Wert der Eigenschaft "historyReadValueId". + */ + public ListOfHistoryReadValueId.Builder<_B> withHistoryReadValueId(HistoryReadValueId... historyReadValueId) { + withHistoryReadValueId(Arrays.asList(historyReadValueId)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "HistoryReadValueId". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.HistoryReadValueId.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "HistoryReadValueId". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.HistoryReadValueId.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public HistoryReadValueId.Builder> addHistoryReadValueId() { + if (this.historyReadValueId == null) { + this.historyReadValueId = new ArrayList>>(); + } + final HistoryReadValueId.Builder> historyReadValueId_Builder = new HistoryReadValueId.Builder>(this, null, false); + this.historyReadValueId.add(historyReadValueId_Builder); + return historyReadValueId_Builder; + } + + @Override + public ListOfHistoryReadValueId build() { + if (_storedValue == null) { + return this.init(new ListOfHistoryReadValueId()); + } else { + return ((ListOfHistoryReadValueId) _storedValue); + } + } + + public ListOfHistoryReadValueId.Builder<_B> copyOf(final ListOfHistoryReadValueId _other) { + _other.copyTo(this); + return this; + } + + public ListOfHistoryReadValueId.Builder<_B> copyOf(final ListOfHistoryReadValueId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfHistoryReadValueId.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfHistoryReadValueId.Select _root() { + return new ListOfHistoryReadValueId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private HistoryReadValueId.Selector> historyReadValueId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.historyReadValueId!= null) { + products.put("historyReadValueId", this.historyReadValueId.init()); + } + return products; + } + + public HistoryReadValueId.Selector> historyReadValueId() { + return ((this.historyReadValueId == null)?this.historyReadValueId = new HistoryReadValueId.Selector>(this._root, this, "historyReadValueId"):this.historyReadValueId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryUpdateResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryUpdateResult.java new file mode 100644 index 000000000..e34fdaef1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfHistoryUpdateResult.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfHistoryUpdateResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfHistoryUpdateResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="HistoryUpdateResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfHistoryUpdateResult", propOrder = { + "historyUpdateResult" +}) +public class ListOfHistoryUpdateResult { + + @XmlElement(name = "HistoryUpdateResult", nillable = true) + protected List historyUpdateResult; + + /** + * Gets the value of the historyUpdateResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the historyUpdateResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getHistoryUpdateResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link HistoryUpdateResult } + * + * + */ + public List getHistoryUpdateResult() { + if (historyUpdateResult == null) { + historyUpdateResult = new ArrayList(); + } + return this.historyUpdateResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryUpdateResult.Builder<_B> _other) { + if (this.historyUpdateResult == null) { + _other.historyUpdateResult = null; + } else { + _other.historyUpdateResult = new ArrayList>>(); + for (HistoryUpdateResult _item: this.historyUpdateResult) { + _other.historyUpdateResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfHistoryUpdateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfHistoryUpdateResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfHistoryUpdateResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfHistoryUpdateResult.Builder builder() { + return new ListOfHistoryUpdateResult.Builder(null, null, false); + } + + public static<_B >ListOfHistoryUpdateResult.Builder<_B> copyOf(final ListOfHistoryUpdateResult _other) { + final ListOfHistoryUpdateResult.Builder<_B> _newBuilder = new ListOfHistoryUpdateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfHistoryUpdateResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree historyUpdateResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyUpdateResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyUpdateResultPropertyTree!= null):((historyUpdateResultPropertyTree == null)||(!historyUpdateResultPropertyTree.isLeaf())))) { + if (this.historyUpdateResult == null) { + _other.historyUpdateResult = null; + } else { + _other.historyUpdateResult = new ArrayList>>(); + for (HistoryUpdateResult _item: this.historyUpdateResult) { + _other.historyUpdateResult.add(((_item == null)?null:_item.newCopyBuilder(_other, historyUpdateResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfHistoryUpdateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfHistoryUpdateResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfHistoryUpdateResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfHistoryUpdateResult.Builder<_B> copyOf(final ListOfHistoryUpdateResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfHistoryUpdateResult.Builder<_B> _newBuilder = new ListOfHistoryUpdateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfHistoryUpdateResult.Builder copyExcept(final ListOfHistoryUpdateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfHistoryUpdateResult.Builder copyOnly(final ListOfHistoryUpdateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfHistoryUpdateResult _storedValue; + private List>> historyUpdateResult; + + public Builder(final _B _parentBuilder, final ListOfHistoryUpdateResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.historyUpdateResult == null) { + this.historyUpdateResult = null; + } else { + this.historyUpdateResult = new ArrayList>>(); + for (HistoryUpdateResult _item: _other.historyUpdateResult) { + this.historyUpdateResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfHistoryUpdateResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree historyUpdateResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyUpdateResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyUpdateResultPropertyTree!= null):((historyUpdateResultPropertyTree == null)||(!historyUpdateResultPropertyTree.isLeaf())))) { + if (_other.historyUpdateResult == null) { + this.historyUpdateResult = null; + } else { + this.historyUpdateResult = new ArrayList>>(); + for (HistoryUpdateResult _item: _other.historyUpdateResult) { + this.historyUpdateResult.add(((_item == null)?null:_item.newCopyBuilder(this, historyUpdateResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfHistoryUpdateResult >_P init(final _P _product) { + if (this.historyUpdateResult!= null) { + final List historyUpdateResult = new ArrayList(this.historyUpdateResult.size()); + for (HistoryUpdateResult.Builder> _item: this.historyUpdateResult) { + historyUpdateResult.add(_item.build()); + } + _product.historyUpdateResult = historyUpdateResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "historyUpdateResult" hinzu. + * + * @param historyUpdateResult + * Werte, die zur Eigenschaft "historyUpdateResult" hinzugefügt werden. + */ + public ListOfHistoryUpdateResult.Builder<_B> addHistoryUpdateResult(final Iterable historyUpdateResult) { + if (historyUpdateResult!= null) { + if (this.historyUpdateResult == null) { + this.historyUpdateResult = new ArrayList>>(); + } + for (HistoryUpdateResult _item: historyUpdateResult) { + this.historyUpdateResult.add(new HistoryUpdateResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyUpdateResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyUpdateResult + * Neuer Wert der Eigenschaft "historyUpdateResult". + */ + public ListOfHistoryUpdateResult.Builder<_B> withHistoryUpdateResult(final Iterable historyUpdateResult) { + if (this.historyUpdateResult!= null) { + this.historyUpdateResult.clear(); + } + return addHistoryUpdateResult(historyUpdateResult); + } + + /** + * Fügt Werte zur Eigenschaft "historyUpdateResult" hinzu. + * + * @param historyUpdateResult + * Werte, die zur Eigenschaft "historyUpdateResult" hinzugefügt werden. + */ + public ListOfHistoryUpdateResult.Builder<_B> addHistoryUpdateResult(HistoryUpdateResult... historyUpdateResult) { + addHistoryUpdateResult(Arrays.asList(historyUpdateResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyUpdateResult" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyUpdateResult + * Neuer Wert der Eigenschaft "historyUpdateResult". + */ + public ListOfHistoryUpdateResult.Builder<_B> withHistoryUpdateResult(HistoryUpdateResult... historyUpdateResult) { + withHistoryUpdateResult(Arrays.asList(historyUpdateResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "HistoryUpdateResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.HistoryUpdateResult.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "HistoryUpdateResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.HistoryUpdateResult.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public HistoryUpdateResult.Builder> addHistoryUpdateResult() { + if (this.historyUpdateResult == null) { + this.historyUpdateResult = new ArrayList>>(); + } + final HistoryUpdateResult.Builder> historyUpdateResult_Builder = new HistoryUpdateResult.Builder>(this, null, false); + this.historyUpdateResult.add(historyUpdateResult_Builder); + return historyUpdateResult_Builder; + } + + @Override + public ListOfHistoryUpdateResult build() { + if (_storedValue == null) { + return this.init(new ListOfHistoryUpdateResult()); + } else { + return ((ListOfHistoryUpdateResult) _storedValue); + } + } + + public ListOfHistoryUpdateResult.Builder<_B> copyOf(final ListOfHistoryUpdateResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfHistoryUpdateResult.Builder<_B> copyOf(final ListOfHistoryUpdateResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfHistoryUpdateResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfHistoryUpdateResult.Select _root() { + return new ListOfHistoryUpdateResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private HistoryUpdateResult.Selector> historyUpdateResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.historyUpdateResult!= null) { + products.put("historyUpdateResult", this.historyUpdateResult.init()); + } + return products; + } + + public HistoryUpdateResult.Selector> historyUpdateResult() { + return ((this.historyUpdateResult == null)?this.historyUpdateResult = new HistoryUpdateResult.Selector>(this._root, this, "historyUpdateResult"):this.historyUpdateResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdType.java new file mode 100644 index 000000000..af13df574 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdType.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfIdType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfIdType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="IdType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}IdType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfIdType", propOrder = { + "idType" +}) +public class ListOfIdType { + + @XmlElement(name = "IdType") + @XmlSchemaType(name = "string") + protected List idType; + + /** + * Gets the value of the idType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the idType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIdType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IdType } + * + * + */ + public List getIdType() { + if (idType == null) { + idType = new ArrayList(); + } + return this.idType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfIdType.Builder<_B> _other) { + if (this.idType == null) { + _other.idType = null; + } else { + _other.idType = new ArrayList(); + for (IdType _item: this.idType) { + _other.idType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfIdType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfIdType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfIdType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfIdType.Builder builder() { + return new ListOfIdType.Builder(null, null, false); + } + + public static<_B >ListOfIdType.Builder<_B> copyOf(final ListOfIdType _other) { + final ListOfIdType.Builder<_B> _newBuilder = new ListOfIdType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfIdType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree idTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("idType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(idTypePropertyTree!= null):((idTypePropertyTree == null)||(!idTypePropertyTree.isLeaf())))) { + if (this.idType == null) { + _other.idType = null; + } else { + _other.idType = new ArrayList(); + for (IdType _item: this.idType) { + _other.idType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfIdType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfIdType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfIdType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfIdType.Builder<_B> copyOf(final ListOfIdType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfIdType.Builder<_B> _newBuilder = new ListOfIdType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfIdType.Builder copyExcept(final ListOfIdType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfIdType.Builder copyOnly(final ListOfIdType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfIdType _storedValue; + private List idType; + + public Builder(final _B _parentBuilder, final ListOfIdType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.idType == null) { + this.idType = null; + } else { + this.idType = new ArrayList(); + for (IdType _item: _other.idType) { + this.idType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfIdType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree idTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("idType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(idTypePropertyTree!= null):((idTypePropertyTree == null)||(!idTypePropertyTree.isLeaf())))) { + if (_other.idType == null) { + this.idType = null; + } else { + this.idType = new ArrayList(); + for (IdType _item: _other.idType) { + this.idType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfIdType >_P init(final _P _product) { + if (this.idType!= null) { + final List idType = new ArrayList(this.idType.size()); + for (Buildable _item: this.idType) { + idType.add(((IdType) _item.build())); + } + _product.idType = idType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "idType" hinzu. + * + * @param idType + * Werte, die zur Eigenschaft "idType" hinzugefügt werden. + */ + public ListOfIdType.Builder<_B> addIdType(final Iterable idType) { + if (idType!= null) { + if (this.idType == null) { + this.idType = new ArrayList(); + } + for (IdType _item: idType) { + this.idType.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "idType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param idType + * Neuer Wert der Eigenschaft "idType". + */ + public ListOfIdType.Builder<_B> withIdType(final Iterable idType) { + if (this.idType!= null) { + this.idType.clear(); + } + return addIdType(idType); + } + + /** + * Fügt Werte zur Eigenschaft "idType" hinzu. + * + * @param idType + * Werte, die zur Eigenschaft "idType" hinzugefügt werden. + */ + public ListOfIdType.Builder<_B> addIdType(IdType... idType) { + addIdType(Arrays.asList(idType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "idType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param idType + * Neuer Wert der Eigenschaft "idType". + */ + public ListOfIdType.Builder<_B> withIdType(IdType... idType) { + withIdType(Arrays.asList(idType)); + return this; + } + + @Override + public ListOfIdType build() { + if (_storedValue == null) { + return this.init(new ListOfIdType()); + } else { + return ((ListOfIdType) _storedValue); + } + } + + public ListOfIdType.Builder<_B> copyOf(final ListOfIdType _other) { + _other.copyTo(this); + return this; + } + + public ListOfIdType.Builder<_B> copyOf(final ListOfIdType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfIdType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfIdType.Select _root() { + return new ListOfIdType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> idType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.idType!= null) { + products.put("idType", this.idType.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> idType() { + return ((this.idType == null)?this.idType = new com.kscs.util.jaxb.Selector>(this._root, this, "idType"):this.idType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityCriteriaType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityCriteriaType.java new file mode 100644 index 000000000..cfb5ca7a5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityCriteriaType.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfIdentityCriteriaType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfIdentityCriteriaType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="IdentityCriteriaType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}IdentityCriteriaType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfIdentityCriteriaType", propOrder = { + "identityCriteriaType" +}) +public class ListOfIdentityCriteriaType { + + @XmlElement(name = "IdentityCriteriaType") + @XmlSchemaType(name = "string") + protected List identityCriteriaType; + + /** + * Gets the value of the identityCriteriaType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the identityCriteriaType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIdentityCriteriaType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IdentityCriteriaType } + * + * + */ + public List getIdentityCriteriaType() { + if (identityCriteriaType == null) { + identityCriteriaType = new ArrayList(); + } + return this.identityCriteriaType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfIdentityCriteriaType.Builder<_B> _other) { + if (this.identityCriteriaType == null) { + _other.identityCriteriaType = null; + } else { + _other.identityCriteriaType = new ArrayList(); + for (IdentityCriteriaType _item: this.identityCriteriaType) { + _other.identityCriteriaType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfIdentityCriteriaType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfIdentityCriteriaType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfIdentityCriteriaType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfIdentityCriteriaType.Builder builder() { + return new ListOfIdentityCriteriaType.Builder(null, null, false); + } + + public static<_B >ListOfIdentityCriteriaType.Builder<_B> copyOf(final ListOfIdentityCriteriaType _other) { + final ListOfIdentityCriteriaType.Builder<_B> _newBuilder = new ListOfIdentityCriteriaType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfIdentityCriteriaType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree identityCriteriaTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identityCriteriaType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identityCriteriaTypePropertyTree!= null):((identityCriteriaTypePropertyTree == null)||(!identityCriteriaTypePropertyTree.isLeaf())))) { + if (this.identityCriteriaType == null) { + _other.identityCriteriaType = null; + } else { + _other.identityCriteriaType = new ArrayList(); + for (IdentityCriteriaType _item: this.identityCriteriaType) { + _other.identityCriteriaType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfIdentityCriteriaType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfIdentityCriteriaType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfIdentityCriteriaType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfIdentityCriteriaType.Builder<_B> copyOf(final ListOfIdentityCriteriaType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfIdentityCriteriaType.Builder<_B> _newBuilder = new ListOfIdentityCriteriaType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfIdentityCriteriaType.Builder copyExcept(final ListOfIdentityCriteriaType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfIdentityCriteriaType.Builder copyOnly(final ListOfIdentityCriteriaType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfIdentityCriteriaType _storedValue; + private List identityCriteriaType; + + public Builder(final _B _parentBuilder, final ListOfIdentityCriteriaType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.identityCriteriaType == null) { + this.identityCriteriaType = null; + } else { + this.identityCriteriaType = new ArrayList(); + for (IdentityCriteriaType _item: _other.identityCriteriaType) { + this.identityCriteriaType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfIdentityCriteriaType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree identityCriteriaTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identityCriteriaType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identityCriteriaTypePropertyTree!= null):((identityCriteriaTypePropertyTree == null)||(!identityCriteriaTypePropertyTree.isLeaf())))) { + if (_other.identityCriteriaType == null) { + this.identityCriteriaType = null; + } else { + this.identityCriteriaType = new ArrayList(); + for (IdentityCriteriaType _item: _other.identityCriteriaType) { + this.identityCriteriaType.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfIdentityCriteriaType >_P init(final _P _product) { + if (this.identityCriteriaType!= null) { + final List identityCriteriaType = new ArrayList(this.identityCriteriaType.size()); + for (Buildable _item: this.identityCriteriaType) { + identityCriteriaType.add(((IdentityCriteriaType) _item.build())); + } + _product.identityCriteriaType = identityCriteriaType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "identityCriteriaType" hinzu. + * + * @param identityCriteriaType + * Werte, die zur Eigenschaft "identityCriteriaType" hinzugefügt werden. + */ + public ListOfIdentityCriteriaType.Builder<_B> addIdentityCriteriaType(final Iterable identityCriteriaType) { + if (identityCriteriaType!= null) { + if (this.identityCriteriaType == null) { + this.identityCriteriaType = new ArrayList(); + } + for (IdentityCriteriaType _item: identityCriteriaType) { + this.identityCriteriaType.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "identityCriteriaType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param identityCriteriaType + * Neuer Wert der Eigenschaft "identityCriteriaType". + */ + public ListOfIdentityCriteriaType.Builder<_B> withIdentityCriteriaType(final Iterable identityCriteriaType) { + if (this.identityCriteriaType!= null) { + this.identityCriteriaType.clear(); + } + return addIdentityCriteriaType(identityCriteriaType); + } + + /** + * Fügt Werte zur Eigenschaft "identityCriteriaType" hinzu. + * + * @param identityCriteriaType + * Werte, die zur Eigenschaft "identityCriteriaType" hinzugefügt werden. + */ + public ListOfIdentityCriteriaType.Builder<_B> addIdentityCriteriaType(IdentityCriteriaType... identityCriteriaType) { + addIdentityCriteriaType(Arrays.asList(identityCriteriaType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "identityCriteriaType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param identityCriteriaType + * Neuer Wert der Eigenschaft "identityCriteriaType". + */ + public ListOfIdentityCriteriaType.Builder<_B> withIdentityCriteriaType(IdentityCriteriaType... identityCriteriaType) { + withIdentityCriteriaType(Arrays.asList(identityCriteriaType)); + return this; + } + + @Override + public ListOfIdentityCriteriaType build() { + if (_storedValue == null) { + return this.init(new ListOfIdentityCriteriaType()); + } else { + return ((ListOfIdentityCriteriaType) _storedValue); + } + } + + public ListOfIdentityCriteriaType.Builder<_B> copyOf(final ListOfIdentityCriteriaType _other) { + _other.copyTo(this); + return this; + } + + public ListOfIdentityCriteriaType.Builder<_B> copyOf(final ListOfIdentityCriteriaType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfIdentityCriteriaType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfIdentityCriteriaType.Select _root() { + return new ListOfIdentityCriteriaType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> identityCriteriaType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.identityCriteriaType!= null) { + products.put("identityCriteriaType", this.identityCriteriaType.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> identityCriteriaType() { + return ((this.identityCriteriaType == null)?this.identityCriteriaType = new com.kscs.util.jaxb.Selector>(this._root, this, "identityCriteriaType"):this.identityCriteriaType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityMappingRuleType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityMappingRuleType.java new file mode 100644 index 000000000..a0482c49e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfIdentityMappingRuleType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfIdentityMappingRuleType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfIdentityMappingRuleType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="IdentityMappingRuleType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}IdentityMappingRuleType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfIdentityMappingRuleType", propOrder = { + "identityMappingRuleType" +}) +public class ListOfIdentityMappingRuleType { + + @XmlElement(name = "IdentityMappingRuleType", nillable = true) + protected List identityMappingRuleType; + + /** + * Gets the value of the identityMappingRuleType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the identityMappingRuleType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIdentityMappingRuleType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IdentityMappingRuleType } + * + * + */ + public List getIdentityMappingRuleType() { + if (identityMappingRuleType == null) { + identityMappingRuleType = new ArrayList(); + } + return this.identityMappingRuleType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfIdentityMappingRuleType.Builder<_B> _other) { + if (this.identityMappingRuleType == null) { + _other.identityMappingRuleType = null; + } else { + _other.identityMappingRuleType = new ArrayList>>(); + for (IdentityMappingRuleType _item: this.identityMappingRuleType) { + _other.identityMappingRuleType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfIdentityMappingRuleType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfIdentityMappingRuleType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfIdentityMappingRuleType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfIdentityMappingRuleType.Builder builder() { + return new ListOfIdentityMappingRuleType.Builder(null, null, false); + } + + public static<_B >ListOfIdentityMappingRuleType.Builder<_B> copyOf(final ListOfIdentityMappingRuleType _other) { + final ListOfIdentityMappingRuleType.Builder<_B> _newBuilder = new ListOfIdentityMappingRuleType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfIdentityMappingRuleType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree identityMappingRuleTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identityMappingRuleType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identityMappingRuleTypePropertyTree!= null):((identityMappingRuleTypePropertyTree == null)||(!identityMappingRuleTypePropertyTree.isLeaf())))) { + if (this.identityMappingRuleType == null) { + _other.identityMappingRuleType = null; + } else { + _other.identityMappingRuleType = new ArrayList>>(); + for (IdentityMappingRuleType _item: this.identityMappingRuleType) { + _other.identityMappingRuleType.add(((_item == null)?null:_item.newCopyBuilder(_other, identityMappingRuleTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfIdentityMappingRuleType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfIdentityMappingRuleType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfIdentityMappingRuleType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfIdentityMappingRuleType.Builder<_B> copyOf(final ListOfIdentityMappingRuleType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfIdentityMappingRuleType.Builder<_B> _newBuilder = new ListOfIdentityMappingRuleType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfIdentityMappingRuleType.Builder copyExcept(final ListOfIdentityMappingRuleType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfIdentityMappingRuleType.Builder copyOnly(final ListOfIdentityMappingRuleType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfIdentityMappingRuleType _storedValue; + private List>> identityMappingRuleType; + + public Builder(final _B _parentBuilder, final ListOfIdentityMappingRuleType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.identityMappingRuleType == null) { + this.identityMappingRuleType = null; + } else { + this.identityMappingRuleType = new ArrayList>>(); + for (IdentityMappingRuleType _item: _other.identityMappingRuleType) { + this.identityMappingRuleType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfIdentityMappingRuleType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree identityMappingRuleTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identityMappingRuleType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identityMappingRuleTypePropertyTree!= null):((identityMappingRuleTypePropertyTree == null)||(!identityMappingRuleTypePropertyTree.isLeaf())))) { + if (_other.identityMappingRuleType == null) { + this.identityMappingRuleType = null; + } else { + this.identityMappingRuleType = new ArrayList>>(); + for (IdentityMappingRuleType _item: _other.identityMappingRuleType) { + this.identityMappingRuleType.add(((_item == null)?null:_item.newCopyBuilder(this, identityMappingRuleTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfIdentityMappingRuleType >_P init(final _P _product) { + if (this.identityMappingRuleType!= null) { + final List identityMappingRuleType = new ArrayList(this.identityMappingRuleType.size()); + for (IdentityMappingRuleType.Builder> _item: this.identityMappingRuleType) { + identityMappingRuleType.add(_item.build()); + } + _product.identityMappingRuleType = identityMappingRuleType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "identityMappingRuleType" hinzu. + * + * @param identityMappingRuleType + * Werte, die zur Eigenschaft "identityMappingRuleType" hinzugefügt werden. + */ + public ListOfIdentityMappingRuleType.Builder<_B> addIdentityMappingRuleType(final Iterable identityMappingRuleType) { + if (identityMappingRuleType!= null) { + if (this.identityMappingRuleType == null) { + this.identityMappingRuleType = new ArrayList>>(); + } + for (IdentityMappingRuleType _item: identityMappingRuleType) { + this.identityMappingRuleType.add(new IdentityMappingRuleType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "identityMappingRuleType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param identityMappingRuleType + * Neuer Wert der Eigenschaft "identityMappingRuleType". + */ + public ListOfIdentityMappingRuleType.Builder<_B> withIdentityMappingRuleType(final Iterable identityMappingRuleType) { + if (this.identityMappingRuleType!= null) { + this.identityMappingRuleType.clear(); + } + return addIdentityMappingRuleType(identityMappingRuleType); + } + + /** + * Fügt Werte zur Eigenschaft "identityMappingRuleType" hinzu. + * + * @param identityMappingRuleType + * Werte, die zur Eigenschaft "identityMappingRuleType" hinzugefügt werden. + */ + public ListOfIdentityMappingRuleType.Builder<_B> addIdentityMappingRuleType(IdentityMappingRuleType... identityMappingRuleType) { + addIdentityMappingRuleType(Arrays.asList(identityMappingRuleType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "identityMappingRuleType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param identityMappingRuleType + * Neuer Wert der Eigenschaft "identityMappingRuleType". + */ + public ListOfIdentityMappingRuleType.Builder<_B> withIdentityMappingRuleType(IdentityMappingRuleType... identityMappingRuleType) { + withIdentityMappingRuleType(Arrays.asList(identityMappingRuleType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "IdentityMappingRuleType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.IdentityMappingRuleType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "IdentityMappingRuleType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.IdentityMappingRuleType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public IdentityMappingRuleType.Builder> addIdentityMappingRuleType() { + if (this.identityMappingRuleType == null) { + this.identityMappingRuleType = new ArrayList>>(); + } + final IdentityMappingRuleType.Builder> identityMappingRuleType_Builder = new IdentityMappingRuleType.Builder>(this, null, false); + this.identityMappingRuleType.add(identityMappingRuleType_Builder); + return identityMappingRuleType_Builder; + } + + @Override + public ListOfIdentityMappingRuleType build() { + if (_storedValue == null) { + return this.init(new ListOfIdentityMappingRuleType()); + } else { + return ((ListOfIdentityMappingRuleType) _storedValue); + } + } + + public ListOfIdentityMappingRuleType.Builder<_B> copyOf(final ListOfIdentityMappingRuleType _other) { + _other.copyTo(this); + return this; + } + + public ListOfIdentityMappingRuleType.Builder<_B> copyOf(final ListOfIdentityMappingRuleType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfIdentityMappingRuleType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfIdentityMappingRuleType.Select _root() { + return new ListOfIdentityMappingRuleType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private IdentityMappingRuleType.Selector> identityMappingRuleType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.identityMappingRuleType!= null) { + products.put("identityMappingRuleType", this.identityMappingRuleType.init()); + } + return products; + } + + public IdentityMappingRuleType.Selector> identityMappingRuleType() { + return ((this.identityMappingRuleType == null)?this.identityMappingRuleType = new IdentityMappingRuleType.Selector>(this._root, this, "identityMappingRuleType"):this.identityMappingRuleType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt16.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt16.java new file mode 100644 index 000000000..5c790aac5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt16.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfInt16 complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfInt16">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Int16" type="{http://www.w3.org/2001/XMLSchema}short" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfInt16", propOrder = { + "int16" +}) +public class ListOfInt16 { + + @XmlElement(name = "Int16", type = Short.class) + protected List int16; + + /** + * Gets the value of the int16 property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the int16 property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getInt16().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Short } + * + * + */ + public List getInt16() { + if (int16 == null) { + int16 = new ArrayList(); + } + return this.int16; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfInt16 .Builder<_B> _other) { + if (this.int16 == null) { + _other.int16 = null; + } else { + _other.int16 = new ArrayList(); + for (Short _item: this.int16) { + _other.int16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfInt16 .Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfInt16 .Builder<_B>(_parentBuilder, this, true); + } + + public ListOfInt16 .Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfInt16 .Builder builder() { + return new ListOfInt16 .Builder(null, null, false); + } + + public static<_B >ListOfInt16 .Builder<_B> copyOf(final ListOfInt16 _other) { + final ListOfInt16 .Builder<_B> _newBuilder = new ListOfInt16 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfInt16 .Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree int16PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("int16")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(int16PropertyTree!= null):((int16PropertyTree == null)||(!int16PropertyTree.isLeaf())))) { + if (this.int16 == null) { + _other.int16 = null; + } else { + _other.int16 = new ArrayList(); + for (Short _item: this.int16) { + _other.int16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfInt16 .Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfInt16 .Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfInt16 .Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfInt16 .Builder<_B> copyOf(final ListOfInt16 _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfInt16 .Builder<_B> _newBuilder = new ListOfInt16 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfInt16 .Builder copyExcept(final ListOfInt16 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfInt16 .Builder copyOnly(final ListOfInt16 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfInt16 _storedValue; + private List int16; + + public Builder(final _B _parentBuilder, final ListOfInt16 _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.int16 == null) { + this.int16 = null; + } else { + this.int16 = new ArrayList(); + for (Short _item: _other.int16) { + this.int16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfInt16 _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree int16PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("int16")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(int16PropertyTree!= null):((int16PropertyTree == null)||(!int16PropertyTree.isLeaf())))) { + if (_other.int16 == null) { + this.int16 = null; + } else { + this.int16 = new ArrayList(); + for (Short _item: _other.int16) { + this.int16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfInt16 >_P init(final _P _product) { + if (this.int16 != null) { + final List int16 = new ArrayList(this.int16 .size()); + for (Buildable _item: this.int16) { + int16 .add(((Short) _item.build())); + } + _product.int16 = int16; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "int16" hinzu. + * + * @param int16 + * Werte, die zur Eigenschaft "int16" hinzugefügt werden. + */ + public ListOfInt16 .Builder<_B> addInt16(final Iterable int16) { + if (int16 != null) { + if (this.int16 == null) { + this.int16 = new ArrayList(); + } + for (Short _item: int16) { + this.int16 .add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "int16" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param int16 + * Neuer Wert der Eigenschaft "int16". + */ + public ListOfInt16 .Builder<_B> withInt16(final Iterable int16) { + if (this.int16 != null) { + this.int16 .clear(); + } + return addInt16(int16); + } + + /** + * Fügt Werte zur Eigenschaft "int16" hinzu. + * + * @param int16 + * Werte, die zur Eigenschaft "int16" hinzugefügt werden. + */ + public ListOfInt16 .Builder<_B> addInt16(Short... int16) { + addInt16(Arrays.asList(int16)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "int16" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param int16 + * Neuer Wert der Eigenschaft "int16". + */ + public ListOfInt16 .Builder<_B> withInt16(Short... int16) { + withInt16(Arrays.asList(int16)); + return this; + } + + @Override + public ListOfInt16 build() { + if (_storedValue == null) { + return this.init(new ListOfInt16()); + } else { + return ((ListOfInt16) _storedValue); + } + } + + public ListOfInt16 .Builder<_B> copyOf(final ListOfInt16 _other) { + _other.copyTo(this); + return this; + } + + public ListOfInt16 .Builder<_B> copyOf(final ListOfInt16 .Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfInt16 .Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfInt16 .Select _root() { + return new ListOfInt16 .Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> int16 = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.int16 != null) { + products.put("int16", this.int16 .init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> int16() { + return ((this.int16 == null)?this.int16 = new com.kscs.util.jaxb.Selector>(this._root, this, "int16"):this.int16); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt32.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt32.java new file mode 100644 index 000000000..b7904aa06 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt32.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfInt32 complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfInt32">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Int32" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfInt32", propOrder = { + "int32" +}) +public class ListOfInt32 { + + @XmlElement(name = "Int32", type = Integer.class) + protected List int32; + + /** + * Gets the value of the int32 property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the int32 property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getInt32().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Integer } + * + * + */ + public List getInt32() { + if (int32 == null) { + int32 = new ArrayList(); + } + return this.int32; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfInt32 .Builder<_B> _other) { + if (this.int32 == null) { + _other.int32 = null; + } else { + _other.int32 = new ArrayList(); + for (Integer _item: this.int32) { + _other.int32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfInt32 .Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfInt32 .Builder<_B>(_parentBuilder, this, true); + } + + public ListOfInt32 .Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfInt32 .Builder builder() { + return new ListOfInt32 .Builder(null, null, false); + } + + public static<_B >ListOfInt32 .Builder<_B> copyOf(final ListOfInt32 _other) { + final ListOfInt32 .Builder<_B> _newBuilder = new ListOfInt32 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfInt32 .Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree int32PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("int32")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(int32PropertyTree!= null):((int32PropertyTree == null)||(!int32PropertyTree.isLeaf())))) { + if (this.int32 == null) { + _other.int32 = null; + } else { + _other.int32 = new ArrayList(); + for (Integer _item: this.int32) { + _other.int32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfInt32 .Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfInt32 .Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfInt32 .Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfInt32 .Builder<_B> copyOf(final ListOfInt32 _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfInt32 .Builder<_B> _newBuilder = new ListOfInt32 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfInt32 .Builder copyExcept(final ListOfInt32 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfInt32 .Builder copyOnly(final ListOfInt32 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfInt32 _storedValue; + private List int32; + + public Builder(final _B _parentBuilder, final ListOfInt32 _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.int32 == null) { + this.int32 = null; + } else { + this.int32 = new ArrayList(); + for (Integer _item: _other.int32) { + this.int32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfInt32 _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree int32PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("int32")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(int32PropertyTree!= null):((int32PropertyTree == null)||(!int32PropertyTree.isLeaf())))) { + if (_other.int32 == null) { + this.int32 = null; + } else { + this.int32 = new ArrayList(); + for (Integer _item: _other.int32) { + this.int32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfInt32 >_P init(final _P _product) { + if (this.int32 != null) { + final List int32 = new ArrayList(this.int32 .size()); + for (Buildable _item: this.int32) { + int32 .add(((Integer) _item.build())); + } + _product.int32 = int32; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "int32" hinzu. + * + * @param int32 + * Werte, die zur Eigenschaft "int32" hinzugefügt werden. + */ + public ListOfInt32 .Builder<_B> addInt32(final Iterable int32) { + if (int32 != null) { + if (this.int32 == null) { + this.int32 = new ArrayList(); + } + for (Integer _item: int32) { + this.int32 .add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "int32" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param int32 + * Neuer Wert der Eigenschaft "int32". + */ + public ListOfInt32 .Builder<_B> withInt32(final Iterable int32) { + if (this.int32 != null) { + this.int32 .clear(); + } + return addInt32(int32); + } + + /** + * Fügt Werte zur Eigenschaft "int32" hinzu. + * + * @param int32 + * Werte, die zur Eigenschaft "int32" hinzugefügt werden. + */ + public ListOfInt32 .Builder<_B> addInt32(Integer... int32) { + addInt32(Arrays.asList(int32)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "int32" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param int32 + * Neuer Wert der Eigenschaft "int32". + */ + public ListOfInt32 .Builder<_B> withInt32(Integer... int32) { + withInt32(Arrays.asList(int32)); + return this; + } + + @Override + public ListOfInt32 build() { + if (_storedValue == null) { + return this.init(new ListOfInt32()); + } else { + return ((ListOfInt32) _storedValue); + } + } + + public ListOfInt32 .Builder<_B> copyOf(final ListOfInt32 _other) { + _other.copyTo(this); + return this; + } + + public ListOfInt32 .Builder<_B> copyOf(final ListOfInt32 .Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfInt32 .Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfInt32 .Select _root() { + return new ListOfInt32 .Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> int32 = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.int32 != null) { + products.put("int32", this.int32 .init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> int32() { + return ((this.int32 == null)?this.int32 = new com.kscs.util.jaxb.Selector>(this._root, this, "int32"):this.int32); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt64.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt64.java new file mode 100644 index 000000000..cb1f92802 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfInt64.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfInt64 complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfInt64">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Int64" type="{http://www.w3.org/2001/XMLSchema}long" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfInt64", propOrder = { + "int64" +}) +public class ListOfInt64 { + + @XmlElement(name = "Int64", type = Long.class) + protected List int64; + + /** + * Gets the value of the int64 property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the int64 property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getInt64().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getInt64() { + if (int64 == null) { + int64 = new ArrayList(); + } + return this.int64; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfInt64 .Builder<_B> _other) { + if (this.int64 == null) { + _other.int64 = null; + } else { + _other.int64 = new ArrayList(); + for (Long _item: this.int64) { + _other.int64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfInt64 .Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfInt64 .Builder<_B>(_parentBuilder, this, true); + } + + public ListOfInt64 .Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfInt64 .Builder builder() { + return new ListOfInt64 .Builder(null, null, false); + } + + public static<_B >ListOfInt64 .Builder<_B> copyOf(final ListOfInt64 _other) { + final ListOfInt64 .Builder<_B> _newBuilder = new ListOfInt64 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfInt64 .Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree int64PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("int64")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(int64PropertyTree!= null):((int64PropertyTree == null)||(!int64PropertyTree.isLeaf())))) { + if (this.int64 == null) { + _other.int64 = null; + } else { + _other.int64 = new ArrayList(); + for (Long _item: this.int64) { + _other.int64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfInt64 .Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfInt64 .Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfInt64 .Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfInt64 .Builder<_B> copyOf(final ListOfInt64 _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfInt64 .Builder<_B> _newBuilder = new ListOfInt64 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfInt64 .Builder copyExcept(final ListOfInt64 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfInt64 .Builder copyOnly(final ListOfInt64 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfInt64 _storedValue; + private List int64; + + public Builder(final _B _parentBuilder, final ListOfInt64 _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.int64 == null) { + this.int64 = null; + } else { + this.int64 = new ArrayList(); + for (Long _item: _other.int64) { + this.int64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfInt64 _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree int64PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("int64")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(int64PropertyTree!= null):((int64PropertyTree == null)||(!int64PropertyTree.isLeaf())))) { + if (_other.int64 == null) { + this.int64 = null; + } else { + this.int64 = new ArrayList(); + for (Long _item: _other.int64) { + this.int64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfInt64 >_P init(final _P _product) { + if (this.int64 != null) { + final List int64 = new ArrayList(this.int64 .size()); + for (Buildable _item: this.int64) { + int64 .add(((Long) _item.build())); + } + _product.int64 = int64; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "int64" hinzu. + * + * @param int64 + * Werte, die zur Eigenschaft "int64" hinzugefügt werden. + */ + public ListOfInt64 .Builder<_B> addInt64(final Iterable int64) { + if (int64 != null) { + if (this.int64 == null) { + this.int64 = new ArrayList(); + } + for (Long _item: int64) { + this.int64 .add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "int64" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param int64 + * Neuer Wert der Eigenschaft "int64". + */ + public ListOfInt64 .Builder<_B> withInt64(final Iterable int64) { + if (this.int64 != null) { + this.int64 .clear(); + } + return addInt64(int64); + } + + /** + * Fügt Werte zur Eigenschaft "int64" hinzu. + * + * @param int64 + * Werte, die zur Eigenschaft "int64" hinzugefügt werden. + */ + public ListOfInt64 .Builder<_B> addInt64(Long... int64) { + addInt64(Arrays.asList(int64)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "int64" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param int64 + * Neuer Wert der Eigenschaft "int64". + */ + public ListOfInt64 .Builder<_B> withInt64(Long... int64) { + withInt64(Arrays.asList(int64)); + return this; + } + + @Override + public ListOfInt64 build() { + if (_storedValue == null) { + return this.init(new ListOfInt64()); + } else { + return ((ListOfInt64) _storedValue); + } + } + + public ListOfInt64 .Builder<_B> copyOf(final ListOfInt64 _other) { + _other.copyTo(this); + return this; + } + + public ListOfInt64 .Builder<_B> copyOf(final ListOfInt64 .Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfInt64 .Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfInt64 .Select _root() { + return new ListOfInt64 .Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> int64 = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.int64 != null) { + products.put("int64", this.int64 .init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> int64() { + return ((this.int64 == null)?this.int64 = new com.kscs.util.jaxb.Selector>(this._root, this, "int64"):this.int64); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetMessageContentMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetMessageContentMask.java new file mode 100644 index 000000000..e1f35a504 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetMessageContentMask.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfJsonDataSetMessageContentMask complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfJsonDataSetMessageContentMask">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="JsonDataSetMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonDataSetMessageContentMask" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfJsonDataSetMessageContentMask", propOrder = { + "jsonDataSetMessageContentMask" +}) +public class ListOfJsonDataSetMessageContentMask { + + @XmlElement(name = "JsonDataSetMessageContentMask", type = Long.class) + @XmlSchemaType(name = "unsignedInt") + protected List jsonDataSetMessageContentMask; + + /** + * Gets the value of the jsonDataSetMessageContentMask property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the jsonDataSetMessageContentMask property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getJsonDataSetMessageContentMask().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getJsonDataSetMessageContentMask() { + if (jsonDataSetMessageContentMask == null) { + jsonDataSetMessageContentMask = new ArrayList(); + } + return this.jsonDataSetMessageContentMask; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonDataSetMessageContentMask.Builder<_B> _other) { + if (this.jsonDataSetMessageContentMask == null) { + _other.jsonDataSetMessageContentMask = null; + } else { + _other.jsonDataSetMessageContentMask = new ArrayList(); + for (Long _item: this.jsonDataSetMessageContentMask) { + _other.jsonDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfJsonDataSetMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfJsonDataSetMessageContentMask.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfJsonDataSetMessageContentMask.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfJsonDataSetMessageContentMask.Builder builder() { + return new ListOfJsonDataSetMessageContentMask.Builder(null, null, false); + } + + public static<_B >ListOfJsonDataSetMessageContentMask.Builder<_B> copyOf(final ListOfJsonDataSetMessageContentMask _other) { + final ListOfJsonDataSetMessageContentMask.Builder<_B> _newBuilder = new ListOfJsonDataSetMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonDataSetMessageContentMask.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree jsonDataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonDataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonDataSetMessageContentMaskPropertyTree!= null):((jsonDataSetMessageContentMaskPropertyTree == null)||(!jsonDataSetMessageContentMaskPropertyTree.isLeaf())))) { + if (this.jsonDataSetMessageContentMask == null) { + _other.jsonDataSetMessageContentMask = null; + } else { + _other.jsonDataSetMessageContentMask = new ArrayList(); + for (Long _item: this.jsonDataSetMessageContentMask) { + _other.jsonDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfJsonDataSetMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfJsonDataSetMessageContentMask.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfJsonDataSetMessageContentMask.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfJsonDataSetMessageContentMask.Builder<_B> copyOf(final ListOfJsonDataSetMessageContentMask _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfJsonDataSetMessageContentMask.Builder<_B> _newBuilder = new ListOfJsonDataSetMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfJsonDataSetMessageContentMask.Builder copyExcept(final ListOfJsonDataSetMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfJsonDataSetMessageContentMask.Builder copyOnly(final ListOfJsonDataSetMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfJsonDataSetMessageContentMask _storedValue; + private List jsonDataSetMessageContentMask; + + public Builder(final _B _parentBuilder, final ListOfJsonDataSetMessageContentMask _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.jsonDataSetMessageContentMask == null) { + this.jsonDataSetMessageContentMask = null; + } else { + this.jsonDataSetMessageContentMask = new ArrayList(); + for (Long _item: _other.jsonDataSetMessageContentMask) { + this.jsonDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfJsonDataSetMessageContentMask _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree jsonDataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonDataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonDataSetMessageContentMaskPropertyTree!= null):((jsonDataSetMessageContentMaskPropertyTree == null)||(!jsonDataSetMessageContentMaskPropertyTree.isLeaf())))) { + if (_other.jsonDataSetMessageContentMask == null) { + this.jsonDataSetMessageContentMask = null; + } else { + this.jsonDataSetMessageContentMask = new ArrayList(); + for (Long _item: _other.jsonDataSetMessageContentMask) { + this.jsonDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfJsonDataSetMessageContentMask >_P init(final _P _product) { + if (this.jsonDataSetMessageContentMask!= null) { + final List jsonDataSetMessageContentMask = new ArrayList(this.jsonDataSetMessageContentMask.size()); + for (Buildable _item: this.jsonDataSetMessageContentMask) { + jsonDataSetMessageContentMask.add(((Long) _item.build())); + } + _product.jsonDataSetMessageContentMask = jsonDataSetMessageContentMask; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "jsonDataSetMessageContentMask" hinzu. + * + * @param jsonDataSetMessageContentMask + * Werte, die zur Eigenschaft "jsonDataSetMessageContentMask" hinzugefügt werden. + */ + public ListOfJsonDataSetMessageContentMask.Builder<_B> addJsonDataSetMessageContentMask(final Iterable jsonDataSetMessageContentMask) { + if (jsonDataSetMessageContentMask!= null) { + if (this.jsonDataSetMessageContentMask == null) { + this.jsonDataSetMessageContentMask = new ArrayList(); + } + for (Long _item: jsonDataSetMessageContentMask) { + this.jsonDataSetMessageContentMask.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonDataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonDataSetMessageContentMask + * Neuer Wert der Eigenschaft "jsonDataSetMessageContentMask". + */ + public ListOfJsonDataSetMessageContentMask.Builder<_B> withJsonDataSetMessageContentMask(final Iterable jsonDataSetMessageContentMask) { + if (this.jsonDataSetMessageContentMask!= null) { + this.jsonDataSetMessageContentMask.clear(); + } + return addJsonDataSetMessageContentMask(jsonDataSetMessageContentMask); + } + + /** + * Fügt Werte zur Eigenschaft "jsonDataSetMessageContentMask" hinzu. + * + * @param jsonDataSetMessageContentMask + * Werte, die zur Eigenschaft "jsonDataSetMessageContentMask" hinzugefügt werden. + */ + public ListOfJsonDataSetMessageContentMask.Builder<_B> addJsonDataSetMessageContentMask(Long... jsonDataSetMessageContentMask) { + addJsonDataSetMessageContentMask(Arrays.asList(jsonDataSetMessageContentMask)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonDataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonDataSetMessageContentMask + * Neuer Wert der Eigenschaft "jsonDataSetMessageContentMask". + */ + public ListOfJsonDataSetMessageContentMask.Builder<_B> withJsonDataSetMessageContentMask(Long... jsonDataSetMessageContentMask) { + withJsonDataSetMessageContentMask(Arrays.asList(jsonDataSetMessageContentMask)); + return this; + } + + @Override + public ListOfJsonDataSetMessageContentMask build() { + if (_storedValue == null) { + return this.init(new ListOfJsonDataSetMessageContentMask()); + } else { + return ((ListOfJsonDataSetMessageContentMask) _storedValue); + } + } + + public ListOfJsonDataSetMessageContentMask.Builder<_B> copyOf(final ListOfJsonDataSetMessageContentMask _other) { + _other.copyTo(this); + return this; + } + + public ListOfJsonDataSetMessageContentMask.Builder<_B> copyOf(final ListOfJsonDataSetMessageContentMask.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfJsonDataSetMessageContentMask.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfJsonDataSetMessageContentMask.Select _root() { + return new ListOfJsonDataSetMessageContentMask.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> jsonDataSetMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.jsonDataSetMessageContentMask!= null) { + products.put("jsonDataSetMessageContentMask", this.jsonDataSetMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> jsonDataSetMessageContentMask() { + return ((this.jsonDataSetMessageContentMask == null)?this.jsonDataSetMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "jsonDataSetMessageContentMask"):this.jsonDataSetMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetReaderMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetReaderMessageDataType.java new file mode 100644 index 000000000..df1f37556 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetReaderMessageDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfJsonDataSetReaderMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfJsonDataSetReaderMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="JsonDataSetReaderMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonDataSetReaderMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfJsonDataSetReaderMessageDataType", propOrder = { + "jsonDataSetReaderMessageDataType" +}) +public class ListOfJsonDataSetReaderMessageDataType { + + @XmlElement(name = "JsonDataSetReaderMessageDataType", nillable = true) + protected List jsonDataSetReaderMessageDataType; + + /** + * Gets the value of the jsonDataSetReaderMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the jsonDataSetReaderMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getJsonDataSetReaderMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link JsonDataSetReaderMessageDataType } + * + * + */ + public List getJsonDataSetReaderMessageDataType() { + if (jsonDataSetReaderMessageDataType == null) { + jsonDataSetReaderMessageDataType = new ArrayList(); + } + return this.jsonDataSetReaderMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonDataSetReaderMessageDataType.Builder<_B> _other) { + if (this.jsonDataSetReaderMessageDataType == null) { + _other.jsonDataSetReaderMessageDataType = null; + } else { + _other.jsonDataSetReaderMessageDataType = new ArrayList>>(); + for (JsonDataSetReaderMessageDataType _item: this.jsonDataSetReaderMessageDataType) { + _other.jsonDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfJsonDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfJsonDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfJsonDataSetReaderMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfJsonDataSetReaderMessageDataType.Builder builder() { + return new ListOfJsonDataSetReaderMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfJsonDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetReaderMessageDataType _other) { + final ListOfJsonDataSetReaderMessageDataType.Builder<_B> _newBuilder = new ListOfJsonDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonDataSetReaderMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree jsonDataSetReaderMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonDataSetReaderMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonDataSetReaderMessageDataTypePropertyTree!= null):((jsonDataSetReaderMessageDataTypePropertyTree == null)||(!jsonDataSetReaderMessageDataTypePropertyTree.isLeaf())))) { + if (this.jsonDataSetReaderMessageDataType == null) { + _other.jsonDataSetReaderMessageDataType = null; + } else { + _other.jsonDataSetReaderMessageDataType = new ArrayList>>(); + for (JsonDataSetReaderMessageDataType _item: this.jsonDataSetReaderMessageDataType) { + _other.jsonDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, jsonDataSetReaderMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfJsonDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfJsonDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfJsonDataSetReaderMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfJsonDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfJsonDataSetReaderMessageDataType.Builder<_B> _newBuilder = new ListOfJsonDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfJsonDataSetReaderMessageDataType.Builder copyExcept(final ListOfJsonDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfJsonDataSetReaderMessageDataType.Builder copyOnly(final ListOfJsonDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfJsonDataSetReaderMessageDataType _storedValue; + private List>> jsonDataSetReaderMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfJsonDataSetReaderMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.jsonDataSetReaderMessageDataType == null) { + this.jsonDataSetReaderMessageDataType = null; + } else { + this.jsonDataSetReaderMessageDataType = new ArrayList>>(); + for (JsonDataSetReaderMessageDataType _item: _other.jsonDataSetReaderMessageDataType) { + this.jsonDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfJsonDataSetReaderMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree jsonDataSetReaderMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonDataSetReaderMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonDataSetReaderMessageDataTypePropertyTree!= null):((jsonDataSetReaderMessageDataTypePropertyTree == null)||(!jsonDataSetReaderMessageDataTypePropertyTree.isLeaf())))) { + if (_other.jsonDataSetReaderMessageDataType == null) { + this.jsonDataSetReaderMessageDataType = null; + } else { + this.jsonDataSetReaderMessageDataType = new ArrayList>>(); + for (JsonDataSetReaderMessageDataType _item: _other.jsonDataSetReaderMessageDataType) { + this.jsonDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, jsonDataSetReaderMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfJsonDataSetReaderMessageDataType >_P init(final _P _product) { + if (this.jsonDataSetReaderMessageDataType!= null) { + final List jsonDataSetReaderMessageDataType = new ArrayList(this.jsonDataSetReaderMessageDataType.size()); + for (JsonDataSetReaderMessageDataType.Builder> _item: this.jsonDataSetReaderMessageDataType) { + jsonDataSetReaderMessageDataType.add(_item.build()); + } + _product.jsonDataSetReaderMessageDataType = jsonDataSetReaderMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "jsonDataSetReaderMessageDataType" hinzu. + * + * @param jsonDataSetReaderMessageDataType + * Werte, die zur Eigenschaft "jsonDataSetReaderMessageDataType" hinzugefügt + * werden. + */ + public ListOfJsonDataSetReaderMessageDataType.Builder<_B> addJsonDataSetReaderMessageDataType(final Iterable jsonDataSetReaderMessageDataType) { + if (jsonDataSetReaderMessageDataType!= null) { + if (this.jsonDataSetReaderMessageDataType == null) { + this.jsonDataSetReaderMessageDataType = new ArrayList>>(); + } + for (JsonDataSetReaderMessageDataType _item: jsonDataSetReaderMessageDataType) { + this.jsonDataSetReaderMessageDataType.add(new JsonDataSetReaderMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonDataSetReaderMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonDataSetReaderMessageDataType + * Neuer Wert der Eigenschaft "jsonDataSetReaderMessageDataType". + */ + public ListOfJsonDataSetReaderMessageDataType.Builder<_B> withJsonDataSetReaderMessageDataType(final Iterable jsonDataSetReaderMessageDataType) { + if (this.jsonDataSetReaderMessageDataType!= null) { + this.jsonDataSetReaderMessageDataType.clear(); + } + return addJsonDataSetReaderMessageDataType(jsonDataSetReaderMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "jsonDataSetReaderMessageDataType" hinzu. + * + * @param jsonDataSetReaderMessageDataType + * Werte, die zur Eigenschaft "jsonDataSetReaderMessageDataType" hinzugefügt + * werden. + */ + public ListOfJsonDataSetReaderMessageDataType.Builder<_B> addJsonDataSetReaderMessageDataType(JsonDataSetReaderMessageDataType... jsonDataSetReaderMessageDataType) { + addJsonDataSetReaderMessageDataType(Arrays.asList(jsonDataSetReaderMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonDataSetReaderMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonDataSetReaderMessageDataType + * Neuer Wert der Eigenschaft "jsonDataSetReaderMessageDataType". + */ + public ListOfJsonDataSetReaderMessageDataType.Builder<_B> withJsonDataSetReaderMessageDataType(JsonDataSetReaderMessageDataType... jsonDataSetReaderMessageDataType) { + withJsonDataSetReaderMessageDataType(Arrays.asList(jsonDataSetReaderMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "JsonDataSetReaderMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.JsonDataSetReaderMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "JsonDataSetReaderMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.JsonDataSetReaderMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public JsonDataSetReaderMessageDataType.Builder> addJsonDataSetReaderMessageDataType() { + if (this.jsonDataSetReaderMessageDataType == null) { + this.jsonDataSetReaderMessageDataType = new ArrayList>>(); + } + final JsonDataSetReaderMessageDataType.Builder> jsonDataSetReaderMessageDataType_Builder = new JsonDataSetReaderMessageDataType.Builder>(this, null, false); + this.jsonDataSetReaderMessageDataType.add(jsonDataSetReaderMessageDataType_Builder); + return jsonDataSetReaderMessageDataType_Builder; + } + + @Override + public ListOfJsonDataSetReaderMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfJsonDataSetReaderMessageDataType()); + } else { + return ((ListOfJsonDataSetReaderMessageDataType) _storedValue); + } + } + + public ListOfJsonDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetReaderMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfJsonDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetReaderMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfJsonDataSetReaderMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfJsonDataSetReaderMessageDataType.Select _root() { + return new ListOfJsonDataSetReaderMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private JsonDataSetReaderMessageDataType.Selector> jsonDataSetReaderMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.jsonDataSetReaderMessageDataType!= null) { + products.put("jsonDataSetReaderMessageDataType", this.jsonDataSetReaderMessageDataType.init()); + } + return products; + } + + public JsonDataSetReaderMessageDataType.Selector> jsonDataSetReaderMessageDataType() { + return ((this.jsonDataSetReaderMessageDataType == null)?this.jsonDataSetReaderMessageDataType = new JsonDataSetReaderMessageDataType.Selector>(this._root, this, "jsonDataSetReaderMessageDataType"):this.jsonDataSetReaderMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetWriterMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetWriterMessageDataType.java new file mode 100644 index 000000000..59a719b3b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonDataSetWriterMessageDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfJsonDataSetWriterMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfJsonDataSetWriterMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="JsonDataSetWriterMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonDataSetWriterMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfJsonDataSetWriterMessageDataType", propOrder = { + "jsonDataSetWriterMessageDataType" +}) +public class ListOfJsonDataSetWriterMessageDataType { + + @XmlElement(name = "JsonDataSetWriterMessageDataType", nillable = true) + protected List jsonDataSetWriterMessageDataType; + + /** + * Gets the value of the jsonDataSetWriterMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the jsonDataSetWriterMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getJsonDataSetWriterMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link JsonDataSetWriterMessageDataType } + * + * + */ + public List getJsonDataSetWriterMessageDataType() { + if (jsonDataSetWriterMessageDataType == null) { + jsonDataSetWriterMessageDataType = new ArrayList(); + } + return this.jsonDataSetWriterMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonDataSetWriterMessageDataType.Builder<_B> _other) { + if (this.jsonDataSetWriterMessageDataType == null) { + _other.jsonDataSetWriterMessageDataType = null; + } else { + _other.jsonDataSetWriterMessageDataType = new ArrayList>>(); + for (JsonDataSetWriterMessageDataType _item: this.jsonDataSetWriterMessageDataType) { + _other.jsonDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfJsonDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfJsonDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfJsonDataSetWriterMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfJsonDataSetWriterMessageDataType.Builder builder() { + return new ListOfJsonDataSetWriterMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfJsonDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetWriterMessageDataType _other) { + final ListOfJsonDataSetWriterMessageDataType.Builder<_B> _newBuilder = new ListOfJsonDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonDataSetWriterMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree jsonDataSetWriterMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonDataSetWriterMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonDataSetWriterMessageDataTypePropertyTree!= null):((jsonDataSetWriterMessageDataTypePropertyTree == null)||(!jsonDataSetWriterMessageDataTypePropertyTree.isLeaf())))) { + if (this.jsonDataSetWriterMessageDataType == null) { + _other.jsonDataSetWriterMessageDataType = null; + } else { + _other.jsonDataSetWriterMessageDataType = new ArrayList>>(); + for (JsonDataSetWriterMessageDataType _item: this.jsonDataSetWriterMessageDataType) { + _other.jsonDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, jsonDataSetWriterMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfJsonDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfJsonDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfJsonDataSetWriterMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfJsonDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfJsonDataSetWriterMessageDataType.Builder<_B> _newBuilder = new ListOfJsonDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfJsonDataSetWriterMessageDataType.Builder copyExcept(final ListOfJsonDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfJsonDataSetWriterMessageDataType.Builder copyOnly(final ListOfJsonDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfJsonDataSetWriterMessageDataType _storedValue; + private List>> jsonDataSetWriterMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfJsonDataSetWriterMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.jsonDataSetWriterMessageDataType == null) { + this.jsonDataSetWriterMessageDataType = null; + } else { + this.jsonDataSetWriterMessageDataType = new ArrayList>>(); + for (JsonDataSetWriterMessageDataType _item: _other.jsonDataSetWriterMessageDataType) { + this.jsonDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfJsonDataSetWriterMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree jsonDataSetWriterMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonDataSetWriterMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonDataSetWriterMessageDataTypePropertyTree!= null):((jsonDataSetWriterMessageDataTypePropertyTree == null)||(!jsonDataSetWriterMessageDataTypePropertyTree.isLeaf())))) { + if (_other.jsonDataSetWriterMessageDataType == null) { + this.jsonDataSetWriterMessageDataType = null; + } else { + this.jsonDataSetWriterMessageDataType = new ArrayList>>(); + for (JsonDataSetWriterMessageDataType _item: _other.jsonDataSetWriterMessageDataType) { + this.jsonDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, jsonDataSetWriterMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfJsonDataSetWriterMessageDataType >_P init(final _P _product) { + if (this.jsonDataSetWriterMessageDataType!= null) { + final List jsonDataSetWriterMessageDataType = new ArrayList(this.jsonDataSetWriterMessageDataType.size()); + for (JsonDataSetWriterMessageDataType.Builder> _item: this.jsonDataSetWriterMessageDataType) { + jsonDataSetWriterMessageDataType.add(_item.build()); + } + _product.jsonDataSetWriterMessageDataType = jsonDataSetWriterMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "jsonDataSetWriterMessageDataType" hinzu. + * + * @param jsonDataSetWriterMessageDataType + * Werte, die zur Eigenschaft "jsonDataSetWriterMessageDataType" hinzugefügt + * werden. + */ + public ListOfJsonDataSetWriterMessageDataType.Builder<_B> addJsonDataSetWriterMessageDataType(final Iterable jsonDataSetWriterMessageDataType) { + if (jsonDataSetWriterMessageDataType!= null) { + if (this.jsonDataSetWriterMessageDataType == null) { + this.jsonDataSetWriterMessageDataType = new ArrayList>>(); + } + for (JsonDataSetWriterMessageDataType _item: jsonDataSetWriterMessageDataType) { + this.jsonDataSetWriterMessageDataType.add(new JsonDataSetWriterMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonDataSetWriterMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonDataSetWriterMessageDataType + * Neuer Wert der Eigenschaft "jsonDataSetWriterMessageDataType". + */ + public ListOfJsonDataSetWriterMessageDataType.Builder<_B> withJsonDataSetWriterMessageDataType(final Iterable jsonDataSetWriterMessageDataType) { + if (this.jsonDataSetWriterMessageDataType!= null) { + this.jsonDataSetWriterMessageDataType.clear(); + } + return addJsonDataSetWriterMessageDataType(jsonDataSetWriterMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "jsonDataSetWriterMessageDataType" hinzu. + * + * @param jsonDataSetWriterMessageDataType + * Werte, die zur Eigenschaft "jsonDataSetWriterMessageDataType" hinzugefügt + * werden. + */ + public ListOfJsonDataSetWriterMessageDataType.Builder<_B> addJsonDataSetWriterMessageDataType(JsonDataSetWriterMessageDataType... jsonDataSetWriterMessageDataType) { + addJsonDataSetWriterMessageDataType(Arrays.asList(jsonDataSetWriterMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonDataSetWriterMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonDataSetWriterMessageDataType + * Neuer Wert der Eigenschaft "jsonDataSetWriterMessageDataType". + */ + public ListOfJsonDataSetWriterMessageDataType.Builder<_B> withJsonDataSetWriterMessageDataType(JsonDataSetWriterMessageDataType... jsonDataSetWriterMessageDataType) { + withJsonDataSetWriterMessageDataType(Arrays.asList(jsonDataSetWriterMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "JsonDataSetWriterMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.JsonDataSetWriterMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "JsonDataSetWriterMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.JsonDataSetWriterMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public JsonDataSetWriterMessageDataType.Builder> addJsonDataSetWriterMessageDataType() { + if (this.jsonDataSetWriterMessageDataType == null) { + this.jsonDataSetWriterMessageDataType = new ArrayList>>(); + } + final JsonDataSetWriterMessageDataType.Builder> jsonDataSetWriterMessageDataType_Builder = new JsonDataSetWriterMessageDataType.Builder>(this, null, false); + this.jsonDataSetWriterMessageDataType.add(jsonDataSetWriterMessageDataType_Builder); + return jsonDataSetWriterMessageDataType_Builder; + } + + @Override + public ListOfJsonDataSetWriterMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfJsonDataSetWriterMessageDataType()); + } else { + return ((ListOfJsonDataSetWriterMessageDataType) _storedValue); + } + } + + public ListOfJsonDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetWriterMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfJsonDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfJsonDataSetWriterMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfJsonDataSetWriterMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfJsonDataSetWriterMessageDataType.Select _root() { + return new ListOfJsonDataSetWriterMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private JsonDataSetWriterMessageDataType.Selector> jsonDataSetWriterMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.jsonDataSetWriterMessageDataType!= null) { + products.put("jsonDataSetWriterMessageDataType", this.jsonDataSetWriterMessageDataType.init()); + } + return products; + } + + public JsonDataSetWriterMessageDataType.Selector> jsonDataSetWriterMessageDataType() { + return ((this.jsonDataSetWriterMessageDataType == null)?this.jsonDataSetWriterMessageDataType = new JsonDataSetWriterMessageDataType.Selector>(this._root, this, "jsonDataSetWriterMessageDataType"):this.jsonDataSetWriterMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonNetworkMessageContentMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonNetworkMessageContentMask.java new file mode 100644 index 000000000..277938fae --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonNetworkMessageContentMask.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfJsonNetworkMessageContentMask complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfJsonNetworkMessageContentMask">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="JsonNetworkMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonNetworkMessageContentMask" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfJsonNetworkMessageContentMask", propOrder = { + "jsonNetworkMessageContentMask" +}) +public class ListOfJsonNetworkMessageContentMask { + + @XmlElement(name = "JsonNetworkMessageContentMask", type = Long.class) + @XmlSchemaType(name = "unsignedInt") + protected List jsonNetworkMessageContentMask; + + /** + * Gets the value of the jsonNetworkMessageContentMask property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the jsonNetworkMessageContentMask property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getJsonNetworkMessageContentMask().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getJsonNetworkMessageContentMask() { + if (jsonNetworkMessageContentMask == null) { + jsonNetworkMessageContentMask = new ArrayList(); + } + return this.jsonNetworkMessageContentMask; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonNetworkMessageContentMask.Builder<_B> _other) { + if (this.jsonNetworkMessageContentMask == null) { + _other.jsonNetworkMessageContentMask = null; + } else { + _other.jsonNetworkMessageContentMask = new ArrayList(); + for (Long _item: this.jsonNetworkMessageContentMask) { + _other.jsonNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfJsonNetworkMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfJsonNetworkMessageContentMask.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfJsonNetworkMessageContentMask.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfJsonNetworkMessageContentMask.Builder builder() { + return new ListOfJsonNetworkMessageContentMask.Builder(null, null, false); + } + + public static<_B >ListOfJsonNetworkMessageContentMask.Builder<_B> copyOf(final ListOfJsonNetworkMessageContentMask _other) { + final ListOfJsonNetworkMessageContentMask.Builder<_B> _newBuilder = new ListOfJsonNetworkMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonNetworkMessageContentMask.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree jsonNetworkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonNetworkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonNetworkMessageContentMaskPropertyTree!= null):((jsonNetworkMessageContentMaskPropertyTree == null)||(!jsonNetworkMessageContentMaskPropertyTree.isLeaf())))) { + if (this.jsonNetworkMessageContentMask == null) { + _other.jsonNetworkMessageContentMask = null; + } else { + _other.jsonNetworkMessageContentMask = new ArrayList(); + for (Long _item: this.jsonNetworkMessageContentMask) { + _other.jsonNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfJsonNetworkMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfJsonNetworkMessageContentMask.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfJsonNetworkMessageContentMask.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfJsonNetworkMessageContentMask.Builder<_B> copyOf(final ListOfJsonNetworkMessageContentMask _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfJsonNetworkMessageContentMask.Builder<_B> _newBuilder = new ListOfJsonNetworkMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfJsonNetworkMessageContentMask.Builder copyExcept(final ListOfJsonNetworkMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfJsonNetworkMessageContentMask.Builder copyOnly(final ListOfJsonNetworkMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfJsonNetworkMessageContentMask _storedValue; + private List jsonNetworkMessageContentMask; + + public Builder(final _B _parentBuilder, final ListOfJsonNetworkMessageContentMask _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.jsonNetworkMessageContentMask == null) { + this.jsonNetworkMessageContentMask = null; + } else { + this.jsonNetworkMessageContentMask = new ArrayList(); + for (Long _item: _other.jsonNetworkMessageContentMask) { + this.jsonNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfJsonNetworkMessageContentMask _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree jsonNetworkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonNetworkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonNetworkMessageContentMaskPropertyTree!= null):((jsonNetworkMessageContentMaskPropertyTree == null)||(!jsonNetworkMessageContentMaskPropertyTree.isLeaf())))) { + if (_other.jsonNetworkMessageContentMask == null) { + this.jsonNetworkMessageContentMask = null; + } else { + this.jsonNetworkMessageContentMask = new ArrayList(); + for (Long _item: _other.jsonNetworkMessageContentMask) { + this.jsonNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfJsonNetworkMessageContentMask >_P init(final _P _product) { + if (this.jsonNetworkMessageContentMask!= null) { + final List jsonNetworkMessageContentMask = new ArrayList(this.jsonNetworkMessageContentMask.size()); + for (Buildable _item: this.jsonNetworkMessageContentMask) { + jsonNetworkMessageContentMask.add(((Long) _item.build())); + } + _product.jsonNetworkMessageContentMask = jsonNetworkMessageContentMask; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "jsonNetworkMessageContentMask" hinzu. + * + * @param jsonNetworkMessageContentMask + * Werte, die zur Eigenschaft "jsonNetworkMessageContentMask" hinzugefügt werden. + */ + public ListOfJsonNetworkMessageContentMask.Builder<_B> addJsonNetworkMessageContentMask(final Iterable jsonNetworkMessageContentMask) { + if (jsonNetworkMessageContentMask!= null) { + if (this.jsonNetworkMessageContentMask == null) { + this.jsonNetworkMessageContentMask = new ArrayList(); + } + for (Long _item: jsonNetworkMessageContentMask) { + this.jsonNetworkMessageContentMask.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonNetworkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonNetworkMessageContentMask + * Neuer Wert der Eigenschaft "jsonNetworkMessageContentMask". + */ + public ListOfJsonNetworkMessageContentMask.Builder<_B> withJsonNetworkMessageContentMask(final Iterable jsonNetworkMessageContentMask) { + if (this.jsonNetworkMessageContentMask!= null) { + this.jsonNetworkMessageContentMask.clear(); + } + return addJsonNetworkMessageContentMask(jsonNetworkMessageContentMask); + } + + /** + * Fügt Werte zur Eigenschaft "jsonNetworkMessageContentMask" hinzu. + * + * @param jsonNetworkMessageContentMask + * Werte, die zur Eigenschaft "jsonNetworkMessageContentMask" hinzugefügt werden. + */ + public ListOfJsonNetworkMessageContentMask.Builder<_B> addJsonNetworkMessageContentMask(Long... jsonNetworkMessageContentMask) { + addJsonNetworkMessageContentMask(Arrays.asList(jsonNetworkMessageContentMask)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonNetworkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonNetworkMessageContentMask + * Neuer Wert der Eigenschaft "jsonNetworkMessageContentMask". + */ + public ListOfJsonNetworkMessageContentMask.Builder<_B> withJsonNetworkMessageContentMask(Long... jsonNetworkMessageContentMask) { + withJsonNetworkMessageContentMask(Arrays.asList(jsonNetworkMessageContentMask)); + return this; + } + + @Override + public ListOfJsonNetworkMessageContentMask build() { + if (_storedValue == null) { + return this.init(new ListOfJsonNetworkMessageContentMask()); + } else { + return ((ListOfJsonNetworkMessageContentMask) _storedValue); + } + } + + public ListOfJsonNetworkMessageContentMask.Builder<_B> copyOf(final ListOfJsonNetworkMessageContentMask _other) { + _other.copyTo(this); + return this; + } + + public ListOfJsonNetworkMessageContentMask.Builder<_B> copyOf(final ListOfJsonNetworkMessageContentMask.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfJsonNetworkMessageContentMask.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfJsonNetworkMessageContentMask.Select _root() { + return new ListOfJsonNetworkMessageContentMask.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> jsonNetworkMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.jsonNetworkMessageContentMask!= null) { + products.put("jsonNetworkMessageContentMask", this.jsonNetworkMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> jsonNetworkMessageContentMask() { + return ((this.jsonNetworkMessageContentMask == null)?this.jsonNetworkMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "jsonNetworkMessageContentMask"):this.jsonNetworkMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonWriterGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonWriterGroupMessageDataType.java new file mode 100644 index 000000000..5cd182961 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfJsonWriterGroupMessageDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfJsonWriterGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfJsonWriterGroupMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="JsonWriterGroupMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}JsonWriterGroupMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfJsonWriterGroupMessageDataType", propOrder = { + "jsonWriterGroupMessageDataType" +}) +public class ListOfJsonWriterGroupMessageDataType { + + @XmlElement(name = "JsonWriterGroupMessageDataType", nillable = true) + protected List jsonWriterGroupMessageDataType; + + /** + * Gets the value of the jsonWriterGroupMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the jsonWriterGroupMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getJsonWriterGroupMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link JsonWriterGroupMessageDataType } + * + * + */ + public List getJsonWriterGroupMessageDataType() { + if (jsonWriterGroupMessageDataType == null) { + jsonWriterGroupMessageDataType = new ArrayList(); + } + return this.jsonWriterGroupMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonWriterGroupMessageDataType.Builder<_B> _other) { + if (this.jsonWriterGroupMessageDataType == null) { + _other.jsonWriterGroupMessageDataType = null; + } else { + _other.jsonWriterGroupMessageDataType = new ArrayList>>(); + for (JsonWriterGroupMessageDataType _item: this.jsonWriterGroupMessageDataType) { + _other.jsonWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfJsonWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfJsonWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfJsonWriterGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfJsonWriterGroupMessageDataType.Builder builder() { + return new ListOfJsonWriterGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfJsonWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfJsonWriterGroupMessageDataType _other) { + final ListOfJsonWriterGroupMessageDataType.Builder<_B> _newBuilder = new ListOfJsonWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfJsonWriterGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree jsonWriterGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonWriterGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonWriterGroupMessageDataTypePropertyTree!= null):((jsonWriterGroupMessageDataTypePropertyTree == null)||(!jsonWriterGroupMessageDataTypePropertyTree.isLeaf())))) { + if (this.jsonWriterGroupMessageDataType == null) { + _other.jsonWriterGroupMessageDataType = null; + } else { + _other.jsonWriterGroupMessageDataType = new ArrayList>>(); + for (JsonWriterGroupMessageDataType _item: this.jsonWriterGroupMessageDataType) { + _other.jsonWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, jsonWriterGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfJsonWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfJsonWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfJsonWriterGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfJsonWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfJsonWriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfJsonWriterGroupMessageDataType.Builder<_B> _newBuilder = new ListOfJsonWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfJsonWriterGroupMessageDataType.Builder copyExcept(final ListOfJsonWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfJsonWriterGroupMessageDataType.Builder copyOnly(final ListOfJsonWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfJsonWriterGroupMessageDataType _storedValue; + private List>> jsonWriterGroupMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfJsonWriterGroupMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.jsonWriterGroupMessageDataType == null) { + this.jsonWriterGroupMessageDataType = null; + } else { + this.jsonWriterGroupMessageDataType = new ArrayList>>(); + for (JsonWriterGroupMessageDataType _item: _other.jsonWriterGroupMessageDataType) { + this.jsonWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfJsonWriterGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree jsonWriterGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("jsonWriterGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(jsonWriterGroupMessageDataTypePropertyTree!= null):((jsonWriterGroupMessageDataTypePropertyTree == null)||(!jsonWriterGroupMessageDataTypePropertyTree.isLeaf())))) { + if (_other.jsonWriterGroupMessageDataType == null) { + this.jsonWriterGroupMessageDataType = null; + } else { + this.jsonWriterGroupMessageDataType = new ArrayList>>(); + for (JsonWriterGroupMessageDataType _item: _other.jsonWriterGroupMessageDataType) { + this.jsonWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, jsonWriterGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfJsonWriterGroupMessageDataType >_P init(final _P _product) { + if (this.jsonWriterGroupMessageDataType!= null) { + final List jsonWriterGroupMessageDataType = new ArrayList(this.jsonWriterGroupMessageDataType.size()); + for (JsonWriterGroupMessageDataType.Builder> _item: this.jsonWriterGroupMessageDataType) { + jsonWriterGroupMessageDataType.add(_item.build()); + } + _product.jsonWriterGroupMessageDataType = jsonWriterGroupMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "jsonWriterGroupMessageDataType" hinzu. + * + * @param jsonWriterGroupMessageDataType + * Werte, die zur Eigenschaft "jsonWriterGroupMessageDataType" hinzugefügt werden. + */ + public ListOfJsonWriterGroupMessageDataType.Builder<_B> addJsonWriterGroupMessageDataType(final Iterable jsonWriterGroupMessageDataType) { + if (jsonWriterGroupMessageDataType!= null) { + if (this.jsonWriterGroupMessageDataType == null) { + this.jsonWriterGroupMessageDataType = new ArrayList>>(); + } + for (JsonWriterGroupMessageDataType _item: jsonWriterGroupMessageDataType) { + this.jsonWriterGroupMessageDataType.add(new JsonWriterGroupMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonWriterGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonWriterGroupMessageDataType + * Neuer Wert der Eigenschaft "jsonWriterGroupMessageDataType". + */ + public ListOfJsonWriterGroupMessageDataType.Builder<_B> withJsonWriterGroupMessageDataType(final Iterable jsonWriterGroupMessageDataType) { + if (this.jsonWriterGroupMessageDataType!= null) { + this.jsonWriterGroupMessageDataType.clear(); + } + return addJsonWriterGroupMessageDataType(jsonWriterGroupMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "jsonWriterGroupMessageDataType" hinzu. + * + * @param jsonWriterGroupMessageDataType + * Werte, die zur Eigenschaft "jsonWriterGroupMessageDataType" hinzugefügt werden. + */ + public ListOfJsonWriterGroupMessageDataType.Builder<_B> addJsonWriterGroupMessageDataType(JsonWriterGroupMessageDataType... jsonWriterGroupMessageDataType) { + addJsonWriterGroupMessageDataType(Arrays.asList(jsonWriterGroupMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "jsonWriterGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param jsonWriterGroupMessageDataType + * Neuer Wert der Eigenschaft "jsonWriterGroupMessageDataType". + */ + public ListOfJsonWriterGroupMessageDataType.Builder<_B> withJsonWriterGroupMessageDataType(JsonWriterGroupMessageDataType... jsonWriterGroupMessageDataType) { + withJsonWriterGroupMessageDataType(Arrays.asList(jsonWriterGroupMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "JsonWriterGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.JsonWriterGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "JsonWriterGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.JsonWriterGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public JsonWriterGroupMessageDataType.Builder> addJsonWriterGroupMessageDataType() { + if (this.jsonWriterGroupMessageDataType == null) { + this.jsonWriterGroupMessageDataType = new ArrayList>>(); + } + final JsonWriterGroupMessageDataType.Builder> jsonWriterGroupMessageDataType_Builder = new JsonWriterGroupMessageDataType.Builder>(this, null, false); + this.jsonWriterGroupMessageDataType.add(jsonWriterGroupMessageDataType_Builder); + return jsonWriterGroupMessageDataType_Builder; + } + + @Override + public ListOfJsonWriterGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfJsonWriterGroupMessageDataType()); + } else { + return ((ListOfJsonWriterGroupMessageDataType) _storedValue); + } + } + + public ListOfJsonWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfJsonWriterGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfJsonWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfJsonWriterGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfJsonWriterGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfJsonWriterGroupMessageDataType.Select _root() { + return new ListOfJsonWriterGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private JsonWriterGroupMessageDataType.Selector> jsonWriterGroupMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.jsonWriterGroupMessageDataType!= null) { + products.put("jsonWriterGroupMessageDataType", this.jsonWriterGroupMessageDataType.init()); + } + return products; + } + + public JsonWriterGroupMessageDataType.Selector> jsonWriterGroupMessageDataType() { + return ((this.jsonWriterGroupMessageDataType == null)?this.jsonWriterGroupMessageDataType = new JsonWriterGroupMessageDataType.Selector>(this._root, this, "jsonWriterGroupMessageDataType"):this.jsonWriterGroupMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfKeyValuePair.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfKeyValuePair.java new file mode 100644 index 000000000..5756cbe2b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfKeyValuePair.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfKeyValuePair complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfKeyValuePair">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="KeyValuePair" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}KeyValuePair" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfKeyValuePair", propOrder = { + "keyValuePair" +}) +public class ListOfKeyValuePair { + + @XmlElement(name = "KeyValuePair", nillable = true) + protected List keyValuePair; + + /** + * Gets the value of the keyValuePair property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the keyValuePair property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getKeyValuePair().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link KeyValuePair } + * + * + */ + public List getKeyValuePair() { + if (keyValuePair == null) { + keyValuePair = new ArrayList(); + } + return this.keyValuePair; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfKeyValuePair.Builder<_B> _other) { + if (this.keyValuePair == null) { + _other.keyValuePair = null; + } else { + _other.keyValuePair = new ArrayList>>(); + for (KeyValuePair _item: this.keyValuePair) { + _other.keyValuePair.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfKeyValuePair.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfKeyValuePair.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfKeyValuePair.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfKeyValuePair.Builder builder() { + return new ListOfKeyValuePair.Builder(null, null, false); + } + + public static<_B >ListOfKeyValuePair.Builder<_B> copyOf(final ListOfKeyValuePair _other) { + final ListOfKeyValuePair.Builder<_B> _newBuilder = new ListOfKeyValuePair.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfKeyValuePair.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree keyValuePairPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyValuePair")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyValuePairPropertyTree!= null):((keyValuePairPropertyTree == null)||(!keyValuePairPropertyTree.isLeaf())))) { + if (this.keyValuePair == null) { + _other.keyValuePair = null; + } else { + _other.keyValuePair = new ArrayList>>(); + for (KeyValuePair _item: this.keyValuePair) { + _other.keyValuePair.add(((_item == null)?null:_item.newCopyBuilder(_other, keyValuePairPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfKeyValuePair.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfKeyValuePair.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfKeyValuePair.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfKeyValuePair.Builder<_B> copyOf(final ListOfKeyValuePair _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfKeyValuePair.Builder<_B> _newBuilder = new ListOfKeyValuePair.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfKeyValuePair.Builder copyExcept(final ListOfKeyValuePair _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfKeyValuePair.Builder copyOnly(final ListOfKeyValuePair _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfKeyValuePair _storedValue; + private List>> keyValuePair; + + public Builder(final _B _parentBuilder, final ListOfKeyValuePair _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.keyValuePair == null) { + this.keyValuePair = null; + } else { + this.keyValuePair = new ArrayList>>(); + for (KeyValuePair _item: _other.keyValuePair) { + this.keyValuePair.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfKeyValuePair _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree keyValuePairPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keyValuePair")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keyValuePairPropertyTree!= null):((keyValuePairPropertyTree == null)||(!keyValuePairPropertyTree.isLeaf())))) { + if (_other.keyValuePair == null) { + this.keyValuePair = null; + } else { + this.keyValuePair = new ArrayList>>(); + for (KeyValuePair _item: _other.keyValuePair) { + this.keyValuePair.add(((_item == null)?null:_item.newCopyBuilder(this, keyValuePairPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfKeyValuePair >_P init(final _P _product) { + if (this.keyValuePair!= null) { + final List keyValuePair = new ArrayList(this.keyValuePair.size()); + for (KeyValuePair.Builder> _item: this.keyValuePair) { + keyValuePair.add(_item.build()); + } + _product.keyValuePair = keyValuePair; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "keyValuePair" hinzu. + * + * @param keyValuePair + * Werte, die zur Eigenschaft "keyValuePair" hinzugefügt werden. + */ + public ListOfKeyValuePair.Builder<_B> addKeyValuePair(final Iterable keyValuePair) { + if (keyValuePair!= null) { + if (this.keyValuePair == null) { + this.keyValuePair = new ArrayList>>(); + } + for (KeyValuePair _item: keyValuePair) { + this.keyValuePair.add(new KeyValuePair.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "keyValuePair" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param keyValuePair + * Neuer Wert der Eigenschaft "keyValuePair". + */ + public ListOfKeyValuePair.Builder<_B> withKeyValuePair(final Iterable keyValuePair) { + if (this.keyValuePair!= null) { + this.keyValuePair.clear(); + } + return addKeyValuePair(keyValuePair); + } + + /** + * Fügt Werte zur Eigenschaft "keyValuePair" hinzu. + * + * @param keyValuePair + * Werte, die zur Eigenschaft "keyValuePair" hinzugefügt werden. + */ + public ListOfKeyValuePair.Builder<_B> addKeyValuePair(KeyValuePair... keyValuePair) { + addKeyValuePair(Arrays.asList(keyValuePair)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "keyValuePair" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param keyValuePair + * Neuer Wert der Eigenschaft "keyValuePair". + */ + public ListOfKeyValuePair.Builder<_B> withKeyValuePair(KeyValuePair... keyValuePair) { + withKeyValuePair(Arrays.asList(keyValuePair)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "KeyValuePair". + * Mit {@link org.opcfoundation.ua._2008._02.types.KeyValuePair.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "KeyValuePair". + * Mit {@link org.opcfoundation.ua._2008._02.types.KeyValuePair.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public KeyValuePair.Builder> addKeyValuePair() { + if (this.keyValuePair == null) { + this.keyValuePair = new ArrayList>>(); + } + final KeyValuePair.Builder> keyValuePair_Builder = new KeyValuePair.Builder>(this, null, false); + this.keyValuePair.add(keyValuePair_Builder); + return keyValuePair_Builder; + } + + @Override + public ListOfKeyValuePair build() { + if (_storedValue == null) { + return this.init(new ListOfKeyValuePair()); + } else { + return ((ListOfKeyValuePair) _storedValue); + } + } + + public ListOfKeyValuePair.Builder<_B> copyOf(final ListOfKeyValuePair _other) { + _other.copyTo(this); + return this; + } + + public ListOfKeyValuePair.Builder<_B> copyOf(final ListOfKeyValuePair.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfKeyValuePair.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfKeyValuePair.Select _root() { + return new ListOfKeyValuePair.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private KeyValuePair.Selector> keyValuePair = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.keyValuePair!= null) { + products.put("keyValuePair", this.keyValuePair.init()); + } + return products; + } + + public KeyValuePair.Selector> keyValuePair() { + return ((this.keyValuePair == null)?this.keyValuePair = new KeyValuePair.Selector>(this._root, this, "keyValuePair"):this.keyValuePair); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfLocalizedText.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfLocalizedText.java new file mode 100644 index 000000000..09889c65a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfLocalizedText.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfLocalizedText complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfLocalizedText">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="LocalizedText" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfLocalizedText", propOrder = { + "localizedText" +}) +public class ListOfLocalizedText { + + @XmlElement(name = "LocalizedText", nillable = true) + protected List localizedText; + + /** + * Gets the value of the localizedText property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the localizedText property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getLocalizedText().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link LocalizedText } + * + * + */ + public List getLocalizedText() { + if (localizedText == null) { + localizedText = new ArrayList(); + } + return this.localizedText; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfLocalizedText.Builder<_B> _other) { + if (this.localizedText == null) { + _other.localizedText = null; + } else { + _other.localizedText = new ArrayList>>(); + for (LocalizedText _item: this.localizedText) { + _other.localizedText.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfLocalizedText.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfLocalizedText.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfLocalizedText.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfLocalizedText.Builder builder() { + return new ListOfLocalizedText.Builder(null, null, false); + } + + public static<_B >ListOfLocalizedText.Builder<_B> copyOf(final ListOfLocalizedText _other) { + final ListOfLocalizedText.Builder<_B> _newBuilder = new ListOfLocalizedText.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfLocalizedText.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree localizedTextPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localizedText")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localizedTextPropertyTree!= null):((localizedTextPropertyTree == null)||(!localizedTextPropertyTree.isLeaf())))) { + if (this.localizedText == null) { + _other.localizedText = null; + } else { + _other.localizedText = new ArrayList>>(); + for (LocalizedText _item: this.localizedText) { + _other.localizedText.add(((_item == null)?null:_item.newCopyBuilder(_other, localizedTextPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfLocalizedText.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfLocalizedText.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfLocalizedText.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfLocalizedText.Builder<_B> copyOf(final ListOfLocalizedText _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfLocalizedText.Builder<_B> _newBuilder = new ListOfLocalizedText.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfLocalizedText.Builder copyExcept(final ListOfLocalizedText _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfLocalizedText.Builder copyOnly(final ListOfLocalizedText _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfLocalizedText _storedValue; + private List>> localizedText; + + public Builder(final _B _parentBuilder, final ListOfLocalizedText _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.localizedText == null) { + this.localizedText = null; + } else { + this.localizedText = new ArrayList>>(); + for (LocalizedText _item: _other.localizedText) { + this.localizedText.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfLocalizedText _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree localizedTextPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localizedText")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localizedTextPropertyTree!= null):((localizedTextPropertyTree == null)||(!localizedTextPropertyTree.isLeaf())))) { + if (_other.localizedText == null) { + this.localizedText = null; + } else { + this.localizedText = new ArrayList>>(); + for (LocalizedText _item: _other.localizedText) { + this.localizedText.add(((_item == null)?null:_item.newCopyBuilder(this, localizedTextPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfLocalizedText >_P init(final _P _product) { + if (this.localizedText!= null) { + final List localizedText = new ArrayList(this.localizedText.size()); + for (LocalizedText.Builder> _item: this.localizedText) { + localizedText.add(_item.build()); + } + _product.localizedText = localizedText; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "localizedText" hinzu. + * + * @param localizedText + * Werte, die zur Eigenschaft "localizedText" hinzugefügt werden. + */ + public ListOfLocalizedText.Builder<_B> addLocalizedText(final Iterable localizedText) { + if (localizedText!= null) { + if (this.localizedText == null) { + this.localizedText = new ArrayList>>(); + } + for (LocalizedText _item: localizedText) { + this.localizedText.add(new LocalizedText.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localizedText" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param localizedText + * Neuer Wert der Eigenschaft "localizedText". + */ + public ListOfLocalizedText.Builder<_B> withLocalizedText(final Iterable localizedText) { + if (this.localizedText!= null) { + this.localizedText.clear(); + } + return addLocalizedText(localizedText); + } + + /** + * Fügt Werte zur Eigenschaft "localizedText" hinzu. + * + * @param localizedText + * Werte, die zur Eigenschaft "localizedText" hinzugefügt werden. + */ + public ListOfLocalizedText.Builder<_B> addLocalizedText(LocalizedText... localizedText) { + addLocalizedText(Arrays.asList(localizedText)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localizedText" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param localizedText + * Neuer Wert der Eigenschaft "localizedText". + */ + public ListOfLocalizedText.Builder<_B> withLocalizedText(LocalizedText... localizedText) { + withLocalizedText(Arrays.asList(localizedText)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "LocalizedText". + * Mit {@link org.opcfoundation.ua._2008._02.types.LocalizedText.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "LocalizedText". + * Mit {@link org.opcfoundation.ua._2008._02.types.LocalizedText.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public LocalizedText.Builder> addLocalizedText() { + if (this.localizedText == null) { + this.localizedText = new ArrayList>>(); + } + final LocalizedText.Builder> localizedText_Builder = new LocalizedText.Builder>(this, null, false); + this.localizedText.add(localizedText_Builder); + return localizedText_Builder; + } + + @Override + public ListOfLocalizedText build() { + if (_storedValue == null) { + return this.init(new ListOfLocalizedText()); + } else { + return ((ListOfLocalizedText) _storedValue); + } + } + + public ListOfLocalizedText.Builder<_B> copyOf(final ListOfLocalizedText _other) { + _other.copyTo(this); + return this; + } + + public ListOfLocalizedText.Builder<_B> copyOf(final ListOfLocalizedText.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfLocalizedText.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfLocalizedText.Select _root() { + return new ListOfLocalizedText.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private LocalizedText.Selector> localizedText = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.localizedText!= null) { + products.put("localizedText", this.localizedText.init()); + } + return products; + } + + public LocalizedText.Selector> localizedText() { + return ((this.localizedText == null)?this.localizedText = new LocalizedText.Selector>(this._root, this, "localizedText"):this.localizedText); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModelChangeStructureDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModelChangeStructureDataType.java new file mode 100644 index 000000000..1d418eec2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModelChangeStructureDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfModelChangeStructureDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfModelChangeStructureDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ModelChangeStructureDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ModelChangeStructureDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfModelChangeStructureDataType", propOrder = { + "modelChangeStructureDataType" +}) +public class ListOfModelChangeStructureDataType { + + @XmlElement(name = "ModelChangeStructureDataType", nillable = true) + protected List modelChangeStructureDataType; + + /** + * Gets the value of the modelChangeStructureDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the modelChangeStructureDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getModelChangeStructureDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ModelChangeStructureDataType } + * + * + */ + public List getModelChangeStructureDataType() { + if (modelChangeStructureDataType == null) { + modelChangeStructureDataType = new ArrayList(); + } + return this.modelChangeStructureDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfModelChangeStructureDataType.Builder<_B> _other) { + if (this.modelChangeStructureDataType == null) { + _other.modelChangeStructureDataType = null; + } else { + _other.modelChangeStructureDataType = new ArrayList>>(); + for (ModelChangeStructureDataType _item: this.modelChangeStructureDataType) { + _other.modelChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfModelChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfModelChangeStructureDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfModelChangeStructureDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfModelChangeStructureDataType.Builder builder() { + return new ListOfModelChangeStructureDataType.Builder(null, null, false); + } + + public static<_B >ListOfModelChangeStructureDataType.Builder<_B> copyOf(final ListOfModelChangeStructureDataType _other) { + final ListOfModelChangeStructureDataType.Builder<_B> _newBuilder = new ListOfModelChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfModelChangeStructureDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree modelChangeStructureDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modelChangeStructureDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modelChangeStructureDataTypePropertyTree!= null):((modelChangeStructureDataTypePropertyTree == null)||(!modelChangeStructureDataTypePropertyTree.isLeaf())))) { + if (this.modelChangeStructureDataType == null) { + _other.modelChangeStructureDataType = null; + } else { + _other.modelChangeStructureDataType = new ArrayList>>(); + for (ModelChangeStructureDataType _item: this.modelChangeStructureDataType) { + _other.modelChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, modelChangeStructureDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfModelChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfModelChangeStructureDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfModelChangeStructureDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfModelChangeStructureDataType.Builder<_B> copyOf(final ListOfModelChangeStructureDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfModelChangeStructureDataType.Builder<_B> _newBuilder = new ListOfModelChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfModelChangeStructureDataType.Builder copyExcept(final ListOfModelChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfModelChangeStructureDataType.Builder copyOnly(final ListOfModelChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfModelChangeStructureDataType _storedValue; + private List>> modelChangeStructureDataType; + + public Builder(final _B _parentBuilder, final ListOfModelChangeStructureDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.modelChangeStructureDataType == null) { + this.modelChangeStructureDataType = null; + } else { + this.modelChangeStructureDataType = new ArrayList>>(); + for (ModelChangeStructureDataType _item: _other.modelChangeStructureDataType) { + this.modelChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfModelChangeStructureDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree modelChangeStructureDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modelChangeStructureDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modelChangeStructureDataTypePropertyTree!= null):((modelChangeStructureDataTypePropertyTree == null)||(!modelChangeStructureDataTypePropertyTree.isLeaf())))) { + if (_other.modelChangeStructureDataType == null) { + this.modelChangeStructureDataType = null; + } else { + this.modelChangeStructureDataType = new ArrayList>>(); + for (ModelChangeStructureDataType _item: _other.modelChangeStructureDataType) { + this.modelChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(this, modelChangeStructureDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfModelChangeStructureDataType >_P init(final _P _product) { + if (this.modelChangeStructureDataType!= null) { + final List modelChangeStructureDataType = new ArrayList(this.modelChangeStructureDataType.size()); + for (ModelChangeStructureDataType.Builder> _item: this.modelChangeStructureDataType) { + modelChangeStructureDataType.add(_item.build()); + } + _product.modelChangeStructureDataType = modelChangeStructureDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "modelChangeStructureDataType" hinzu. + * + * @param modelChangeStructureDataType + * Werte, die zur Eigenschaft "modelChangeStructureDataType" hinzugefügt werden. + */ + public ListOfModelChangeStructureDataType.Builder<_B> addModelChangeStructureDataType(final Iterable modelChangeStructureDataType) { + if (modelChangeStructureDataType!= null) { + if (this.modelChangeStructureDataType == null) { + this.modelChangeStructureDataType = new ArrayList>>(); + } + for (ModelChangeStructureDataType _item: modelChangeStructureDataType) { + this.modelChangeStructureDataType.add(new ModelChangeStructureDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modelChangeStructureDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param modelChangeStructureDataType + * Neuer Wert der Eigenschaft "modelChangeStructureDataType". + */ + public ListOfModelChangeStructureDataType.Builder<_B> withModelChangeStructureDataType(final Iterable modelChangeStructureDataType) { + if (this.modelChangeStructureDataType!= null) { + this.modelChangeStructureDataType.clear(); + } + return addModelChangeStructureDataType(modelChangeStructureDataType); + } + + /** + * Fügt Werte zur Eigenschaft "modelChangeStructureDataType" hinzu. + * + * @param modelChangeStructureDataType + * Werte, die zur Eigenschaft "modelChangeStructureDataType" hinzugefügt werden. + */ + public ListOfModelChangeStructureDataType.Builder<_B> addModelChangeStructureDataType(ModelChangeStructureDataType... modelChangeStructureDataType) { + addModelChangeStructureDataType(Arrays.asList(modelChangeStructureDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modelChangeStructureDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param modelChangeStructureDataType + * Neuer Wert der Eigenschaft "modelChangeStructureDataType". + */ + public ListOfModelChangeStructureDataType.Builder<_B> withModelChangeStructureDataType(ModelChangeStructureDataType... modelChangeStructureDataType) { + withModelChangeStructureDataType(Arrays.asList(modelChangeStructureDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ModelChangeStructureDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ModelChangeStructureDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ModelChangeStructureDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ModelChangeStructureDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ModelChangeStructureDataType.Builder> addModelChangeStructureDataType() { + if (this.modelChangeStructureDataType == null) { + this.modelChangeStructureDataType = new ArrayList>>(); + } + final ModelChangeStructureDataType.Builder> modelChangeStructureDataType_Builder = new ModelChangeStructureDataType.Builder>(this, null, false); + this.modelChangeStructureDataType.add(modelChangeStructureDataType_Builder); + return modelChangeStructureDataType_Builder; + } + + @Override + public ListOfModelChangeStructureDataType build() { + if (_storedValue == null) { + return this.init(new ListOfModelChangeStructureDataType()); + } else { + return ((ListOfModelChangeStructureDataType) _storedValue); + } + } + + public ListOfModelChangeStructureDataType.Builder<_B> copyOf(final ListOfModelChangeStructureDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfModelChangeStructureDataType.Builder<_B> copyOf(final ListOfModelChangeStructureDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfModelChangeStructureDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfModelChangeStructureDataType.Select _root() { + return new ListOfModelChangeStructureDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ModelChangeStructureDataType.Selector> modelChangeStructureDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.modelChangeStructureDataType!= null) { + products.put("modelChangeStructureDataType", this.modelChangeStructureDataType.init()); + } + return products; + } + + public ModelChangeStructureDataType.Selector> modelChangeStructureDataType() { + return ((this.modelChangeStructureDataType == null)?this.modelChangeStructureDataType = new ModelChangeStructureDataType.Selector>(this._root, this, "modelChangeStructureDataType"):this.modelChangeStructureDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModificationInfo.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModificationInfo.java new file mode 100644 index 000000000..0f2a08abc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfModificationInfo.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfModificationInfo complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfModificationInfo">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ModificationInfo" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ModificationInfo" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfModificationInfo", propOrder = { + "modificationInfo" +}) +public class ListOfModificationInfo { + + @XmlElement(name = "ModificationInfo", nillable = true) + protected List modificationInfo; + + /** + * Gets the value of the modificationInfo property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the modificationInfo property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getModificationInfo().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ModificationInfo } + * + * + */ + public List getModificationInfo() { + if (modificationInfo == null) { + modificationInfo = new ArrayList(); + } + return this.modificationInfo; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfModificationInfo.Builder<_B> _other) { + if (this.modificationInfo == null) { + _other.modificationInfo = null; + } else { + _other.modificationInfo = new ArrayList>>(); + for (ModificationInfo _item: this.modificationInfo) { + _other.modificationInfo.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfModificationInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfModificationInfo.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfModificationInfo.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfModificationInfo.Builder builder() { + return new ListOfModificationInfo.Builder(null, null, false); + } + + public static<_B >ListOfModificationInfo.Builder<_B> copyOf(final ListOfModificationInfo _other) { + final ListOfModificationInfo.Builder<_B> _newBuilder = new ListOfModificationInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfModificationInfo.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree modificationInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modificationInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modificationInfoPropertyTree!= null):((modificationInfoPropertyTree == null)||(!modificationInfoPropertyTree.isLeaf())))) { + if (this.modificationInfo == null) { + _other.modificationInfo = null; + } else { + _other.modificationInfo = new ArrayList>>(); + for (ModificationInfo _item: this.modificationInfo) { + _other.modificationInfo.add(((_item == null)?null:_item.newCopyBuilder(_other, modificationInfoPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfModificationInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfModificationInfo.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfModificationInfo.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfModificationInfo.Builder<_B> copyOf(final ListOfModificationInfo _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfModificationInfo.Builder<_B> _newBuilder = new ListOfModificationInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfModificationInfo.Builder copyExcept(final ListOfModificationInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfModificationInfo.Builder copyOnly(final ListOfModificationInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfModificationInfo _storedValue; + private List>> modificationInfo; + + public Builder(final _B _parentBuilder, final ListOfModificationInfo _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.modificationInfo == null) { + this.modificationInfo = null; + } else { + this.modificationInfo = new ArrayList>>(); + for (ModificationInfo _item: _other.modificationInfo) { + this.modificationInfo.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfModificationInfo _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree modificationInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modificationInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modificationInfoPropertyTree!= null):((modificationInfoPropertyTree == null)||(!modificationInfoPropertyTree.isLeaf())))) { + if (_other.modificationInfo == null) { + this.modificationInfo = null; + } else { + this.modificationInfo = new ArrayList>>(); + for (ModificationInfo _item: _other.modificationInfo) { + this.modificationInfo.add(((_item == null)?null:_item.newCopyBuilder(this, modificationInfoPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfModificationInfo >_P init(final _P _product) { + if (this.modificationInfo!= null) { + final List modificationInfo = new ArrayList(this.modificationInfo.size()); + for (ModificationInfo.Builder> _item: this.modificationInfo) { + modificationInfo.add(_item.build()); + } + _product.modificationInfo = modificationInfo; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "modificationInfo" hinzu. + * + * @param modificationInfo + * Werte, die zur Eigenschaft "modificationInfo" hinzugefügt werden. + */ + public ListOfModificationInfo.Builder<_B> addModificationInfo(final Iterable modificationInfo) { + if (modificationInfo!= null) { + if (this.modificationInfo == null) { + this.modificationInfo = new ArrayList>>(); + } + for (ModificationInfo _item: modificationInfo) { + this.modificationInfo.add(new ModificationInfo.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modificationInfo" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param modificationInfo + * Neuer Wert der Eigenschaft "modificationInfo". + */ + public ListOfModificationInfo.Builder<_B> withModificationInfo(final Iterable modificationInfo) { + if (this.modificationInfo!= null) { + this.modificationInfo.clear(); + } + return addModificationInfo(modificationInfo); + } + + /** + * Fügt Werte zur Eigenschaft "modificationInfo" hinzu. + * + * @param modificationInfo + * Werte, die zur Eigenschaft "modificationInfo" hinzugefügt werden. + */ + public ListOfModificationInfo.Builder<_B> addModificationInfo(ModificationInfo... modificationInfo) { + addModificationInfo(Arrays.asList(modificationInfo)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modificationInfo" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param modificationInfo + * Neuer Wert der Eigenschaft "modificationInfo". + */ + public ListOfModificationInfo.Builder<_B> withModificationInfo(ModificationInfo... modificationInfo) { + withModificationInfo(Arrays.asList(modificationInfo)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ModificationInfo". + * Mit {@link org.opcfoundation.ua._2008._02.types.ModificationInfo.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ModificationInfo". + * Mit {@link org.opcfoundation.ua._2008._02.types.ModificationInfo.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ModificationInfo.Builder> addModificationInfo() { + if (this.modificationInfo == null) { + this.modificationInfo = new ArrayList>>(); + } + final ModificationInfo.Builder> modificationInfo_Builder = new ModificationInfo.Builder>(this, null, false); + this.modificationInfo.add(modificationInfo_Builder); + return modificationInfo_Builder; + } + + @Override + public ListOfModificationInfo build() { + if (_storedValue == null) { + return this.init(new ListOfModificationInfo()); + } else { + return ((ListOfModificationInfo) _storedValue); + } + } + + public ListOfModificationInfo.Builder<_B> copyOf(final ListOfModificationInfo _other) { + _other.copyTo(this); + return this; + } + + public ListOfModificationInfo.Builder<_B> copyOf(final ListOfModificationInfo.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfModificationInfo.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfModificationInfo.Select _root() { + return new ListOfModificationInfo.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ModificationInfo.Selector> modificationInfo = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.modificationInfo!= null) { + products.put("modificationInfo", this.modificationInfo.init()); + } + return products; + } + + public ModificationInfo.Selector> modificationInfo() { + return ((this.modificationInfo == null)?this.modificationInfo = new ModificationInfo.Selector>(this._root, this, "modificationInfo"):this.modificationInfo); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateRequest.java new file mode 100644 index 000000000..4e4ce1ac3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateRequest.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfMonitoredItemCreateRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfMonitoredItemCreateRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MonitoredItemCreateRequest" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoredItemCreateRequest" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfMonitoredItemCreateRequest", propOrder = { + "monitoredItemCreateRequest" +}) +public class ListOfMonitoredItemCreateRequest { + + @XmlElement(name = "MonitoredItemCreateRequest", nillable = true) + protected List monitoredItemCreateRequest; + + /** + * Gets the value of the monitoredItemCreateRequest property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the monitoredItemCreateRequest property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getMonitoredItemCreateRequest().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link MonitoredItemCreateRequest } + * + * + */ + public List getMonitoredItemCreateRequest() { + if (monitoredItemCreateRequest == null) { + monitoredItemCreateRequest = new ArrayList(); + } + return this.monitoredItemCreateRequest; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemCreateRequest.Builder<_B> _other) { + if (this.monitoredItemCreateRequest == null) { + _other.monitoredItemCreateRequest = null; + } else { + _other.monitoredItemCreateRequest = new ArrayList>>(); + for (MonitoredItemCreateRequest _item: this.monitoredItemCreateRequest) { + _other.monitoredItemCreateRequest.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfMonitoredItemCreateRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfMonitoredItemCreateRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfMonitoredItemCreateRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfMonitoredItemCreateRequest.Builder builder() { + return new ListOfMonitoredItemCreateRequest.Builder(null, null, false); + } + + public static<_B >ListOfMonitoredItemCreateRequest.Builder<_B> copyOf(final ListOfMonitoredItemCreateRequest _other) { + final ListOfMonitoredItemCreateRequest.Builder<_B> _newBuilder = new ListOfMonitoredItemCreateRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemCreateRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree monitoredItemCreateRequestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCreateRequest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCreateRequestPropertyTree!= null):((monitoredItemCreateRequestPropertyTree == null)||(!monitoredItemCreateRequestPropertyTree.isLeaf())))) { + if (this.monitoredItemCreateRequest == null) { + _other.monitoredItemCreateRequest = null; + } else { + _other.monitoredItemCreateRequest = new ArrayList>>(); + for (MonitoredItemCreateRequest _item: this.monitoredItemCreateRequest) { + _other.monitoredItemCreateRequest.add(((_item == null)?null:_item.newCopyBuilder(_other, monitoredItemCreateRequestPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfMonitoredItemCreateRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfMonitoredItemCreateRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfMonitoredItemCreateRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfMonitoredItemCreateRequest.Builder<_B> copyOf(final ListOfMonitoredItemCreateRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfMonitoredItemCreateRequest.Builder<_B> _newBuilder = new ListOfMonitoredItemCreateRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfMonitoredItemCreateRequest.Builder copyExcept(final ListOfMonitoredItemCreateRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfMonitoredItemCreateRequest.Builder copyOnly(final ListOfMonitoredItemCreateRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfMonitoredItemCreateRequest _storedValue; + private List>> monitoredItemCreateRequest; + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemCreateRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.monitoredItemCreateRequest == null) { + this.monitoredItemCreateRequest = null; + } else { + this.monitoredItemCreateRequest = new ArrayList>>(); + for (MonitoredItemCreateRequest _item: _other.monitoredItemCreateRequest) { + this.monitoredItemCreateRequest.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemCreateRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree monitoredItemCreateRequestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCreateRequest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCreateRequestPropertyTree!= null):((monitoredItemCreateRequestPropertyTree == null)||(!monitoredItemCreateRequestPropertyTree.isLeaf())))) { + if (_other.monitoredItemCreateRequest == null) { + this.monitoredItemCreateRequest = null; + } else { + this.monitoredItemCreateRequest = new ArrayList>>(); + for (MonitoredItemCreateRequest _item: _other.monitoredItemCreateRequest) { + this.monitoredItemCreateRequest.add(((_item == null)?null:_item.newCopyBuilder(this, monitoredItemCreateRequestPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfMonitoredItemCreateRequest >_P init(final _P _product) { + if (this.monitoredItemCreateRequest!= null) { + final List monitoredItemCreateRequest = new ArrayList(this.monitoredItemCreateRequest.size()); + for (MonitoredItemCreateRequest.Builder> _item: this.monitoredItemCreateRequest) { + monitoredItemCreateRequest.add(_item.build()); + } + _product.monitoredItemCreateRequest = monitoredItemCreateRequest; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemCreateRequest" hinzu. + * + * @param monitoredItemCreateRequest + * Werte, die zur Eigenschaft "monitoredItemCreateRequest" hinzugefügt werden. + */ + public ListOfMonitoredItemCreateRequest.Builder<_B> addMonitoredItemCreateRequest(final Iterable monitoredItemCreateRequest) { + if (monitoredItemCreateRequest!= null) { + if (this.monitoredItemCreateRequest == null) { + this.monitoredItemCreateRequest = new ArrayList>>(); + } + for (MonitoredItemCreateRequest _item: monitoredItemCreateRequest) { + this.monitoredItemCreateRequest.add(new MonitoredItemCreateRequest.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemCreateRequest" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemCreateRequest + * Neuer Wert der Eigenschaft "monitoredItemCreateRequest". + */ + public ListOfMonitoredItemCreateRequest.Builder<_B> withMonitoredItemCreateRequest(final Iterable monitoredItemCreateRequest) { + if (this.monitoredItemCreateRequest!= null) { + this.monitoredItemCreateRequest.clear(); + } + return addMonitoredItemCreateRequest(monitoredItemCreateRequest); + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemCreateRequest" hinzu. + * + * @param monitoredItemCreateRequest + * Werte, die zur Eigenschaft "monitoredItemCreateRequest" hinzugefügt werden. + */ + public ListOfMonitoredItemCreateRequest.Builder<_B> addMonitoredItemCreateRequest(MonitoredItemCreateRequest... monitoredItemCreateRequest) { + addMonitoredItemCreateRequest(Arrays.asList(monitoredItemCreateRequest)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemCreateRequest" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemCreateRequest + * Neuer Wert der Eigenschaft "monitoredItemCreateRequest". + */ + public ListOfMonitoredItemCreateRequest.Builder<_B> withMonitoredItemCreateRequest(MonitoredItemCreateRequest... monitoredItemCreateRequest) { + withMonitoredItemCreateRequest(Arrays.asList(monitoredItemCreateRequest)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "MonitoredItemCreateRequest". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemCreateRequest.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "MonitoredItemCreateRequest". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemCreateRequest.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public MonitoredItemCreateRequest.Builder> addMonitoredItemCreateRequest() { + if (this.monitoredItemCreateRequest == null) { + this.monitoredItemCreateRequest = new ArrayList>>(); + } + final MonitoredItemCreateRequest.Builder> monitoredItemCreateRequest_Builder = new MonitoredItemCreateRequest.Builder>(this, null, false); + this.monitoredItemCreateRequest.add(monitoredItemCreateRequest_Builder); + return monitoredItemCreateRequest_Builder; + } + + @Override + public ListOfMonitoredItemCreateRequest build() { + if (_storedValue == null) { + return this.init(new ListOfMonitoredItemCreateRequest()); + } else { + return ((ListOfMonitoredItemCreateRequest) _storedValue); + } + } + + public ListOfMonitoredItemCreateRequest.Builder<_B> copyOf(final ListOfMonitoredItemCreateRequest _other) { + _other.copyTo(this); + return this; + } + + public ListOfMonitoredItemCreateRequest.Builder<_B> copyOf(final ListOfMonitoredItemCreateRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfMonitoredItemCreateRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfMonitoredItemCreateRequest.Select _root() { + return new ListOfMonitoredItemCreateRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private MonitoredItemCreateRequest.Selector> monitoredItemCreateRequest = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItemCreateRequest!= null) { + products.put("monitoredItemCreateRequest", this.monitoredItemCreateRequest.init()); + } + return products; + } + + public MonitoredItemCreateRequest.Selector> monitoredItemCreateRequest() { + return ((this.monitoredItemCreateRequest == null)?this.monitoredItemCreateRequest = new MonitoredItemCreateRequest.Selector>(this._root, this, "monitoredItemCreateRequest"):this.monitoredItemCreateRequest); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateResult.java new file mode 100644 index 000000000..10391e90b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemCreateResult.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfMonitoredItemCreateResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfMonitoredItemCreateResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MonitoredItemCreateResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoredItemCreateResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfMonitoredItemCreateResult", propOrder = { + "monitoredItemCreateResult" +}) +public class ListOfMonitoredItemCreateResult { + + @XmlElement(name = "MonitoredItemCreateResult", nillable = true) + protected List monitoredItemCreateResult; + + /** + * Gets the value of the monitoredItemCreateResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the monitoredItemCreateResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getMonitoredItemCreateResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link MonitoredItemCreateResult } + * + * + */ + public List getMonitoredItemCreateResult() { + if (monitoredItemCreateResult == null) { + monitoredItemCreateResult = new ArrayList(); + } + return this.monitoredItemCreateResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemCreateResult.Builder<_B> _other) { + if (this.monitoredItemCreateResult == null) { + _other.monitoredItemCreateResult = null; + } else { + _other.monitoredItemCreateResult = new ArrayList>>(); + for (MonitoredItemCreateResult _item: this.monitoredItemCreateResult) { + _other.monitoredItemCreateResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfMonitoredItemCreateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfMonitoredItemCreateResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfMonitoredItemCreateResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfMonitoredItemCreateResult.Builder builder() { + return new ListOfMonitoredItemCreateResult.Builder(null, null, false); + } + + public static<_B >ListOfMonitoredItemCreateResult.Builder<_B> copyOf(final ListOfMonitoredItemCreateResult _other) { + final ListOfMonitoredItemCreateResult.Builder<_B> _newBuilder = new ListOfMonitoredItemCreateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemCreateResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree monitoredItemCreateResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCreateResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCreateResultPropertyTree!= null):((monitoredItemCreateResultPropertyTree == null)||(!monitoredItemCreateResultPropertyTree.isLeaf())))) { + if (this.monitoredItemCreateResult == null) { + _other.monitoredItemCreateResult = null; + } else { + _other.monitoredItemCreateResult = new ArrayList>>(); + for (MonitoredItemCreateResult _item: this.monitoredItemCreateResult) { + _other.monitoredItemCreateResult.add(((_item == null)?null:_item.newCopyBuilder(_other, monitoredItemCreateResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfMonitoredItemCreateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfMonitoredItemCreateResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfMonitoredItemCreateResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfMonitoredItemCreateResult.Builder<_B> copyOf(final ListOfMonitoredItemCreateResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfMonitoredItemCreateResult.Builder<_B> _newBuilder = new ListOfMonitoredItemCreateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfMonitoredItemCreateResult.Builder copyExcept(final ListOfMonitoredItemCreateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfMonitoredItemCreateResult.Builder copyOnly(final ListOfMonitoredItemCreateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfMonitoredItemCreateResult _storedValue; + private List>> monitoredItemCreateResult; + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemCreateResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.monitoredItemCreateResult == null) { + this.monitoredItemCreateResult = null; + } else { + this.monitoredItemCreateResult = new ArrayList>>(); + for (MonitoredItemCreateResult _item: _other.monitoredItemCreateResult) { + this.monitoredItemCreateResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemCreateResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree monitoredItemCreateResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCreateResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCreateResultPropertyTree!= null):((monitoredItemCreateResultPropertyTree == null)||(!monitoredItemCreateResultPropertyTree.isLeaf())))) { + if (_other.monitoredItemCreateResult == null) { + this.monitoredItemCreateResult = null; + } else { + this.monitoredItemCreateResult = new ArrayList>>(); + for (MonitoredItemCreateResult _item: _other.monitoredItemCreateResult) { + this.monitoredItemCreateResult.add(((_item == null)?null:_item.newCopyBuilder(this, monitoredItemCreateResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfMonitoredItemCreateResult >_P init(final _P _product) { + if (this.monitoredItemCreateResult!= null) { + final List monitoredItemCreateResult = new ArrayList(this.monitoredItemCreateResult.size()); + for (MonitoredItemCreateResult.Builder> _item: this.monitoredItemCreateResult) { + monitoredItemCreateResult.add(_item.build()); + } + _product.monitoredItemCreateResult = monitoredItemCreateResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemCreateResult" hinzu. + * + * @param monitoredItemCreateResult + * Werte, die zur Eigenschaft "monitoredItemCreateResult" hinzugefügt werden. + */ + public ListOfMonitoredItemCreateResult.Builder<_B> addMonitoredItemCreateResult(final Iterable monitoredItemCreateResult) { + if (monitoredItemCreateResult!= null) { + if (this.monitoredItemCreateResult == null) { + this.monitoredItemCreateResult = new ArrayList>>(); + } + for (MonitoredItemCreateResult _item: monitoredItemCreateResult) { + this.monitoredItemCreateResult.add(new MonitoredItemCreateResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemCreateResult" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemCreateResult + * Neuer Wert der Eigenschaft "monitoredItemCreateResult". + */ + public ListOfMonitoredItemCreateResult.Builder<_B> withMonitoredItemCreateResult(final Iterable monitoredItemCreateResult) { + if (this.monitoredItemCreateResult!= null) { + this.monitoredItemCreateResult.clear(); + } + return addMonitoredItemCreateResult(monitoredItemCreateResult); + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemCreateResult" hinzu. + * + * @param monitoredItemCreateResult + * Werte, die zur Eigenschaft "monitoredItemCreateResult" hinzugefügt werden. + */ + public ListOfMonitoredItemCreateResult.Builder<_B> addMonitoredItemCreateResult(MonitoredItemCreateResult... monitoredItemCreateResult) { + addMonitoredItemCreateResult(Arrays.asList(monitoredItemCreateResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemCreateResult" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemCreateResult + * Neuer Wert der Eigenschaft "monitoredItemCreateResult". + */ + public ListOfMonitoredItemCreateResult.Builder<_B> withMonitoredItemCreateResult(MonitoredItemCreateResult... monitoredItemCreateResult) { + withMonitoredItemCreateResult(Arrays.asList(monitoredItemCreateResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "MonitoredItemCreateResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemCreateResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "MonitoredItemCreateResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemCreateResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public MonitoredItemCreateResult.Builder> addMonitoredItemCreateResult() { + if (this.monitoredItemCreateResult == null) { + this.monitoredItemCreateResult = new ArrayList>>(); + } + final MonitoredItemCreateResult.Builder> monitoredItemCreateResult_Builder = new MonitoredItemCreateResult.Builder>(this, null, false); + this.monitoredItemCreateResult.add(monitoredItemCreateResult_Builder); + return monitoredItemCreateResult_Builder; + } + + @Override + public ListOfMonitoredItemCreateResult build() { + if (_storedValue == null) { + return this.init(new ListOfMonitoredItemCreateResult()); + } else { + return ((ListOfMonitoredItemCreateResult) _storedValue); + } + } + + public ListOfMonitoredItemCreateResult.Builder<_B> copyOf(final ListOfMonitoredItemCreateResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfMonitoredItemCreateResult.Builder<_B> copyOf(final ListOfMonitoredItemCreateResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfMonitoredItemCreateResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfMonitoredItemCreateResult.Select _root() { + return new ListOfMonitoredItemCreateResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private MonitoredItemCreateResult.Selector> monitoredItemCreateResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItemCreateResult!= null) { + products.put("monitoredItemCreateResult", this.monitoredItemCreateResult.init()); + } + return products; + } + + public MonitoredItemCreateResult.Selector> monitoredItemCreateResult() { + return ((this.monitoredItemCreateResult == null)?this.monitoredItemCreateResult = new MonitoredItemCreateResult.Selector>(this._root, this, "monitoredItemCreateResult"):this.monitoredItemCreateResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyRequest.java new file mode 100644 index 000000000..93db1f18c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyRequest.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfMonitoredItemModifyRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfMonitoredItemModifyRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MonitoredItemModifyRequest" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoredItemModifyRequest" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfMonitoredItemModifyRequest", propOrder = { + "monitoredItemModifyRequest" +}) +public class ListOfMonitoredItemModifyRequest { + + @XmlElement(name = "MonitoredItemModifyRequest", nillable = true) + protected List monitoredItemModifyRequest; + + /** + * Gets the value of the monitoredItemModifyRequest property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the monitoredItemModifyRequest property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getMonitoredItemModifyRequest().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link MonitoredItemModifyRequest } + * + * + */ + public List getMonitoredItemModifyRequest() { + if (monitoredItemModifyRequest == null) { + monitoredItemModifyRequest = new ArrayList(); + } + return this.monitoredItemModifyRequest; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemModifyRequest.Builder<_B> _other) { + if (this.monitoredItemModifyRequest == null) { + _other.monitoredItemModifyRequest = null; + } else { + _other.monitoredItemModifyRequest = new ArrayList>>(); + for (MonitoredItemModifyRequest _item: this.monitoredItemModifyRequest) { + _other.monitoredItemModifyRequest.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfMonitoredItemModifyRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfMonitoredItemModifyRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfMonitoredItemModifyRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfMonitoredItemModifyRequest.Builder builder() { + return new ListOfMonitoredItemModifyRequest.Builder(null, null, false); + } + + public static<_B >ListOfMonitoredItemModifyRequest.Builder<_B> copyOf(final ListOfMonitoredItemModifyRequest _other) { + final ListOfMonitoredItemModifyRequest.Builder<_B> _newBuilder = new ListOfMonitoredItemModifyRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemModifyRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree monitoredItemModifyRequestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemModifyRequest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemModifyRequestPropertyTree!= null):((monitoredItemModifyRequestPropertyTree == null)||(!monitoredItemModifyRequestPropertyTree.isLeaf())))) { + if (this.monitoredItemModifyRequest == null) { + _other.monitoredItemModifyRequest = null; + } else { + _other.monitoredItemModifyRequest = new ArrayList>>(); + for (MonitoredItemModifyRequest _item: this.monitoredItemModifyRequest) { + _other.monitoredItemModifyRequest.add(((_item == null)?null:_item.newCopyBuilder(_other, monitoredItemModifyRequestPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfMonitoredItemModifyRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfMonitoredItemModifyRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfMonitoredItemModifyRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfMonitoredItemModifyRequest.Builder<_B> copyOf(final ListOfMonitoredItemModifyRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfMonitoredItemModifyRequest.Builder<_B> _newBuilder = new ListOfMonitoredItemModifyRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfMonitoredItemModifyRequest.Builder copyExcept(final ListOfMonitoredItemModifyRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfMonitoredItemModifyRequest.Builder copyOnly(final ListOfMonitoredItemModifyRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfMonitoredItemModifyRequest _storedValue; + private List>> monitoredItemModifyRequest; + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemModifyRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.monitoredItemModifyRequest == null) { + this.monitoredItemModifyRequest = null; + } else { + this.monitoredItemModifyRequest = new ArrayList>>(); + for (MonitoredItemModifyRequest _item: _other.monitoredItemModifyRequest) { + this.monitoredItemModifyRequest.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemModifyRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree monitoredItemModifyRequestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemModifyRequest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemModifyRequestPropertyTree!= null):((monitoredItemModifyRequestPropertyTree == null)||(!monitoredItemModifyRequestPropertyTree.isLeaf())))) { + if (_other.monitoredItemModifyRequest == null) { + this.monitoredItemModifyRequest = null; + } else { + this.monitoredItemModifyRequest = new ArrayList>>(); + for (MonitoredItemModifyRequest _item: _other.monitoredItemModifyRequest) { + this.monitoredItemModifyRequest.add(((_item == null)?null:_item.newCopyBuilder(this, monitoredItemModifyRequestPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfMonitoredItemModifyRequest >_P init(final _P _product) { + if (this.monitoredItemModifyRequest!= null) { + final List monitoredItemModifyRequest = new ArrayList(this.monitoredItemModifyRequest.size()); + for (MonitoredItemModifyRequest.Builder> _item: this.monitoredItemModifyRequest) { + monitoredItemModifyRequest.add(_item.build()); + } + _product.monitoredItemModifyRequest = monitoredItemModifyRequest; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemModifyRequest" hinzu. + * + * @param monitoredItemModifyRequest + * Werte, die zur Eigenschaft "monitoredItemModifyRequest" hinzugefügt werden. + */ + public ListOfMonitoredItemModifyRequest.Builder<_B> addMonitoredItemModifyRequest(final Iterable monitoredItemModifyRequest) { + if (monitoredItemModifyRequest!= null) { + if (this.monitoredItemModifyRequest == null) { + this.monitoredItemModifyRequest = new ArrayList>>(); + } + for (MonitoredItemModifyRequest _item: monitoredItemModifyRequest) { + this.monitoredItemModifyRequest.add(new MonitoredItemModifyRequest.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemModifyRequest" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemModifyRequest + * Neuer Wert der Eigenschaft "monitoredItemModifyRequest". + */ + public ListOfMonitoredItemModifyRequest.Builder<_B> withMonitoredItemModifyRequest(final Iterable monitoredItemModifyRequest) { + if (this.monitoredItemModifyRequest!= null) { + this.monitoredItemModifyRequest.clear(); + } + return addMonitoredItemModifyRequest(monitoredItemModifyRequest); + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemModifyRequest" hinzu. + * + * @param monitoredItemModifyRequest + * Werte, die zur Eigenschaft "monitoredItemModifyRequest" hinzugefügt werden. + */ + public ListOfMonitoredItemModifyRequest.Builder<_B> addMonitoredItemModifyRequest(MonitoredItemModifyRequest... monitoredItemModifyRequest) { + addMonitoredItemModifyRequest(Arrays.asList(monitoredItemModifyRequest)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemModifyRequest" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemModifyRequest + * Neuer Wert der Eigenschaft "monitoredItemModifyRequest". + */ + public ListOfMonitoredItemModifyRequest.Builder<_B> withMonitoredItemModifyRequest(MonitoredItemModifyRequest... monitoredItemModifyRequest) { + withMonitoredItemModifyRequest(Arrays.asList(monitoredItemModifyRequest)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "MonitoredItemModifyRequest". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemModifyRequest.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "MonitoredItemModifyRequest". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemModifyRequest.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public MonitoredItemModifyRequest.Builder> addMonitoredItemModifyRequest() { + if (this.monitoredItemModifyRequest == null) { + this.monitoredItemModifyRequest = new ArrayList>>(); + } + final MonitoredItemModifyRequest.Builder> monitoredItemModifyRequest_Builder = new MonitoredItemModifyRequest.Builder>(this, null, false); + this.monitoredItemModifyRequest.add(monitoredItemModifyRequest_Builder); + return monitoredItemModifyRequest_Builder; + } + + @Override + public ListOfMonitoredItemModifyRequest build() { + if (_storedValue == null) { + return this.init(new ListOfMonitoredItemModifyRequest()); + } else { + return ((ListOfMonitoredItemModifyRequest) _storedValue); + } + } + + public ListOfMonitoredItemModifyRequest.Builder<_B> copyOf(final ListOfMonitoredItemModifyRequest _other) { + _other.copyTo(this); + return this; + } + + public ListOfMonitoredItemModifyRequest.Builder<_B> copyOf(final ListOfMonitoredItemModifyRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfMonitoredItemModifyRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfMonitoredItemModifyRequest.Select _root() { + return new ListOfMonitoredItemModifyRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private MonitoredItemModifyRequest.Selector> monitoredItemModifyRequest = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItemModifyRequest!= null) { + products.put("monitoredItemModifyRequest", this.monitoredItemModifyRequest.init()); + } + return products; + } + + public MonitoredItemModifyRequest.Selector> monitoredItemModifyRequest() { + return ((this.monitoredItemModifyRequest == null)?this.monitoredItemModifyRequest = new MonitoredItemModifyRequest.Selector>(this._root, this, "monitoredItemModifyRequest"):this.monitoredItemModifyRequest); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyResult.java new file mode 100644 index 000000000..6464beafd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemModifyResult.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfMonitoredItemModifyResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfMonitoredItemModifyResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MonitoredItemModifyResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoredItemModifyResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfMonitoredItemModifyResult", propOrder = { + "monitoredItemModifyResult" +}) +public class ListOfMonitoredItemModifyResult { + + @XmlElement(name = "MonitoredItemModifyResult", nillable = true) + protected List monitoredItemModifyResult; + + /** + * Gets the value of the monitoredItemModifyResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the monitoredItemModifyResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getMonitoredItemModifyResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link MonitoredItemModifyResult } + * + * + */ + public List getMonitoredItemModifyResult() { + if (monitoredItemModifyResult == null) { + monitoredItemModifyResult = new ArrayList(); + } + return this.monitoredItemModifyResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemModifyResult.Builder<_B> _other) { + if (this.monitoredItemModifyResult == null) { + _other.monitoredItemModifyResult = null; + } else { + _other.monitoredItemModifyResult = new ArrayList>>(); + for (MonitoredItemModifyResult _item: this.monitoredItemModifyResult) { + _other.monitoredItemModifyResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfMonitoredItemModifyResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfMonitoredItemModifyResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfMonitoredItemModifyResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfMonitoredItemModifyResult.Builder builder() { + return new ListOfMonitoredItemModifyResult.Builder(null, null, false); + } + + public static<_B >ListOfMonitoredItemModifyResult.Builder<_B> copyOf(final ListOfMonitoredItemModifyResult _other) { + final ListOfMonitoredItemModifyResult.Builder<_B> _newBuilder = new ListOfMonitoredItemModifyResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemModifyResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree monitoredItemModifyResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemModifyResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemModifyResultPropertyTree!= null):((monitoredItemModifyResultPropertyTree == null)||(!monitoredItemModifyResultPropertyTree.isLeaf())))) { + if (this.monitoredItemModifyResult == null) { + _other.monitoredItemModifyResult = null; + } else { + _other.monitoredItemModifyResult = new ArrayList>>(); + for (MonitoredItemModifyResult _item: this.monitoredItemModifyResult) { + _other.monitoredItemModifyResult.add(((_item == null)?null:_item.newCopyBuilder(_other, monitoredItemModifyResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfMonitoredItemModifyResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfMonitoredItemModifyResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfMonitoredItemModifyResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfMonitoredItemModifyResult.Builder<_B> copyOf(final ListOfMonitoredItemModifyResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfMonitoredItemModifyResult.Builder<_B> _newBuilder = new ListOfMonitoredItemModifyResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfMonitoredItemModifyResult.Builder copyExcept(final ListOfMonitoredItemModifyResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfMonitoredItemModifyResult.Builder copyOnly(final ListOfMonitoredItemModifyResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfMonitoredItemModifyResult _storedValue; + private List>> monitoredItemModifyResult; + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemModifyResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.monitoredItemModifyResult == null) { + this.monitoredItemModifyResult = null; + } else { + this.monitoredItemModifyResult = new ArrayList>>(); + for (MonitoredItemModifyResult _item: _other.monitoredItemModifyResult) { + this.monitoredItemModifyResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemModifyResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree monitoredItemModifyResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemModifyResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemModifyResultPropertyTree!= null):((monitoredItemModifyResultPropertyTree == null)||(!monitoredItemModifyResultPropertyTree.isLeaf())))) { + if (_other.monitoredItemModifyResult == null) { + this.monitoredItemModifyResult = null; + } else { + this.monitoredItemModifyResult = new ArrayList>>(); + for (MonitoredItemModifyResult _item: _other.monitoredItemModifyResult) { + this.monitoredItemModifyResult.add(((_item == null)?null:_item.newCopyBuilder(this, monitoredItemModifyResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfMonitoredItemModifyResult >_P init(final _P _product) { + if (this.monitoredItemModifyResult!= null) { + final List monitoredItemModifyResult = new ArrayList(this.monitoredItemModifyResult.size()); + for (MonitoredItemModifyResult.Builder> _item: this.monitoredItemModifyResult) { + monitoredItemModifyResult.add(_item.build()); + } + _product.monitoredItemModifyResult = monitoredItemModifyResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemModifyResult" hinzu. + * + * @param monitoredItemModifyResult + * Werte, die zur Eigenschaft "monitoredItemModifyResult" hinzugefügt werden. + */ + public ListOfMonitoredItemModifyResult.Builder<_B> addMonitoredItemModifyResult(final Iterable monitoredItemModifyResult) { + if (monitoredItemModifyResult!= null) { + if (this.monitoredItemModifyResult == null) { + this.monitoredItemModifyResult = new ArrayList>>(); + } + for (MonitoredItemModifyResult _item: monitoredItemModifyResult) { + this.monitoredItemModifyResult.add(new MonitoredItemModifyResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemModifyResult" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemModifyResult + * Neuer Wert der Eigenschaft "monitoredItemModifyResult". + */ + public ListOfMonitoredItemModifyResult.Builder<_B> withMonitoredItemModifyResult(final Iterable monitoredItemModifyResult) { + if (this.monitoredItemModifyResult!= null) { + this.monitoredItemModifyResult.clear(); + } + return addMonitoredItemModifyResult(monitoredItemModifyResult); + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemModifyResult" hinzu. + * + * @param monitoredItemModifyResult + * Werte, die zur Eigenschaft "monitoredItemModifyResult" hinzugefügt werden. + */ + public ListOfMonitoredItemModifyResult.Builder<_B> addMonitoredItemModifyResult(MonitoredItemModifyResult... monitoredItemModifyResult) { + addMonitoredItemModifyResult(Arrays.asList(monitoredItemModifyResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemModifyResult" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemModifyResult + * Neuer Wert der Eigenschaft "monitoredItemModifyResult". + */ + public ListOfMonitoredItemModifyResult.Builder<_B> withMonitoredItemModifyResult(MonitoredItemModifyResult... monitoredItemModifyResult) { + withMonitoredItemModifyResult(Arrays.asList(monitoredItemModifyResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "MonitoredItemModifyResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemModifyResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "MonitoredItemModifyResult". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemModifyResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public MonitoredItemModifyResult.Builder> addMonitoredItemModifyResult() { + if (this.monitoredItemModifyResult == null) { + this.monitoredItemModifyResult = new ArrayList>>(); + } + final MonitoredItemModifyResult.Builder> monitoredItemModifyResult_Builder = new MonitoredItemModifyResult.Builder>(this, null, false); + this.monitoredItemModifyResult.add(monitoredItemModifyResult_Builder); + return monitoredItemModifyResult_Builder; + } + + @Override + public ListOfMonitoredItemModifyResult build() { + if (_storedValue == null) { + return this.init(new ListOfMonitoredItemModifyResult()); + } else { + return ((ListOfMonitoredItemModifyResult) _storedValue); + } + } + + public ListOfMonitoredItemModifyResult.Builder<_B> copyOf(final ListOfMonitoredItemModifyResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfMonitoredItemModifyResult.Builder<_B> copyOf(final ListOfMonitoredItemModifyResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfMonitoredItemModifyResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfMonitoredItemModifyResult.Select _root() { + return new ListOfMonitoredItemModifyResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private MonitoredItemModifyResult.Selector> monitoredItemModifyResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItemModifyResult!= null) { + products.put("monitoredItemModifyResult", this.monitoredItemModifyResult.init()); + } + return products; + } + + public MonitoredItemModifyResult.Selector> monitoredItemModifyResult() { + return ((this.monitoredItemModifyResult == null)?this.monitoredItemModifyResult = new MonitoredItemModifyResult.Selector>(this._root, this, "monitoredItemModifyResult"):this.monitoredItemModifyResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemNotification.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemNotification.java new file mode 100644 index 000000000..040d083c2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfMonitoredItemNotification.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfMonitoredItemNotification complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfMonitoredItemNotification">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MonitoredItemNotification" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoredItemNotification" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfMonitoredItemNotification", propOrder = { + "monitoredItemNotification" +}) +public class ListOfMonitoredItemNotification { + + @XmlElement(name = "MonitoredItemNotification", nillable = true) + protected List monitoredItemNotification; + + /** + * Gets the value of the monitoredItemNotification property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the monitoredItemNotification property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getMonitoredItemNotification().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link MonitoredItemNotification } + * + * + */ + public List getMonitoredItemNotification() { + if (monitoredItemNotification == null) { + monitoredItemNotification = new ArrayList(); + } + return this.monitoredItemNotification; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemNotification.Builder<_B> _other) { + if (this.monitoredItemNotification == null) { + _other.monitoredItemNotification = null; + } else { + _other.monitoredItemNotification = new ArrayList>>(); + for (MonitoredItemNotification _item: this.monitoredItemNotification) { + _other.monitoredItemNotification.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfMonitoredItemNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfMonitoredItemNotification.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfMonitoredItemNotification.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfMonitoredItemNotification.Builder builder() { + return new ListOfMonitoredItemNotification.Builder(null, null, false); + } + + public static<_B >ListOfMonitoredItemNotification.Builder<_B> copyOf(final ListOfMonitoredItemNotification _other) { + final ListOfMonitoredItemNotification.Builder<_B> _newBuilder = new ListOfMonitoredItemNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfMonitoredItemNotification.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree monitoredItemNotificationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemNotification")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemNotificationPropertyTree!= null):((monitoredItemNotificationPropertyTree == null)||(!monitoredItemNotificationPropertyTree.isLeaf())))) { + if (this.monitoredItemNotification == null) { + _other.monitoredItemNotification = null; + } else { + _other.monitoredItemNotification = new ArrayList>>(); + for (MonitoredItemNotification _item: this.monitoredItemNotification) { + _other.monitoredItemNotification.add(((_item == null)?null:_item.newCopyBuilder(_other, monitoredItemNotificationPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfMonitoredItemNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfMonitoredItemNotification.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfMonitoredItemNotification.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfMonitoredItemNotification.Builder<_B> copyOf(final ListOfMonitoredItemNotification _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfMonitoredItemNotification.Builder<_B> _newBuilder = new ListOfMonitoredItemNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfMonitoredItemNotification.Builder copyExcept(final ListOfMonitoredItemNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfMonitoredItemNotification.Builder copyOnly(final ListOfMonitoredItemNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfMonitoredItemNotification _storedValue; + private List>> monitoredItemNotification; + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemNotification _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.monitoredItemNotification == null) { + this.monitoredItemNotification = null; + } else { + this.monitoredItemNotification = new ArrayList>>(); + for (MonitoredItemNotification _item: _other.monitoredItemNotification) { + this.monitoredItemNotification.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfMonitoredItemNotification _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree monitoredItemNotificationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemNotification")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemNotificationPropertyTree!= null):((monitoredItemNotificationPropertyTree == null)||(!monitoredItemNotificationPropertyTree.isLeaf())))) { + if (_other.monitoredItemNotification == null) { + this.monitoredItemNotification = null; + } else { + this.monitoredItemNotification = new ArrayList>>(); + for (MonitoredItemNotification _item: _other.monitoredItemNotification) { + this.monitoredItemNotification.add(((_item == null)?null:_item.newCopyBuilder(this, monitoredItemNotificationPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfMonitoredItemNotification >_P init(final _P _product) { + if (this.monitoredItemNotification!= null) { + final List monitoredItemNotification = new ArrayList(this.monitoredItemNotification.size()); + for (MonitoredItemNotification.Builder> _item: this.monitoredItemNotification) { + monitoredItemNotification.add(_item.build()); + } + _product.monitoredItemNotification = monitoredItemNotification; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemNotification" hinzu. + * + * @param monitoredItemNotification + * Werte, die zur Eigenschaft "monitoredItemNotification" hinzugefügt werden. + */ + public ListOfMonitoredItemNotification.Builder<_B> addMonitoredItemNotification(final Iterable monitoredItemNotification) { + if (monitoredItemNotification!= null) { + if (this.monitoredItemNotification == null) { + this.monitoredItemNotification = new ArrayList>>(); + } + for (MonitoredItemNotification _item: monitoredItemNotification) { + this.monitoredItemNotification.add(new MonitoredItemNotification.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemNotification" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemNotification + * Neuer Wert der Eigenschaft "monitoredItemNotification". + */ + public ListOfMonitoredItemNotification.Builder<_B> withMonitoredItemNotification(final Iterable monitoredItemNotification) { + if (this.monitoredItemNotification!= null) { + this.monitoredItemNotification.clear(); + } + return addMonitoredItemNotification(monitoredItemNotification); + } + + /** + * Fügt Werte zur Eigenschaft "monitoredItemNotification" hinzu. + * + * @param monitoredItemNotification + * Werte, die zur Eigenschaft "monitoredItemNotification" hinzugefügt werden. + */ + public ListOfMonitoredItemNotification.Builder<_B> addMonitoredItemNotification(MonitoredItemNotification... monitoredItemNotification) { + addMonitoredItemNotification(Arrays.asList(monitoredItemNotification)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemNotification" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoredItemNotification + * Neuer Wert der Eigenschaft "monitoredItemNotification". + */ + public ListOfMonitoredItemNotification.Builder<_B> withMonitoredItemNotification(MonitoredItemNotification... monitoredItemNotification) { + withMonitoredItemNotification(Arrays.asList(monitoredItemNotification)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "MonitoredItemNotification". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemNotification.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "MonitoredItemNotification". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.MonitoredItemNotification.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public MonitoredItemNotification.Builder> addMonitoredItemNotification() { + if (this.monitoredItemNotification == null) { + this.monitoredItemNotification = new ArrayList>>(); + } + final MonitoredItemNotification.Builder> monitoredItemNotification_Builder = new MonitoredItemNotification.Builder>(this, null, false); + this.monitoredItemNotification.add(monitoredItemNotification_Builder); + return monitoredItemNotification_Builder; + } + + @Override + public ListOfMonitoredItemNotification build() { + if (_storedValue == null) { + return this.init(new ListOfMonitoredItemNotification()); + } else { + return ((ListOfMonitoredItemNotification) _storedValue); + } + } + + public ListOfMonitoredItemNotification.Builder<_B> copyOf(final ListOfMonitoredItemNotification _other) { + _other.copyTo(this); + return this; + } + + public ListOfMonitoredItemNotification.Builder<_B> copyOf(final ListOfMonitoredItemNotification.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfMonitoredItemNotification.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfMonitoredItemNotification.Select _root() { + return new ListOfMonitoredItemNotification.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private MonitoredItemNotification.Selector> monitoredItemNotification = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItemNotification!= null) { + products.put("monitoredItemNotification", this.monitoredItemNotification.init()); + } + return products; + } + + public MonitoredItemNotification.Selector> monitoredItemNotification() { + return ((this.monitoredItemNotification == null)?this.monitoredItemNotification = new MonitoredItemNotification.Selector>(this._root, this, "monitoredItemNotification"):this.monitoredItemNotification); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressDataType.java new file mode 100644 index 000000000..0b44c47c6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNetworkAddressDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNetworkAddressDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NetworkAddressDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NetworkAddressDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNetworkAddressDataType", propOrder = { + "networkAddressDataType" +}) +public class ListOfNetworkAddressDataType { + + @XmlElement(name = "NetworkAddressDataType", nillable = true) + protected List networkAddressDataType; + + /** + * Gets the value of the networkAddressDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the networkAddressDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNetworkAddressDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NetworkAddressDataType } + * + * + */ + public List getNetworkAddressDataType() { + if (networkAddressDataType == null) { + networkAddressDataType = new ArrayList(); + } + return this.networkAddressDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNetworkAddressDataType.Builder<_B> _other) { + if (this.networkAddressDataType == null) { + _other.networkAddressDataType = null; + } else { + _other.networkAddressDataType = new ArrayList>>(); + for (NetworkAddressDataType _item: this.networkAddressDataType) { + _other.networkAddressDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNetworkAddressDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNetworkAddressDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNetworkAddressDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNetworkAddressDataType.Builder builder() { + return new ListOfNetworkAddressDataType.Builder(null, null, false); + } + + public static<_B >ListOfNetworkAddressDataType.Builder<_B> copyOf(final ListOfNetworkAddressDataType _other) { + final ListOfNetworkAddressDataType.Builder<_B> _newBuilder = new ListOfNetworkAddressDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNetworkAddressDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree networkAddressDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkAddressDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkAddressDataTypePropertyTree!= null):((networkAddressDataTypePropertyTree == null)||(!networkAddressDataTypePropertyTree.isLeaf())))) { + if (this.networkAddressDataType == null) { + _other.networkAddressDataType = null; + } else { + _other.networkAddressDataType = new ArrayList>>(); + for (NetworkAddressDataType _item: this.networkAddressDataType) { + _other.networkAddressDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, networkAddressDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNetworkAddressDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNetworkAddressDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNetworkAddressDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNetworkAddressDataType.Builder<_B> copyOf(final ListOfNetworkAddressDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNetworkAddressDataType.Builder<_B> _newBuilder = new ListOfNetworkAddressDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNetworkAddressDataType.Builder copyExcept(final ListOfNetworkAddressDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNetworkAddressDataType.Builder copyOnly(final ListOfNetworkAddressDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNetworkAddressDataType _storedValue; + private List>> networkAddressDataType; + + public Builder(final _B _parentBuilder, final ListOfNetworkAddressDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.networkAddressDataType == null) { + this.networkAddressDataType = null; + } else { + this.networkAddressDataType = new ArrayList>>(); + for (NetworkAddressDataType _item: _other.networkAddressDataType) { + this.networkAddressDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNetworkAddressDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree networkAddressDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkAddressDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkAddressDataTypePropertyTree!= null):((networkAddressDataTypePropertyTree == null)||(!networkAddressDataTypePropertyTree.isLeaf())))) { + if (_other.networkAddressDataType == null) { + this.networkAddressDataType = null; + } else { + this.networkAddressDataType = new ArrayList>>(); + for (NetworkAddressDataType _item: _other.networkAddressDataType) { + this.networkAddressDataType.add(((_item == null)?null:_item.newCopyBuilder(this, networkAddressDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNetworkAddressDataType >_P init(final _P _product) { + if (this.networkAddressDataType!= null) { + final List networkAddressDataType = new ArrayList(this.networkAddressDataType.size()); + for (NetworkAddressDataType.Builder> _item: this.networkAddressDataType) { + networkAddressDataType.add(_item.build()); + } + _product.networkAddressDataType = networkAddressDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "networkAddressDataType" hinzu. + * + * @param networkAddressDataType + * Werte, die zur Eigenschaft "networkAddressDataType" hinzugefügt werden. + */ + public ListOfNetworkAddressDataType.Builder<_B> addNetworkAddressDataType(final Iterable networkAddressDataType) { + if (networkAddressDataType!= null) { + if (this.networkAddressDataType == null) { + this.networkAddressDataType = new ArrayList>>(); + } + for (NetworkAddressDataType _item: networkAddressDataType) { + this.networkAddressDataType.add(new NetworkAddressDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkAddressDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkAddressDataType + * Neuer Wert der Eigenschaft "networkAddressDataType". + */ + public ListOfNetworkAddressDataType.Builder<_B> withNetworkAddressDataType(final Iterable networkAddressDataType) { + if (this.networkAddressDataType!= null) { + this.networkAddressDataType.clear(); + } + return addNetworkAddressDataType(networkAddressDataType); + } + + /** + * Fügt Werte zur Eigenschaft "networkAddressDataType" hinzu. + * + * @param networkAddressDataType + * Werte, die zur Eigenschaft "networkAddressDataType" hinzugefügt werden. + */ + public ListOfNetworkAddressDataType.Builder<_B> addNetworkAddressDataType(NetworkAddressDataType... networkAddressDataType) { + addNetworkAddressDataType(Arrays.asList(networkAddressDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkAddressDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkAddressDataType + * Neuer Wert der Eigenschaft "networkAddressDataType". + */ + public ListOfNetworkAddressDataType.Builder<_B> withNetworkAddressDataType(NetworkAddressDataType... networkAddressDataType) { + withNetworkAddressDataType(Arrays.asList(networkAddressDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "NetworkAddressDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NetworkAddressDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "NetworkAddressDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NetworkAddressDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public NetworkAddressDataType.Builder> addNetworkAddressDataType() { + if (this.networkAddressDataType == null) { + this.networkAddressDataType = new ArrayList>>(); + } + final NetworkAddressDataType.Builder> networkAddressDataType_Builder = new NetworkAddressDataType.Builder>(this, null, false); + this.networkAddressDataType.add(networkAddressDataType_Builder); + return networkAddressDataType_Builder; + } + + @Override + public ListOfNetworkAddressDataType build() { + if (_storedValue == null) { + return this.init(new ListOfNetworkAddressDataType()); + } else { + return ((ListOfNetworkAddressDataType) _storedValue); + } + } + + public ListOfNetworkAddressDataType.Builder<_B> copyOf(final ListOfNetworkAddressDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfNetworkAddressDataType.Builder<_B> copyOf(final ListOfNetworkAddressDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNetworkAddressDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNetworkAddressDataType.Select _root() { + return new ListOfNetworkAddressDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private NetworkAddressDataType.Selector> networkAddressDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.networkAddressDataType!= null) { + products.put("networkAddressDataType", this.networkAddressDataType.init()); + } + return products; + } + + public NetworkAddressDataType.Selector> networkAddressDataType() { + return ((this.networkAddressDataType == null)?this.networkAddressDataType = new NetworkAddressDataType.Selector>(this._root, this, "networkAddressDataType"):this.networkAddressDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressUrlDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressUrlDataType.java new file mode 100644 index 000000000..e05361edf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkAddressUrlDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNetworkAddressUrlDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNetworkAddressUrlDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NetworkAddressUrlDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NetworkAddressUrlDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNetworkAddressUrlDataType", propOrder = { + "networkAddressUrlDataType" +}) +public class ListOfNetworkAddressUrlDataType { + + @XmlElement(name = "NetworkAddressUrlDataType", nillable = true) + protected List networkAddressUrlDataType; + + /** + * Gets the value of the networkAddressUrlDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the networkAddressUrlDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNetworkAddressUrlDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NetworkAddressUrlDataType } + * + * + */ + public List getNetworkAddressUrlDataType() { + if (networkAddressUrlDataType == null) { + networkAddressUrlDataType = new ArrayList(); + } + return this.networkAddressUrlDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNetworkAddressUrlDataType.Builder<_B> _other) { + if (this.networkAddressUrlDataType == null) { + _other.networkAddressUrlDataType = null; + } else { + _other.networkAddressUrlDataType = new ArrayList>>(); + for (NetworkAddressUrlDataType _item: this.networkAddressUrlDataType) { + _other.networkAddressUrlDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNetworkAddressUrlDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNetworkAddressUrlDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNetworkAddressUrlDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNetworkAddressUrlDataType.Builder builder() { + return new ListOfNetworkAddressUrlDataType.Builder(null, null, false); + } + + public static<_B >ListOfNetworkAddressUrlDataType.Builder<_B> copyOf(final ListOfNetworkAddressUrlDataType _other) { + final ListOfNetworkAddressUrlDataType.Builder<_B> _newBuilder = new ListOfNetworkAddressUrlDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNetworkAddressUrlDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree networkAddressUrlDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkAddressUrlDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkAddressUrlDataTypePropertyTree!= null):((networkAddressUrlDataTypePropertyTree == null)||(!networkAddressUrlDataTypePropertyTree.isLeaf())))) { + if (this.networkAddressUrlDataType == null) { + _other.networkAddressUrlDataType = null; + } else { + _other.networkAddressUrlDataType = new ArrayList>>(); + for (NetworkAddressUrlDataType _item: this.networkAddressUrlDataType) { + _other.networkAddressUrlDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, networkAddressUrlDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNetworkAddressUrlDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNetworkAddressUrlDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNetworkAddressUrlDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNetworkAddressUrlDataType.Builder<_B> copyOf(final ListOfNetworkAddressUrlDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNetworkAddressUrlDataType.Builder<_B> _newBuilder = new ListOfNetworkAddressUrlDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNetworkAddressUrlDataType.Builder copyExcept(final ListOfNetworkAddressUrlDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNetworkAddressUrlDataType.Builder copyOnly(final ListOfNetworkAddressUrlDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNetworkAddressUrlDataType _storedValue; + private List>> networkAddressUrlDataType; + + public Builder(final _B _parentBuilder, final ListOfNetworkAddressUrlDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.networkAddressUrlDataType == null) { + this.networkAddressUrlDataType = null; + } else { + this.networkAddressUrlDataType = new ArrayList>>(); + for (NetworkAddressUrlDataType _item: _other.networkAddressUrlDataType) { + this.networkAddressUrlDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNetworkAddressUrlDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree networkAddressUrlDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkAddressUrlDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkAddressUrlDataTypePropertyTree!= null):((networkAddressUrlDataTypePropertyTree == null)||(!networkAddressUrlDataTypePropertyTree.isLeaf())))) { + if (_other.networkAddressUrlDataType == null) { + this.networkAddressUrlDataType = null; + } else { + this.networkAddressUrlDataType = new ArrayList>>(); + for (NetworkAddressUrlDataType _item: _other.networkAddressUrlDataType) { + this.networkAddressUrlDataType.add(((_item == null)?null:_item.newCopyBuilder(this, networkAddressUrlDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNetworkAddressUrlDataType >_P init(final _P _product) { + if (this.networkAddressUrlDataType!= null) { + final List networkAddressUrlDataType = new ArrayList(this.networkAddressUrlDataType.size()); + for (NetworkAddressUrlDataType.Builder> _item: this.networkAddressUrlDataType) { + networkAddressUrlDataType.add(_item.build()); + } + _product.networkAddressUrlDataType = networkAddressUrlDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "networkAddressUrlDataType" hinzu. + * + * @param networkAddressUrlDataType + * Werte, die zur Eigenschaft "networkAddressUrlDataType" hinzugefügt werden. + */ + public ListOfNetworkAddressUrlDataType.Builder<_B> addNetworkAddressUrlDataType(final Iterable networkAddressUrlDataType) { + if (networkAddressUrlDataType!= null) { + if (this.networkAddressUrlDataType == null) { + this.networkAddressUrlDataType = new ArrayList>>(); + } + for (NetworkAddressUrlDataType _item: networkAddressUrlDataType) { + this.networkAddressUrlDataType.add(new NetworkAddressUrlDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkAddressUrlDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkAddressUrlDataType + * Neuer Wert der Eigenschaft "networkAddressUrlDataType". + */ + public ListOfNetworkAddressUrlDataType.Builder<_B> withNetworkAddressUrlDataType(final Iterable networkAddressUrlDataType) { + if (this.networkAddressUrlDataType!= null) { + this.networkAddressUrlDataType.clear(); + } + return addNetworkAddressUrlDataType(networkAddressUrlDataType); + } + + /** + * Fügt Werte zur Eigenschaft "networkAddressUrlDataType" hinzu. + * + * @param networkAddressUrlDataType + * Werte, die zur Eigenschaft "networkAddressUrlDataType" hinzugefügt werden. + */ + public ListOfNetworkAddressUrlDataType.Builder<_B> addNetworkAddressUrlDataType(NetworkAddressUrlDataType... networkAddressUrlDataType) { + addNetworkAddressUrlDataType(Arrays.asList(networkAddressUrlDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkAddressUrlDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkAddressUrlDataType + * Neuer Wert der Eigenschaft "networkAddressUrlDataType". + */ + public ListOfNetworkAddressUrlDataType.Builder<_B> withNetworkAddressUrlDataType(NetworkAddressUrlDataType... networkAddressUrlDataType) { + withNetworkAddressUrlDataType(Arrays.asList(networkAddressUrlDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "NetworkAddressUrlDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NetworkAddressUrlDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "NetworkAddressUrlDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NetworkAddressUrlDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public NetworkAddressUrlDataType.Builder> addNetworkAddressUrlDataType() { + if (this.networkAddressUrlDataType == null) { + this.networkAddressUrlDataType = new ArrayList>>(); + } + final NetworkAddressUrlDataType.Builder> networkAddressUrlDataType_Builder = new NetworkAddressUrlDataType.Builder>(this, null, false); + this.networkAddressUrlDataType.add(networkAddressUrlDataType_Builder); + return networkAddressUrlDataType_Builder; + } + + @Override + public ListOfNetworkAddressUrlDataType build() { + if (_storedValue == null) { + return this.init(new ListOfNetworkAddressUrlDataType()); + } else { + return ((ListOfNetworkAddressUrlDataType) _storedValue); + } + } + + public ListOfNetworkAddressUrlDataType.Builder<_B> copyOf(final ListOfNetworkAddressUrlDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfNetworkAddressUrlDataType.Builder<_B> copyOf(final ListOfNetworkAddressUrlDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNetworkAddressUrlDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNetworkAddressUrlDataType.Select _root() { + return new ListOfNetworkAddressUrlDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private NetworkAddressUrlDataType.Selector> networkAddressUrlDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.networkAddressUrlDataType!= null) { + products.put("networkAddressUrlDataType", this.networkAddressUrlDataType.init()); + } + return products; + } + + public NetworkAddressUrlDataType.Selector> networkAddressUrlDataType() { + return ((this.networkAddressUrlDataType == null)?this.networkAddressUrlDataType = new NetworkAddressUrlDataType.Selector>(this._root, this, "networkAddressUrlDataType"):this.networkAddressUrlDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkGroupDataType.java new file mode 100644 index 000000000..a32a657cd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNetworkGroupDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNetworkGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNetworkGroupDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NetworkGroupDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NetworkGroupDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNetworkGroupDataType", propOrder = { + "networkGroupDataType" +}) +public class ListOfNetworkGroupDataType { + + @XmlElement(name = "NetworkGroupDataType", nillable = true) + protected List networkGroupDataType; + + /** + * Gets the value of the networkGroupDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the networkGroupDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNetworkGroupDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NetworkGroupDataType } + * + * + */ + public List getNetworkGroupDataType() { + if (networkGroupDataType == null) { + networkGroupDataType = new ArrayList(); + } + return this.networkGroupDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNetworkGroupDataType.Builder<_B> _other) { + if (this.networkGroupDataType == null) { + _other.networkGroupDataType = null; + } else { + _other.networkGroupDataType = new ArrayList>>(); + for (NetworkGroupDataType _item: this.networkGroupDataType) { + _other.networkGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNetworkGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNetworkGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNetworkGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNetworkGroupDataType.Builder builder() { + return new ListOfNetworkGroupDataType.Builder(null, null, false); + } + + public static<_B >ListOfNetworkGroupDataType.Builder<_B> copyOf(final ListOfNetworkGroupDataType _other) { + final ListOfNetworkGroupDataType.Builder<_B> _newBuilder = new ListOfNetworkGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNetworkGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree networkGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkGroupDataTypePropertyTree!= null):((networkGroupDataTypePropertyTree == null)||(!networkGroupDataTypePropertyTree.isLeaf())))) { + if (this.networkGroupDataType == null) { + _other.networkGroupDataType = null; + } else { + _other.networkGroupDataType = new ArrayList>>(); + for (NetworkGroupDataType _item: this.networkGroupDataType) { + _other.networkGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, networkGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNetworkGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNetworkGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNetworkGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNetworkGroupDataType.Builder<_B> copyOf(final ListOfNetworkGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNetworkGroupDataType.Builder<_B> _newBuilder = new ListOfNetworkGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNetworkGroupDataType.Builder copyExcept(final ListOfNetworkGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNetworkGroupDataType.Builder copyOnly(final ListOfNetworkGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNetworkGroupDataType _storedValue; + private List>> networkGroupDataType; + + public Builder(final _B _parentBuilder, final ListOfNetworkGroupDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.networkGroupDataType == null) { + this.networkGroupDataType = null; + } else { + this.networkGroupDataType = new ArrayList>>(); + for (NetworkGroupDataType _item: _other.networkGroupDataType) { + this.networkGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNetworkGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree networkGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkGroupDataTypePropertyTree!= null):((networkGroupDataTypePropertyTree == null)||(!networkGroupDataTypePropertyTree.isLeaf())))) { + if (_other.networkGroupDataType == null) { + this.networkGroupDataType = null; + } else { + this.networkGroupDataType = new ArrayList>>(); + for (NetworkGroupDataType _item: _other.networkGroupDataType) { + this.networkGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this, networkGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNetworkGroupDataType >_P init(final _P _product) { + if (this.networkGroupDataType!= null) { + final List networkGroupDataType = new ArrayList(this.networkGroupDataType.size()); + for (NetworkGroupDataType.Builder> _item: this.networkGroupDataType) { + networkGroupDataType.add(_item.build()); + } + _product.networkGroupDataType = networkGroupDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "networkGroupDataType" hinzu. + * + * @param networkGroupDataType + * Werte, die zur Eigenschaft "networkGroupDataType" hinzugefügt werden. + */ + public ListOfNetworkGroupDataType.Builder<_B> addNetworkGroupDataType(final Iterable networkGroupDataType) { + if (networkGroupDataType!= null) { + if (this.networkGroupDataType == null) { + this.networkGroupDataType = new ArrayList>>(); + } + for (NetworkGroupDataType _item: networkGroupDataType) { + this.networkGroupDataType.add(new NetworkGroupDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param networkGroupDataType + * Neuer Wert der Eigenschaft "networkGroupDataType". + */ + public ListOfNetworkGroupDataType.Builder<_B> withNetworkGroupDataType(final Iterable networkGroupDataType) { + if (this.networkGroupDataType!= null) { + this.networkGroupDataType.clear(); + } + return addNetworkGroupDataType(networkGroupDataType); + } + + /** + * Fügt Werte zur Eigenschaft "networkGroupDataType" hinzu. + * + * @param networkGroupDataType + * Werte, die zur Eigenschaft "networkGroupDataType" hinzugefügt werden. + */ + public ListOfNetworkGroupDataType.Builder<_B> addNetworkGroupDataType(NetworkGroupDataType... networkGroupDataType) { + addNetworkGroupDataType(Arrays.asList(networkGroupDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param networkGroupDataType + * Neuer Wert der Eigenschaft "networkGroupDataType". + */ + public ListOfNetworkGroupDataType.Builder<_B> withNetworkGroupDataType(NetworkGroupDataType... networkGroupDataType) { + withNetworkGroupDataType(Arrays.asList(networkGroupDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "NetworkGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NetworkGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "NetworkGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NetworkGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public NetworkGroupDataType.Builder> addNetworkGroupDataType() { + if (this.networkGroupDataType == null) { + this.networkGroupDataType = new ArrayList>>(); + } + final NetworkGroupDataType.Builder> networkGroupDataType_Builder = new NetworkGroupDataType.Builder>(this, null, false); + this.networkGroupDataType.add(networkGroupDataType_Builder); + return networkGroupDataType_Builder; + } + + @Override + public ListOfNetworkGroupDataType build() { + if (_storedValue == null) { + return this.init(new ListOfNetworkGroupDataType()); + } else { + return ((ListOfNetworkGroupDataType) _storedValue); + } + } + + public ListOfNetworkGroupDataType.Builder<_B> copyOf(final ListOfNetworkGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfNetworkGroupDataType.Builder<_B> copyOf(final ListOfNetworkGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNetworkGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNetworkGroupDataType.Select _root() { + return new ListOfNetworkGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private NetworkGroupDataType.Selector> networkGroupDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.networkGroupDataType!= null) { + products.put("networkGroupDataType", this.networkGroupDataType.init()); + } + return products; + } + + public NetworkGroupDataType.Selector> networkGroupDataType() { + return ((this.networkGroupDataType == null)?this.networkGroupDataType = new NetworkGroupDataType.Selector>(this._root, this, "networkGroupDataType"):this.networkGroupDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNode.java new file mode 100644 index 000000000..e3c33efae --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNode.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Node" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Node" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNode", propOrder = { + "node" +}) +public class ListOfNode { + + @XmlElement(name = "Node", nillable = true) + protected List node; + + /** + * Gets the value of the node property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the node property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Node } + * + * + */ + public List getNode() { + if (node == null) { + node = new ArrayList(); + } + return this.node; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNode.Builder<_B> _other) { + if (this.node == null) { + _other.node = null; + } else { + _other.node = new ArrayList>>(); + for (Node _item: this.node) { + _other.node.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNode.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNode.Builder builder() { + return new ListOfNode.Builder(null, null, false); + } + + public static<_B >ListOfNode.Builder<_B> copyOf(final ListOfNode _other) { + final ListOfNode.Builder<_B> _newBuilder = new ListOfNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("node")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodePropertyTree!= null):((nodePropertyTree == null)||(!nodePropertyTree.isLeaf())))) { + if (this.node == null) { + _other.node = null; + } else { + _other.node = new ArrayList>>(); + for (Node _item: this.node) { + _other.node.add(((_item == null)?null:_item.newCopyBuilder(_other, nodePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNode.Builder<_B> copyOf(final ListOfNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNode.Builder<_B> _newBuilder = new ListOfNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNode.Builder copyExcept(final ListOfNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNode.Builder copyOnly(final ListOfNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNode _storedValue; + private List>> node; + + public Builder(final _B _parentBuilder, final ListOfNode _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.node == null) { + this.node = null; + } else { + this.node = new ArrayList>>(); + for (Node _item: _other.node) { + this.node.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("node")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodePropertyTree!= null):((nodePropertyTree == null)||(!nodePropertyTree.isLeaf())))) { + if (_other.node == null) { + this.node = null; + } else { + this.node = new ArrayList>>(); + for (Node _item: _other.node) { + this.node.add(((_item == null)?null:_item.newCopyBuilder(this, nodePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNode >_P init(final _P _product) { + if (this.node!= null) { + final List node = new ArrayList(this.node.size()); + for (Node.Builder> _item: this.node) { + node.add(_item.build()); + } + _product.node = node; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "node" hinzu. + * + * @param node + * Werte, die zur Eigenschaft "node" hinzugefügt werden. + */ + public ListOfNode.Builder<_B> addNode(final Iterable node) { + if (node!= null) { + if (this.node == null) { + this.node = new ArrayList>>(); + } + for (Node _item: node) { + this.node.add(new Node.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "node" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param node + * Neuer Wert der Eigenschaft "node". + */ + public ListOfNode.Builder<_B> withNode(final Iterable node) { + if (this.node!= null) { + this.node.clear(); + } + return addNode(node); + } + + /** + * Fügt Werte zur Eigenschaft "node" hinzu. + * + * @param node + * Werte, die zur Eigenschaft "node" hinzugefügt werden. + */ + public ListOfNode.Builder<_B> addNode(Node... node) { + addNode(Arrays.asList(node)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "node" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param node + * Neuer Wert der Eigenschaft "node". + */ + public ListOfNode.Builder<_B> withNode(Node... node) { + withNode(Arrays.asList(node)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Node". + * Mit {@link org.opcfoundation.ua._2008._02.types.Node.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Node". + * Mit {@link org.opcfoundation.ua._2008._02.types.Node.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Node.Builder> addNode() { + if (this.node == null) { + this.node = new ArrayList>>(); + } + final Node.Builder> node_Builder = new Node.Builder>(this, null, false); + this.node.add(node_Builder); + return node_Builder; + } + + @Override + public ListOfNode build() { + if (_storedValue == null) { + return this.init(new ListOfNode()); + } else { + return ((ListOfNode) _storedValue); + } + } + + public ListOfNode.Builder<_B> copyOf(final ListOfNode _other) { + _other.copyTo(this); + return this; + } + + public ListOfNode.Builder<_B> copyOf(final ListOfNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNode.Select _root() { + return new ListOfNode.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Node.Selector> node = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.node!= null) { + products.put("node", this.node.init()); + } + return products; + } + + public Node.Selector> node() { + return ((this.node == null)?this.node = new Node.Selector>(this._root, this, "node"):this.node); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeId.java new file mode 100644 index 000000000..fd58cefa5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeId.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNodeId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNodeId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNodeId", propOrder = { + "nodeId" +}) +public class ListOfNodeId { + + @XmlElement(name = "NodeId", nillable = true) + protected List nodeId; + + /** + * Gets the value of the nodeId property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the nodeId property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNodeId().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NodeId } + * + * + */ + public List getNodeId() { + if (nodeId == null) { + nodeId = new ArrayList(); + } + return this.nodeId; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNodeId.Builder<_B> _other) { + if (this.nodeId == null) { + _other.nodeId = null; + } else { + _other.nodeId = new ArrayList>>(); + for (NodeId _item: this.nodeId) { + _other.nodeId.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNodeId.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNodeId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNodeId.Builder builder() { + return new ListOfNodeId.Builder(null, null, false); + } + + public static<_B >ListOfNodeId.Builder<_B> copyOf(final ListOfNodeId _other) { + final ListOfNodeId.Builder<_B> _newBuilder = new ListOfNodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNodeId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + if (this.nodeId == null) { + _other.nodeId = null; + } else { + _other.nodeId = new ArrayList>>(); + for (NodeId _item: this.nodeId) { + _other.nodeId.add(((_item == null)?null:_item.newCopyBuilder(_other, nodeIdPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNodeId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNodeId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNodeId.Builder<_B> copyOf(final ListOfNodeId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNodeId.Builder<_B> _newBuilder = new ListOfNodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNodeId.Builder copyExcept(final ListOfNodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNodeId.Builder copyOnly(final ListOfNodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNodeId _storedValue; + private List>> nodeId; + + public Builder(final _B _parentBuilder, final ListOfNodeId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.nodeId == null) { + this.nodeId = null; + } else { + this.nodeId = new ArrayList>>(); + for (NodeId _item: _other.nodeId) { + this.nodeId.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNodeId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + if (_other.nodeId == null) { + this.nodeId = null; + } else { + this.nodeId = new ArrayList>>(); + for (NodeId _item: _other.nodeId) { + this.nodeId.add(((_item == null)?null:_item.newCopyBuilder(this, nodeIdPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNodeId >_P init(final _P _product) { + if (this.nodeId!= null) { + final List nodeId = new ArrayList(this.nodeId.size()); + for (NodeId.Builder> _item: this.nodeId) { + nodeId.add(_item.build()); + } + _product.nodeId = nodeId; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "nodeId" hinzu. + * + * @param nodeId + * Werte, die zur Eigenschaft "nodeId" hinzugefügt werden. + */ + public ListOfNodeId.Builder<_B> addNodeId(final Iterable nodeId) { + if (nodeId!= null) { + if (this.nodeId == null) { + this.nodeId = new ArrayList>>(); + } + for (NodeId _item: nodeId) { + this.nodeId.add(new NodeId.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public ListOfNodeId.Builder<_B> withNodeId(final Iterable nodeId) { + if (this.nodeId!= null) { + this.nodeId.clear(); + } + return addNodeId(nodeId); + } + + /** + * Fügt Werte zur Eigenschaft "nodeId" hinzu. + * + * @param nodeId + * Werte, die zur Eigenschaft "nodeId" hinzugefügt werden. + */ + public ListOfNodeId.Builder<_B> addNodeId(NodeId... nodeId) { + addNodeId(Arrays.asList(nodeId)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public ListOfNodeId.Builder<_B> withNodeId(NodeId... nodeId) { + withNodeId(Arrays.asList(nodeId)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "NodeId". + * Mit {@link org.opcfoundation.ua._2008._02.types.NodeId.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "NodeId". + * Mit {@link org.opcfoundation.ua._2008._02.types.NodeId.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public NodeId.Builder> addNodeId() { + if (this.nodeId == null) { + this.nodeId = new ArrayList>>(); + } + final NodeId.Builder> nodeId_Builder = new NodeId.Builder>(this, null, false); + this.nodeId.add(nodeId_Builder); + return nodeId_Builder; + } + + @Override + public ListOfNodeId build() { + if (_storedValue == null) { + return this.init(new ListOfNodeId()); + } else { + return ((ListOfNodeId) _storedValue); + } + } + + public ListOfNodeId.Builder<_B> copyOf(final ListOfNodeId _other) { + _other.copyTo(this); + return this; + } + + public ListOfNodeId.Builder<_B> copyOf(final ListOfNodeId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNodeId.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNodeId.Select _root() { + return new ListOfNodeId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private NodeId.Selector> nodeId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + return products; + } + + public NodeId.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new NodeId.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeReference.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeReference.java new file mode 100644 index 000000000..abbac6fa0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeReference.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNodeReference complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNodeReference">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeReference" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeReference" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNodeReference", propOrder = { + "nodeReference" +}) +public class ListOfNodeReference { + + @XmlElement(name = "NodeReference", nillable = true) + protected List nodeReference; + + /** + * Gets the value of the nodeReference property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the nodeReference property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNodeReference().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NodeReference } + * + * + */ + public List getNodeReference() { + if (nodeReference == null) { + nodeReference = new ArrayList(); + } + return this.nodeReference; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNodeReference.Builder<_B> _other) { + if (this.nodeReference == null) { + _other.nodeReference = null; + } else { + _other.nodeReference = new ArrayList>>(); + for (NodeReference _item: this.nodeReference) { + _other.nodeReference.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNodeReference.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNodeReference.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNodeReference.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNodeReference.Builder builder() { + return new ListOfNodeReference.Builder(null, null, false); + } + + public static<_B >ListOfNodeReference.Builder<_B> copyOf(final ListOfNodeReference _other) { + final ListOfNodeReference.Builder<_B> _newBuilder = new ListOfNodeReference.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNodeReference.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeReferencePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeReference")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeReferencePropertyTree!= null):((nodeReferencePropertyTree == null)||(!nodeReferencePropertyTree.isLeaf())))) { + if (this.nodeReference == null) { + _other.nodeReference = null; + } else { + _other.nodeReference = new ArrayList>>(); + for (NodeReference _item: this.nodeReference) { + _other.nodeReference.add(((_item == null)?null:_item.newCopyBuilder(_other, nodeReferencePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNodeReference.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNodeReference.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNodeReference.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNodeReference.Builder<_B> copyOf(final ListOfNodeReference _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNodeReference.Builder<_B> _newBuilder = new ListOfNodeReference.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNodeReference.Builder copyExcept(final ListOfNodeReference _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNodeReference.Builder copyOnly(final ListOfNodeReference _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNodeReference _storedValue; + private List>> nodeReference; + + public Builder(final _B _parentBuilder, final ListOfNodeReference _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.nodeReference == null) { + this.nodeReference = null; + } else { + this.nodeReference = new ArrayList>>(); + for (NodeReference _item: _other.nodeReference) { + this.nodeReference.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNodeReference _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeReferencePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeReference")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeReferencePropertyTree!= null):((nodeReferencePropertyTree == null)||(!nodeReferencePropertyTree.isLeaf())))) { + if (_other.nodeReference == null) { + this.nodeReference = null; + } else { + this.nodeReference = new ArrayList>>(); + for (NodeReference _item: _other.nodeReference) { + this.nodeReference.add(((_item == null)?null:_item.newCopyBuilder(this, nodeReferencePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNodeReference >_P init(final _P _product) { + if (this.nodeReference!= null) { + final List nodeReference = new ArrayList(this.nodeReference.size()); + for (NodeReference.Builder> _item: this.nodeReference) { + nodeReference.add(_item.build()); + } + _product.nodeReference = nodeReference; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "nodeReference" hinzu. + * + * @param nodeReference + * Werte, die zur Eigenschaft "nodeReference" hinzugefügt werden. + */ + public ListOfNodeReference.Builder<_B> addNodeReference(final Iterable nodeReference) { + if (nodeReference!= null) { + if (this.nodeReference == null) { + this.nodeReference = new ArrayList>>(); + } + for (NodeReference _item: nodeReference) { + this.nodeReference.add(new NodeReference.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeReference" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodeReference + * Neuer Wert der Eigenschaft "nodeReference". + */ + public ListOfNodeReference.Builder<_B> withNodeReference(final Iterable nodeReference) { + if (this.nodeReference!= null) { + this.nodeReference.clear(); + } + return addNodeReference(nodeReference); + } + + /** + * Fügt Werte zur Eigenschaft "nodeReference" hinzu. + * + * @param nodeReference + * Werte, die zur Eigenschaft "nodeReference" hinzugefügt werden. + */ + public ListOfNodeReference.Builder<_B> addNodeReference(NodeReference... nodeReference) { + addNodeReference(Arrays.asList(nodeReference)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeReference" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodeReference + * Neuer Wert der Eigenschaft "nodeReference". + */ + public ListOfNodeReference.Builder<_B> withNodeReference(NodeReference... nodeReference) { + withNodeReference(Arrays.asList(nodeReference)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "NodeReference". + * Mit {@link org.opcfoundation.ua._2008._02.types.NodeReference.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "NodeReference". + * Mit {@link org.opcfoundation.ua._2008._02.types.NodeReference.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public NodeReference.Builder> addNodeReference() { + if (this.nodeReference == null) { + this.nodeReference = new ArrayList>>(); + } + final NodeReference.Builder> nodeReference_Builder = new NodeReference.Builder>(this, null, false); + this.nodeReference.add(nodeReference_Builder); + return nodeReference_Builder; + } + + @Override + public ListOfNodeReference build() { + if (_storedValue == null) { + return this.init(new ListOfNodeReference()); + } else { + return ((ListOfNodeReference) _storedValue); + } + } + + public ListOfNodeReference.Builder<_B> copyOf(final ListOfNodeReference _other) { + _other.copyTo(this); + return this; + } + + public ListOfNodeReference.Builder<_B> copyOf(final ListOfNodeReference.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNodeReference.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNodeReference.Select _root() { + return new ListOfNodeReference.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private NodeReference.Selector> nodeReference = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeReference!= null) { + products.put("nodeReference", this.nodeReference.init()); + } + return products; + } + + public NodeReference.Selector> nodeReference() { + return ((this.nodeReference == null)?this.nodeReference = new NodeReference.Selector>(this._root, this, "nodeReference"):this.nodeReference); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeTypeDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeTypeDescription.java new file mode 100644 index 000000000..4e143ee6a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfNodeTypeDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfNodeTypeDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfNodeTypeDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeTypeDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeTypeDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfNodeTypeDescription", propOrder = { + "nodeTypeDescription" +}) +public class ListOfNodeTypeDescription { + + @XmlElement(name = "NodeTypeDescription", nillable = true) + protected List nodeTypeDescription; + + /** + * Gets the value of the nodeTypeDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the nodeTypeDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNodeTypeDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NodeTypeDescription } + * + * + */ + public List getNodeTypeDescription() { + if (nodeTypeDescription == null) { + nodeTypeDescription = new ArrayList(); + } + return this.nodeTypeDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNodeTypeDescription.Builder<_B> _other) { + if (this.nodeTypeDescription == null) { + _other.nodeTypeDescription = null; + } else { + _other.nodeTypeDescription = new ArrayList>>(); + for (NodeTypeDescription _item: this.nodeTypeDescription) { + _other.nodeTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfNodeTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfNodeTypeDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfNodeTypeDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfNodeTypeDescription.Builder builder() { + return new ListOfNodeTypeDescription.Builder(null, null, false); + } + + public static<_B >ListOfNodeTypeDescription.Builder<_B> copyOf(final ListOfNodeTypeDescription _other) { + final ListOfNodeTypeDescription.Builder<_B> _newBuilder = new ListOfNodeTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfNodeTypeDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeTypeDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeTypeDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeTypeDescriptionPropertyTree!= null):((nodeTypeDescriptionPropertyTree == null)||(!nodeTypeDescriptionPropertyTree.isLeaf())))) { + if (this.nodeTypeDescription == null) { + _other.nodeTypeDescription = null; + } else { + _other.nodeTypeDescription = new ArrayList>>(); + for (NodeTypeDescription _item: this.nodeTypeDescription) { + _other.nodeTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, nodeTypeDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfNodeTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfNodeTypeDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfNodeTypeDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfNodeTypeDescription.Builder<_B> copyOf(final ListOfNodeTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfNodeTypeDescription.Builder<_B> _newBuilder = new ListOfNodeTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfNodeTypeDescription.Builder copyExcept(final ListOfNodeTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfNodeTypeDescription.Builder copyOnly(final ListOfNodeTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfNodeTypeDescription _storedValue; + private List>> nodeTypeDescription; + + public Builder(final _B _parentBuilder, final ListOfNodeTypeDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.nodeTypeDescription == null) { + this.nodeTypeDescription = null; + } else { + this.nodeTypeDescription = new ArrayList>>(); + for (NodeTypeDescription _item: _other.nodeTypeDescription) { + this.nodeTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfNodeTypeDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeTypeDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeTypeDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeTypeDescriptionPropertyTree!= null):((nodeTypeDescriptionPropertyTree == null)||(!nodeTypeDescriptionPropertyTree.isLeaf())))) { + if (_other.nodeTypeDescription == null) { + this.nodeTypeDescription = null; + } else { + this.nodeTypeDescription = new ArrayList>>(); + for (NodeTypeDescription _item: _other.nodeTypeDescription) { + this.nodeTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(this, nodeTypeDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfNodeTypeDescription >_P init(final _P _product) { + if (this.nodeTypeDescription!= null) { + final List nodeTypeDescription = new ArrayList(this.nodeTypeDescription.size()); + for (NodeTypeDescription.Builder> _item: this.nodeTypeDescription) { + nodeTypeDescription.add(_item.build()); + } + _product.nodeTypeDescription = nodeTypeDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "nodeTypeDescription" hinzu. + * + * @param nodeTypeDescription + * Werte, die zur Eigenschaft "nodeTypeDescription" hinzugefügt werden. + */ + public ListOfNodeTypeDescription.Builder<_B> addNodeTypeDescription(final Iterable nodeTypeDescription) { + if (nodeTypeDescription!= null) { + if (this.nodeTypeDescription == null) { + this.nodeTypeDescription = new ArrayList>>(); + } + for (NodeTypeDescription _item: nodeTypeDescription) { + this.nodeTypeDescription.add(new NodeTypeDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeTypeDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param nodeTypeDescription + * Neuer Wert der Eigenschaft "nodeTypeDescription". + */ + public ListOfNodeTypeDescription.Builder<_B> withNodeTypeDescription(final Iterable nodeTypeDescription) { + if (this.nodeTypeDescription!= null) { + this.nodeTypeDescription.clear(); + } + return addNodeTypeDescription(nodeTypeDescription); + } + + /** + * Fügt Werte zur Eigenschaft "nodeTypeDescription" hinzu. + * + * @param nodeTypeDescription + * Werte, die zur Eigenschaft "nodeTypeDescription" hinzugefügt werden. + */ + public ListOfNodeTypeDescription.Builder<_B> addNodeTypeDescription(NodeTypeDescription... nodeTypeDescription) { + addNodeTypeDescription(Arrays.asList(nodeTypeDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeTypeDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param nodeTypeDescription + * Neuer Wert der Eigenschaft "nodeTypeDescription". + */ + public ListOfNodeTypeDescription.Builder<_B> withNodeTypeDescription(NodeTypeDescription... nodeTypeDescription) { + withNodeTypeDescription(Arrays.asList(nodeTypeDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "NodeTypeDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NodeTypeDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "NodeTypeDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.NodeTypeDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public NodeTypeDescription.Builder> addNodeTypeDescription() { + if (this.nodeTypeDescription == null) { + this.nodeTypeDescription = new ArrayList>>(); + } + final NodeTypeDescription.Builder> nodeTypeDescription_Builder = new NodeTypeDescription.Builder>(this, null, false); + this.nodeTypeDescription.add(nodeTypeDescription_Builder); + return nodeTypeDescription_Builder; + } + + @Override + public ListOfNodeTypeDescription build() { + if (_storedValue == null) { + return this.init(new ListOfNodeTypeDescription()); + } else { + return ((ListOfNodeTypeDescription) _storedValue); + } + } + + public ListOfNodeTypeDescription.Builder<_B> copyOf(final ListOfNodeTypeDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfNodeTypeDescription.Builder<_B> copyOf(final ListOfNodeTypeDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfNodeTypeDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfNodeTypeDescription.Select _root() { + return new ListOfNodeTypeDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private NodeTypeDescription.Selector> nodeTypeDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeTypeDescription!= null) { + products.put("nodeTypeDescription", this.nodeTypeDescription.init()); + } + return products; + } + + public NodeTypeDescription.Selector> nodeTypeDescription() { + return ((this.nodeTypeDescription == null)?this.nodeTypeDescription = new NodeTypeDescription.Selector>(this._root, this, "nodeTypeDescription"):this.nodeTypeDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOpenFileMode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOpenFileMode.java new file mode 100644 index 000000000..5e465a60a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOpenFileMode.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfOpenFileMode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfOpenFileMode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="OpenFileMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}OpenFileMode" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfOpenFileMode", propOrder = { + "openFileMode" +}) +public class ListOfOpenFileMode { + + @XmlElement(name = "OpenFileMode") + @XmlSchemaType(name = "string") + protected List openFileMode; + + /** + * Gets the value of the openFileMode property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the openFileMode property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getOpenFileMode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link OpenFileMode } + * + * + */ + public List getOpenFileMode() { + if (openFileMode == null) { + openFileMode = new ArrayList(); + } + return this.openFileMode; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOpenFileMode.Builder<_B> _other) { + if (this.openFileMode == null) { + _other.openFileMode = null; + } else { + _other.openFileMode = new ArrayList(); + for (OpenFileMode _item: this.openFileMode) { + _other.openFileMode.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfOpenFileMode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfOpenFileMode.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfOpenFileMode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfOpenFileMode.Builder builder() { + return new ListOfOpenFileMode.Builder(null, null, false); + } + + public static<_B >ListOfOpenFileMode.Builder<_B> copyOf(final ListOfOpenFileMode _other) { + final ListOfOpenFileMode.Builder<_B> _newBuilder = new ListOfOpenFileMode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOpenFileMode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree openFileModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("openFileMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(openFileModePropertyTree!= null):((openFileModePropertyTree == null)||(!openFileModePropertyTree.isLeaf())))) { + if (this.openFileMode == null) { + _other.openFileMode = null; + } else { + _other.openFileMode = new ArrayList(); + for (OpenFileMode _item: this.openFileMode) { + _other.openFileMode.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfOpenFileMode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfOpenFileMode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfOpenFileMode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfOpenFileMode.Builder<_B> copyOf(final ListOfOpenFileMode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfOpenFileMode.Builder<_B> _newBuilder = new ListOfOpenFileMode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfOpenFileMode.Builder copyExcept(final ListOfOpenFileMode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfOpenFileMode.Builder copyOnly(final ListOfOpenFileMode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfOpenFileMode _storedValue; + private List openFileMode; + + public Builder(final _B _parentBuilder, final ListOfOpenFileMode _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.openFileMode == null) { + this.openFileMode = null; + } else { + this.openFileMode = new ArrayList(); + for (OpenFileMode _item: _other.openFileMode) { + this.openFileMode.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfOpenFileMode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree openFileModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("openFileMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(openFileModePropertyTree!= null):((openFileModePropertyTree == null)||(!openFileModePropertyTree.isLeaf())))) { + if (_other.openFileMode == null) { + this.openFileMode = null; + } else { + this.openFileMode = new ArrayList(); + for (OpenFileMode _item: _other.openFileMode) { + this.openFileMode.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfOpenFileMode >_P init(final _P _product) { + if (this.openFileMode!= null) { + final List openFileMode = new ArrayList(this.openFileMode.size()); + for (Buildable _item: this.openFileMode) { + openFileMode.add(((OpenFileMode) _item.build())); + } + _product.openFileMode = openFileMode; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "openFileMode" hinzu. + * + * @param openFileMode + * Werte, die zur Eigenschaft "openFileMode" hinzugefügt werden. + */ + public ListOfOpenFileMode.Builder<_B> addOpenFileMode(final Iterable openFileMode) { + if (openFileMode!= null) { + if (this.openFileMode == null) { + this.openFileMode = new ArrayList(); + } + for (OpenFileMode _item: openFileMode) { + this.openFileMode.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "openFileMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param openFileMode + * Neuer Wert der Eigenschaft "openFileMode". + */ + public ListOfOpenFileMode.Builder<_B> withOpenFileMode(final Iterable openFileMode) { + if (this.openFileMode!= null) { + this.openFileMode.clear(); + } + return addOpenFileMode(openFileMode); + } + + /** + * Fügt Werte zur Eigenschaft "openFileMode" hinzu. + * + * @param openFileMode + * Werte, die zur Eigenschaft "openFileMode" hinzugefügt werden. + */ + public ListOfOpenFileMode.Builder<_B> addOpenFileMode(OpenFileMode... openFileMode) { + addOpenFileMode(Arrays.asList(openFileMode)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "openFileMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param openFileMode + * Neuer Wert der Eigenschaft "openFileMode". + */ + public ListOfOpenFileMode.Builder<_B> withOpenFileMode(OpenFileMode... openFileMode) { + withOpenFileMode(Arrays.asList(openFileMode)); + return this; + } + + @Override + public ListOfOpenFileMode build() { + if (_storedValue == null) { + return this.init(new ListOfOpenFileMode()); + } else { + return ((ListOfOpenFileMode) _storedValue); + } + } + + public ListOfOpenFileMode.Builder<_B> copyOf(final ListOfOpenFileMode _other) { + _other.copyTo(this); + return this; + } + + public ListOfOpenFileMode.Builder<_B> copyOf(final ListOfOpenFileMode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfOpenFileMode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfOpenFileMode.Select _root() { + return new ListOfOpenFileMode.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> openFileMode = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.openFileMode!= null) { + products.put("openFileMode", this.openFileMode.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> openFileMode() { + return ((this.openFileMode == null)?this.openFileMode = new com.kscs.util.jaxb.Selector>(this._root, this, "openFileMode"):this.openFileMode); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOptionSet.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOptionSet.java new file mode 100644 index 000000000..e0f051482 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOptionSet.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfOptionSet complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfOptionSet">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="OptionSet" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}OptionSet" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfOptionSet", propOrder = { + "optionSet" +}) +public class ListOfOptionSet { + + @XmlElement(name = "OptionSet", nillable = true) + protected List optionSet; + + /** + * Gets the value of the optionSet property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the optionSet property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getOptionSet().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link OptionSet } + * + * + */ + public List getOptionSet() { + if (optionSet == null) { + optionSet = new ArrayList(); + } + return this.optionSet; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOptionSet.Builder<_B> _other) { + if (this.optionSet == null) { + _other.optionSet = null; + } else { + _other.optionSet = new ArrayList>>(); + for (OptionSet _item: this.optionSet) { + _other.optionSet.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfOptionSet.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfOptionSet.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfOptionSet.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfOptionSet.Builder builder() { + return new ListOfOptionSet.Builder(null, null, false); + } + + public static<_B >ListOfOptionSet.Builder<_B> copyOf(final ListOfOptionSet _other) { + final ListOfOptionSet.Builder<_B> _newBuilder = new ListOfOptionSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOptionSet.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree optionSetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("optionSet")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(optionSetPropertyTree!= null):((optionSetPropertyTree == null)||(!optionSetPropertyTree.isLeaf())))) { + if (this.optionSet == null) { + _other.optionSet = null; + } else { + _other.optionSet = new ArrayList>>(); + for (OptionSet _item: this.optionSet) { + _other.optionSet.add(((_item == null)?null:_item.newCopyBuilder(_other, optionSetPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfOptionSet.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfOptionSet.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfOptionSet.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfOptionSet.Builder<_B> copyOf(final ListOfOptionSet _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfOptionSet.Builder<_B> _newBuilder = new ListOfOptionSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfOptionSet.Builder copyExcept(final ListOfOptionSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfOptionSet.Builder copyOnly(final ListOfOptionSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfOptionSet _storedValue; + private List>> optionSet; + + public Builder(final _B _parentBuilder, final ListOfOptionSet _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.optionSet == null) { + this.optionSet = null; + } else { + this.optionSet = new ArrayList>>(); + for (OptionSet _item: _other.optionSet) { + this.optionSet.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfOptionSet _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree optionSetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("optionSet")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(optionSetPropertyTree!= null):((optionSetPropertyTree == null)||(!optionSetPropertyTree.isLeaf())))) { + if (_other.optionSet == null) { + this.optionSet = null; + } else { + this.optionSet = new ArrayList>>(); + for (OptionSet _item: _other.optionSet) { + this.optionSet.add(((_item == null)?null:_item.newCopyBuilder(this, optionSetPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfOptionSet >_P init(final _P _product) { + if (this.optionSet!= null) { + final List optionSet = new ArrayList(this.optionSet.size()); + for (OptionSet.Builder> _item: this.optionSet) { + optionSet.add(_item.build()); + } + _product.optionSet = optionSet; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "optionSet" hinzu. + * + * @param optionSet + * Werte, die zur Eigenschaft "optionSet" hinzugefügt werden. + */ + public ListOfOptionSet.Builder<_B> addOptionSet(final Iterable optionSet) { + if (optionSet!= null) { + if (this.optionSet == null) { + this.optionSet = new ArrayList>>(); + } + for (OptionSet _item: optionSet) { + this.optionSet.add(new OptionSet.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "optionSet" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param optionSet + * Neuer Wert der Eigenschaft "optionSet". + */ + public ListOfOptionSet.Builder<_B> withOptionSet(final Iterable optionSet) { + if (this.optionSet!= null) { + this.optionSet.clear(); + } + return addOptionSet(optionSet); + } + + /** + * Fügt Werte zur Eigenschaft "optionSet" hinzu. + * + * @param optionSet + * Werte, die zur Eigenschaft "optionSet" hinzugefügt werden. + */ + public ListOfOptionSet.Builder<_B> addOptionSet(OptionSet... optionSet) { + addOptionSet(Arrays.asList(optionSet)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "optionSet" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param optionSet + * Neuer Wert der Eigenschaft "optionSet". + */ + public ListOfOptionSet.Builder<_B> withOptionSet(OptionSet... optionSet) { + withOptionSet(Arrays.asList(optionSet)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "OptionSet". + * Mit {@link org.opcfoundation.ua._2008._02.types.OptionSet.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "OptionSet". + * Mit {@link org.opcfoundation.ua._2008._02.types.OptionSet.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public OptionSet.Builder> addOptionSet() { + if (this.optionSet == null) { + this.optionSet = new ArrayList>>(); + } + final OptionSet.Builder> optionSet_Builder = new OptionSet.Builder>(this, null, false); + this.optionSet.add(optionSet_Builder); + return optionSet_Builder; + } + + @Override + public ListOfOptionSet build() { + if (_storedValue == null) { + return this.init(new ListOfOptionSet()); + } else { + return ((ListOfOptionSet) _storedValue); + } + } + + public ListOfOptionSet.Builder<_B> copyOf(final ListOfOptionSet _other) { + _other.copyTo(this); + return this; + } + + public ListOfOptionSet.Builder<_B> copyOf(final ListOfOptionSet.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfOptionSet.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfOptionSet.Select _root() { + return new ListOfOptionSet.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private OptionSet.Selector> optionSet = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.optionSet!= null) { + products.put("optionSet", this.optionSet.init()); + } + return products; + } + + public OptionSet.Selector> optionSet() { + return ((this.optionSet == null)?this.optionSet = new OptionSet.Selector>(this._root, this, "optionSet"):this.optionSet); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOrientation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOrientation.java new file mode 100644 index 000000000..a898b8883 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOrientation.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfOrientation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfOrientation">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Orientation" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Orientation" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfOrientation", propOrder = { + "orientation" +}) +public class ListOfOrientation { + + @XmlElement(name = "Orientation", nillable = true) + protected List orientation; + + /** + * Gets the value of the orientation property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the orientation property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getOrientation().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Orientation } + * + * + */ + public List getOrientation() { + if (orientation == null) { + orientation = new ArrayList(); + } + return this.orientation; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOrientation.Builder<_B> _other) { + if (this.orientation == null) { + _other.orientation = null; + } else { + _other.orientation = new ArrayList>>(); + for (Orientation _item: this.orientation) { + _other.orientation.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfOrientation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfOrientation.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfOrientation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfOrientation.Builder builder() { + return new ListOfOrientation.Builder(null, null, false); + } + + public static<_B >ListOfOrientation.Builder<_B> copyOf(final ListOfOrientation _other) { + final ListOfOrientation.Builder<_B> _newBuilder = new ListOfOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOrientation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree orientationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("orientation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(orientationPropertyTree!= null):((orientationPropertyTree == null)||(!orientationPropertyTree.isLeaf())))) { + if (this.orientation == null) { + _other.orientation = null; + } else { + _other.orientation = new ArrayList>>(); + for (Orientation _item: this.orientation) { + _other.orientation.add(((_item == null)?null:_item.newCopyBuilder(_other, orientationPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfOrientation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfOrientation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfOrientation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfOrientation.Builder<_B> copyOf(final ListOfOrientation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfOrientation.Builder<_B> _newBuilder = new ListOfOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfOrientation.Builder copyExcept(final ListOfOrientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfOrientation.Builder copyOnly(final ListOfOrientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfOrientation _storedValue; + private List>> orientation; + + public Builder(final _B _parentBuilder, final ListOfOrientation _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.orientation == null) { + this.orientation = null; + } else { + this.orientation = new ArrayList>>(); + for (Orientation _item: _other.orientation) { + this.orientation.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfOrientation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree orientationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("orientation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(orientationPropertyTree!= null):((orientationPropertyTree == null)||(!orientationPropertyTree.isLeaf())))) { + if (_other.orientation == null) { + this.orientation = null; + } else { + this.orientation = new ArrayList>>(); + for (Orientation _item: _other.orientation) { + this.orientation.add(((_item == null)?null:_item.newCopyBuilder(this, orientationPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfOrientation >_P init(final _P _product) { + if (this.orientation!= null) { + final List orientation = new ArrayList(this.orientation.size()); + for (Orientation.Builder> _item: this.orientation) { + orientation.add(_item.build()); + } + _product.orientation = orientation; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "orientation" hinzu. + * + * @param orientation + * Werte, die zur Eigenschaft "orientation" hinzugefügt werden. + */ + public ListOfOrientation.Builder<_B> addOrientation(final Iterable orientation) { + if (orientation!= null) { + if (this.orientation == null) { + this.orientation = new ArrayList>>(); + } + for (Orientation _item: orientation) { + this.orientation.add(new Orientation.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "orientation" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param orientation + * Neuer Wert der Eigenschaft "orientation". + */ + public ListOfOrientation.Builder<_B> withOrientation(final Iterable orientation) { + if (this.orientation!= null) { + this.orientation.clear(); + } + return addOrientation(orientation); + } + + /** + * Fügt Werte zur Eigenschaft "orientation" hinzu. + * + * @param orientation + * Werte, die zur Eigenschaft "orientation" hinzugefügt werden. + */ + public ListOfOrientation.Builder<_B> addOrientation(Orientation... orientation) { + addOrientation(Arrays.asList(orientation)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "orientation" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param orientation + * Neuer Wert der Eigenschaft "orientation". + */ + public ListOfOrientation.Builder<_B> withOrientation(Orientation... orientation) { + withOrientation(Arrays.asList(orientation)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Orientation". + * Mit {@link org.opcfoundation.ua._2008._02.types.Orientation.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Orientation". + * Mit {@link org.opcfoundation.ua._2008._02.types.Orientation.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public Orientation.Builder> addOrientation() { + if (this.orientation == null) { + this.orientation = new ArrayList>>(); + } + final Orientation.Builder> orientation_Builder = new Orientation.Builder>(this, null, false); + this.orientation.add(orientation_Builder); + return orientation_Builder; + } + + @Override + public ListOfOrientation build() { + if (_storedValue == null) { + return this.init(new ListOfOrientation()); + } else { + return ((ListOfOrientation) _storedValue); + } + } + + public ListOfOrientation.Builder<_B> copyOf(final ListOfOrientation _other) { + _other.copyTo(this); + return this; + } + + public ListOfOrientation.Builder<_B> copyOf(final ListOfOrientation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfOrientation.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfOrientation.Select _root() { + return new ListOfOrientation.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Orientation.Selector> orientation = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.orientation!= null) { + products.put("orientation", this.orientation.init()); + } + return products; + } + + public Orientation.Selector> orientation() { + return ((this.orientation == null)?this.orientation = new Orientation.Selector>(this._root, this, "orientation"):this.orientation); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOverrideValueHandling.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOverrideValueHandling.java new file mode 100644 index 000000000..2e1825778 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfOverrideValueHandling.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfOverrideValueHandling complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfOverrideValueHandling">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="OverrideValueHandling" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}OverrideValueHandling" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfOverrideValueHandling", propOrder = { + "overrideValueHandling" +}) +public class ListOfOverrideValueHandling { + + @XmlElement(name = "OverrideValueHandling") + @XmlSchemaType(name = "string") + protected List overrideValueHandling; + + /** + * Gets the value of the overrideValueHandling property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the overrideValueHandling property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getOverrideValueHandling().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link OverrideValueHandling } + * + * + */ + public List getOverrideValueHandling() { + if (overrideValueHandling == null) { + overrideValueHandling = new ArrayList(); + } + return this.overrideValueHandling; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOverrideValueHandling.Builder<_B> _other) { + if (this.overrideValueHandling == null) { + _other.overrideValueHandling = null; + } else { + _other.overrideValueHandling = new ArrayList(); + for (OverrideValueHandling _item: this.overrideValueHandling) { + _other.overrideValueHandling.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfOverrideValueHandling.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfOverrideValueHandling.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfOverrideValueHandling.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfOverrideValueHandling.Builder builder() { + return new ListOfOverrideValueHandling.Builder(null, null, false); + } + + public static<_B >ListOfOverrideValueHandling.Builder<_B> copyOf(final ListOfOverrideValueHandling _other) { + final ListOfOverrideValueHandling.Builder<_B> _newBuilder = new ListOfOverrideValueHandling.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfOverrideValueHandling.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree overrideValueHandlingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("overrideValueHandling")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(overrideValueHandlingPropertyTree!= null):((overrideValueHandlingPropertyTree == null)||(!overrideValueHandlingPropertyTree.isLeaf())))) { + if (this.overrideValueHandling == null) { + _other.overrideValueHandling = null; + } else { + _other.overrideValueHandling = new ArrayList(); + for (OverrideValueHandling _item: this.overrideValueHandling) { + _other.overrideValueHandling.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfOverrideValueHandling.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfOverrideValueHandling.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfOverrideValueHandling.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfOverrideValueHandling.Builder<_B> copyOf(final ListOfOverrideValueHandling _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfOverrideValueHandling.Builder<_B> _newBuilder = new ListOfOverrideValueHandling.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfOverrideValueHandling.Builder copyExcept(final ListOfOverrideValueHandling _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfOverrideValueHandling.Builder copyOnly(final ListOfOverrideValueHandling _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfOverrideValueHandling _storedValue; + private List overrideValueHandling; + + public Builder(final _B _parentBuilder, final ListOfOverrideValueHandling _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.overrideValueHandling == null) { + this.overrideValueHandling = null; + } else { + this.overrideValueHandling = new ArrayList(); + for (OverrideValueHandling _item: _other.overrideValueHandling) { + this.overrideValueHandling.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfOverrideValueHandling _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree overrideValueHandlingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("overrideValueHandling")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(overrideValueHandlingPropertyTree!= null):((overrideValueHandlingPropertyTree == null)||(!overrideValueHandlingPropertyTree.isLeaf())))) { + if (_other.overrideValueHandling == null) { + this.overrideValueHandling = null; + } else { + this.overrideValueHandling = new ArrayList(); + for (OverrideValueHandling _item: _other.overrideValueHandling) { + this.overrideValueHandling.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfOverrideValueHandling >_P init(final _P _product) { + if (this.overrideValueHandling!= null) { + final List overrideValueHandling = new ArrayList(this.overrideValueHandling.size()); + for (Buildable _item: this.overrideValueHandling) { + overrideValueHandling.add(((OverrideValueHandling) _item.build())); + } + _product.overrideValueHandling = overrideValueHandling; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "overrideValueHandling" hinzu. + * + * @param overrideValueHandling + * Werte, die zur Eigenschaft "overrideValueHandling" hinzugefügt werden. + */ + public ListOfOverrideValueHandling.Builder<_B> addOverrideValueHandling(final Iterable overrideValueHandling) { + if (overrideValueHandling!= null) { + if (this.overrideValueHandling == null) { + this.overrideValueHandling = new ArrayList(); + } + for (OverrideValueHandling _item: overrideValueHandling) { + this.overrideValueHandling.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "overrideValueHandling" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param overrideValueHandling + * Neuer Wert der Eigenschaft "overrideValueHandling". + */ + public ListOfOverrideValueHandling.Builder<_B> withOverrideValueHandling(final Iterable overrideValueHandling) { + if (this.overrideValueHandling!= null) { + this.overrideValueHandling.clear(); + } + return addOverrideValueHandling(overrideValueHandling); + } + + /** + * Fügt Werte zur Eigenschaft "overrideValueHandling" hinzu. + * + * @param overrideValueHandling + * Werte, die zur Eigenschaft "overrideValueHandling" hinzugefügt werden. + */ + public ListOfOverrideValueHandling.Builder<_B> addOverrideValueHandling(OverrideValueHandling... overrideValueHandling) { + addOverrideValueHandling(Arrays.asList(overrideValueHandling)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "overrideValueHandling" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param overrideValueHandling + * Neuer Wert der Eigenschaft "overrideValueHandling". + */ + public ListOfOverrideValueHandling.Builder<_B> withOverrideValueHandling(OverrideValueHandling... overrideValueHandling) { + withOverrideValueHandling(Arrays.asList(overrideValueHandling)); + return this; + } + + @Override + public ListOfOverrideValueHandling build() { + if (_storedValue == null) { + return this.init(new ListOfOverrideValueHandling()); + } else { + return ((ListOfOverrideValueHandling) _storedValue); + } + } + + public ListOfOverrideValueHandling.Builder<_B> copyOf(final ListOfOverrideValueHandling _other) { + _other.copyTo(this); + return this; + } + + public ListOfOverrideValueHandling.Builder<_B> copyOf(final ListOfOverrideValueHandling.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfOverrideValueHandling.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfOverrideValueHandling.Select _root() { + return new ListOfOverrideValueHandling.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> overrideValueHandling = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.overrideValueHandling!= null) { + products.put("overrideValueHandling", this.overrideValueHandling.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> overrideValueHandling() { + return ((this.overrideValueHandling == null)?this.overrideValueHandling = new com.kscs.util.jaxb.Selector>(this._root, this, "overrideValueHandling"):this.overrideValueHandling); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfParsingResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfParsingResult.java new file mode 100644 index 000000000..a6d684afa --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfParsingResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfParsingResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfParsingResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ParsingResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ParsingResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfParsingResult", propOrder = { + "parsingResult" +}) +public class ListOfParsingResult { + + @XmlElement(name = "ParsingResult", nillable = true) + protected List parsingResult; + + /** + * Gets the value of the parsingResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the parsingResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getParsingResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ParsingResult } + * + * + */ + public List getParsingResult() { + if (parsingResult == null) { + parsingResult = new ArrayList(); + } + return this.parsingResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfParsingResult.Builder<_B> _other) { + if (this.parsingResult == null) { + _other.parsingResult = null; + } else { + _other.parsingResult = new ArrayList>>(); + for (ParsingResult _item: this.parsingResult) { + _other.parsingResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfParsingResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfParsingResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfParsingResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfParsingResult.Builder builder() { + return new ListOfParsingResult.Builder(null, null, false); + } + + public static<_B >ListOfParsingResult.Builder<_B> copyOf(final ListOfParsingResult _other) { + final ListOfParsingResult.Builder<_B> _newBuilder = new ListOfParsingResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfParsingResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree parsingResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parsingResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parsingResultPropertyTree!= null):((parsingResultPropertyTree == null)||(!parsingResultPropertyTree.isLeaf())))) { + if (this.parsingResult == null) { + _other.parsingResult = null; + } else { + _other.parsingResult = new ArrayList>>(); + for (ParsingResult _item: this.parsingResult) { + _other.parsingResult.add(((_item == null)?null:_item.newCopyBuilder(_other, parsingResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfParsingResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfParsingResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfParsingResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfParsingResult.Builder<_B> copyOf(final ListOfParsingResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfParsingResult.Builder<_B> _newBuilder = new ListOfParsingResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfParsingResult.Builder copyExcept(final ListOfParsingResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfParsingResult.Builder copyOnly(final ListOfParsingResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfParsingResult _storedValue; + private List>> parsingResult; + + public Builder(final _B _parentBuilder, final ListOfParsingResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.parsingResult == null) { + this.parsingResult = null; + } else { + this.parsingResult = new ArrayList>>(); + for (ParsingResult _item: _other.parsingResult) { + this.parsingResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfParsingResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree parsingResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parsingResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parsingResultPropertyTree!= null):((parsingResultPropertyTree == null)||(!parsingResultPropertyTree.isLeaf())))) { + if (_other.parsingResult == null) { + this.parsingResult = null; + } else { + this.parsingResult = new ArrayList>>(); + for (ParsingResult _item: _other.parsingResult) { + this.parsingResult.add(((_item == null)?null:_item.newCopyBuilder(this, parsingResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfParsingResult >_P init(final _P _product) { + if (this.parsingResult!= null) { + final List parsingResult = new ArrayList(this.parsingResult.size()); + for (ParsingResult.Builder> _item: this.parsingResult) { + parsingResult.add(_item.build()); + } + _product.parsingResult = parsingResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "parsingResult" hinzu. + * + * @param parsingResult + * Werte, die zur Eigenschaft "parsingResult" hinzugefügt werden. + */ + public ListOfParsingResult.Builder<_B> addParsingResult(final Iterable parsingResult) { + if (parsingResult!= null) { + if (this.parsingResult == null) { + this.parsingResult = new ArrayList>>(); + } + for (ParsingResult _item: parsingResult) { + this.parsingResult.add(new ParsingResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "parsingResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param parsingResult + * Neuer Wert der Eigenschaft "parsingResult". + */ + public ListOfParsingResult.Builder<_B> withParsingResult(final Iterable parsingResult) { + if (this.parsingResult!= null) { + this.parsingResult.clear(); + } + return addParsingResult(parsingResult); + } + + /** + * Fügt Werte zur Eigenschaft "parsingResult" hinzu. + * + * @param parsingResult + * Werte, die zur Eigenschaft "parsingResult" hinzugefügt werden. + */ + public ListOfParsingResult.Builder<_B> addParsingResult(ParsingResult... parsingResult) { + addParsingResult(Arrays.asList(parsingResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "parsingResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param parsingResult + * Neuer Wert der Eigenschaft "parsingResult". + */ + public ListOfParsingResult.Builder<_B> withParsingResult(ParsingResult... parsingResult) { + withParsingResult(Arrays.asList(parsingResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ParsingResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.ParsingResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ParsingResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.ParsingResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ParsingResult.Builder> addParsingResult() { + if (this.parsingResult == null) { + this.parsingResult = new ArrayList>>(); + } + final ParsingResult.Builder> parsingResult_Builder = new ParsingResult.Builder>(this, null, false); + this.parsingResult.add(parsingResult_Builder); + return parsingResult_Builder; + } + + @Override + public ListOfParsingResult build() { + if (_storedValue == null) { + return this.init(new ListOfParsingResult()); + } else { + return ((ListOfParsingResult) _storedValue); + } + } + + public ListOfParsingResult.Builder<_B> copyOf(final ListOfParsingResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfParsingResult.Builder<_B> copyOf(final ListOfParsingResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfParsingResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfParsingResult.Select _root() { + return new ListOfParsingResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ParsingResult.Selector> parsingResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.parsingResult!= null) { + products.put("parsingResult", this.parsingResult.init()); + } + return products; + } + + public ParsingResult.Selector> parsingResult() { + return ((this.parsingResult == null)?this.parsingResult = new ParsingResult.Selector>(this._root, this, "parsingResult"):this.parsingResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConfigurationDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConfigurationDataType.java new file mode 100644 index 000000000..232f79d6e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConfigurationDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPubSubConfigurationDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPubSubConfigurationDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PubSubConfigurationDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubConfigurationDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPubSubConfigurationDataType", propOrder = { + "pubSubConfigurationDataType" +}) +public class ListOfPubSubConfigurationDataType { + + @XmlElement(name = "PubSubConfigurationDataType", nillable = true) + protected List pubSubConfigurationDataType; + + /** + * Gets the value of the pubSubConfigurationDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the pubSubConfigurationDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPubSubConfigurationDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PubSubConfigurationDataType } + * + * + */ + public List getPubSubConfigurationDataType() { + if (pubSubConfigurationDataType == null) { + pubSubConfigurationDataType = new ArrayList(); + } + return this.pubSubConfigurationDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubConfigurationDataType.Builder<_B> _other) { + if (this.pubSubConfigurationDataType == null) { + _other.pubSubConfigurationDataType = null; + } else { + _other.pubSubConfigurationDataType = new ArrayList>>(); + for (PubSubConfigurationDataType _item: this.pubSubConfigurationDataType) { + _other.pubSubConfigurationDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPubSubConfigurationDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPubSubConfigurationDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPubSubConfigurationDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPubSubConfigurationDataType.Builder builder() { + return new ListOfPubSubConfigurationDataType.Builder(null, null, false); + } + + public static<_B >ListOfPubSubConfigurationDataType.Builder<_B> copyOf(final ListOfPubSubConfigurationDataType _other) { + final ListOfPubSubConfigurationDataType.Builder<_B> _newBuilder = new ListOfPubSubConfigurationDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubConfigurationDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree pubSubConfigurationDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubConfigurationDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubConfigurationDataTypePropertyTree!= null):((pubSubConfigurationDataTypePropertyTree == null)||(!pubSubConfigurationDataTypePropertyTree.isLeaf())))) { + if (this.pubSubConfigurationDataType == null) { + _other.pubSubConfigurationDataType = null; + } else { + _other.pubSubConfigurationDataType = new ArrayList>>(); + for (PubSubConfigurationDataType _item: this.pubSubConfigurationDataType) { + _other.pubSubConfigurationDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, pubSubConfigurationDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPubSubConfigurationDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPubSubConfigurationDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPubSubConfigurationDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPubSubConfigurationDataType.Builder<_B> copyOf(final ListOfPubSubConfigurationDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPubSubConfigurationDataType.Builder<_B> _newBuilder = new ListOfPubSubConfigurationDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPubSubConfigurationDataType.Builder copyExcept(final ListOfPubSubConfigurationDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPubSubConfigurationDataType.Builder copyOnly(final ListOfPubSubConfigurationDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPubSubConfigurationDataType _storedValue; + private List>> pubSubConfigurationDataType; + + public Builder(final _B _parentBuilder, final ListOfPubSubConfigurationDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.pubSubConfigurationDataType == null) { + this.pubSubConfigurationDataType = null; + } else { + this.pubSubConfigurationDataType = new ArrayList>>(); + for (PubSubConfigurationDataType _item: _other.pubSubConfigurationDataType) { + this.pubSubConfigurationDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPubSubConfigurationDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree pubSubConfigurationDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubConfigurationDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubConfigurationDataTypePropertyTree!= null):((pubSubConfigurationDataTypePropertyTree == null)||(!pubSubConfigurationDataTypePropertyTree.isLeaf())))) { + if (_other.pubSubConfigurationDataType == null) { + this.pubSubConfigurationDataType = null; + } else { + this.pubSubConfigurationDataType = new ArrayList>>(); + for (PubSubConfigurationDataType _item: _other.pubSubConfigurationDataType) { + this.pubSubConfigurationDataType.add(((_item == null)?null:_item.newCopyBuilder(this, pubSubConfigurationDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPubSubConfigurationDataType >_P init(final _P _product) { + if (this.pubSubConfigurationDataType!= null) { + final List pubSubConfigurationDataType = new ArrayList(this.pubSubConfigurationDataType.size()); + for (PubSubConfigurationDataType.Builder> _item: this.pubSubConfigurationDataType) { + pubSubConfigurationDataType.add(_item.build()); + } + _product.pubSubConfigurationDataType = pubSubConfigurationDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "pubSubConfigurationDataType" hinzu. + * + * @param pubSubConfigurationDataType + * Werte, die zur Eigenschaft "pubSubConfigurationDataType" hinzugefügt werden. + */ + public ListOfPubSubConfigurationDataType.Builder<_B> addPubSubConfigurationDataType(final Iterable pubSubConfigurationDataType) { + if (pubSubConfigurationDataType!= null) { + if (this.pubSubConfigurationDataType == null) { + this.pubSubConfigurationDataType = new ArrayList>>(); + } + for (PubSubConfigurationDataType _item: pubSubConfigurationDataType) { + this.pubSubConfigurationDataType.add(new PubSubConfigurationDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubConfigurationDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param pubSubConfigurationDataType + * Neuer Wert der Eigenschaft "pubSubConfigurationDataType". + */ + public ListOfPubSubConfigurationDataType.Builder<_B> withPubSubConfigurationDataType(final Iterable pubSubConfigurationDataType) { + if (this.pubSubConfigurationDataType!= null) { + this.pubSubConfigurationDataType.clear(); + } + return addPubSubConfigurationDataType(pubSubConfigurationDataType); + } + + /** + * Fügt Werte zur Eigenschaft "pubSubConfigurationDataType" hinzu. + * + * @param pubSubConfigurationDataType + * Werte, die zur Eigenschaft "pubSubConfigurationDataType" hinzugefügt werden. + */ + public ListOfPubSubConfigurationDataType.Builder<_B> addPubSubConfigurationDataType(PubSubConfigurationDataType... pubSubConfigurationDataType) { + addPubSubConfigurationDataType(Arrays.asList(pubSubConfigurationDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubConfigurationDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param pubSubConfigurationDataType + * Neuer Wert der Eigenschaft "pubSubConfigurationDataType". + */ + public ListOfPubSubConfigurationDataType.Builder<_B> withPubSubConfigurationDataType(PubSubConfigurationDataType... pubSubConfigurationDataType) { + withPubSubConfigurationDataType(Arrays.asList(pubSubConfigurationDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PubSubConfigurationDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PubSubConfigurationDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PubSubConfigurationDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PubSubConfigurationDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public PubSubConfigurationDataType.Builder> addPubSubConfigurationDataType() { + if (this.pubSubConfigurationDataType == null) { + this.pubSubConfigurationDataType = new ArrayList>>(); + } + final PubSubConfigurationDataType.Builder> pubSubConfigurationDataType_Builder = new PubSubConfigurationDataType.Builder>(this, null, false); + this.pubSubConfigurationDataType.add(pubSubConfigurationDataType_Builder); + return pubSubConfigurationDataType_Builder; + } + + @Override + public ListOfPubSubConfigurationDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPubSubConfigurationDataType()); + } else { + return ((ListOfPubSubConfigurationDataType) _storedValue); + } + } + + public ListOfPubSubConfigurationDataType.Builder<_B> copyOf(final ListOfPubSubConfigurationDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPubSubConfigurationDataType.Builder<_B> copyOf(final ListOfPubSubConfigurationDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPubSubConfigurationDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPubSubConfigurationDataType.Select _root() { + return new ListOfPubSubConfigurationDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PubSubConfigurationDataType.Selector> pubSubConfigurationDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.pubSubConfigurationDataType!= null) { + products.put("pubSubConfigurationDataType", this.pubSubConfigurationDataType.init()); + } + return products; + } + + public PubSubConfigurationDataType.Selector> pubSubConfigurationDataType() { + return ((this.pubSubConfigurationDataType == null)?this.pubSubConfigurationDataType = new PubSubConfigurationDataType.Selector>(this._root, this, "pubSubConfigurationDataType"):this.pubSubConfigurationDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConnectionDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConnectionDataType.java new file mode 100644 index 000000000..215abb0b4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubConnectionDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPubSubConnectionDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPubSubConnectionDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PubSubConnectionDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubConnectionDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPubSubConnectionDataType", propOrder = { + "pubSubConnectionDataType" +}) +public class ListOfPubSubConnectionDataType { + + @XmlElement(name = "PubSubConnectionDataType", nillable = true) + protected List pubSubConnectionDataType; + + /** + * Gets the value of the pubSubConnectionDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the pubSubConnectionDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPubSubConnectionDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PubSubConnectionDataType } + * + * + */ + public List getPubSubConnectionDataType() { + if (pubSubConnectionDataType == null) { + pubSubConnectionDataType = new ArrayList(); + } + return this.pubSubConnectionDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubConnectionDataType.Builder<_B> _other) { + if (this.pubSubConnectionDataType == null) { + _other.pubSubConnectionDataType = null; + } else { + _other.pubSubConnectionDataType = new ArrayList>>(); + for (PubSubConnectionDataType _item: this.pubSubConnectionDataType) { + _other.pubSubConnectionDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPubSubConnectionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPubSubConnectionDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPubSubConnectionDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPubSubConnectionDataType.Builder builder() { + return new ListOfPubSubConnectionDataType.Builder(null, null, false); + } + + public static<_B >ListOfPubSubConnectionDataType.Builder<_B> copyOf(final ListOfPubSubConnectionDataType _other) { + final ListOfPubSubConnectionDataType.Builder<_B> _newBuilder = new ListOfPubSubConnectionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubConnectionDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree pubSubConnectionDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubConnectionDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubConnectionDataTypePropertyTree!= null):((pubSubConnectionDataTypePropertyTree == null)||(!pubSubConnectionDataTypePropertyTree.isLeaf())))) { + if (this.pubSubConnectionDataType == null) { + _other.pubSubConnectionDataType = null; + } else { + _other.pubSubConnectionDataType = new ArrayList>>(); + for (PubSubConnectionDataType _item: this.pubSubConnectionDataType) { + _other.pubSubConnectionDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, pubSubConnectionDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPubSubConnectionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPubSubConnectionDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPubSubConnectionDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPubSubConnectionDataType.Builder<_B> copyOf(final ListOfPubSubConnectionDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPubSubConnectionDataType.Builder<_B> _newBuilder = new ListOfPubSubConnectionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPubSubConnectionDataType.Builder copyExcept(final ListOfPubSubConnectionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPubSubConnectionDataType.Builder copyOnly(final ListOfPubSubConnectionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPubSubConnectionDataType _storedValue; + private List>> pubSubConnectionDataType; + + public Builder(final _B _parentBuilder, final ListOfPubSubConnectionDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.pubSubConnectionDataType == null) { + this.pubSubConnectionDataType = null; + } else { + this.pubSubConnectionDataType = new ArrayList>>(); + for (PubSubConnectionDataType _item: _other.pubSubConnectionDataType) { + this.pubSubConnectionDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPubSubConnectionDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree pubSubConnectionDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubConnectionDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubConnectionDataTypePropertyTree!= null):((pubSubConnectionDataTypePropertyTree == null)||(!pubSubConnectionDataTypePropertyTree.isLeaf())))) { + if (_other.pubSubConnectionDataType == null) { + this.pubSubConnectionDataType = null; + } else { + this.pubSubConnectionDataType = new ArrayList>>(); + for (PubSubConnectionDataType _item: _other.pubSubConnectionDataType) { + this.pubSubConnectionDataType.add(((_item == null)?null:_item.newCopyBuilder(this, pubSubConnectionDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPubSubConnectionDataType >_P init(final _P _product) { + if (this.pubSubConnectionDataType!= null) { + final List pubSubConnectionDataType = new ArrayList(this.pubSubConnectionDataType.size()); + for (PubSubConnectionDataType.Builder> _item: this.pubSubConnectionDataType) { + pubSubConnectionDataType.add(_item.build()); + } + _product.pubSubConnectionDataType = pubSubConnectionDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "pubSubConnectionDataType" hinzu. + * + * @param pubSubConnectionDataType + * Werte, die zur Eigenschaft "pubSubConnectionDataType" hinzugefügt werden. + */ + public ListOfPubSubConnectionDataType.Builder<_B> addPubSubConnectionDataType(final Iterable pubSubConnectionDataType) { + if (pubSubConnectionDataType!= null) { + if (this.pubSubConnectionDataType == null) { + this.pubSubConnectionDataType = new ArrayList>>(); + } + for (PubSubConnectionDataType _item: pubSubConnectionDataType) { + this.pubSubConnectionDataType.add(new PubSubConnectionDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubConnectionDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param pubSubConnectionDataType + * Neuer Wert der Eigenschaft "pubSubConnectionDataType". + */ + public ListOfPubSubConnectionDataType.Builder<_B> withPubSubConnectionDataType(final Iterable pubSubConnectionDataType) { + if (this.pubSubConnectionDataType!= null) { + this.pubSubConnectionDataType.clear(); + } + return addPubSubConnectionDataType(pubSubConnectionDataType); + } + + /** + * Fügt Werte zur Eigenschaft "pubSubConnectionDataType" hinzu. + * + * @param pubSubConnectionDataType + * Werte, die zur Eigenschaft "pubSubConnectionDataType" hinzugefügt werden. + */ + public ListOfPubSubConnectionDataType.Builder<_B> addPubSubConnectionDataType(PubSubConnectionDataType... pubSubConnectionDataType) { + addPubSubConnectionDataType(Arrays.asList(pubSubConnectionDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubConnectionDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param pubSubConnectionDataType + * Neuer Wert der Eigenschaft "pubSubConnectionDataType". + */ + public ListOfPubSubConnectionDataType.Builder<_B> withPubSubConnectionDataType(PubSubConnectionDataType... pubSubConnectionDataType) { + withPubSubConnectionDataType(Arrays.asList(pubSubConnectionDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PubSubConnectionDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PubSubConnectionDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PubSubConnectionDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PubSubConnectionDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public PubSubConnectionDataType.Builder> addPubSubConnectionDataType() { + if (this.pubSubConnectionDataType == null) { + this.pubSubConnectionDataType = new ArrayList>>(); + } + final PubSubConnectionDataType.Builder> pubSubConnectionDataType_Builder = new PubSubConnectionDataType.Builder>(this, null, false); + this.pubSubConnectionDataType.add(pubSubConnectionDataType_Builder); + return pubSubConnectionDataType_Builder; + } + + @Override + public ListOfPubSubConnectionDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPubSubConnectionDataType()); + } else { + return ((ListOfPubSubConnectionDataType) _storedValue); + } + } + + public ListOfPubSubConnectionDataType.Builder<_B> copyOf(final ListOfPubSubConnectionDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPubSubConnectionDataType.Builder<_B> copyOf(final ListOfPubSubConnectionDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPubSubConnectionDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPubSubConnectionDataType.Select _root() { + return new ListOfPubSubConnectionDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PubSubConnectionDataType.Selector> pubSubConnectionDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.pubSubConnectionDataType!= null) { + products.put("pubSubConnectionDataType", this.pubSubConnectionDataType.init()); + } + return products; + } + + public PubSubConnectionDataType.Selector> pubSubConnectionDataType() { + return ((this.pubSubConnectionDataType == null)?this.pubSubConnectionDataType = new PubSubConnectionDataType.Selector>(this._root, this, "pubSubConnectionDataType"):this.pubSubConnectionDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubDiagnosticsCounterClassification.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubDiagnosticsCounterClassification.java new file mode 100644 index 000000000..26cf3afa0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubDiagnosticsCounterClassification.java @@ -0,0 +1,348 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPubSubDiagnosticsCounterClassification complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPubSubDiagnosticsCounterClassification">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PubSubDiagnosticsCounterClassification" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubDiagnosticsCounterClassification" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPubSubDiagnosticsCounterClassification", propOrder = { + "pubSubDiagnosticsCounterClassification" +}) +public class ListOfPubSubDiagnosticsCounterClassification { + + @XmlElement(name = "PubSubDiagnosticsCounterClassification") + @XmlSchemaType(name = "string") + protected List pubSubDiagnosticsCounterClassification; + + /** + * Gets the value of the pubSubDiagnosticsCounterClassification property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the pubSubDiagnosticsCounterClassification property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPubSubDiagnosticsCounterClassification().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PubSubDiagnosticsCounterClassification } + * + * + */ + public List getPubSubDiagnosticsCounterClassification() { + if (pubSubDiagnosticsCounterClassification == null) { + pubSubDiagnosticsCounterClassification = new ArrayList(); + } + return this.pubSubDiagnosticsCounterClassification; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubDiagnosticsCounterClassification.Builder<_B> _other) { + if (this.pubSubDiagnosticsCounterClassification == null) { + _other.pubSubDiagnosticsCounterClassification = null; + } else { + _other.pubSubDiagnosticsCounterClassification = new ArrayList(); + for (PubSubDiagnosticsCounterClassification _item: this.pubSubDiagnosticsCounterClassification) { + _other.pubSubDiagnosticsCounterClassification.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfPubSubDiagnosticsCounterClassification.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPubSubDiagnosticsCounterClassification.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPubSubDiagnosticsCounterClassification.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPubSubDiagnosticsCounterClassification.Builder builder() { + return new ListOfPubSubDiagnosticsCounterClassification.Builder(null, null, false); + } + + public static<_B >ListOfPubSubDiagnosticsCounterClassification.Builder<_B> copyOf(final ListOfPubSubDiagnosticsCounterClassification _other) { + final ListOfPubSubDiagnosticsCounterClassification.Builder<_B> _newBuilder = new ListOfPubSubDiagnosticsCounterClassification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubDiagnosticsCounterClassification.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree pubSubDiagnosticsCounterClassificationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubDiagnosticsCounterClassification")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubDiagnosticsCounterClassificationPropertyTree!= null):((pubSubDiagnosticsCounterClassificationPropertyTree == null)||(!pubSubDiagnosticsCounterClassificationPropertyTree.isLeaf())))) { + if (this.pubSubDiagnosticsCounterClassification == null) { + _other.pubSubDiagnosticsCounterClassification = null; + } else { + _other.pubSubDiagnosticsCounterClassification = new ArrayList(); + for (PubSubDiagnosticsCounterClassification _item: this.pubSubDiagnosticsCounterClassification) { + _other.pubSubDiagnosticsCounterClassification.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfPubSubDiagnosticsCounterClassification.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPubSubDiagnosticsCounterClassification.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPubSubDiagnosticsCounterClassification.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPubSubDiagnosticsCounterClassification.Builder<_B> copyOf(final ListOfPubSubDiagnosticsCounterClassification _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPubSubDiagnosticsCounterClassification.Builder<_B> _newBuilder = new ListOfPubSubDiagnosticsCounterClassification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPubSubDiagnosticsCounterClassification.Builder copyExcept(final ListOfPubSubDiagnosticsCounterClassification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPubSubDiagnosticsCounterClassification.Builder copyOnly(final ListOfPubSubDiagnosticsCounterClassification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPubSubDiagnosticsCounterClassification _storedValue; + private List pubSubDiagnosticsCounterClassification; + + public Builder(final _B _parentBuilder, final ListOfPubSubDiagnosticsCounterClassification _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.pubSubDiagnosticsCounterClassification == null) { + this.pubSubDiagnosticsCounterClassification = null; + } else { + this.pubSubDiagnosticsCounterClassification = new ArrayList(); + for (PubSubDiagnosticsCounterClassification _item: _other.pubSubDiagnosticsCounterClassification) { + this.pubSubDiagnosticsCounterClassification.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPubSubDiagnosticsCounterClassification _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree pubSubDiagnosticsCounterClassificationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubDiagnosticsCounterClassification")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubDiagnosticsCounterClassificationPropertyTree!= null):((pubSubDiagnosticsCounterClassificationPropertyTree == null)||(!pubSubDiagnosticsCounterClassificationPropertyTree.isLeaf())))) { + if (_other.pubSubDiagnosticsCounterClassification == null) { + this.pubSubDiagnosticsCounterClassification = null; + } else { + this.pubSubDiagnosticsCounterClassification = new ArrayList(); + for (PubSubDiagnosticsCounterClassification _item: _other.pubSubDiagnosticsCounterClassification) { + this.pubSubDiagnosticsCounterClassification.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPubSubDiagnosticsCounterClassification >_P init(final _P _product) { + if (this.pubSubDiagnosticsCounterClassification!= null) { + final List pubSubDiagnosticsCounterClassification = new ArrayList(this.pubSubDiagnosticsCounterClassification.size()); + for (Buildable _item: this.pubSubDiagnosticsCounterClassification) { + pubSubDiagnosticsCounterClassification.add(((PubSubDiagnosticsCounterClassification) _item.build())); + } + _product.pubSubDiagnosticsCounterClassification = pubSubDiagnosticsCounterClassification; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "pubSubDiagnosticsCounterClassification" hinzu. + * + * @param pubSubDiagnosticsCounterClassification + * Werte, die zur Eigenschaft "pubSubDiagnosticsCounterClassification" hinzugefügt + * werden. + */ + public ListOfPubSubDiagnosticsCounterClassification.Builder<_B> addPubSubDiagnosticsCounterClassification(final Iterable pubSubDiagnosticsCounterClassification) { + if (pubSubDiagnosticsCounterClassification!= null) { + if (this.pubSubDiagnosticsCounterClassification == null) { + this.pubSubDiagnosticsCounterClassification = new ArrayList(); + } + for (PubSubDiagnosticsCounterClassification _item: pubSubDiagnosticsCounterClassification) { + this.pubSubDiagnosticsCounterClassification.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubDiagnosticsCounterClassification" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param pubSubDiagnosticsCounterClassification + * Neuer Wert der Eigenschaft "pubSubDiagnosticsCounterClassification". + */ + public ListOfPubSubDiagnosticsCounterClassification.Builder<_B> withPubSubDiagnosticsCounterClassification(final Iterable pubSubDiagnosticsCounterClassification) { + if (this.pubSubDiagnosticsCounterClassification!= null) { + this.pubSubDiagnosticsCounterClassification.clear(); + } + return addPubSubDiagnosticsCounterClassification(pubSubDiagnosticsCounterClassification); + } + + /** + * Fügt Werte zur Eigenschaft "pubSubDiagnosticsCounterClassification" hinzu. + * + * @param pubSubDiagnosticsCounterClassification + * Werte, die zur Eigenschaft "pubSubDiagnosticsCounterClassification" hinzugefügt + * werden. + */ + public ListOfPubSubDiagnosticsCounterClassification.Builder<_B> addPubSubDiagnosticsCounterClassification(PubSubDiagnosticsCounterClassification... pubSubDiagnosticsCounterClassification) { + addPubSubDiagnosticsCounterClassification(Arrays.asList(pubSubDiagnosticsCounterClassification)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubDiagnosticsCounterClassification" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param pubSubDiagnosticsCounterClassification + * Neuer Wert der Eigenschaft "pubSubDiagnosticsCounterClassification". + */ + public ListOfPubSubDiagnosticsCounterClassification.Builder<_B> withPubSubDiagnosticsCounterClassification(PubSubDiagnosticsCounterClassification... pubSubDiagnosticsCounterClassification) { + withPubSubDiagnosticsCounterClassification(Arrays.asList(pubSubDiagnosticsCounterClassification)); + return this; + } + + @Override + public ListOfPubSubDiagnosticsCounterClassification build() { + if (_storedValue == null) { + return this.init(new ListOfPubSubDiagnosticsCounterClassification()); + } else { + return ((ListOfPubSubDiagnosticsCounterClassification) _storedValue); + } + } + + public ListOfPubSubDiagnosticsCounterClassification.Builder<_B> copyOf(final ListOfPubSubDiagnosticsCounterClassification _other) { + _other.copyTo(this); + return this; + } + + public ListOfPubSubDiagnosticsCounterClassification.Builder<_B> copyOf(final ListOfPubSubDiagnosticsCounterClassification.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPubSubDiagnosticsCounterClassification.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPubSubDiagnosticsCounterClassification.Select _root() { + return new ListOfPubSubDiagnosticsCounterClassification.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> pubSubDiagnosticsCounterClassification = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.pubSubDiagnosticsCounterClassification!= null) { + products.put("pubSubDiagnosticsCounterClassification", this.pubSubDiagnosticsCounterClassification.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> pubSubDiagnosticsCounterClassification() { + return ((this.pubSubDiagnosticsCounterClassification == null)?this.pubSubDiagnosticsCounterClassification = new com.kscs.util.jaxb.Selector>(this._root, this, "pubSubDiagnosticsCounterClassification"):this.pubSubDiagnosticsCounterClassification); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubGroupDataType.java new file mode 100644 index 000000000..a15e0b49b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubGroupDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPubSubGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPubSubGroupDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PubSubGroupDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubGroupDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPubSubGroupDataType", propOrder = { + "pubSubGroupDataType" +}) +public class ListOfPubSubGroupDataType { + + @XmlElement(name = "PubSubGroupDataType", nillable = true) + protected List pubSubGroupDataType; + + /** + * Gets the value of the pubSubGroupDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the pubSubGroupDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPubSubGroupDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PubSubGroupDataType } + * + * + */ + public List getPubSubGroupDataType() { + if (pubSubGroupDataType == null) { + pubSubGroupDataType = new ArrayList(); + } + return this.pubSubGroupDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubGroupDataType.Builder<_B> _other) { + if (this.pubSubGroupDataType == null) { + _other.pubSubGroupDataType = null; + } else { + _other.pubSubGroupDataType = new ArrayList>>(); + for (PubSubGroupDataType _item: this.pubSubGroupDataType) { + _other.pubSubGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPubSubGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPubSubGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPubSubGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPubSubGroupDataType.Builder builder() { + return new ListOfPubSubGroupDataType.Builder(null, null, false); + } + + public static<_B >ListOfPubSubGroupDataType.Builder<_B> copyOf(final ListOfPubSubGroupDataType _other) { + final ListOfPubSubGroupDataType.Builder<_B> _newBuilder = new ListOfPubSubGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree pubSubGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubGroupDataTypePropertyTree!= null):((pubSubGroupDataTypePropertyTree == null)||(!pubSubGroupDataTypePropertyTree.isLeaf())))) { + if (this.pubSubGroupDataType == null) { + _other.pubSubGroupDataType = null; + } else { + _other.pubSubGroupDataType = new ArrayList>>(); + for (PubSubGroupDataType _item: this.pubSubGroupDataType) { + _other.pubSubGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, pubSubGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPubSubGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPubSubGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPubSubGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPubSubGroupDataType.Builder<_B> copyOf(final ListOfPubSubGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPubSubGroupDataType.Builder<_B> _newBuilder = new ListOfPubSubGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPubSubGroupDataType.Builder copyExcept(final ListOfPubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPubSubGroupDataType.Builder copyOnly(final ListOfPubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPubSubGroupDataType _storedValue; + private List>> pubSubGroupDataType; + + public Builder(final _B _parentBuilder, final ListOfPubSubGroupDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.pubSubGroupDataType == null) { + this.pubSubGroupDataType = null; + } else { + this.pubSubGroupDataType = new ArrayList>>(); + for (PubSubGroupDataType _item: _other.pubSubGroupDataType) { + this.pubSubGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPubSubGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree pubSubGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubGroupDataTypePropertyTree!= null):((pubSubGroupDataTypePropertyTree == null)||(!pubSubGroupDataTypePropertyTree.isLeaf())))) { + if (_other.pubSubGroupDataType == null) { + this.pubSubGroupDataType = null; + } else { + this.pubSubGroupDataType = new ArrayList>>(); + for (PubSubGroupDataType _item: _other.pubSubGroupDataType) { + this.pubSubGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this, pubSubGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPubSubGroupDataType >_P init(final _P _product) { + if (this.pubSubGroupDataType!= null) { + final List pubSubGroupDataType = new ArrayList(this.pubSubGroupDataType.size()); + for (PubSubGroupDataType.Builder> _item: this.pubSubGroupDataType) { + pubSubGroupDataType.add(_item.build()); + } + _product.pubSubGroupDataType = pubSubGroupDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "pubSubGroupDataType" hinzu. + * + * @param pubSubGroupDataType + * Werte, die zur Eigenschaft "pubSubGroupDataType" hinzugefügt werden. + */ + public ListOfPubSubGroupDataType.Builder<_B> addPubSubGroupDataType(final Iterable pubSubGroupDataType) { + if (pubSubGroupDataType!= null) { + if (this.pubSubGroupDataType == null) { + this.pubSubGroupDataType = new ArrayList>>(); + } + for (PubSubGroupDataType _item: pubSubGroupDataType) { + this.pubSubGroupDataType.add(new PubSubGroupDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param pubSubGroupDataType + * Neuer Wert der Eigenschaft "pubSubGroupDataType". + */ + public ListOfPubSubGroupDataType.Builder<_B> withPubSubGroupDataType(final Iterable pubSubGroupDataType) { + if (this.pubSubGroupDataType!= null) { + this.pubSubGroupDataType.clear(); + } + return addPubSubGroupDataType(pubSubGroupDataType); + } + + /** + * Fügt Werte zur Eigenschaft "pubSubGroupDataType" hinzu. + * + * @param pubSubGroupDataType + * Werte, die zur Eigenschaft "pubSubGroupDataType" hinzugefügt werden. + */ + public ListOfPubSubGroupDataType.Builder<_B> addPubSubGroupDataType(PubSubGroupDataType... pubSubGroupDataType) { + addPubSubGroupDataType(Arrays.asList(pubSubGroupDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param pubSubGroupDataType + * Neuer Wert der Eigenschaft "pubSubGroupDataType". + */ + public ListOfPubSubGroupDataType.Builder<_B> withPubSubGroupDataType(PubSubGroupDataType... pubSubGroupDataType) { + withPubSubGroupDataType(Arrays.asList(pubSubGroupDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PubSubGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PubSubGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PubSubGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PubSubGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public PubSubGroupDataType.Builder> addPubSubGroupDataType() { + if (this.pubSubGroupDataType == null) { + this.pubSubGroupDataType = new ArrayList>>(); + } + final PubSubGroupDataType.Builder> pubSubGroupDataType_Builder = new PubSubGroupDataType.Builder>(this, null, false); + this.pubSubGroupDataType.add(pubSubGroupDataType_Builder); + return pubSubGroupDataType_Builder; + } + + @Override + public ListOfPubSubGroupDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPubSubGroupDataType()); + } else { + return ((ListOfPubSubGroupDataType) _storedValue); + } + } + + public ListOfPubSubGroupDataType.Builder<_B> copyOf(final ListOfPubSubGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPubSubGroupDataType.Builder<_B> copyOf(final ListOfPubSubGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPubSubGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPubSubGroupDataType.Select _root() { + return new ListOfPubSubGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PubSubGroupDataType.Selector> pubSubGroupDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.pubSubGroupDataType!= null) { + products.put("pubSubGroupDataType", this.pubSubGroupDataType.init()); + } + return products; + } + + public PubSubGroupDataType.Selector> pubSubGroupDataType() { + return ((this.pubSubGroupDataType == null)?this.pubSubGroupDataType = new PubSubGroupDataType.Selector>(this._root, this, "pubSubGroupDataType"):this.pubSubGroupDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubState.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubState.java new file mode 100644 index 000000000..0b014e2a5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPubSubState.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPubSubState complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPubSubState">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PubSubState" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubState" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPubSubState", propOrder = { + "pubSubState" +}) +public class ListOfPubSubState { + + @XmlElement(name = "PubSubState") + @XmlSchemaType(name = "string") + protected List pubSubState; + + /** + * Gets the value of the pubSubState property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the pubSubState property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPubSubState().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PubSubState } + * + * + */ + public List getPubSubState() { + if (pubSubState == null) { + pubSubState = new ArrayList(); + } + return this.pubSubState; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubState.Builder<_B> _other) { + if (this.pubSubState == null) { + _other.pubSubState = null; + } else { + _other.pubSubState = new ArrayList(); + for (PubSubState _item: this.pubSubState) { + _other.pubSubState.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfPubSubState.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPubSubState.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPubSubState.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPubSubState.Builder builder() { + return new ListOfPubSubState.Builder(null, null, false); + } + + public static<_B >ListOfPubSubState.Builder<_B> copyOf(final ListOfPubSubState _other) { + final ListOfPubSubState.Builder<_B> _newBuilder = new ListOfPubSubState.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPubSubState.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree pubSubStatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubState")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubStatePropertyTree!= null):((pubSubStatePropertyTree == null)||(!pubSubStatePropertyTree.isLeaf())))) { + if (this.pubSubState == null) { + _other.pubSubState = null; + } else { + _other.pubSubState = new ArrayList(); + for (PubSubState _item: this.pubSubState) { + _other.pubSubState.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfPubSubState.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPubSubState.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPubSubState.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPubSubState.Builder<_B> copyOf(final ListOfPubSubState _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPubSubState.Builder<_B> _newBuilder = new ListOfPubSubState.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPubSubState.Builder copyExcept(final ListOfPubSubState _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPubSubState.Builder copyOnly(final ListOfPubSubState _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPubSubState _storedValue; + private List pubSubState; + + public Builder(final _B _parentBuilder, final ListOfPubSubState _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.pubSubState == null) { + this.pubSubState = null; + } else { + this.pubSubState = new ArrayList(); + for (PubSubState _item: _other.pubSubState) { + this.pubSubState.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPubSubState _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree pubSubStatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("pubSubState")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(pubSubStatePropertyTree!= null):((pubSubStatePropertyTree == null)||(!pubSubStatePropertyTree.isLeaf())))) { + if (_other.pubSubState == null) { + this.pubSubState = null; + } else { + this.pubSubState = new ArrayList(); + for (PubSubState _item: _other.pubSubState) { + this.pubSubState.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPubSubState >_P init(final _P _product) { + if (this.pubSubState!= null) { + final List pubSubState = new ArrayList(this.pubSubState.size()); + for (Buildable _item: this.pubSubState) { + pubSubState.add(((PubSubState) _item.build())); + } + _product.pubSubState = pubSubState; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "pubSubState" hinzu. + * + * @param pubSubState + * Werte, die zur Eigenschaft "pubSubState" hinzugefügt werden. + */ + public ListOfPubSubState.Builder<_B> addPubSubState(final Iterable pubSubState) { + if (pubSubState!= null) { + if (this.pubSubState == null) { + this.pubSubState = new ArrayList(); + } + for (PubSubState _item: pubSubState) { + this.pubSubState.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubState" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param pubSubState + * Neuer Wert der Eigenschaft "pubSubState". + */ + public ListOfPubSubState.Builder<_B> withPubSubState(final Iterable pubSubState) { + if (this.pubSubState!= null) { + this.pubSubState.clear(); + } + return addPubSubState(pubSubState); + } + + /** + * Fügt Werte zur Eigenschaft "pubSubState" hinzu. + * + * @param pubSubState + * Werte, die zur Eigenschaft "pubSubState" hinzugefügt werden. + */ + public ListOfPubSubState.Builder<_B> addPubSubState(PubSubState... pubSubState) { + addPubSubState(Arrays.asList(pubSubState)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "pubSubState" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param pubSubState + * Neuer Wert der Eigenschaft "pubSubState". + */ + public ListOfPubSubState.Builder<_B> withPubSubState(PubSubState... pubSubState) { + withPubSubState(Arrays.asList(pubSubState)); + return this; + } + + @Override + public ListOfPubSubState build() { + if (_storedValue == null) { + return this.init(new ListOfPubSubState()); + } else { + return ((ListOfPubSubState) _storedValue); + } + } + + public ListOfPubSubState.Builder<_B> copyOf(final ListOfPubSubState _other) { + _other.copyTo(this); + return this; + } + + public ListOfPubSubState.Builder<_B> copyOf(final ListOfPubSubState.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPubSubState.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPubSubState.Select _root() { + return new ListOfPubSubState.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> pubSubState = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.pubSubState!= null) { + products.put("pubSubState", this.pubSubState.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> pubSubState() { + return ((this.pubSubState == null)?this.pubSubState = new com.kscs.util.jaxb.Selector>(this._root, this, "pubSubState"):this.pubSubState); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataItemsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataItemsDataType.java new file mode 100644 index 000000000..770e1d4ed --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataItemsDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPublishedDataItemsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPublishedDataItemsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedDataItemsDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedDataItemsDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPublishedDataItemsDataType", propOrder = { + "publishedDataItemsDataType" +}) +public class ListOfPublishedDataItemsDataType { + + @XmlElement(name = "PublishedDataItemsDataType", nillable = true) + protected List publishedDataItemsDataType; + + /** + * Gets the value of the publishedDataItemsDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the publishedDataItemsDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPublishedDataItemsDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PublishedDataItemsDataType } + * + * + */ + public List getPublishedDataItemsDataType() { + if (publishedDataItemsDataType == null) { + publishedDataItemsDataType = new ArrayList(); + } + return this.publishedDataItemsDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedDataItemsDataType.Builder<_B> _other) { + if (this.publishedDataItemsDataType == null) { + _other.publishedDataItemsDataType = null; + } else { + _other.publishedDataItemsDataType = new ArrayList>>(); + for (PublishedDataItemsDataType _item: this.publishedDataItemsDataType) { + _other.publishedDataItemsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPublishedDataItemsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPublishedDataItemsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPublishedDataItemsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPublishedDataItemsDataType.Builder builder() { + return new ListOfPublishedDataItemsDataType.Builder(null, null, false); + } + + public static<_B >ListOfPublishedDataItemsDataType.Builder<_B> copyOf(final ListOfPublishedDataItemsDataType _other) { + final ListOfPublishedDataItemsDataType.Builder<_B> _newBuilder = new ListOfPublishedDataItemsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedDataItemsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedDataItemsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataItemsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataItemsDataTypePropertyTree!= null):((publishedDataItemsDataTypePropertyTree == null)||(!publishedDataItemsDataTypePropertyTree.isLeaf())))) { + if (this.publishedDataItemsDataType == null) { + _other.publishedDataItemsDataType = null; + } else { + _other.publishedDataItemsDataType = new ArrayList>>(); + for (PublishedDataItemsDataType _item: this.publishedDataItemsDataType) { + _other.publishedDataItemsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, publishedDataItemsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPublishedDataItemsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPublishedDataItemsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPublishedDataItemsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPublishedDataItemsDataType.Builder<_B> copyOf(final ListOfPublishedDataItemsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPublishedDataItemsDataType.Builder<_B> _newBuilder = new ListOfPublishedDataItemsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPublishedDataItemsDataType.Builder copyExcept(final ListOfPublishedDataItemsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPublishedDataItemsDataType.Builder copyOnly(final ListOfPublishedDataItemsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPublishedDataItemsDataType _storedValue; + private List>> publishedDataItemsDataType; + + public Builder(final _B _parentBuilder, final ListOfPublishedDataItemsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.publishedDataItemsDataType == null) { + this.publishedDataItemsDataType = null; + } else { + this.publishedDataItemsDataType = new ArrayList>>(); + for (PublishedDataItemsDataType _item: _other.publishedDataItemsDataType) { + this.publishedDataItemsDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPublishedDataItemsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedDataItemsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataItemsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataItemsDataTypePropertyTree!= null):((publishedDataItemsDataTypePropertyTree == null)||(!publishedDataItemsDataTypePropertyTree.isLeaf())))) { + if (_other.publishedDataItemsDataType == null) { + this.publishedDataItemsDataType = null; + } else { + this.publishedDataItemsDataType = new ArrayList>>(); + for (PublishedDataItemsDataType _item: _other.publishedDataItemsDataType) { + this.publishedDataItemsDataType.add(((_item == null)?null:_item.newCopyBuilder(this, publishedDataItemsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPublishedDataItemsDataType >_P init(final _P _product) { + if (this.publishedDataItemsDataType!= null) { + final List publishedDataItemsDataType = new ArrayList(this.publishedDataItemsDataType.size()); + for (PublishedDataItemsDataType.Builder> _item: this.publishedDataItemsDataType) { + publishedDataItemsDataType.add(_item.build()); + } + _product.publishedDataItemsDataType = publishedDataItemsDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "publishedDataItemsDataType" hinzu. + * + * @param publishedDataItemsDataType + * Werte, die zur Eigenschaft "publishedDataItemsDataType" hinzugefügt werden. + */ + public ListOfPublishedDataItemsDataType.Builder<_B> addPublishedDataItemsDataType(final Iterable publishedDataItemsDataType) { + if (publishedDataItemsDataType!= null) { + if (this.publishedDataItemsDataType == null) { + this.publishedDataItemsDataType = new ArrayList>>(); + } + for (PublishedDataItemsDataType _item: publishedDataItemsDataType) { + this.publishedDataItemsDataType.add(new PublishedDataItemsDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataItemsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedDataItemsDataType + * Neuer Wert der Eigenschaft "publishedDataItemsDataType". + */ + public ListOfPublishedDataItemsDataType.Builder<_B> withPublishedDataItemsDataType(final Iterable publishedDataItemsDataType) { + if (this.publishedDataItemsDataType!= null) { + this.publishedDataItemsDataType.clear(); + } + return addPublishedDataItemsDataType(publishedDataItemsDataType); + } + + /** + * Fügt Werte zur Eigenschaft "publishedDataItemsDataType" hinzu. + * + * @param publishedDataItemsDataType + * Werte, die zur Eigenschaft "publishedDataItemsDataType" hinzugefügt werden. + */ + public ListOfPublishedDataItemsDataType.Builder<_B> addPublishedDataItemsDataType(PublishedDataItemsDataType... publishedDataItemsDataType) { + addPublishedDataItemsDataType(Arrays.asList(publishedDataItemsDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataItemsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedDataItemsDataType + * Neuer Wert der Eigenschaft "publishedDataItemsDataType". + */ + public ListOfPublishedDataItemsDataType.Builder<_B> withPublishedDataItemsDataType(PublishedDataItemsDataType... publishedDataItemsDataType) { + withPublishedDataItemsDataType(Arrays.asList(publishedDataItemsDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PublishedDataItemsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedDataItemsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PublishedDataItemsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedDataItemsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public PublishedDataItemsDataType.Builder> addPublishedDataItemsDataType() { + if (this.publishedDataItemsDataType == null) { + this.publishedDataItemsDataType = new ArrayList>>(); + } + final PublishedDataItemsDataType.Builder> publishedDataItemsDataType_Builder = new PublishedDataItemsDataType.Builder>(this, null, false); + this.publishedDataItemsDataType.add(publishedDataItemsDataType_Builder); + return publishedDataItemsDataType_Builder; + } + + @Override + public ListOfPublishedDataItemsDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPublishedDataItemsDataType()); + } else { + return ((ListOfPublishedDataItemsDataType) _storedValue); + } + } + + public ListOfPublishedDataItemsDataType.Builder<_B> copyOf(final ListOfPublishedDataItemsDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPublishedDataItemsDataType.Builder<_B> copyOf(final ListOfPublishedDataItemsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPublishedDataItemsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPublishedDataItemsDataType.Select _root() { + return new ListOfPublishedDataItemsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PublishedDataItemsDataType.Selector> publishedDataItemsDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedDataItemsDataType!= null) { + products.put("publishedDataItemsDataType", this.publishedDataItemsDataType.init()); + } + return products; + } + + public PublishedDataItemsDataType.Selector> publishedDataItemsDataType() { + return ((this.publishedDataItemsDataType == null)?this.publishedDataItemsDataType = new PublishedDataItemsDataType.Selector>(this._root, this, "publishedDataItemsDataType"):this.publishedDataItemsDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetDataType.java new file mode 100644 index 000000000..1d59048a1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPublishedDataSetDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPublishedDataSetDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedDataSetDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedDataSetDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPublishedDataSetDataType", propOrder = { + "publishedDataSetDataType" +}) +public class ListOfPublishedDataSetDataType { + + @XmlElement(name = "PublishedDataSetDataType", nillable = true) + protected List publishedDataSetDataType; + + /** + * Gets the value of the publishedDataSetDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the publishedDataSetDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPublishedDataSetDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PublishedDataSetDataType } + * + * + */ + public List getPublishedDataSetDataType() { + if (publishedDataSetDataType == null) { + publishedDataSetDataType = new ArrayList(); + } + return this.publishedDataSetDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedDataSetDataType.Builder<_B> _other) { + if (this.publishedDataSetDataType == null) { + _other.publishedDataSetDataType = null; + } else { + _other.publishedDataSetDataType = new ArrayList>>(); + for (PublishedDataSetDataType _item: this.publishedDataSetDataType) { + _other.publishedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPublishedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPublishedDataSetDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPublishedDataSetDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPublishedDataSetDataType.Builder builder() { + return new ListOfPublishedDataSetDataType.Builder(null, null, false); + } + + public static<_B >ListOfPublishedDataSetDataType.Builder<_B> copyOf(final ListOfPublishedDataSetDataType _other) { + final ListOfPublishedDataSetDataType.Builder<_B> _newBuilder = new ListOfPublishedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedDataSetDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedDataSetDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataSetDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataSetDataTypePropertyTree!= null):((publishedDataSetDataTypePropertyTree == null)||(!publishedDataSetDataTypePropertyTree.isLeaf())))) { + if (this.publishedDataSetDataType == null) { + _other.publishedDataSetDataType = null; + } else { + _other.publishedDataSetDataType = new ArrayList>>(); + for (PublishedDataSetDataType _item: this.publishedDataSetDataType) { + _other.publishedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, publishedDataSetDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPublishedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPublishedDataSetDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPublishedDataSetDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPublishedDataSetDataType.Builder<_B> copyOf(final ListOfPublishedDataSetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPublishedDataSetDataType.Builder<_B> _newBuilder = new ListOfPublishedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPublishedDataSetDataType.Builder copyExcept(final ListOfPublishedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPublishedDataSetDataType.Builder copyOnly(final ListOfPublishedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPublishedDataSetDataType _storedValue; + private List>> publishedDataSetDataType; + + public Builder(final _B _parentBuilder, final ListOfPublishedDataSetDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.publishedDataSetDataType == null) { + this.publishedDataSetDataType = null; + } else { + this.publishedDataSetDataType = new ArrayList>>(); + for (PublishedDataSetDataType _item: _other.publishedDataSetDataType) { + this.publishedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPublishedDataSetDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedDataSetDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataSetDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataSetDataTypePropertyTree!= null):((publishedDataSetDataTypePropertyTree == null)||(!publishedDataSetDataTypePropertyTree.isLeaf())))) { + if (_other.publishedDataSetDataType == null) { + this.publishedDataSetDataType = null; + } else { + this.publishedDataSetDataType = new ArrayList>>(); + for (PublishedDataSetDataType _item: _other.publishedDataSetDataType) { + this.publishedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(this, publishedDataSetDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPublishedDataSetDataType >_P init(final _P _product) { + if (this.publishedDataSetDataType!= null) { + final List publishedDataSetDataType = new ArrayList(this.publishedDataSetDataType.size()); + for (PublishedDataSetDataType.Builder> _item: this.publishedDataSetDataType) { + publishedDataSetDataType.add(_item.build()); + } + _product.publishedDataSetDataType = publishedDataSetDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "publishedDataSetDataType" hinzu. + * + * @param publishedDataSetDataType + * Werte, die zur Eigenschaft "publishedDataSetDataType" hinzugefügt werden. + */ + public ListOfPublishedDataSetDataType.Builder<_B> addPublishedDataSetDataType(final Iterable publishedDataSetDataType) { + if (publishedDataSetDataType!= null) { + if (this.publishedDataSetDataType == null) { + this.publishedDataSetDataType = new ArrayList>>(); + } + for (PublishedDataSetDataType _item: publishedDataSetDataType) { + this.publishedDataSetDataType.add(new PublishedDataSetDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataSetDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedDataSetDataType + * Neuer Wert der Eigenschaft "publishedDataSetDataType". + */ + public ListOfPublishedDataSetDataType.Builder<_B> withPublishedDataSetDataType(final Iterable publishedDataSetDataType) { + if (this.publishedDataSetDataType!= null) { + this.publishedDataSetDataType.clear(); + } + return addPublishedDataSetDataType(publishedDataSetDataType); + } + + /** + * Fügt Werte zur Eigenschaft "publishedDataSetDataType" hinzu. + * + * @param publishedDataSetDataType + * Werte, die zur Eigenschaft "publishedDataSetDataType" hinzugefügt werden. + */ + public ListOfPublishedDataSetDataType.Builder<_B> addPublishedDataSetDataType(PublishedDataSetDataType... publishedDataSetDataType) { + addPublishedDataSetDataType(Arrays.asList(publishedDataSetDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataSetDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedDataSetDataType + * Neuer Wert der Eigenschaft "publishedDataSetDataType". + */ + public ListOfPublishedDataSetDataType.Builder<_B> withPublishedDataSetDataType(PublishedDataSetDataType... publishedDataSetDataType) { + withPublishedDataSetDataType(Arrays.asList(publishedDataSetDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PublishedDataSetDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedDataSetDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PublishedDataSetDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedDataSetDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public PublishedDataSetDataType.Builder> addPublishedDataSetDataType() { + if (this.publishedDataSetDataType == null) { + this.publishedDataSetDataType = new ArrayList>>(); + } + final PublishedDataSetDataType.Builder> publishedDataSetDataType_Builder = new PublishedDataSetDataType.Builder>(this, null, false); + this.publishedDataSetDataType.add(publishedDataSetDataType_Builder); + return publishedDataSetDataType_Builder; + } + + @Override + public ListOfPublishedDataSetDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPublishedDataSetDataType()); + } else { + return ((ListOfPublishedDataSetDataType) _storedValue); + } + } + + public ListOfPublishedDataSetDataType.Builder<_B> copyOf(final ListOfPublishedDataSetDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPublishedDataSetDataType.Builder<_B> copyOf(final ListOfPublishedDataSetDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPublishedDataSetDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPublishedDataSetDataType.Select _root() { + return new ListOfPublishedDataSetDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PublishedDataSetDataType.Selector> publishedDataSetDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedDataSetDataType!= null) { + products.put("publishedDataSetDataType", this.publishedDataSetDataType.init()); + } + return products; + } + + public PublishedDataSetDataType.Selector> publishedDataSetDataType() { + return ((this.publishedDataSetDataType == null)?this.publishedDataSetDataType = new PublishedDataSetDataType.Selector>(this._root, this, "publishedDataSetDataType"):this.publishedDataSetDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetSourceDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetSourceDataType.java new file mode 100644 index 000000000..0b7f094db --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedDataSetSourceDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPublishedDataSetSourceDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPublishedDataSetSourceDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedDataSetSourceDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedDataSetSourceDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPublishedDataSetSourceDataType", propOrder = { + "publishedDataSetSourceDataType" +}) +public class ListOfPublishedDataSetSourceDataType { + + @XmlElement(name = "PublishedDataSetSourceDataType", nillable = true) + protected List publishedDataSetSourceDataType; + + /** + * Gets the value of the publishedDataSetSourceDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the publishedDataSetSourceDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPublishedDataSetSourceDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PublishedDataSetSourceDataType } + * + * + */ + public List getPublishedDataSetSourceDataType() { + if (publishedDataSetSourceDataType == null) { + publishedDataSetSourceDataType = new ArrayList(); + } + return this.publishedDataSetSourceDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedDataSetSourceDataType.Builder<_B> _other) { + if (this.publishedDataSetSourceDataType == null) { + _other.publishedDataSetSourceDataType = null; + } else { + _other.publishedDataSetSourceDataType = new ArrayList>>(); + for (PublishedDataSetSourceDataType _item: this.publishedDataSetSourceDataType) { + _other.publishedDataSetSourceDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPublishedDataSetSourceDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPublishedDataSetSourceDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPublishedDataSetSourceDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPublishedDataSetSourceDataType.Builder builder() { + return new ListOfPublishedDataSetSourceDataType.Builder(null, null, false); + } + + public static<_B >ListOfPublishedDataSetSourceDataType.Builder<_B> copyOf(final ListOfPublishedDataSetSourceDataType _other) { + final ListOfPublishedDataSetSourceDataType.Builder<_B> _newBuilder = new ListOfPublishedDataSetSourceDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedDataSetSourceDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedDataSetSourceDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataSetSourceDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataSetSourceDataTypePropertyTree!= null):((publishedDataSetSourceDataTypePropertyTree == null)||(!publishedDataSetSourceDataTypePropertyTree.isLeaf())))) { + if (this.publishedDataSetSourceDataType == null) { + _other.publishedDataSetSourceDataType = null; + } else { + _other.publishedDataSetSourceDataType = new ArrayList>>(); + for (PublishedDataSetSourceDataType _item: this.publishedDataSetSourceDataType) { + _other.publishedDataSetSourceDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, publishedDataSetSourceDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPublishedDataSetSourceDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPublishedDataSetSourceDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPublishedDataSetSourceDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPublishedDataSetSourceDataType.Builder<_B> copyOf(final ListOfPublishedDataSetSourceDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPublishedDataSetSourceDataType.Builder<_B> _newBuilder = new ListOfPublishedDataSetSourceDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPublishedDataSetSourceDataType.Builder copyExcept(final ListOfPublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPublishedDataSetSourceDataType.Builder copyOnly(final ListOfPublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPublishedDataSetSourceDataType _storedValue; + private List>> publishedDataSetSourceDataType; + + public Builder(final _B _parentBuilder, final ListOfPublishedDataSetSourceDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.publishedDataSetSourceDataType == null) { + this.publishedDataSetSourceDataType = null; + } else { + this.publishedDataSetSourceDataType = new ArrayList>>(); + for (PublishedDataSetSourceDataType _item: _other.publishedDataSetSourceDataType) { + this.publishedDataSetSourceDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPublishedDataSetSourceDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedDataSetSourceDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataSetSourceDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataSetSourceDataTypePropertyTree!= null):((publishedDataSetSourceDataTypePropertyTree == null)||(!publishedDataSetSourceDataTypePropertyTree.isLeaf())))) { + if (_other.publishedDataSetSourceDataType == null) { + this.publishedDataSetSourceDataType = null; + } else { + this.publishedDataSetSourceDataType = new ArrayList>>(); + for (PublishedDataSetSourceDataType _item: _other.publishedDataSetSourceDataType) { + this.publishedDataSetSourceDataType.add(((_item == null)?null:_item.newCopyBuilder(this, publishedDataSetSourceDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPublishedDataSetSourceDataType >_P init(final _P _product) { + if (this.publishedDataSetSourceDataType!= null) { + final List publishedDataSetSourceDataType = new ArrayList(this.publishedDataSetSourceDataType.size()); + for (PublishedDataSetSourceDataType.Builder> _item: this.publishedDataSetSourceDataType) { + publishedDataSetSourceDataType.add(_item.build()); + } + _product.publishedDataSetSourceDataType = publishedDataSetSourceDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "publishedDataSetSourceDataType" hinzu. + * + * @param publishedDataSetSourceDataType + * Werte, die zur Eigenschaft "publishedDataSetSourceDataType" hinzugefügt werden. + */ + public ListOfPublishedDataSetSourceDataType.Builder<_B> addPublishedDataSetSourceDataType(final Iterable publishedDataSetSourceDataType) { + if (publishedDataSetSourceDataType!= null) { + if (this.publishedDataSetSourceDataType == null) { + this.publishedDataSetSourceDataType = new ArrayList>>(); + } + for (PublishedDataSetSourceDataType _item: publishedDataSetSourceDataType) { + this.publishedDataSetSourceDataType.add(new PublishedDataSetSourceDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataSetSourceDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedDataSetSourceDataType + * Neuer Wert der Eigenschaft "publishedDataSetSourceDataType". + */ + public ListOfPublishedDataSetSourceDataType.Builder<_B> withPublishedDataSetSourceDataType(final Iterable publishedDataSetSourceDataType) { + if (this.publishedDataSetSourceDataType!= null) { + this.publishedDataSetSourceDataType.clear(); + } + return addPublishedDataSetSourceDataType(publishedDataSetSourceDataType); + } + + /** + * Fügt Werte zur Eigenschaft "publishedDataSetSourceDataType" hinzu. + * + * @param publishedDataSetSourceDataType + * Werte, die zur Eigenschaft "publishedDataSetSourceDataType" hinzugefügt werden. + */ + public ListOfPublishedDataSetSourceDataType.Builder<_B> addPublishedDataSetSourceDataType(PublishedDataSetSourceDataType... publishedDataSetSourceDataType) { + addPublishedDataSetSourceDataType(Arrays.asList(publishedDataSetSourceDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataSetSourceDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedDataSetSourceDataType + * Neuer Wert der Eigenschaft "publishedDataSetSourceDataType". + */ + public ListOfPublishedDataSetSourceDataType.Builder<_B> withPublishedDataSetSourceDataType(PublishedDataSetSourceDataType... publishedDataSetSourceDataType) { + withPublishedDataSetSourceDataType(Arrays.asList(publishedDataSetSourceDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PublishedDataSetSourceDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedDataSetSourceDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PublishedDataSetSourceDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedDataSetSourceDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public PublishedDataSetSourceDataType.Builder> addPublishedDataSetSourceDataType() { + if (this.publishedDataSetSourceDataType == null) { + this.publishedDataSetSourceDataType = new ArrayList>>(); + } + final PublishedDataSetSourceDataType.Builder> publishedDataSetSourceDataType_Builder = new PublishedDataSetSourceDataType.Builder>(this, null, false); + this.publishedDataSetSourceDataType.add(publishedDataSetSourceDataType_Builder); + return publishedDataSetSourceDataType_Builder; + } + + @Override + public ListOfPublishedDataSetSourceDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPublishedDataSetSourceDataType()); + } else { + return ((ListOfPublishedDataSetSourceDataType) _storedValue); + } + } + + public ListOfPublishedDataSetSourceDataType.Builder<_B> copyOf(final ListOfPublishedDataSetSourceDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPublishedDataSetSourceDataType.Builder<_B> copyOf(final ListOfPublishedDataSetSourceDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPublishedDataSetSourceDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPublishedDataSetSourceDataType.Select _root() { + return new ListOfPublishedDataSetSourceDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PublishedDataSetSourceDataType.Selector> publishedDataSetSourceDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedDataSetSourceDataType!= null) { + products.put("publishedDataSetSourceDataType", this.publishedDataSetSourceDataType.init()); + } + return products; + } + + public PublishedDataSetSourceDataType.Selector> publishedDataSetSourceDataType() { + return ((this.publishedDataSetSourceDataType == null)?this.publishedDataSetSourceDataType = new PublishedDataSetSourceDataType.Selector>(this._root, this, "publishedDataSetSourceDataType"):this.publishedDataSetSourceDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedEventsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedEventsDataType.java new file mode 100644 index 000000000..019377841 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedEventsDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPublishedEventsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPublishedEventsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedEventsDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedEventsDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPublishedEventsDataType", propOrder = { + "publishedEventsDataType" +}) +public class ListOfPublishedEventsDataType { + + @XmlElement(name = "PublishedEventsDataType", nillable = true) + protected List publishedEventsDataType; + + /** + * Gets the value of the publishedEventsDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the publishedEventsDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPublishedEventsDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PublishedEventsDataType } + * + * + */ + public List getPublishedEventsDataType() { + if (publishedEventsDataType == null) { + publishedEventsDataType = new ArrayList(); + } + return this.publishedEventsDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedEventsDataType.Builder<_B> _other) { + if (this.publishedEventsDataType == null) { + _other.publishedEventsDataType = null; + } else { + _other.publishedEventsDataType = new ArrayList>>(); + for (PublishedEventsDataType _item: this.publishedEventsDataType) { + _other.publishedEventsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPublishedEventsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPublishedEventsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPublishedEventsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPublishedEventsDataType.Builder builder() { + return new ListOfPublishedEventsDataType.Builder(null, null, false); + } + + public static<_B >ListOfPublishedEventsDataType.Builder<_B> copyOf(final ListOfPublishedEventsDataType _other) { + final ListOfPublishedEventsDataType.Builder<_B> _newBuilder = new ListOfPublishedEventsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedEventsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedEventsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedEventsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedEventsDataTypePropertyTree!= null):((publishedEventsDataTypePropertyTree == null)||(!publishedEventsDataTypePropertyTree.isLeaf())))) { + if (this.publishedEventsDataType == null) { + _other.publishedEventsDataType = null; + } else { + _other.publishedEventsDataType = new ArrayList>>(); + for (PublishedEventsDataType _item: this.publishedEventsDataType) { + _other.publishedEventsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, publishedEventsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPublishedEventsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPublishedEventsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPublishedEventsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPublishedEventsDataType.Builder<_B> copyOf(final ListOfPublishedEventsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPublishedEventsDataType.Builder<_B> _newBuilder = new ListOfPublishedEventsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPublishedEventsDataType.Builder copyExcept(final ListOfPublishedEventsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPublishedEventsDataType.Builder copyOnly(final ListOfPublishedEventsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPublishedEventsDataType _storedValue; + private List>> publishedEventsDataType; + + public Builder(final _B _parentBuilder, final ListOfPublishedEventsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.publishedEventsDataType == null) { + this.publishedEventsDataType = null; + } else { + this.publishedEventsDataType = new ArrayList>>(); + for (PublishedEventsDataType _item: _other.publishedEventsDataType) { + this.publishedEventsDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPublishedEventsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedEventsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedEventsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedEventsDataTypePropertyTree!= null):((publishedEventsDataTypePropertyTree == null)||(!publishedEventsDataTypePropertyTree.isLeaf())))) { + if (_other.publishedEventsDataType == null) { + this.publishedEventsDataType = null; + } else { + this.publishedEventsDataType = new ArrayList>>(); + for (PublishedEventsDataType _item: _other.publishedEventsDataType) { + this.publishedEventsDataType.add(((_item == null)?null:_item.newCopyBuilder(this, publishedEventsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPublishedEventsDataType >_P init(final _P _product) { + if (this.publishedEventsDataType!= null) { + final List publishedEventsDataType = new ArrayList(this.publishedEventsDataType.size()); + for (PublishedEventsDataType.Builder> _item: this.publishedEventsDataType) { + publishedEventsDataType.add(_item.build()); + } + _product.publishedEventsDataType = publishedEventsDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "publishedEventsDataType" hinzu. + * + * @param publishedEventsDataType + * Werte, die zur Eigenschaft "publishedEventsDataType" hinzugefügt werden. + */ + public ListOfPublishedEventsDataType.Builder<_B> addPublishedEventsDataType(final Iterable publishedEventsDataType) { + if (publishedEventsDataType!= null) { + if (this.publishedEventsDataType == null) { + this.publishedEventsDataType = new ArrayList>>(); + } + for (PublishedEventsDataType _item: publishedEventsDataType) { + this.publishedEventsDataType.add(new PublishedEventsDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedEventsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedEventsDataType + * Neuer Wert der Eigenschaft "publishedEventsDataType". + */ + public ListOfPublishedEventsDataType.Builder<_B> withPublishedEventsDataType(final Iterable publishedEventsDataType) { + if (this.publishedEventsDataType!= null) { + this.publishedEventsDataType.clear(); + } + return addPublishedEventsDataType(publishedEventsDataType); + } + + /** + * Fügt Werte zur Eigenschaft "publishedEventsDataType" hinzu. + * + * @param publishedEventsDataType + * Werte, die zur Eigenschaft "publishedEventsDataType" hinzugefügt werden. + */ + public ListOfPublishedEventsDataType.Builder<_B> addPublishedEventsDataType(PublishedEventsDataType... publishedEventsDataType) { + addPublishedEventsDataType(Arrays.asList(publishedEventsDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedEventsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedEventsDataType + * Neuer Wert der Eigenschaft "publishedEventsDataType". + */ + public ListOfPublishedEventsDataType.Builder<_B> withPublishedEventsDataType(PublishedEventsDataType... publishedEventsDataType) { + withPublishedEventsDataType(Arrays.asList(publishedEventsDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PublishedEventsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedEventsDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PublishedEventsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedEventsDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public PublishedEventsDataType.Builder> addPublishedEventsDataType() { + if (this.publishedEventsDataType == null) { + this.publishedEventsDataType = new ArrayList>>(); + } + final PublishedEventsDataType.Builder> publishedEventsDataType_Builder = new PublishedEventsDataType.Builder>(this, null, false); + this.publishedEventsDataType.add(publishedEventsDataType_Builder); + return publishedEventsDataType_Builder; + } + + @Override + public ListOfPublishedEventsDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPublishedEventsDataType()); + } else { + return ((ListOfPublishedEventsDataType) _storedValue); + } + } + + public ListOfPublishedEventsDataType.Builder<_B> copyOf(final ListOfPublishedEventsDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPublishedEventsDataType.Builder<_B> copyOf(final ListOfPublishedEventsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPublishedEventsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPublishedEventsDataType.Select _root() { + return new ListOfPublishedEventsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PublishedEventsDataType.Selector> publishedEventsDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedEventsDataType!= null) { + products.put("publishedEventsDataType", this.publishedEventsDataType.init()); + } + return products; + } + + public PublishedEventsDataType.Selector> publishedEventsDataType() { + return ((this.publishedEventsDataType == null)?this.publishedEventsDataType = new PublishedEventsDataType.Selector>(this._root, this, "publishedEventsDataType"):this.publishedEventsDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedVariableDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedVariableDataType.java new file mode 100644 index 000000000..c21d643dc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfPublishedVariableDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfPublishedVariableDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfPublishedVariableDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedVariableDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedVariableDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfPublishedVariableDataType", propOrder = { + "publishedVariableDataType" +}) +public class ListOfPublishedVariableDataType { + + @XmlElement(name = "PublishedVariableDataType", nillable = true) + protected List publishedVariableDataType; + + /** + * Gets the value of the publishedVariableDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the publishedVariableDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPublishedVariableDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link PublishedVariableDataType } + * + * + */ + public List getPublishedVariableDataType() { + if (publishedVariableDataType == null) { + publishedVariableDataType = new ArrayList(); + } + return this.publishedVariableDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedVariableDataType.Builder<_B> _other) { + if (this.publishedVariableDataType == null) { + _other.publishedVariableDataType = null; + } else { + _other.publishedVariableDataType = new ArrayList>>(); + for (PublishedVariableDataType _item: this.publishedVariableDataType) { + _other.publishedVariableDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfPublishedVariableDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfPublishedVariableDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfPublishedVariableDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfPublishedVariableDataType.Builder builder() { + return new ListOfPublishedVariableDataType.Builder(null, null, false); + } + + public static<_B >ListOfPublishedVariableDataType.Builder<_B> copyOf(final ListOfPublishedVariableDataType _other) { + final ListOfPublishedVariableDataType.Builder<_B> _newBuilder = new ListOfPublishedVariableDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfPublishedVariableDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedVariableDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedVariableDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedVariableDataTypePropertyTree!= null):((publishedVariableDataTypePropertyTree == null)||(!publishedVariableDataTypePropertyTree.isLeaf())))) { + if (this.publishedVariableDataType == null) { + _other.publishedVariableDataType = null; + } else { + _other.publishedVariableDataType = new ArrayList>>(); + for (PublishedVariableDataType _item: this.publishedVariableDataType) { + _other.publishedVariableDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, publishedVariableDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfPublishedVariableDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfPublishedVariableDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfPublishedVariableDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfPublishedVariableDataType.Builder<_B> copyOf(final ListOfPublishedVariableDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfPublishedVariableDataType.Builder<_B> _newBuilder = new ListOfPublishedVariableDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfPublishedVariableDataType.Builder copyExcept(final ListOfPublishedVariableDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfPublishedVariableDataType.Builder copyOnly(final ListOfPublishedVariableDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfPublishedVariableDataType _storedValue; + private List>> publishedVariableDataType; + + public Builder(final _B _parentBuilder, final ListOfPublishedVariableDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.publishedVariableDataType == null) { + this.publishedVariableDataType = null; + } else { + this.publishedVariableDataType = new ArrayList>>(); + for (PublishedVariableDataType _item: _other.publishedVariableDataType) { + this.publishedVariableDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfPublishedVariableDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedVariableDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedVariableDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedVariableDataTypePropertyTree!= null):((publishedVariableDataTypePropertyTree == null)||(!publishedVariableDataTypePropertyTree.isLeaf())))) { + if (_other.publishedVariableDataType == null) { + this.publishedVariableDataType = null; + } else { + this.publishedVariableDataType = new ArrayList>>(); + for (PublishedVariableDataType _item: _other.publishedVariableDataType) { + this.publishedVariableDataType.add(((_item == null)?null:_item.newCopyBuilder(this, publishedVariableDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfPublishedVariableDataType >_P init(final _P _product) { + if (this.publishedVariableDataType!= null) { + final List publishedVariableDataType = new ArrayList(this.publishedVariableDataType.size()); + for (PublishedVariableDataType.Builder> _item: this.publishedVariableDataType) { + publishedVariableDataType.add(_item.build()); + } + _product.publishedVariableDataType = publishedVariableDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "publishedVariableDataType" hinzu. + * + * @param publishedVariableDataType + * Werte, die zur Eigenschaft "publishedVariableDataType" hinzugefügt werden. + */ + public ListOfPublishedVariableDataType.Builder<_B> addPublishedVariableDataType(final Iterable publishedVariableDataType) { + if (publishedVariableDataType!= null) { + if (this.publishedVariableDataType == null) { + this.publishedVariableDataType = new ArrayList>>(); + } + for (PublishedVariableDataType _item: publishedVariableDataType) { + this.publishedVariableDataType.add(new PublishedVariableDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedVariableDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedVariableDataType + * Neuer Wert der Eigenschaft "publishedVariableDataType". + */ + public ListOfPublishedVariableDataType.Builder<_B> withPublishedVariableDataType(final Iterable publishedVariableDataType) { + if (this.publishedVariableDataType!= null) { + this.publishedVariableDataType.clear(); + } + return addPublishedVariableDataType(publishedVariableDataType); + } + + /** + * Fügt Werte zur Eigenschaft "publishedVariableDataType" hinzu. + * + * @param publishedVariableDataType + * Werte, die zur Eigenschaft "publishedVariableDataType" hinzugefügt werden. + */ + public ListOfPublishedVariableDataType.Builder<_B> addPublishedVariableDataType(PublishedVariableDataType... publishedVariableDataType) { + addPublishedVariableDataType(Arrays.asList(publishedVariableDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedVariableDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishedVariableDataType + * Neuer Wert der Eigenschaft "publishedVariableDataType". + */ + public ListOfPublishedVariableDataType.Builder<_B> withPublishedVariableDataType(PublishedVariableDataType... publishedVariableDataType) { + withPublishedVariableDataType(Arrays.asList(publishedVariableDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "PublishedVariableDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedVariableDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "PublishedVariableDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.PublishedVariableDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public PublishedVariableDataType.Builder> addPublishedVariableDataType() { + if (this.publishedVariableDataType == null) { + this.publishedVariableDataType = new ArrayList>>(); + } + final PublishedVariableDataType.Builder> publishedVariableDataType_Builder = new PublishedVariableDataType.Builder>(this, null, false); + this.publishedVariableDataType.add(publishedVariableDataType_Builder); + return publishedVariableDataType_Builder; + } + + @Override + public ListOfPublishedVariableDataType build() { + if (_storedValue == null) { + return this.init(new ListOfPublishedVariableDataType()); + } else { + return ((ListOfPublishedVariableDataType) _storedValue); + } + } + + public ListOfPublishedVariableDataType.Builder<_B> copyOf(final ListOfPublishedVariableDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfPublishedVariableDataType.Builder<_B> copyOf(final ListOfPublishedVariableDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfPublishedVariableDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfPublishedVariableDataType.Select _root() { + return new ListOfPublishedVariableDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private PublishedVariableDataType.Selector> publishedVariableDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedVariableDataType!= null) { + products.put("publishedVariableDataType", this.publishedVariableDataType.init()); + } + return products; + } + + public PublishedVariableDataType.Selector> publishedVariableDataType() { + return ((this.publishedVariableDataType == null)?this.publishedVariableDataType = new PublishedVariableDataType.Selector>(this._root, this, "publishedVariableDataType"):this.publishedVariableDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQualifiedName.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQualifiedName.java new file mode 100644 index 000000000..f6387bbb8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQualifiedName.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfQualifiedName complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfQualifiedName">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="QualifiedName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfQualifiedName", propOrder = { + "qualifiedName" +}) +public class ListOfQualifiedName { + + @XmlElement(name = "QualifiedName", nillable = true) + protected List qualifiedName; + + /** + * Gets the value of the qualifiedName property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the qualifiedName property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getQualifiedName().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link QualifiedName } + * + * + */ + public List getQualifiedName() { + if (qualifiedName == null) { + qualifiedName = new ArrayList(); + } + return this.qualifiedName; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfQualifiedName.Builder<_B> _other) { + if (this.qualifiedName == null) { + _other.qualifiedName = null; + } else { + _other.qualifiedName = new ArrayList>>(); + for (QualifiedName _item: this.qualifiedName) { + _other.qualifiedName.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfQualifiedName.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfQualifiedName.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfQualifiedName.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfQualifiedName.Builder builder() { + return new ListOfQualifiedName.Builder(null, null, false); + } + + public static<_B >ListOfQualifiedName.Builder<_B> copyOf(final ListOfQualifiedName _other) { + final ListOfQualifiedName.Builder<_B> _newBuilder = new ListOfQualifiedName.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfQualifiedName.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree qualifiedNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("qualifiedName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(qualifiedNamePropertyTree!= null):((qualifiedNamePropertyTree == null)||(!qualifiedNamePropertyTree.isLeaf())))) { + if (this.qualifiedName == null) { + _other.qualifiedName = null; + } else { + _other.qualifiedName = new ArrayList>>(); + for (QualifiedName _item: this.qualifiedName) { + _other.qualifiedName.add(((_item == null)?null:_item.newCopyBuilder(_other, qualifiedNamePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfQualifiedName.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfQualifiedName.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfQualifiedName.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfQualifiedName.Builder<_B> copyOf(final ListOfQualifiedName _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfQualifiedName.Builder<_B> _newBuilder = new ListOfQualifiedName.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfQualifiedName.Builder copyExcept(final ListOfQualifiedName _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfQualifiedName.Builder copyOnly(final ListOfQualifiedName _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfQualifiedName _storedValue; + private List>> qualifiedName; + + public Builder(final _B _parentBuilder, final ListOfQualifiedName _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.qualifiedName == null) { + this.qualifiedName = null; + } else { + this.qualifiedName = new ArrayList>>(); + for (QualifiedName _item: _other.qualifiedName) { + this.qualifiedName.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfQualifiedName _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree qualifiedNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("qualifiedName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(qualifiedNamePropertyTree!= null):((qualifiedNamePropertyTree == null)||(!qualifiedNamePropertyTree.isLeaf())))) { + if (_other.qualifiedName == null) { + this.qualifiedName = null; + } else { + this.qualifiedName = new ArrayList>>(); + for (QualifiedName _item: _other.qualifiedName) { + this.qualifiedName.add(((_item == null)?null:_item.newCopyBuilder(this, qualifiedNamePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfQualifiedName >_P init(final _P _product) { + if (this.qualifiedName!= null) { + final List qualifiedName = new ArrayList(this.qualifiedName.size()); + for (QualifiedName.Builder> _item: this.qualifiedName) { + qualifiedName.add(_item.build()); + } + _product.qualifiedName = qualifiedName; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "qualifiedName" hinzu. + * + * @param qualifiedName + * Werte, die zur Eigenschaft "qualifiedName" hinzugefügt werden. + */ + public ListOfQualifiedName.Builder<_B> addQualifiedName(final Iterable qualifiedName) { + if (qualifiedName!= null) { + if (this.qualifiedName == null) { + this.qualifiedName = new ArrayList>>(); + } + for (QualifiedName _item: qualifiedName) { + this.qualifiedName.add(new QualifiedName.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "qualifiedName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param qualifiedName + * Neuer Wert der Eigenschaft "qualifiedName". + */ + public ListOfQualifiedName.Builder<_B> withQualifiedName(final Iterable qualifiedName) { + if (this.qualifiedName!= null) { + this.qualifiedName.clear(); + } + return addQualifiedName(qualifiedName); + } + + /** + * Fügt Werte zur Eigenschaft "qualifiedName" hinzu. + * + * @param qualifiedName + * Werte, die zur Eigenschaft "qualifiedName" hinzugefügt werden. + */ + public ListOfQualifiedName.Builder<_B> addQualifiedName(QualifiedName... qualifiedName) { + addQualifiedName(Arrays.asList(qualifiedName)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "qualifiedName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param qualifiedName + * Neuer Wert der Eigenschaft "qualifiedName". + */ + public ListOfQualifiedName.Builder<_B> withQualifiedName(QualifiedName... qualifiedName) { + withQualifiedName(Arrays.asList(qualifiedName)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "QualifiedName". + * Mit {@link org.opcfoundation.ua._2008._02.types.QualifiedName.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "QualifiedName". + * Mit {@link org.opcfoundation.ua._2008._02.types.QualifiedName.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public QualifiedName.Builder> addQualifiedName() { + if (this.qualifiedName == null) { + this.qualifiedName = new ArrayList>>(); + } + final QualifiedName.Builder> qualifiedName_Builder = new QualifiedName.Builder>(this, null, false); + this.qualifiedName.add(qualifiedName_Builder); + return qualifiedName_Builder; + } + + @Override + public ListOfQualifiedName build() { + if (_storedValue == null) { + return this.init(new ListOfQualifiedName()); + } else { + return ((ListOfQualifiedName) _storedValue); + } + } + + public ListOfQualifiedName.Builder<_B> copyOf(final ListOfQualifiedName _other) { + _other.copyTo(this); + return this; + } + + public ListOfQualifiedName.Builder<_B> copyOf(final ListOfQualifiedName.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfQualifiedName.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfQualifiedName.Select _root() { + return new ListOfQualifiedName.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private QualifiedName.Selector> qualifiedName = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.qualifiedName!= null) { + products.put("qualifiedName", this.qualifiedName.init()); + } + return products; + } + + public QualifiedName.Selector> qualifiedName() { + return ((this.qualifiedName == null)?this.qualifiedName = new QualifiedName.Selector>(this._root, this, "qualifiedName"):this.qualifiedName); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataDescription.java new file mode 100644 index 000000000..22f965aa0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfQueryDataDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfQueryDataDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="QueryDataDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QueryDataDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfQueryDataDescription", propOrder = { + "queryDataDescription" +}) +public class ListOfQueryDataDescription { + + @XmlElement(name = "QueryDataDescription", nillable = true) + protected List queryDataDescription; + + /** + * Gets the value of the queryDataDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the queryDataDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getQueryDataDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link QueryDataDescription } + * + * + */ + public List getQueryDataDescription() { + if (queryDataDescription == null) { + queryDataDescription = new ArrayList(); + } + return this.queryDataDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfQueryDataDescription.Builder<_B> _other) { + if (this.queryDataDescription == null) { + _other.queryDataDescription = null; + } else { + _other.queryDataDescription = new ArrayList>>(); + for (QueryDataDescription _item: this.queryDataDescription) { + _other.queryDataDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfQueryDataDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfQueryDataDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfQueryDataDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfQueryDataDescription.Builder builder() { + return new ListOfQueryDataDescription.Builder(null, null, false); + } + + public static<_B >ListOfQueryDataDescription.Builder<_B> copyOf(final ListOfQueryDataDescription _other) { + final ListOfQueryDataDescription.Builder<_B> _newBuilder = new ListOfQueryDataDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfQueryDataDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree queryDataDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataDescriptionPropertyTree!= null):((queryDataDescriptionPropertyTree == null)||(!queryDataDescriptionPropertyTree.isLeaf())))) { + if (this.queryDataDescription == null) { + _other.queryDataDescription = null; + } else { + _other.queryDataDescription = new ArrayList>>(); + for (QueryDataDescription _item: this.queryDataDescription) { + _other.queryDataDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, queryDataDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfQueryDataDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfQueryDataDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfQueryDataDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfQueryDataDescription.Builder<_B> copyOf(final ListOfQueryDataDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfQueryDataDescription.Builder<_B> _newBuilder = new ListOfQueryDataDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfQueryDataDescription.Builder copyExcept(final ListOfQueryDataDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfQueryDataDescription.Builder copyOnly(final ListOfQueryDataDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfQueryDataDescription _storedValue; + private List>> queryDataDescription; + + public Builder(final _B _parentBuilder, final ListOfQueryDataDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.queryDataDescription == null) { + this.queryDataDescription = null; + } else { + this.queryDataDescription = new ArrayList>>(); + for (QueryDataDescription _item: _other.queryDataDescription) { + this.queryDataDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfQueryDataDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree queryDataDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataDescriptionPropertyTree!= null):((queryDataDescriptionPropertyTree == null)||(!queryDataDescriptionPropertyTree.isLeaf())))) { + if (_other.queryDataDescription == null) { + this.queryDataDescription = null; + } else { + this.queryDataDescription = new ArrayList>>(); + for (QueryDataDescription _item: _other.queryDataDescription) { + this.queryDataDescription.add(((_item == null)?null:_item.newCopyBuilder(this, queryDataDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfQueryDataDescription >_P init(final _P _product) { + if (this.queryDataDescription!= null) { + final List queryDataDescription = new ArrayList(this.queryDataDescription.size()); + for (QueryDataDescription.Builder> _item: this.queryDataDescription) { + queryDataDescription.add(_item.build()); + } + _product.queryDataDescription = queryDataDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "queryDataDescription" hinzu. + * + * @param queryDataDescription + * Werte, die zur Eigenschaft "queryDataDescription" hinzugefügt werden. + */ + public ListOfQueryDataDescription.Builder<_B> addQueryDataDescription(final Iterable queryDataDescription) { + if (queryDataDescription!= null) { + if (this.queryDataDescription == null) { + this.queryDataDescription = new ArrayList>>(); + } + for (QueryDataDescription _item: queryDataDescription) { + this.queryDataDescription.add(new QueryDataDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryDataDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param queryDataDescription + * Neuer Wert der Eigenschaft "queryDataDescription". + */ + public ListOfQueryDataDescription.Builder<_B> withQueryDataDescription(final Iterable queryDataDescription) { + if (this.queryDataDescription!= null) { + this.queryDataDescription.clear(); + } + return addQueryDataDescription(queryDataDescription); + } + + /** + * Fügt Werte zur Eigenschaft "queryDataDescription" hinzu. + * + * @param queryDataDescription + * Werte, die zur Eigenschaft "queryDataDescription" hinzugefügt werden. + */ + public ListOfQueryDataDescription.Builder<_B> addQueryDataDescription(QueryDataDescription... queryDataDescription) { + addQueryDataDescription(Arrays.asList(queryDataDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryDataDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param queryDataDescription + * Neuer Wert der Eigenschaft "queryDataDescription". + */ + public ListOfQueryDataDescription.Builder<_B> withQueryDataDescription(QueryDataDescription... queryDataDescription) { + withQueryDataDescription(Arrays.asList(queryDataDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "QueryDataDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.QueryDataDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "QueryDataDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.QueryDataDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public QueryDataDescription.Builder> addQueryDataDescription() { + if (this.queryDataDescription == null) { + this.queryDataDescription = new ArrayList>>(); + } + final QueryDataDescription.Builder> queryDataDescription_Builder = new QueryDataDescription.Builder>(this, null, false); + this.queryDataDescription.add(queryDataDescription_Builder); + return queryDataDescription_Builder; + } + + @Override + public ListOfQueryDataDescription build() { + if (_storedValue == null) { + return this.init(new ListOfQueryDataDescription()); + } else { + return ((ListOfQueryDataDescription) _storedValue); + } + } + + public ListOfQueryDataDescription.Builder<_B> copyOf(final ListOfQueryDataDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfQueryDataDescription.Builder<_B> copyOf(final ListOfQueryDataDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfQueryDataDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfQueryDataDescription.Select _root() { + return new ListOfQueryDataDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private QueryDataDescription.Selector> queryDataDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.queryDataDescription!= null) { + products.put("queryDataDescription", this.queryDataDescription.init()); + } + return products; + } + + public QueryDataDescription.Selector> queryDataDescription() { + return ((this.queryDataDescription == null)?this.queryDataDescription = new QueryDataDescription.Selector>(this._root, this, "queryDataDescription"):this.queryDataDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataSet.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataSet.java new file mode 100644 index 000000000..3b6ffb8b7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfQueryDataSet.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfQueryDataSet complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfQueryDataSet">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="QueryDataSet" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QueryDataSet" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfQueryDataSet", propOrder = { + "queryDataSet" +}) +public class ListOfQueryDataSet { + + @XmlElement(name = "QueryDataSet", nillable = true) + protected List queryDataSet; + + /** + * Gets the value of the queryDataSet property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the queryDataSet property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getQueryDataSet().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link QueryDataSet } + * + * + */ + public List getQueryDataSet() { + if (queryDataSet == null) { + queryDataSet = new ArrayList(); + } + return this.queryDataSet; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfQueryDataSet.Builder<_B> _other) { + if (this.queryDataSet == null) { + _other.queryDataSet = null; + } else { + _other.queryDataSet = new ArrayList>>(); + for (QueryDataSet _item: this.queryDataSet) { + _other.queryDataSet.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfQueryDataSet.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfQueryDataSet.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfQueryDataSet.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfQueryDataSet.Builder builder() { + return new ListOfQueryDataSet.Builder(null, null, false); + } + + public static<_B >ListOfQueryDataSet.Builder<_B> copyOf(final ListOfQueryDataSet _other) { + final ListOfQueryDataSet.Builder<_B> _newBuilder = new ListOfQueryDataSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfQueryDataSet.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree queryDataSetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataSet")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataSetPropertyTree!= null):((queryDataSetPropertyTree == null)||(!queryDataSetPropertyTree.isLeaf())))) { + if (this.queryDataSet == null) { + _other.queryDataSet = null; + } else { + _other.queryDataSet = new ArrayList>>(); + for (QueryDataSet _item: this.queryDataSet) { + _other.queryDataSet.add(((_item == null)?null:_item.newCopyBuilder(_other, queryDataSetPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfQueryDataSet.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfQueryDataSet.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfQueryDataSet.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfQueryDataSet.Builder<_B> copyOf(final ListOfQueryDataSet _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfQueryDataSet.Builder<_B> _newBuilder = new ListOfQueryDataSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfQueryDataSet.Builder copyExcept(final ListOfQueryDataSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfQueryDataSet.Builder copyOnly(final ListOfQueryDataSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfQueryDataSet _storedValue; + private List>> queryDataSet; + + public Builder(final _B _parentBuilder, final ListOfQueryDataSet _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.queryDataSet == null) { + this.queryDataSet = null; + } else { + this.queryDataSet = new ArrayList>>(); + for (QueryDataSet _item: _other.queryDataSet) { + this.queryDataSet.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfQueryDataSet _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree queryDataSetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataSet")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataSetPropertyTree!= null):((queryDataSetPropertyTree == null)||(!queryDataSetPropertyTree.isLeaf())))) { + if (_other.queryDataSet == null) { + this.queryDataSet = null; + } else { + this.queryDataSet = new ArrayList>>(); + for (QueryDataSet _item: _other.queryDataSet) { + this.queryDataSet.add(((_item == null)?null:_item.newCopyBuilder(this, queryDataSetPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfQueryDataSet >_P init(final _P _product) { + if (this.queryDataSet!= null) { + final List queryDataSet = new ArrayList(this.queryDataSet.size()); + for (QueryDataSet.Builder> _item: this.queryDataSet) { + queryDataSet.add(_item.build()); + } + _product.queryDataSet = queryDataSet; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "queryDataSet" hinzu. + * + * @param queryDataSet + * Werte, die zur Eigenschaft "queryDataSet" hinzugefügt werden. + */ + public ListOfQueryDataSet.Builder<_B> addQueryDataSet(final Iterable queryDataSet) { + if (queryDataSet!= null) { + if (this.queryDataSet == null) { + this.queryDataSet = new ArrayList>>(); + } + for (QueryDataSet _item: queryDataSet) { + this.queryDataSet.add(new QueryDataSet.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryDataSet" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param queryDataSet + * Neuer Wert der Eigenschaft "queryDataSet". + */ + public ListOfQueryDataSet.Builder<_B> withQueryDataSet(final Iterable queryDataSet) { + if (this.queryDataSet!= null) { + this.queryDataSet.clear(); + } + return addQueryDataSet(queryDataSet); + } + + /** + * Fügt Werte zur Eigenschaft "queryDataSet" hinzu. + * + * @param queryDataSet + * Werte, die zur Eigenschaft "queryDataSet" hinzugefügt werden. + */ + public ListOfQueryDataSet.Builder<_B> addQueryDataSet(QueryDataSet... queryDataSet) { + addQueryDataSet(Arrays.asList(queryDataSet)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryDataSet" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param queryDataSet + * Neuer Wert der Eigenschaft "queryDataSet". + */ + public ListOfQueryDataSet.Builder<_B> withQueryDataSet(QueryDataSet... queryDataSet) { + withQueryDataSet(Arrays.asList(queryDataSet)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "QueryDataSet". + * Mit {@link org.opcfoundation.ua._2008._02.types.QueryDataSet.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "QueryDataSet". + * Mit {@link org.opcfoundation.ua._2008._02.types.QueryDataSet.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public QueryDataSet.Builder> addQueryDataSet() { + if (this.queryDataSet == null) { + this.queryDataSet = new ArrayList>>(); + } + final QueryDataSet.Builder> queryDataSet_Builder = new QueryDataSet.Builder>(this, null, false); + this.queryDataSet.add(queryDataSet_Builder); + return queryDataSet_Builder; + } + + @Override + public ListOfQueryDataSet build() { + if (_storedValue == null) { + return this.init(new ListOfQueryDataSet()); + } else { + return ((ListOfQueryDataSet) _storedValue); + } + } + + public ListOfQueryDataSet.Builder<_B> copyOf(final ListOfQueryDataSet _other) { + _other.copyTo(this); + return this; + } + + public ListOfQueryDataSet.Builder<_B> copyOf(final ListOfQueryDataSet.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfQueryDataSet.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfQueryDataSet.Select _root() { + return new ListOfQueryDataSet.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private QueryDataSet.Selector> queryDataSet = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.queryDataSet!= null) { + products.put("queryDataSet", this.queryDataSet.init()); + } + return products; + } + + public QueryDataSet.Selector> queryDataSet() { + return ((this.queryDataSet == null)?this.queryDataSet = new QueryDataSet.Selector>(this._root, this, "queryDataSet"):this.queryDataSet); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRationalNumber.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRationalNumber.java new file mode 100644 index 000000000..255ffae3a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRationalNumber.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfRationalNumber complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfRationalNumber">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RationalNumber" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RationalNumber" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfRationalNumber", propOrder = { + "rationalNumber" +}) +public class ListOfRationalNumber { + + @XmlElement(name = "RationalNumber", nillable = true) + protected List rationalNumber; + + /** + * Gets the value of the rationalNumber property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the rationalNumber property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getRationalNumber().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link RationalNumber } + * + * + */ + public List getRationalNumber() { + if (rationalNumber == null) { + rationalNumber = new ArrayList(); + } + return this.rationalNumber; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRationalNumber.Builder<_B> _other) { + if (this.rationalNumber == null) { + _other.rationalNumber = null; + } else { + _other.rationalNumber = new ArrayList>>(); + for (RationalNumber _item: this.rationalNumber) { + _other.rationalNumber.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfRationalNumber.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfRationalNumber.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfRationalNumber.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfRationalNumber.Builder builder() { + return new ListOfRationalNumber.Builder(null, null, false); + } + + public static<_B >ListOfRationalNumber.Builder<_B> copyOf(final ListOfRationalNumber _other) { + final ListOfRationalNumber.Builder<_B> _newBuilder = new ListOfRationalNumber.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRationalNumber.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree rationalNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rationalNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rationalNumberPropertyTree!= null):((rationalNumberPropertyTree == null)||(!rationalNumberPropertyTree.isLeaf())))) { + if (this.rationalNumber == null) { + _other.rationalNumber = null; + } else { + _other.rationalNumber = new ArrayList>>(); + for (RationalNumber _item: this.rationalNumber) { + _other.rationalNumber.add(((_item == null)?null:_item.newCopyBuilder(_other, rationalNumberPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfRationalNumber.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfRationalNumber.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfRationalNumber.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfRationalNumber.Builder<_B> copyOf(final ListOfRationalNumber _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfRationalNumber.Builder<_B> _newBuilder = new ListOfRationalNumber.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfRationalNumber.Builder copyExcept(final ListOfRationalNumber _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfRationalNumber.Builder copyOnly(final ListOfRationalNumber _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfRationalNumber _storedValue; + private List>> rationalNumber; + + public Builder(final _B _parentBuilder, final ListOfRationalNumber _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.rationalNumber == null) { + this.rationalNumber = null; + } else { + this.rationalNumber = new ArrayList>>(); + for (RationalNumber _item: _other.rationalNumber) { + this.rationalNumber.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfRationalNumber _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree rationalNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rationalNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rationalNumberPropertyTree!= null):((rationalNumberPropertyTree == null)||(!rationalNumberPropertyTree.isLeaf())))) { + if (_other.rationalNumber == null) { + this.rationalNumber = null; + } else { + this.rationalNumber = new ArrayList>>(); + for (RationalNumber _item: _other.rationalNumber) { + this.rationalNumber.add(((_item == null)?null:_item.newCopyBuilder(this, rationalNumberPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfRationalNumber >_P init(final _P _product) { + if (this.rationalNumber!= null) { + final List rationalNumber = new ArrayList(this.rationalNumber.size()); + for (RationalNumber.Builder> _item: this.rationalNumber) { + rationalNumber.add(_item.build()); + } + _product.rationalNumber = rationalNumber; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "rationalNumber" hinzu. + * + * @param rationalNumber + * Werte, die zur Eigenschaft "rationalNumber" hinzugefügt werden. + */ + public ListOfRationalNumber.Builder<_B> addRationalNumber(final Iterable rationalNumber) { + if (rationalNumber!= null) { + if (this.rationalNumber == null) { + this.rationalNumber = new ArrayList>>(); + } + for (RationalNumber _item: rationalNumber) { + this.rationalNumber.add(new RationalNumber.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rationalNumber" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rationalNumber + * Neuer Wert der Eigenschaft "rationalNumber". + */ + public ListOfRationalNumber.Builder<_B> withRationalNumber(final Iterable rationalNumber) { + if (this.rationalNumber!= null) { + this.rationalNumber.clear(); + } + return addRationalNumber(rationalNumber); + } + + /** + * Fügt Werte zur Eigenschaft "rationalNumber" hinzu. + * + * @param rationalNumber + * Werte, die zur Eigenschaft "rationalNumber" hinzugefügt werden. + */ + public ListOfRationalNumber.Builder<_B> addRationalNumber(RationalNumber... rationalNumber) { + addRationalNumber(Arrays.asList(rationalNumber)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rationalNumber" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rationalNumber + * Neuer Wert der Eigenschaft "rationalNumber". + */ + public ListOfRationalNumber.Builder<_B> withRationalNumber(RationalNumber... rationalNumber) { + withRationalNumber(Arrays.asList(rationalNumber)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "RationalNumber". + * Mit {@link org.opcfoundation.ua._2008._02.types.RationalNumber.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "RationalNumber". + * Mit {@link org.opcfoundation.ua._2008._02.types.RationalNumber.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public RationalNumber.Builder> addRationalNumber() { + if (this.rationalNumber == null) { + this.rationalNumber = new ArrayList>>(); + } + final RationalNumber.Builder> rationalNumber_Builder = new RationalNumber.Builder>(this, null, false); + this.rationalNumber.add(rationalNumber_Builder); + return rationalNumber_Builder; + } + + @Override + public ListOfRationalNumber build() { + if (_storedValue == null) { + return this.init(new ListOfRationalNumber()); + } else { + return ((ListOfRationalNumber) _storedValue); + } + } + + public ListOfRationalNumber.Builder<_B> copyOf(final ListOfRationalNumber _other) { + _other.copyTo(this); + return this; + } + + public ListOfRationalNumber.Builder<_B> copyOf(final ListOfRationalNumber.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfRationalNumber.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfRationalNumber.Select _root() { + return new ListOfRationalNumber.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private RationalNumber.Selector> rationalNumber = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.rationalNumber!= null) { + products.put("rationalNumber", this.rationalNumber.init()); + } + return products; + } + + public RationalNumber.Selector> rationalNumber() { + return ((this.rationalNumber == null)?this.rationalNumber = new RationalNumber.Selector>(this._root, this, "rationalNumber"):this.rationalNumber); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReadValueId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReadValueId.java new file mode 100644 index 000000000..596f5bd4e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReadValueId.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfReadValueId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfReadValueId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReadValueId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReadValueId" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfReadValueId", propOrder = { + "readValueId" +}) +public class ListOfReadValueId { + + @XmlElement(name = "ReadValueId", nillable = true) + protected List readValueId; + + /** + * Gets the value of the readValueId property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the readValueId property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReadValueId().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReadValueId } + * + * + */ + public List getReadValueId() { + if (readValueId == null) { + readValueId = new ArrayList(); + } + return this.readValueId; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReadValueId.Builder<_B> _other) { + if (this.readValueId == null) { + _other.readValueId = null; + } else { + _other.readValueId = new ArrayList>>(); + for (ReadValueId _item: this.readValueId) { + _other.readValueId.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfReadValueId.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfReadValueId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfReadValueId.Builder builder() { + return new ListOfReadValueId.Builder(null, null, false); + } + + public static<_B >ListOfReadValueId.Builder<_B> copyOf(final ListOfReadValueId _other) { + final ListOfReadValueId.Builder<_B> _newBuilder = new ListOfReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReadValueId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree readValueIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readValueId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readValueIdPropertyTree!= null):((readValueIdPropertyTree == null)||(!readValueIdPropertyTree.isLeaf())))) { + if (this.readValueId == null) { + _other.readValueId = null; + } else { + _other.readValueId = new ArrayList>>(); + for (ReadValueId _item: this.readValueId) { + _other.readValueId.add(((_item == null)?null:_item.newCopyBuilder(_other, readValueIdPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfReadValueId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfReadValueId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfReadValueId.Builder<_B> copyOf(final ListOfReadValueId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfReadValueId.Builder<_B> _newBuilder = new ListOfReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfReadValueId.Builder copyExcept(final ListOfReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfReadValueId.Builder copyOnly(final ListOfReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfReadValueId _storedValue; + private List>> readValueId; + + public Builder(final _B _parentBuilder, final ListOfReadValueId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.readValueId == null) { + this.readValueId = null; + } else { + this.readValueId = new ArrayList>>(); + for (ReadValueId _item: _other.readValueId) { + this.readValueId.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfReadValueId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree readValueIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readValueId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readValueIdPropertyTree!= null):((readValueIdPropertyTree == null)||(!readValueIdPropertyTree.isLeaf())))) { + if (_other.readValueId == null) { + this.readValueId = null; + } else { + this.readValueId = new ArrayList>>(); + for (ReadValueId _item: _other.readValueId) { + this.readValueId.add(((_item == null)?null:_item.newCopyBuilder(this, readValueIdPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfReadValueId >_P init(final _P _product) { + if (this.readValueId!= null) { + final List readValueId = new ArrayList(this.readValueId.size()); + for (ReadValueId.Builder> _item: this.readValueId) { + readValueId.add(_item.build()); + } + _product.readValueId = readValueId; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "readValueId" hinzu. + * + * @param readValueId + * Werte, die zur Eigenschaft "readValueId" hinzugefügt werden. + */ + public ListOfReadValueId.Builder<_B> addReadValueId(final Iterable readValueId) { + if (readValueId!= null) { + if (this.readValueId == null) { + this.readValueId = new ArrayList>>(); + } + for (ReadValueId _item: readValueId) { + this.readValueId.add(new ReadValueId.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readValueId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param readValueId + * Neuer Wert der Eigenschaft "readValueId". + */ + public ListOfReadValueId.Builder<_B> withReadValueId(final Iterable readValueId) { + if (this.readValueId!= null) { + this.readValueId.clear(); + } + return addReadValueId(readValueId); + } + + /** + * Fügt Werte zur Eigenschaft "readValueId" hinzu. + * + * @param readValueId + * Werte, die zur Eigenschaft "readValueId" hinzugefügt werden. + */ + public ListOfReadValueId.Builder<_B> addReadValueId(ReadValueId... readValueId) { + addReadValueId(Arrays.asList(readValueId)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readValueId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param readValueId + * Neuer Wert der Eigenschaft "readValueId". + */ + public ListOfReadValueId.Builder<_B> withReadValueId(ReadValueId... readValueId) { + withReadValueId(Arrays.asList(readValueId)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ReadValueId". + * Mit {@link org.opcfoundation.ua._2008._02.types.ReadValueId.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ReadValueId". + * Mit {@link org.opcfoundation.ua._2008._02.types.ReadValueId.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public ReadValueId.Builder> addReadValueId() { + if (this.readValueId == null) { + this.readValueId = new ArrayList>>(); + } + final ReadValueId.Builder> readValueId_Builder = new ReadValueId.Builder>(this, null, false); + this.readValueId.add(readValueId_Builder); + return readValueId_Builder; + } + + @Override + public ListOfReadValueId build() { + if (_storedValue == null) { + return this.init(new ListOfReadValueId()); + } else { + return ((ListOfReadValueId) _storedValue); + } + } + + public ListOfReadValueId.Builder<_B> copyOf(final ListOfReadValueId _other) { + _other.copyTo(this); + return this; + } + + public ListOfReadValueId.Builder<_B> copyOf(final ListOfReadValueId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfReadValueId.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfReadValueId.Select _root() { + return new ListOfReadValueId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ReadValueId.Selector> readValueId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.readValueId!= null) { + products.put("readValueId", this.readValueId.init()); + } + return products; + } + + public ReadValueId.Selector> readValueId() { + return ((this.readValueId == null)?this.readValueId = new ReadValueId.Selector>(this._root, this, "readValueId"):this.readValueId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupDataType.java new file mode 100644 index 000000000..d8fe232e6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfReaderGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfReaderGroupDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReaderGroupDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReaderGroupDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfReaderGroupDataType", propOrder = { + "readerGroupDataType" +}) +public class ListOfReaderGroupDataType { + + @XmlElement(name = "ReaderGroupDataType", nillable = true) + protected List readerGroupDataType; + + /** + * Gets the value of the readerGroupDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the readerGroupDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReaderGroupDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReaderGroupDataType } + * + * + */ + public List getReaderGroupDataType() { + if (readerGroupDataType == null) { + readerGroupDataType = new ArrayList(); + } + return this.readerGroupDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReaderGroupDataType.Builder<_B> _other) { + if (this.readerGroupDataType == null) { + _other.readerGroupDataType = null; + } else { + _other.readerGroupDataType = new ArrayList>>(); + for (ReaderGroupDataType _item: this.readerGroupDataType) { + _other.readerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfReaderGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfReaderGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfReaderGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfReaderGroupDataType.Builder builder() { + return new ListOfReaderGroupDataType.Builder(null, null, false); + } + + public static<_B >ListOfReaderGroupDataType.Builder<_B> copyOf(final ListOfReaderGroupDataType _other) { + final ListOfReaderGroupDataType.Builder<_B> _newBuilder = new ListOfReaderGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReaderGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree readerGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupDataTypePropertyTree!= null):((readerGroupDataTypePropertyTree == null)||(!readerGroupDataTypePropertyTree.isLeaf())))) { + if (this.readerGroupDataType == null) { + _other.readerGroupDataType = null; + } else { + _other.readerGroupDataType = new ArrayList>>(); + for (ReaderGroupDataType _item: this.readerGroupDataType) { + _other.readerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, readerGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfReaderGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfReaderGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfReaderGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfReaderGroupDataType.Builder<_B> copyOf(final ListOfReaderGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfReaderGroupDataType.Builder<_B> _newBuilder = new ListOfReaderGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfReaderGroupDataType.Builder copyExcept(final ListOfReaderGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfReaderGroupDataType.Builder copyOnly(final ListOfReaderGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfReaderGroupDataType _storedValue; + private List>> readerGroupDataType; + + public Builder(final _B _parentBuilder, final ListOfReaderGroupDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.readerGroupDataType == null) { + this.readerGroupDataType = null; + } else { + this.readerGroupDataType = new ArrayList>>(); + for (ReaderGroupDataType _item: _other.readerGroupDataType) { + this.readerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfReaderGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree readerGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupDataTypePropertyTree!= null):((readerGroupDataTypePropertyTree == null)||(!readerGroupDataTypePropertyTree.isLeaf())))) { + if (_other.readerGroupDataType == null) { + this.readerGroupDataType = null; + } else { + this.readerGroupDataType = new ArrayList>>(); + for (ReaderGroupDataType _item: _other.readerGroupDataType) { + this.readerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this, readerGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfReaderGroupDataType >_P init(final _P _product) { + if (this.readerGroupDataType!= null) { + final List readerGroupDataType = new ArrayList(this.readerGroupDataType.size()); + for (ReaderGroupDataType.Builder> _item: this.readerGroupDataType) { + readerGroupDataType.add(_item.build()); + } + _product.readerGroupDataType = readerGroupDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "readerGroupDataType" hinzu. + * + * @param readerGroupDataType + * Werte, die zur Eigenschaft "readerGroupDataType" hinzugefügt werden. + */ + public ListOfReaderGroupDataType.Builder<_B> addReaderGroupDataType(final Iterable readerGroupDataType) { + if (readerGroupDataType!= null) { + if (this.readerGroupDataType == null) { + this.readerGroupDataType = new ArrayList>>(); + } + for (ReaderGroupDataType _item: readerGroupDataType) { + this.readerGroupDataType.add(new ReaderGroupDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param readerGroupDataType + * Neuer Wert der Eigenschaft "readerGroupDataType". + */ + public ListOfReaderGroupDataType.Builder<_B> withReaderGroupDataType(final Iterable readerGroupDataType) { + if (this.readerGroupDataType!= null) { + this.readerGroupDataType.clear(); + } + return addReaderGroupDataType(readerGroupDataType); + } + + /** + * Fügt Werte zur Eigenschaft "readerGroupDataType" hinzu. + * + * @param readerGroupDataType + * Werte, die zur Eigenschaft "readerGroupDataType" hinzugefügt werden. + */ + public ListOfReaderGroupDataType.Builder<_B> addReaderGroupDataType(ReaderGroupDataType... readerGroupDataType) { + addReaderGroupDataType(Arrays.asList(readerGroupDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param readerGroupDataType + * Neuer Wert der Eigenschaft "readerGroupDataType". + */ + public ListOfReaderGroupDataType.Builder<_B> withReaderGroupDataType(ReaderGroupDataType... readerGroupDataType) { + withReaderGroupDataType(Arrays.asList(readerGroupDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ReaderGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReaderGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ReaderGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReaderGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public ReaderGroupDataType.Builder> addReaderGroupDataType() { + if (this.readerGroupDataType == null) { + this.readerGroupDataType = new ArrayList>>(); + } + final ReaderGroupDataType.Builder> readerGroupDataType_Builder = new ReaderGroupDataType.Builder>(this, null, false); + this.readerGroupDataType.add(readerGroupDataType_Builder); + return readerGroupDataType_Builder; + } + + @Override + public ListOfReaderGroupDataType build() { + if (_storedValue == null) { + return this.init(new ListOfReaderGroupDataType()); + } else { + return ((ListOfReaderGroupDataType) _storedValue); + } + } + + public ListOfReaderGroupDataType.Builder<_B> copyOf(final ListOfReaderGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfReaderGroupDataType.Builder<_B> copyOf(final ListOfReaderGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfReaderGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfReaderGroupDataType.Select _root() { + return new ListOfReaderGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ReaderGroupDataType.Selector> readerGroupDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.readerGroupDataType!= null) { + products.put("readerGroupDataType", this.readerGroupDataType.init()); + } + return products; + } + + public ReaderGroupDataType.Selector> readerGroupDataType() { + return ((this.readerGroupDataType == null)?this.readerGroupDataType = new ReaderGroupDataType.Selector>(this._root, this, "readerGroupDataType"):this.readerGroupDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupMessageDataType.java new file mode 100644 index 000000000..c04b48e53 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupMessageDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfReaderGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfReaderGroupMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReaderGroupMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReaderGroupMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfReaderGroupMessageDataType", propOrder = { + "readerGroupMessageDataType" +}) +public class ListOfReaderGroupMessageDataType { + + @XmlElement(name = "ReaderGroupMessageDataType", nillable = true) + protected List readerGroupMessageDataType; + + /** + * Gets the value of the readerGroupMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the readerGroupMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReaderGroupMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReaderGroupMessageDataType } + * + * + */ + public List getReaderGroupMessageDataType() { + if (readerGroupMessageDataType == null) { + readerGroupMessageDataType = new ArrayList(); + } + return this.readerGroupMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReaderGroupMessageDataType.Builder<_B> _other) { + if (this.readerGroupMessageDataType == null) { + _other.readerGroupMessageDataType = null; + } else { + _other.readerGroupMessageDataType = new ArrayList>>(); + for (ReaderGroupMessageDataType _item: this.readerGroupMessageDataType) { + _other.readerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfReaderGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfReaderGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfReaderGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfReaderGroupMessageDataType.Builder builder() { + return new ListOfReaderGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfReaderGroupMessageDataType.Builder<_B> copyOf(final ListOfReaderGroupMessageDataType _other) { + final ListOfReaderGroupMessageDataType.Builder<_B> _newBuilder = new ListOfReaderGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReaderGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree readerGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupMessageDataTypePropertyTree!= null):((readerGroupMessageDataTypePropertyTree == null)||(!readerGroupMessageDataTypePropertyTree.isLeaf())))) { + if (this.readerGroupMessageDataType == null) { + _other.readerGroupMessageDataType = null; + } else { + _other.readerGroupMessageDataType = new ArrayList>>(); + for (ReaderGroupMessageDataType _item: this.readerGroupMessageDataType) { + _other.readerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, readerGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfReaderGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfReaderGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfReaderGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfReaderGroupMessageDataType.Builder<_B> copyOf(final ListOfReaderGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfReaderGroupMessageDataType.Builder<_B> _newBuilder = new ListOfReaderGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfReaderGroupMessageDataType.Builder copyExcept(final ListOfReaderGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfReaderGroupMessageDataType.Builder copyOnly(final ListOfReaderGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfReaderGroupMessageDataType _storedValue; + private List>> readerGroupMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfReaderGroupMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.readerGroupMessageDataType == null) { + this.readerGroupMessageDataType = null; + } else { + this.readerGroupMessageDataType = new ArrayList>>(); + for (ReaderGroupMessageDataType _item: _other.readerGroupMessageDataType) { + this.readerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfReaderGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree readerGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupMessageDataTypePropertyTree!= null):((readerGroupMessageDataTypePropertyTree == null)||(!readerGroupMessageDataTypePropertyTree.isLeaf())))) { + if (_other.readerGroupMessageDataType == null) { + this.readerGroupMessageDataType = null; + } else { + this.readerGroupMessageDataType = new ArrayList>>(); + for (ReaderGroupMessageDataType _item: _other.readerGroupMessageDataType) { + this.readerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, readerGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfReaderGroupMessageDataType >_P init(final _P _product) { + if (this.readerGroupMessageDataType!= null) { + final List readerGroupMessageDataType = new ArrayList(this.readerGroupMessageDataType.size()); + for (ReaderGroupMessageDataType.Builder> _item: this.readerGroupMessageDataType) { + readerGroupMessageDataType.add(_item.build()); + } + _product.readerGroupMessageDataType = readerGroupMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "readerGroupMessageDataType" hinzu. + * + * @param readerGroupMessageDataType + * Werte, die zur Eigenschaft "readerGroupMessageDataType" hinzugefügt werden. + */ + public ListOfReaderGroupMessageDataType.Builder<_B> addReaderGroupMessageDataType(final Iterable readerGroupMessageDataType) { + if (readerGroupMessageDataType!= null) { + if (this.readerGroupMessageDataType == null) { + this.readerGroupMessageDataType = new ArrayList>>(); + } + for (ReaderGroupMessageDataType _item: readerGroupMessageDataType) { + this.readerGroupMessageDataType.add(new ReaderGroupMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param readerGroupMessageDataType + * Neuer Wert der Eigenschaft "readerGroupMessageDataType". + */ + public ListOfReaderGroupMessageDataType.Builder<_B> withReaderGroupMessageDataType(final Iterable readerGroupMessageDataType) { + if (this.readerGroupMessageDataType!= null) { + this.readerGroupMessageDataType.clear(); + } + return addReaderGroupMessageDataType(readerGroupMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "readerGroupMessageDataType" hinzu. + * + * @param readerGroupMessageDataType + * Werte, die zur Eigenschaft "readerGroupMessageDataType" hinzugefügt werden. + */ + public ListOfReaderGroupMessageDataType.Builder<_B> addReaderGroupMessageDataType(ReaderGroupMessageDataType... readerGroupMessageDataType) { + addReaderGroupMessageDataType(Arrays.asList(readerGroupMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param readerGroupMessageDataType + * Neuer Wert der Eigenschaft "readerGroupMessageDataType". + */ + public ListOfReaderGroupMessageDataType.Builder<_B> withReaderGroupMessageDataType(ReaderGroupMessageDataType... readerGroupMessageDataType) { + withReaderGroupMessageDataType(Arrays.asList(readerGroupMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ReaderGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReaderGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ReaderGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReaderGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ReaderGroupMessageDataType.Builder> addReaderGroupMessageDataType() { + if (this.readerGroupMessageDataType == null) { + this.readerGroupMessageDataType = new ArrayList>>(); + } + final ReaderGroupMessageDataType.Builder> readerGroupMessageDataType_Builder = new ReaderGroupMessageDataType.Builder>(this, null, false); + this.readerGroupMessageDataType.add(readerGroupMessageDataType_Builder); + return readerGroupMessageDataType_Builder; + } + + @Override + public ListOfReaderGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfReaderGroupMessageDataType()); + } else { + return ((ListOfReaderGroupMessageDataType) _storedValue); + } + } + + public ListOfReaderGroupMessageDataType.Builder<_B> copyOf(final ListOfReaderGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfReaderGroupMessageDataType.Builder<_B> copyOf(final ListOfReaderGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfReaderGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfReaderGroupMessageDataType.Select _root() { + return new ListOfReaderGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ReaderGroupMessageDataType.Selector> readerGroupMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.readerGroupMessageDataType!= null) { + products.put("readerGroupMessageDataType", this.readerGroupMessageDataType.init()); + } + return products; + } + + public ReaderGroupMessageDataType.Selector> readerGroupMessageDataType() { + return ((this.readerGroupMessageDataType == null)?this.readerGroupMessageDataType = new ReaderGroupMessageDataType.Selector>(this._root, this, "readerGroupMessageDataType"):this.readerGroupMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupTransportDataType.java new file mode 100644 index 000000000..03a667a1c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReaderGroupTransportDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfReaderGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfReaderGroupTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReaderGroupTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReaderGroupTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfReaderGroupTransportDataType", propOrder = { + "readerGroupTransportDataType" +}) +public class ListOfReaderGroupTransportDataType { + + @XmlElement(name = "ReaderGroupTransportDataType", nillable = true) + protected List readerGroupTransportDataType; + + /** + * Gets the value of the readerGroupTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the readerGroupTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReaderGroupTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReaderGroupTransportDataType } + * + * + */ + public List getReaderGroupTransportDataType() { + if (readerGroupTransportDataType == null) { + readerGroupTransportDataType = new ArrayList(); + } + return this.readerGroupTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReaderGroupTransportDataType.Builder<_B> _other) { + if (this.readerGroupTransportDataType == null) { + _other.readerGroupTransportDataType = null; + } else { + _other.readerGroupTransportDataType = new ArrayList>>(); + for (ReaderGroupTransportDataType _item: this.readerGroupTransportDataType) { + _other.readerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfReaderGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfReaderGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfReaderGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfReaderGroupTransportDataType.Builder builder() { + return new ListOfReaderGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfReaderGroupTransportDataType.Builder<_B> copyOf(final ListOfReaderGroupTransportDataType _other) { + final ListOfReaderGroupTransportDataType.Builder<_B> _newBuilder = new ListOfReaderGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReaderGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree readerGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupTransportDataTypePropertyTree!= null):((readerGroupTransportDataTypePropertyTree == null)||(!readerGroupTransportDataTypePropertyTree.isLeaf())))) { + if (this.readerGroupTransportDataType == null) { + _other.readerGroupTransportDataType = null; + } else { + _other.readerGroupTransportDataType = new ArrayList>>(); + for (ReaderGroupTransportDataType _item: this.readerGroupTransportDataType) { + _other.readerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, readerGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfReaderGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfReaderGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfReaderGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfReaderGroupTransportDataType.Builder<_B> copyOf(final ListOfReaderGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfReaderGroupTransportDataType.Builder<_B> _newBuilder = new ListOfReaderGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfReaderGroupTransportDataType.Builder copyExcept(final ListOfReaderGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfReaderGroupTransportDataType.Builder copyOnly(final ListOfReaderGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfReaderGroupTransportDataType _storedValue; + private List>> readerGroupTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfReaderGroupTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.readerGroupTransportDataType == null) { + this.readerGroupTransportDataType = null; + } else { + this.readerGroupTransportDataType = new ArrayList>>(); + for (ReaderGroupTransportDataType _item: _other.readerGroupTransportDataType) { + this.readerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfReaderGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree readerGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupTransportDataTypePropertyTree!= null):((readerGroupTransportDataTypePropertyTree == null)||(!readerGroupTransportDataTypePropertyTree.isLeaf())))) { + if (_other.readerGroupTransportDataType == null) { + this.readerGroupTransportDataType = null; + } else { + this.readerGroupTransportDataType = new ArrayList>>(); + for (ReaderGroupTransportDataType _item: _other.readerGroupTransportDataType) { + this.readerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, readerGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfReaderGroupTransportDataType >_P init(final _P _product) { + if (this.readerGroupTransportDataType!= null) { + final List readerGroupTransportDataType = new ArrayList(this.readerGroupTransportDataType.size()); + for (ReaderGroupTransportDataType.Builder> _item: this.readerGroupTransportDataType) { + readerGroupTransportDataType.add(_item.build()); + } + _product.readerGroupTransportDataType = readerGroupTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "readerGroupTransportDataType" hinzu. + * + * @param readerGroupTransportDataType + * Werte, die zur Eigenschaft "readerGroupTransportDataType" hinzugefügt werden. + */ + public ListOfReaderGroupTransportDataType.Builder<_B> addReaderGroupTransportDataType(final Iterable readerGroupTransportDataType) { + if (readerGroupTransportDataType!= null) { + if (this.readerGroupTransportDataType == null) { + this.readerGroupTransportDataType = new ArrayList>>(); + } + for (ReaderGroupTransportDataType _item: readerGroupTransportDataType) { + this.readerGroupTransportDataType.add(new ReaderGroupTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroupTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param readerGroupTransportDataType + * Neuer Wert der Eigenschaft "readerGroupTransportDataType". + */ + public ListOfReaderGroupTransportDataType.Builder<_B> withReaderGroupTransportDataType(final Iterable readerGroupTransportDataType) { + if (this.readerGroupTransportDataType!= null) { + this.readerGroupTransportDataType.clear(); + } + return addReaderGroupTransportDataType(readerGroupTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "readerGroupTransportDataType" hinzu. + * + * @param readerGroupTransportDataType + * Werte, die zur Eigenschaft "readerGroupTransportDataType" hinzugefügt werden. + */ + public ListOfReaderGroupTransportDataType.Builder<_B> addReaderGroupTransportDataType(ReaderGroupTransportDataType... readerGroupTransportDataType) { + addReaderGroupTransportDataType(Arrays.asList(readerGroupTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroupTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param readerGroupTransportDataType + * Neuer Wert der Eigenschaft "readerGroupTransportDataType". + */ + public ListOfReaderGroupTransportDataType.Builder<_B> withReaderGroupTransportDataType(ReaderGroupTransportDataType... readerGroupTransportDataType) { + withReaderGroupTransportDataType(Arrays.asList(readerGroupTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ReaderGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReaderGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ReaderGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReaderGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ReaderGroupTransportDataType.Builder> addReaderGroupTransportDataType() { + if (this.readerGroupTransportDataType == null) { + this.readerGroupTransportDataType = new ArrayList>>(); + } + final ReaderGroupTransportDataType.Builder> readerGroupTransportDataType_Builder = new ReaderGroupTransportDataType.Builder>(this, null, false); + this.readerGroupTransportDataType.add(readerGroupTransportDataType_Builder); + return readerGroupTransportDataType_Builder; + } + + @Override + public ListOfReaderGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfReaderGroupTransportDataType()); + } else { + return ((ListOfReaderGroupTransportDataType) _storedValue); + } + } + + public ListOfReaderGroupTransportDataType.Builder<_B> copyOf(final ListOfReaderGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfReaderGroupTransportDataType.Builder<_B> copyOf(final ListOfReaderGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfReaderGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfReaderGroupTransportDataType.Select _root() { + return new ListOfReaderGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ReaderGroupTransportDataType.Selector> readerGroupTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.readerGroupTransportDataType!= null) { + products.put("readerGroupTransportDataType", this.readerGroupTransportDataType.init()); + } + return products; + } + + public ReaderGroupTransportDataType.Selector> readerGroupTransportDataType() { + return ((this.readerGroupTransportDataType == null)?this.readerGroupTransportDataType = new ReaderGroupTransportDataType.Selector>(this._root, this, "readerGroupTransportDataType"):this.readerGroupTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRedundantServerDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRedundantServerDataType.java new file mode 100644 index 000000000..6f2bc8a3d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRedundantServerDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfRedundantServerDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfRedundantServerDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RedundantServerDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RedundantServerDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfRedundantServerDataType", propOrder = { + "redundantServerDataType" +}) +public class ListOfRedundantServerDataType { + + @XmlElement(name = "RedundantServerDataType", nillable = true) + protected List redundantServerDataType; + + /** + * Gets the value of the redundantServerDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the redundantServerDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getRedundantServerDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link RedundantServerDataType } + * + * + */ + public List getRedundantServerDataType() { + if (redundantServerDataType == null) { + redundantServerDataType = new ArrayList(); + } + return this.redundantServerDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRedundantServerDataType.Builder<_B> _other) { + if (this.redundantServerDataType == null) { + _other.redundantServerDataType = null; + } else { + _other.redundantServerDataType = new ArrayList>>(); + for (RedundantServerDataType _item: this.redundantServerDataType) { + _other.redundantServerDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfRedundantServerDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfRedundantServerDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfRedundantServerDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfRedundantServerDataType.Builder builder() { + return new ListOfRedundantServerDataType.Builder(null, null, false); + } + + public static<_B >ListOfRedundantServerDataType.Builder<_B> copyOf(final ListOfRedundantServerDataType _other) { + final ListOfRedundantServerDataType.Builder<_B> _newBuilder = new ListOfRedundantServerDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRedundantServerDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree redundantServerDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("redundantServerDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(redundantServerDataTypePropertyTree!= null):((redundantServerDataTypePropertyTree == null)||(!redundantServerDataTypePropertyTree.isLeaf())))) { + if (this.redundantServerDataType == null) { + _other.redundantServerDataType = null; + } else { + _other.redundantServerDataType = new ArrayList>>(); + for (RedundantServerDataType _item: this.redundantServerDataType) { + _other.redundantServerDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, redundantServerDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfRedundantServerDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfRedundantServerDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfRedundantServerDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfRedundantServerDataType.Builder<_B> copyOf(final ListOfRedundantServerDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfRedundantServerDataType.Builder<_B> _newBuilder = new ListOfRedundantServerDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfRedundantServerDataType.Builder copyExcept(final ListOfRedundantServerDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfRedundantServerDataType.Builder copyOnly(final ListOfRedundantServerDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfRedundantServerDataType _storedValue; + private List>> redundantServerDataType; + + public Builder(final _B _parentBuilder, final ListOfRedundantServerDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.redundantServerDataType == null) { + this.redundantServerDataType = null; + } else { + this.redundantServerDataType = new ArrayList>>(); + for (RedundantServerDataType _item: _other.redundantServerDataType) { + this.redundantServerDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfRedundantServerDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree redundantServerDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("redundantServerDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(redundantServerDataTypePropertyTree!= null):((redundantServerDataTypePropertyTree == null)||(!redundantServerDataTypePropertyTree.isLeaf())))) { + if (_other.redundantServerDataType == null) { + this.redundantServerDataType = null; + } else { + this.redundantServerDataType = new ArrayList>>(); + for (RedundantServerDataType _item: _other.redundantServerDataType) { + this.redundantServerDataType.add(((_item == null)?null:_item.newCopyBuilder(this, redundantServerDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfRedundantServerDataType >_P init(final _P _product) { + if (this.redundantServerDataType!= null) { + final List redundantServerDataType = new ArrayList(this.redundantServerDataType.size()); + for (RedundantServerDataType.Builder> _item: this.redundantServerDataType) { + redundantServerDataType.add(_item.build()); + } + _product.redundantServerDataType = redundantServerDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "redundantServerDataType" hinzu. + * + * @param redundantServerDataType + * Werte, die zur Eigenschaft "redundantServerDataType" hinzugefügt werden. + */ + public ListOfRedundantServerDataType.Builder<_B> addRedundantServerDataType(final Iterable redundantServerDataType) { + if (redundantServerDataType!= null) { + if (this.redundantServerDataType == null) { + this.redundantServerDataType = new ArrayList>>(); + } + for (RedundantServerDataType _item: redundantServerDataType) { + this.redundantServerDataType.add(new RedundantServerDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "redundantServerDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param redundantServerDataType + * Neuer Wert der Eigenschaft "redundantServerDataType". + */ + public ListOfRedundantServerDataType.Builder<_B> withRedundantServerDataType(final Iterable redundantServerDataType) { + if (this.redundantServerDataType!= null) { + this.redundantServerDataType.clear(); + } + return addRedundantServerDataType(redundantServerDataType); + } + + /** + * Fügt Werte zur Eigenschaft "redundantServerDataType" hinzu. + * + * @param redundantServerDataType + * Werte, die zur Eigenschaft "redundantServerDataType" hinzugefügt werden. + */ + public ListOfRedundantServerDataType.Builder<_B> addRedundantServerDataType(RedundantServerDataType... redundantServerDataType) { + addRedundantServerDataType(Arrays.asList(redundantServerDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "redundantServerDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param redundantServerDataType + * Neuer Wert der Eigenschaft "redundantServerDataType". + */ + public ListOfRedundantServerDataType.Builder<_B> withRedundantServerDataType(RedundantServerDataType... redundantServerDataType) { + withRedundantServerDataType(Arrays.asList(redundantServerDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "RedundantServerDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.RedundantServerDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "RedundantServerDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.RedundantServerDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public RedundantServerDataType.Builder> addRedundantServerDataType() { + if (this.redundantServerDataType == null) { + this.redundantServerDataType = new ArrayList>>(); + } + final RedundantServerDataType.Builder> redundantServerDataType_Builder = new RedundantServerDataType.Builder>(this, null, false); + this.redundantServerDataType.add(redundantServerDataType_Builder); + return redundantServerDataType_Builder; + } + + @Override + public ListOfRedundantServerDataType build() { + if (_storedValue == null) { + return this.init(new ListOfRedundantServerDataType()); + } else { + return ((ListOfRedundantServerDataType) _storedValue); + } + } + + public ListOfRedundantServerDataType.Builder<_B> copyOf(final ListOfRedundantServerDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfRedundantServerDataType.Builder<_B> copyOf(final ListOfRedundantServerDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfRedundantServerDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfRedundantServerDataType.Select _root() { + return new ListOfRedundantServerDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private RedundantServerDataType.Selector> redundantServerDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.redundantServerDataType!= null) { + products.put("redundantServerDataType", this.redundantServerDataType.init()); + } + return products; + } + + public RedundantServerDataType.Selector> redundantServerDataType() { + return ((this.redundantServerDataType == null)?this.redundantServerDataType = new RedundantServerDataType.Selector>(this._root, this, "redundantServerDataType"):this.redundantServerDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceDescription.java new file mode 100644 index 000000000..1c0ebc83a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfReferenceDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfReferenceDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReferenceDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReferenceDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfReferenceDescription", propOrder = { + "referenceDescription" +}) +public class ListOfReferenceDescription { + + @XmlElement(name = "ReferenceDescription", nillable = true) + protected List referenceDescription; + + /** + * Gets the value of the referenceDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the referenceDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReferenceDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferenceDescription } + * + * + */ + public List getReferenceDescription() { + if (referenceDescription == null) { + referenceDescription = new ArrayList(); + } + return this.referenceDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReferenceDescription.Builder<_B> _other) { + if (this.referenceDescription == null) { + _other.referenceDescription = null; + } else { + _other.referenceDescription = new ArrayList>>(); + for (ReferenceDescription _item: this.referenceDescription) { + _other.referenceDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfReferenceDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfReferenceDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfReferenceDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfReferenceDescription.Builder builder() { + return new ListOfReferenceDescription.Builder(null, null, false); + } + + public static<_B >ListOfReferenceDescription.Builder<_B> copyOf(final ListOfReferenceDescription _other) { + final ListOfReferenceDescription.Builder<_B> _newBuilder = new ListOfReferenceDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReferenceDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree referenceDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceDescriptionPropertyTree!= null):((referenceDescriptionPropertyTree == null)||(!referenceDescriptionPropertyTree.isLeaf())))) { + if (this.referenceDescription == null) { + _other.referenceDescription = null; + } else { + _other.referenceDescription = new ArrayList>>(); + for (ReferenceDescription _item: this.referenceDescription) { + _other.referenceDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, referenceDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfReferenceDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfReferenceDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfReferenceDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfReferenceDescription.Builder<_B> copyOf(final ListOfReferenceDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfReferenceDescription.Builder<_B> _newBuilder = new ListOfReferenceDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfReferenceDescription.Builder copyExcept(final ListOfReferenceDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfReferenceDescription.Builder copyOnly(final ListOfReferenceDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfReferenceDescription _storedValue; + private List>> referenceDescription; + + public Builder(final _B _parentBuilder, final ListOfReferenceDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.referenceDescription == null) { + this.referenceDescription = null; + } else { + this.referenceDescription = new ArrayList>>(); + for (ReferenceDescription _item: _other.referenceDescription) { + this.referenceDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfReferenceDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree referenceDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceDescriptionPropertyTree!= null):((referenceDescriptionPropertyTree == null)||(!referenceDescriptionPropertyTree.isLeaf())))) { + if (_other.referenceDescription == null) { + this.referenceDescription = null; + } else { + this.referenceDescription = new ArrayList>>(); + for (ReferenceDescription _item: _other.referenceDescription) { + this.referenceDescription.add(((_item == null)?null:_item.newCopyBuilder(this, referenceDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfReferenceDescription >_P init(final _P _product) { + if (this.referenceDescription!= null) { + final List referenceDescription = new ArrayList(this.referenceDescription.size()); + for (ReferenceDescription.Builder> _item: this.referenceDescription) { + referenceDescription.add(_item.build()); + } + _product.referenceDescription = referenceDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "referenceDescription" hinzu. + * + * @param referenceDescription + * Werte, die zur Eigenschaft "referenceDescription" hinzugefügt werden. + */ + public ListOfReferenceDescription.Builder<_B> addReferenceDescription(final Iterable referenceDescription) { + if (referenceDescription!= null) { + if (this.referenceDescription == null) { + this.referenceDescription = new ArrayList>>(); + } + for (ReferenceDescription _item: referenceDescription) { + this.referenceDescription.add(new ReferenceDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param referenceDescription + * Neuer Wert der Eigenschaft "referenceDescription". + */ + public ListOfReferenceDescription.Builder<_B> withReferenceDescription(final Iterable referenceDescription) { + if (this.referenceDescription!= null) { + this.referenceDescription.clear(); + } + return addReferenceDescription(referenceDescription); + } + + /** + * Fügt Werte zur Eigenschaft "referenceDescription" hinzu. + * + * @param referenceDescription + * Werte, die zur Eigenschaft "referenceDescription" hinzugefügt werden. + */ + public ListOfReferenceDescription.Builder<_B> addReferenceDescription(ReferenceDescription... referenceDescription) { + addReferenceDescription(Arrays.asList(referenceDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param referenceDescription + * Neuer Wert der Eigenschaft "referenceDescription". + */ + public ListOfReferenceDescription.Builder<_B> withReferenceDescription(ReferenceDescription... referenceDescription) { + withReferenceDescription(Arrays.asList(referenceDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ReferenceDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReferenceDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ReferenceDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ReferenceDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public ReferenceDescription.Builder> addReferenceDescription() { + if (this.referenceDescription == null) { + this.referenceDescription = new ArrayList>>(); + } + final ReferenceDescription.Builder> referenceDescription_Builder = new ReferenceDescription.Builder>(this, null, false); + this.referenceDescription.add(referenceDescription_Builder); + return referenceDescription_Builder; + } + + @Override + public ListOfReferenceDescription build() { + if (_storedValue == null) { + return this.init(new ListOfReferenceDescription()); + } else { + return ((ListOfReferenceDescription) _storedValue); + } + } + + public ListOfReferenceDescription.Builder<_B> copyOf(final ListOfReferenceDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfReferenceDescription.Builder<_B> copyOf(final ListOfReferenceDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfReferenceDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfReferenceDescription.Select _root() { + return new ListOfReferenceDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ReferenceDescription.Selector> referenceDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.referenceDescription!= null) { + products.put("referenceDescription", this.referenceDescription.init()); + } + return products; + } + + public ReferenceDescription.Selector> referenceDescription() { + return ((this.referenceDescription == null)?this.referenceDescription = new ReferenceDescription.Selector>(this._root, this, "referenceDescription"):this.referenceDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceNode.java new file mode 100644 index 000000000..0ae1a3f8c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfReferenceNode.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfReferenceNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfReferenceNode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReferenceNode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReferenceNode" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfReferenceNode", propOrder = { + "referenceNode" +}) +public class ListOfReferenceNode { + + @XmlElement(name = "ReferenceNode", nillable = true) + protected List referenceNode; + + /** + * Gets the value of the referenceNode property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the referenceNode property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReferenceNode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferenceNode } + * + * + */ + public List getReferenceNode() { + if (referenceNode == null) { + referenceNode = new ArrayList(); + } + return this.referenceNode; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReferenceNode.Builder<_B> _other) { + if (this.referenceNode == null) { + _other.referenceNode = null; + } else { + _other.referenceNode = new ArrayList>>(); + for (ReferenceNode _item: this.referenceNode) { + _other.referenceNode.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfReferenceNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfReferenceNode.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfReferenceNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfReferenceNode.Builder builder() { + return new ListOfReferenceNode.Builder(null, null, false); + } + + public static<_B >ListOfReferenceNode.Builder<_B> copyOf(final ListOfReferenceNode _other) { + final ListOfReferenceNode.Builder<_B> _newBuilder = new ListOfReferenceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfReferenceNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree referenceNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceNodePropertyTree!= null):((referenceNodePropertyTree == null)||(!referenceNodePropertyTree.isLeaf())))) { + if (this.referenceNode == null) { + _other.referenceNode = null; + } else { + _other.referenceNode = new ArrayList>>(); + for (ReferenceNode _item: this.referenceNode) { + _other.referenceNode.add(((_item == null)?null:_item.newCopyBuilder(_other, referenceNodePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfReferenceNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfReferenceNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfReferenceNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfReferenceNode.Builder<_B> copyOf(final ListOfReferenceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfReferenceNode.Builder<_B> _newBuilder = new ListOfReferenceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfReferenceNode.Builder copyExcept(final ListOfReferenceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfReferenceNode.Builder copyOnly(final ListOfReferenceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfReferenceNode _storedValue; + private List>> referenceNode; + + public Builder(final _B _parentBuilder, final ListOfReferenceNode _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.referenceNode == null) { + this.referenceNode = null; + } else { + this.referenceNode = new ArrayList>>(); + for (ReferenceNode _item: _other.referenceNode) { + this.referenceNode.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfReferenceNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree referenceNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceNodePropertyTree!= null):((referenceNodePropertyTree == null)||(!referenceNodePropertyTree.isLeaf())))) { + if (_other.referenceNode == null) { + this.referenceNode = null; + } else { + this.referenceNode = new ArrayList>>(); + for (ReferenceNode _item: _other.referenceNode) { + this.referenceNode.add(((_item == null)?null:_item.newCopyBuilder(this, referenceNodePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfReferenceNode >_P init(final _P _product) { + if (this.referenceNode!= null) { + final List referenceNode = new ArrayList(this.referenceNode.size()); + for (ReferenceNode.Builder> _item: this.referenceNode) { + referenceNode.add(_item.build()); + } + _product.referenceNode = referenceNode; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "referenceNode" hinzu. + * + * @param referenceNode + * Werte, die zur Eigenschaft "referenceNode" hinzugefügt werden. + */ + public ListOfReferenceNode.Builder<_B> addReferenceNode(final Iterable referenceNode) { + if (referenceNode!= null) { + if (this.referenceNode == null) { + this.referenceNode = new ArrayList>>(); + } + for (ReferenceNode _item: referenceNode) { + this.referenceNode.add(new ReferenceNode.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceNode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceNode + * Neuer Wert der Eigenschaft "referenceNode". + */ + public ListOfReferenceNode.Builder<_B> withReferenceNode(final Iterable referenceNode) { + if (this.referenceNode!= null) { + this.referenceNode.clear(); + } + return addReferenceNode(referenceNode); + } + + /** + * Fügt Werte zur Eigenschaft "referenceNode" hinzu. + * + * @param referenceNode + * Werte, die zur Eigenschaft "referenceNode" hinzugefügt werden. + */ + public ListOfReferenceNode.Builder<_B> addReferenceNode(ReferenceNode... referenceNode) { + addReferenceNode(Arrays.asList(referenceNode)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceNode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceNode + * Neuer Wert der Eigenschaft "referenceNode". + */ + public ListOfReferenceNode.Builder<_B> withReferenceNode(ReferenceNode... referenceNode) { + withReferenceNode(Arrays.asList(referenceNode)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ReferenceNode". + * Mit {@link org.opcfoundation.ua._2008._02.types.ReferenceNode.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ReferenceNode". + * Mit {@link org.opcfoundation.ua._2008._02.types.ReferenceNode.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ReferenceNode.Builder> addReferenceNode() { + if (this.referenceNode == null) { + this.referenceNode = new ArrayList>>(); + } + final ReferenceNode.Builder> referenceNode_Builder = new ReferenceNode.Builder>(this, null, false); + this.referenceNode.add(referenceNode_Builder); + return referenceNode_Builder; + } + + @Override + public ListOfReferenceNode build() { + if (_storedValue == null) { + return this.init(new ListOfReferenceNode()); + } else { + return ((ListOfReferenceNode) _storedValue); + } + } + + public ListOfReferenceNode.Builder<_B> copyOf(final ListOfReferenceNode _other) { + _other.copyTo(this); + return this; + } + + public ListOfReferenceNode.Builder<_B> copyOf(final ListOfReferenceNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfReferenceNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfReferenceNode.Select _root() { + return new ListOfReferenceNode.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ReferenceNode.Selector> referenceNode = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.referenceNode!= null) { + products.put("referenceNode", this.referenceNode.init()); + } + return products; + } + + public ReferenceNode.Selector> referenceNode() { + return ((this.referenceNode == null)?this.referenceNode = new ReferenceNode.Selector>(this._root, this, "referenceNode"):this.referenceNode); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRegisteredServer.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRegisteredServer.java new file mode 100644 index 000000000..93e4ff6e9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRegisteredServer.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfRegisteredServer complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfRegisteredServer">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RegisteredServer" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RegisteredServer" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfRegisteredServer", propOrder = { + "registeredServer" +}) +public class ListOfRegisteredServer { + + @XmlElement(name = "RegisteredServer", nillable = true) + protected List registeredServer; + + /** + * Gets the value of the registeredServer property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the registeredServer property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getRegisteredServer().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link RegisteredServer } + * + * + */ + public List getRegisteredServer() { + if (registeredServer == null) { + registeredServer = new ArrayList(); + } + return this.registeredServer; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRegisteredServer.Builder<_B> _other) { + if (this.registeredServer == null) { + _other.registeredServer = null; + } else { + _other.registeredServer = new ArrayList>>(); + for (RegisteredServer _item: this.registeredServer) { + _other.registeredServer.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfRegisteredServer.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfRegisteredServer.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfRegisteredServer.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfRegisteredServer.Builder builder() { + return new ListOfRegisteredServer.Builder(null, null, false); + } + + public static<_B >ListOfRegisteredServer.Builder<_B> copyOf(final ListOfRegisteredServer _other) { + final ListOfRegisteredServer.Builder<_B> _newBuilder = new ListOfRegisteredServer.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRegisteredServer.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree registeredServerPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("registeredServer")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(registeredServerPropertyTree!= null):((registeredServerPropertyTree == null)||(!registeredServerPropertyTree.isLeaf())))) { + if (this.registeredServer == null) { + _other.registeredServer = null; + } else { + _other.registeredServer = new ArrayList>>(); + for (RegisteredServer _item: this.registeredServer) { + _other.registeredServer.add(((_item == null)?null:_item.newCopyBuilder(_other, registeredServerPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfRegisteredServer.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfRegisteredServer.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfRegisteredServer.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfRegisteredServer.Builder<_B> copyOf(final ListOfRegisteredServer _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfRegisteredServer.Builder<_B> _newBuilder = new ListOfRegisteredServer.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfRegisteredServer.Builder copyExcept(final ListOfRegisteredServer _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfRegisteredServer.Builder copyOnly(final ListOfRegisteredServer _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfRegisteredServer _storedValue; + private List>> registeredServer; + + public Builder(final _B _parentBuilder, final ListOfRegisteredServer _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.registeredServer == null) { + this.registeredServer = null; + } else { + this.registeredServer = new ArrayList>>(); + for (RegisteredServer _item: _other.registeredServer) { + this.registeredServer.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfRegisteredServer _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree registeredServerPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("registeredServer")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(registeredServerPropertyTree!= null):((registeredServerPropertyTree == null)||(!registeredServerPropertyTree.isLeaf())))) { + if (_other.registeredServer == null) { + this.registeredServer = null; + } else { + this.registeredServer = new ArrayList>>(); + for (RegisteredServer _item: _other.registeredServer) { + this.registeredServer.add(((_item == null)?null:_item.newCopyBuilder(this, registeredServerPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfRegisteredServer >_P init(final _P _product) { + if (this.registeredServer!= null) { + final List registeredServer = new ArrayList(this.registeredServer.size()); + for (RegisteredServer.Builder> _item: this.registeredServer) { + registeredServer.add(_item.build()); + } + _product.registeredServer = registeredServer; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "registeredServer" hinzu. + * + * @param registeredServer + * Werte, die zur Eigenschaft "registeredServer" hinzugefügt werden. + */ + public ListOfRegisteredServer.Builder<_B> addRegisteredServer(final Iterable registeredServer) { + if (registeredServer!= null) { + if (this.registeredServer == null) { + this.registeredServer = new ArrayList>>(); + } + for (RegisteredServer _item: registeredServer) { + this.registeredServer.add(new RegisteredServer.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "registeredServer" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param registeredServer + * Neuer Wert der Eigenschaft "registeredServer". + */ + public ListOfRegisteredServer.Builder<_B> withRegisteredServer(final Iterable registeredServer) { + if (this.registeredServer!= null) { + this.registeredServer.clear(); + } + return addRegisteredServer(registeredServer); + } + + /** + * Fügt Werte zur Eigenschaft "registeredServer" hinzu. + * + * @param registeredServer + * Werte, die zur Eigenschaft "registeredServer" hinzugefügt werden. + */ + public ListOfRegisteredServer.Builder<_B> addRegisteredServer(RegisteredServer... registeredServer) { + addRegisteredServer(Arrays.asList(registeredServer)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "registeredServer" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param registeredServer + * Neuer Wert der Eigenschaft "registeredServer". + */ + public ListOfRegisteredServer.Builder<_B> withRegisteredServer(RegisteredServer... registeredServer) { + withRegisteredServer(Arrays.asList(registeredServer)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "RegisteredServer". + * Mit {@link org.opcfoundation.ua._2008._02.types.RegisteredServer.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "RegisteredServer". + * Mit {@link org.opcfoundation.ua._2008._02.types.RegisteredServer.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public RegisteredServer.Builder> addRegisteredServer() { + if (this.registeredServer == null) { + this.registeredServer = new ArrayList>>(); + } + final RegisteredServer.Builder> registeredServer_Builder = new RegisteredServer.Builder>(this, null, false); + this.registeredServer.add(registeredServer_Builder); + return registeredServer_Builder; + } + + @Override + public ListOfRegisteredServer build() { + if (_storedValue == null) { + return this.init(new ListOfRegisteredServer()); + } else { + return ((ListOfRegisteredServer) _storedValue); + } + } + + public ListOfRegisteredServer.Builder<_B> copyOf(final ListOfRegisteredServer _other) { + _other.copyTo(this); + return this; + } + + public ListOfRegisteredServer.Builder<_B> copyOf(final ListOfRegisteredServer.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfRegisteredServer.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfRegisteredServer.Select _root() { + return new ListOfRegisteredServer.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private RegisteredServer.Selector> registeredServer = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.registeredServer!= null) { + products.put("registeredServer", this.registeredServer.init()); + } + return products; + } + + public RegisteredServer.Selector> registeredServer() { + return ((this.registeredServer == null)?this.registeredServer = new RegisteredServer.Selector>(this._root, this, "registeredServer"):this.registeredServer); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRelativePathElement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRelativePathElement.java new file mode 100644 index 000000000..11474c48e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRelativePathElement.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfRelativePathElement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfRelativePathElement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RelativePathElement" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RelativePathElement" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfRelativePathElement", propOrder = { + "relativePathElement" +}) +public class ListOfRelativePathElement { + + @XmlElement(name = "RelativePathElement", nillable = true) + protected List relativePathElement; + + /** + * Gets the value of the relativePathElement property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the relativePathElement property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getRelativePathElement().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link RelativePathElement } + * + * + */ + public List getRelativePathElement() { + if (relativePathElement == null) { + relativePathElement = new ArrayList(); + } + return this.relativePathElement; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRelativePathElement.Builder<_B> _other) { + if (this.relativePathElement == null) { + _other.relativePathElement = null; + } else { + _other.relativePathElement = new ArrayList>>(); + for (RelativePathElement _item: this.relativePathElement) { + _other.relativePathElement.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfRelativePathElement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfRelativePathElement.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfRelativePathElement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfRelativePathElement.Builder builder() { + return new ListOfRelativePathElement.Builder(null, null, false); + } + + public static<_B >ListOfRelativePathElement.Builder<_B> copyOf(final ListOfRelativePathElement _other) { + final ListOfRelativePathElement.Builder<_B> _newBuilder = new ListOfRelativePathElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRelativePathElement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree relativePathElementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("relativePathElement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(relativePathElementPropertyTree!= null):((relativePathElementPropertyTree == null)||(!relativePathElementPropertyTree.isLeaf())))) { + if (this.relativePathElement == null) { + _other.relativePathElement = null; + } else { + _other.relativePathElement = new ArrayList>>(); + for (RelativePathElement _item: this.relativePathElement) { + _other.relativePathElement.add(((_item == null)?null:_item.newCopyBuilder(_other, relativePathElementPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfRelativePathElement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfRelativePathElement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfRelativePathElement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfRelativePathElement.Builder<_B> copyOf(final ListOfRelativePathElement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfRelativePathElement.Builder<_B> _newBuilder = new ListOfRelativePathElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfRelativePathElement.Builder copyExcept(final ListOfRelativePathElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfRelativePathElement.Builder copyOnly(final ListOfRelativePathElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfRelativePathElement _storedValue; + private List>> relativePathElement; + + public Builder(final _B _parentBuilder, final ListOfRelativePathElement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.relativePathElement == null) { + this.relativePathElement = null; + } else { + this.relativePathElement = new ArrayList>>(); + for (RelativePathElement _item: _other.relativePathElement) { + this.relativePathElement.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfRelativePathElement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree relativePathElementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("relativePathElement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(relativePathElementPropertyTree!= null):((relativePathElementPropertyTree == null)||(!relativePathElementPropertyTree.isLeaf())))) { + if (_other.relativePathElement == null) { + this.relativePathElement = null; + } else { + this.relativePathElement = new ArrayList>>(); + for (RelativePathElement _item: _other.relativePathElement) { + this.relativePathElement.add(((_item == null)?null:_item.newCopyBuilder(this, relativePathElementPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfRelativePathElement >_P init(final _P _product) { + if (this.relativePathElement!= null) { + final List relativePathElement = new ArrayList(this.relativePathElement.size()); + for (RelativePathElement.Builder> _item: this.relativePathElement) { + relativePathElement.add(_item.build()); + } + _product.relativePathElement = relativePathElement; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "relativePathElement" hinzu. + * + * @param relativePathElement + * Werte, die zur Eigenschaft "relativePathElement" hinzugefügt werden. + */ + public ListOfRelativePathElement.Builder<_B> addRelativePathElement(final Iterable relativePathElement) { + if (relativePathElement!= null) { + if (this.relativePathElement == null) { + this.relativePathElement = new ArrayList>>(); + } + for (RelativePathElement _item: relativePathElement) { + this.relativePathElement.add(new RelativePathElement.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "relativePathElement" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param relativePathElement + * Neuer Wert der Eigenschaft "relativePathElement". + */ + public ListOfRelativePathElement.Builder<_B> withRelativePathElement(final Iterable relativePathElement) { + if (this.relativePathElement!= null) { + this.relativePathElement.clear(); + } + return addRelativePathElement(relativePathElement); + } + + /** + * Fügt Werte zur Eigenschaft "relativePathElement" hinzu. + * + * @param relativePathElement + * Werte, die zur Eigenschaft "relativePathElement" hinzugefügt werden. + */ + public ListOfRelativePathElement.Builder<_B> addRelativePathElement(RelativePathElement... relativePathElement) { + addRelativePathElement(Arrays.asList(relativePathElement)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "relativePathElement" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param relativePathElement + * Neuer Wert der Eigenschaft "relativePathElement". + */ + public ListOfRelativePathElement.Builder<_B> withRelativePathElement(RelativePathElement... relativePathElement) { + withRelativePathElement(Arrays.asList(relativePathElement)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "RelativePathElement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.RelativePathElement.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "RelativePathElement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.RelativePathElement.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public RelativePathElement.Builder> addRelativePathElement() { + if (this.relativePathElement == null) { + this.relativePathElement = new ArrayList>>(); + } + final RelativePathElement.Builder> relativePathElement_Builder = new RelativePathElement.Builder>(this, null, false); + this.relativePathElement.add(relativePathElement_Builder); + return relativePathElement_Builder; + } + + @Override + public ListOfRelativePathElement build() { + if (_storedValue == null) { + return this.init(new ListOfRelativePathElement()); + } else { + return ((ListOfRelativePathElement) _storedValue); + } + } + + public ListOfRelativePathElement.Builder<_B> copyOf(final ListOfRelativePathElement _other) { + _other.copyTo(this); + return this; + } + + public ListOfRelativePathElement.Builder<_B> copyOf(final ListOfRelativePathElement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfRelativePathElement.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfRelativePathElement.Select _root() { + return new ListOfRelativePathElement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private RelativePathElement.Selector> relativePathElement = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.relativePathElement!= null) { + products.put("relativePathElement", this.relativePathElement.init()); + } + return products; + } + + public RelativePathElement.Selector> relativePathElement() { + return ((this.relativePathElement == null)?this.relativePathElement = new RelativePathElement.Selector>(this._root, this, "relativePathElement"):this.relativePathElement); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRolePermissionType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRolePermissionType.java new file mode 100644 index 000000000..7e3a37635 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfRolePermissionType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfRolePermissionType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfRolePermissionType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RolePermissionType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RolePermissionType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfRolePermissionType", propOrder = { + "rolePermissionType" +}) +public class ListOfRolePermissionType { + + @XmlElement(name = "RolePermissionType", nillable = true) + protected List rolePermissionType; + + /** + * Gets the value of the rolePermissionType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the rolePermissionType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getRolePermissionType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link RolePermissionType } + * + * + */ + public List getRolePermissionType() { + if (rolePermissionType == null) { + rolePermissionType = new ArrayList(); + } + return this.rolePermissionType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRolePermissionType.Builder<_B> _other) { + if (this.rolePermissionType == null) { + _other.rolePermissionType = null; + } else { + _other.rolePermissionType = new ArrayList>>(); + for (RolePermissionType _item: this.rolePermissionType) { + _other.rolePermissionType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfRolePermissionType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfRolePermissionType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfRolePermissionType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfRolePermissionType.Builder builder() { + return new ListOfRolePermissionType.Builder(null, null, false); + } + + public static<_B >ListOfRolePermissionType.Builder<_B> copyOf(final ListOfRolePermissionType _other) { + final ListOfRolePermissionType.Builder<_B> _newBuilder = new ListOfRolePermissionType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfRolePermissionType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree rolePermissionTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rolePermissionType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePermissionTypePropertyTree!= null):((rolePermissionTypePropertyTree == null)||(!rolePermissionTypePropertyTree.isLeaf())))) { + if (this.rolePermissionType == null) { + _other.rolePermissionType = null; + } else { + _other.rolePermissionType = new ArrayList>>(); + for (RolePermissionType _item: this.rolePermissionType) { + _other.rolePermissionType.add(((_item == null)?null:_item.newCopyBuilder(_other, rolePermissionTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfRolePermissionType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfRolePermissionType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfRolePermissionType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfRolePermissionType.Builder<_B> copyOf(final ListOfRolePermissionType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfRolePermissionType.Builder<_B> _newBuilder = new ListOfRolePermissionType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfRolePermissionType.Builder copyExcept(final ListOfRolePermissionType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfRolePermissionType.Builder copyOnly(final ListOfRolePermissionType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfRolePermissionType _storedValue; + private List>> rolePermissionType; + + public Builder(final _B _parentBuilder, final ListOfRolePermissionType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.rolePermissionType == null) { + this.rolePermissionType = null; + } else { + this.rolePermissionType = new ArrayList>>(); + for (RolePermissionType _item: _other.rolePermissionType) { + this.rolePermissionType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfRolePermissionType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree rolePermissionTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rolePermissionType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePermissionTypePropertyTree!= null):((rolePermissionTypePropertyTree == null)||(!rolePermissionTypePropertyTree.isLeaf())))) { + if (_other.rolePermissionType == null) { + this.rolePermissionType = null; + } else { + this.rolePermissionType = new ArrayList>>(); + for (RolePermissionType _item: _other.rolePermissionType) { + this.rolePermissionType.add(((_item == null)?null:_item.newCopyBuilder(this, rolePermissionTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfRolePermissionType >_P init(final _P _product) { + if (this.rolePermissionType!= null) { + final List rolePermissionType = new ArrayList(this.rolePermissionType.size()); + for (RolePermissionType.Builder> _item: this.rolePermissionType) { + rolePermissionType.add(_item.build()); + } + _product.rolePermissionType = rolePermissionType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "rolePermissionType" hinzu. + * + * @param rolePermissionType + * Werte, die zur Eigenschaft "rolePermissionType" hinzugefügt werden. + */ + public ListOfRolePermissionType.Builder<_B> addRolePermissionType(final Iterable rolePermissionType) { + if (rolePermissionType!= null) { + if (this.rolePermissionType == null) { + this.rolePermissionType = new ArrayList>>(); + } + for (RolePermissionType _item: rolePermissionType) { + this.rolePermissionType.add(new RolePermissionType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissionType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param rolePermissionType + * Neuer Wert der Eigenschaft "rolePermissionType". + */ + public ListOfRolePermissionType.Builder<_B> withRolePermissionType(final Iterable rolePermissionType) { + if (this.rolePermissionType!= null) { + this.rolePermissionType.clear(); + } + return addRolePermissionType(rolePermissionType); + } + + /** + * Fügt Werte zur Eigenschaft "rolePermissionType" hinzu. + * + * @param rolePermissionType + * Werte, die zur Eigenschaft "rolePermissionType" hinzugefügt werden. + */ + public ListOfRolePermissionType.Builder<_B> addRolePermissionType(RolePermissionType... rolePermissionType) { + addRolePermissionType(Arrays.asList(rolePermissionType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissionType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param rolePermissionType + * Neuer Wert der Eigenschaft "rolePermissionType". + */ + public ListOfRolePermissionType.Builder<_B> withRolePermissionType(RolePermissionType... rolePermissionType) { + withRolePermissionType(Arrays.asList(rolePermissionType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "RolePermissionType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.RolePermissionType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "RolePermissionType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.RolePermissionType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public RolePermissionType.Builder> addRolePermissionType() { + if (this.rolePermissionType == null) { + this.rolePermissionType = new ArrayList>>(); + } + final RolePermissionType.Builder> rolePermissionType_Builder = new RolePermissionType.Builder>(this, null, false); + this.rolePermissionType.add(rolePermissionType_Builder); + return rolePermissionType_Builder; + } + + @Override + public ListOfRolePermissionType build() { + if (_storedValue == null) { + return this.init(new ListOfRolePermissionType()); + } else { + return ((ListOfRolePermissionType) _storedValue); + } + } + + public ListOfRolePermissionType.Builder<_B> copyOf(final ListOfRolePermissionType _other) { + _other.copyTo(this); + return this; + } + + public ListOfRolePermissionType.Builder<_B> copyOf(final ListOfRolePermissionType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfRolePermissionType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfRolePermissionType.Select _root() { + return new ListOfRolePermissionType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private RolePermissionType.Selector> rolePermissionType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.rolePermissionType!= null) { + products.put("rolePermissionType", this.rolePermissionType.init()); + } + return products; + } + + public RolePermissionType.Selector> rolePermissionType() { + return ((this.rolePermissionType == null)?this.rolePermissionType = new RolePermissionType.Selector>(this._root, this, "rolePermissionType"):this.rolePermissionType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSByte.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSByte.java new file mode 100644 index 000000000..34c276eda --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSByte.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSByte complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSByte">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SByte" type="{http://www.w3.org/2001/XMLSchema}byte" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSByte", propOrder = { + "sByte" +}) +public class ListOfSByte { + + @XmlElement(name = "SByte", type = Byte.class) + protected List sByte; + + /** + * Gets the value of the sByte property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the sByte property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSByte().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Byte } + * + * + */ + public List getSByte() { + if (sByte == null) { + sByte = new ArrayList(); + } + return this.sByte; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSByte.Builder<_B> _other) { + if (this.sByte == null) { + _other.sByte = null; + } else { + _other.sByte = new ArrayList(); + for (Byte _item: this.sByte) { + _other.sByte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfSByte.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSByte.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSByte.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSByte.Builder builder() { + return new ListOfSByte.Builder(null, null, false); + } + + public static<_B >ListOfSByte.Builder<_B> copyOf(final ListOfSByte _other) { + final ListOfSByte.Builder<_B> _newBuilder = new ListOfSByte.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSByte.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sBytePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sByte")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sBytePropertyTree!= null):((sBytePropertyTree == null)||(!sBytePropertyTree.isLeaf())))) { + if (this.sByte == null) { + _other.sByte = null; + } else { + _other.sByte = new ArrayList(); + for (Byte _item: this.sByte) { + _other.sByte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfSByte.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSByte.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSByte.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSByte.Builder<_B> copyOf(final ListOfSByte _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSByte.Builder<_B> _newBuilder = new ListOfSByte.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSByte.Builder copyExcept(final ListOfSByte _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSByte.Builder copyOnly(final ListOfSByte _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSByte _storedValue; + private List sByte; + + public Builder(final _B _parentBuilder, final ListOfSByte _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.sByte == null) { + this.sByte = null; + } else { + this.sByte = new ArrayList(); + for (Byte _item: _other.sByte) { + this.sByte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSByte _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sBytePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sByte")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sBytePropertyTree!= null):((sBytePropertyTree == null)||(!sBytePropertyTree.isLeaf())))) { + if (_other.sByte == null) { + this.sByte = null; + } else { + this.sByte = new ArrayList(); + for (Byte _item: _other.sByte) { + this.sByte.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSByte >_P init(final _P _product) { + if (this.sByte!= null) { + final List sByte = new ArrayList(this.sByte.size()); + for (Buildable _item: this.sByte) { + sByte.add(((Byte) _item.build())); + } + _product.sByte = sByte; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "sByte" hinzu. + * + * @param sByte + * Werte, die zur Eigenschaft "sByte" hinzugefügt werden. + */ + public ListOfSByte.Builder<_B> addSByte(final Iterable sByte) { + if (sByte!= null) { + if (this.sByte == null) { + this.sByte = new ArrayList(); + } + for (Byte _item: sByte) { + this.sByte.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sByte" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param sByte + * Neuer Wert der Eigenschaft "sByte". + */ + public ListOfSByte.Builder<_B> withSByte(final Iterable sByte) { + if (this.sByte!= null) { + this.sByte.clear(); + } + return addSByte(sByte); + } + + /** + * Fügt Werte zur Eigenschaft "sByte" hinzu. + * + * @param sByte + * Werte, die zur Eigenschaft "sByte" hinzugefügt werden. + */ + public ListOfSByte.Builder<_B> addSByte(Byte... sByte) { + addSByte(Arrays.asList(sByte)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sByte" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param sByte + * Neuer Wert der Eigenschaft "sByte". + */ + public ListOfSByte.Builder<_B> withSByte(Byte... sByte) { + withSByte(Arrays.asList(sByte)); + return this; + } + + @Override + public ListOfSByte build() { + if (_storedValue == null) { + return this.init(new ListOfSByte()); + } else { + return ((ListOfSByte) _storedValue); + } + } + + public ListOfSByte.Builder<_B> copyOf(final ListOfSByte _other) { + _other.copyTo(this); + return this; + } + + public ListOfSByte.Builder<_B> copyOf(final ListOfSByte.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSByte.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSByte.Select _root() { + return new ListOfSByte.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sByte = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sByte!= null) { + products.put("sByte", this.sByte.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sByte() { + return ((this.sByte == null)?this.sByte = new com.kscs.util.jaxb.Selector>(this._root, this, "sByte"):this.sByte); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSamplingIntervalDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSamplingIntervalDiagnosticsDataType.java new file mode 100644 index 000000000..f695da53e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSamplingIntervalDiagnosticsDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSamplingIntervalDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSamplingIntervalDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SamplingIntervalDiagnosticsDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SamplingIntervalDiagnosticsDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSamplingIntervalDiagnosticsDataType", propOrder = { + "samplingIntervalDiagnosticsDataType" +}) +public class ListOfSamplingIntervalDiagnosticsDataType { + + @XmlElement(name = "SamplingIntervalDiagnosticsDataType", nillable = true) + protected List samplingIntervalDiagnosticsDataType; + + /** + * Gets the value of the samplingIntervalDiagnosticsDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the samplingIntervalDiagnosticsDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSamplingIntervalDiagnosticsDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SamplingIntervalDiagnosticsDataType } + * + * + */ + public List getSamplingIntervalDiagnosticsDataType() { + if (samplingIntervalDiagnosticsDataType == null) { + samplingIntervalDiagnosticsDataType = new ArrayList(); + } + return this.samplingIntervalDiagnosticsDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> _other) { + if (this.samplingIntervalDiagnosticsDataType == null) { + _other.samplingIntervalDiagnosticsDataType = null; + } else { + _other.samplingIntervalDiagnosticsDataType = new ArrayList>>(); + for (SamplingIntervalDiagnosticsDataType _item: this.samplingIntervalDiagnosticsDataType) { + _other.samplingIntervalDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSamplingIntervalDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSamplingIntervalDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSamplingIntervalDiagnosticsDataType.Builder builder() { + return new ListOfSamplingIntervalDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final ListOfSamplingIntervalDiagnosticsDataType _other) { + final ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSamplingIntervalDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree samplingIntervalDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingIntervalDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalDiagnosticsDataTypePropertyTree!= null):((samplingIntervalDiagnosticsDataTypePropertyTree == null)||(!samplingIntervalDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (this.samplingIntervalDiagnosticsDataType == null) { + _other.samplingIntervalDiagnosticsDataType = null; + } else { + _other.samplingIntervalDiagnosticsDataType = new ArrayList>>(); + for (SamplingIntervalDiagnosticsDataType _item: this.samplingIntervalDiagnosticsDataType) { + _other.samplingIntervalDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, samplingIntervalDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSamplingIntervalDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSamplingIntervalDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final ListOfSamplingIntervalDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSamplingIntervalDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSamplingIntervalDiagnosticsDataType.Builder copyExcept(final ListOfSamplingIntervalDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSamplingIntervalDiagnosticsDataType.Builder copyOnly(final ListOfSamplingIntervalDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSamplingIntervalDiagnosticsDataType _storedValue; + private List>> samplingIntervalDiagnosticsDataType; + + public Builder(final _B _parentBuilder, final ListOfSamplingIntervalDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.samplingIntervalDiagnosticsDataType == null) { + this.samplingIntervalDiagnosticsDataType = null; + } else { + this.samplingIntervalDiagnosticsDataType = new ArrayList>>(); + for (SamplingIntervalDiagnosticsDataType _item: _other.samplingIntervalDiagnosticsDataType) { + this.samplingIntervalDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSamplingIntervalDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree samplingIntervalDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingIntervalDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalDiagnosticsDataTypePropertyTree!= null):((samplingIntervalDiagnosticsDataTypePropertyTree == null)||(!samplingIntervalDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (_other.samplingIntervalDiagnosticsDataType == null) { + this.samplingIntervalDiagnosticsDataType = null; + } else { + this.samplingIntervalDiagnosticsDataType = new ArrayList>>(); + for (SamplingIntervalDiagnosticsDataType _item: _other.samplingIntervalDiagnosticsDataType) { + this.samplingIntervalDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this, samplingIntervalDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSamplingIntervalDiagnosticsDataType >_P init(final _P _product) { + if (this.samplingIntervalDiagnosticsDataType!= null) { + final List samplingIntervalDiagnosticsDataType = new ArrayList(this.samplingIntervalDiagnosticsDataType.size()); + for (SamplingIntervalDiagnosticsDataType.Builder> _item: this.samplingIntervalDiagnosticsDataType) { + samplingIntervalDiagnosticsDataType.add(_item.build()); + } + _product.samplingIntervalDiagnosticsDataType = samplingIntervalDiagnosticsDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "samplingIntervalDiagnosticsDataType" hinzu. + * + * @param samplingIntervalDiagnosticsDataType + * Werte, die zur Eigenschaft "samplingIntervalDiagnosticsDataType" hinzugefügt + * werden. + */ + public ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> addSamplingIntervalDiagnosticsDataType(final Iterable samplingIntervalDiagnosticsDataType) { + if (samplingIntervalDiagnosticsDataType!= null) { + if (this.samplingIntervalDiagnosticsDataType == null) { + this.samplingIntervalDiagnosticsDataType = new ArrayList>>(); + } + for (SamplingIntervalDiagnosticsDataType _item: samplingIntervalDiagnosticsDataType) { + this.samplingIntervalDiagnosticsDataType.add(new SamplingIntervalDiagnosticsDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "samplingIntervalDiagnosticsDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param samplingIntervalDiagnosticsDataType + * Neuer Wert der Eigenschaft "samplingIntervalDiagnosticsDataType". + */ + public ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> withSamplingIntervalDiagnosticsDataType(final Iterable samplingIntervalDiagnosticsDataType) { + if (this.samplingIntervalDiagnosticsDataType!= null) { + this.samplingIntervalDiagnosticsDataType.clear(); + } + return addSamplingIntervalDiagnosticsDataType(samplingIntervalDiagnosticsDataType); + } + + /** + * Fügt Werte zur Eigenschaft "samplingIntervalDiagnosticsDataType" hinzu. + * + * @param samplingIntervalDiagnosticsDataType + * Werte, die zur Eigenschaft "samplingIntervalDiagnosticsDataType" hinzugefügt + * werden. + */ + public ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> addSamplingIntervalDiagnosticsDataType(SamplingIntervalDiagnosticsDataType... samplingIntervalDiagnosticsDataType) { + addSamplingIntervalDiagnosticsDataType(Arrays.asList(samplingIntervalDiagnosticsDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "samplingIntervalDiagnosticsDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param samplingIntervalDiagnosticsDataType + * Neuer Wert der Eigenschaft "samplingIntervalDiagnosticsDataType". + */ + public ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> withSamplingIntervalDiagnosticsDataType(SamplingIntervalDiagnosticsDataType... samplingIntervalDiagnosticsDataType) { + withSamplingIntervalDiagnosticsDataType(Arrays.asList(samplingIntervalDiagnosticsDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SamplingIntervalDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SamplingIntervalDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SamplingIntervalDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SamplingIntervalDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SamplingIntervalDiagnosticsDataType.Builder> addSamplingIntervalDiagnosticsDataType() { + if (this.samplingIntervalDiagnosticsDataType == null) { + this.samplingIntervalDiagnosticsDataType = new ArrayList>>(); + } + final SamplingIntervalDiagnosticsDataType.Builder> samplingIntervalDiagnosticsDataType_Builder = new SamplingIntervalDiagnosticsDataType.Builder>(this, null, false); + this.samplingIntervalDiagnosticsDataType.add(samplingIntervalDiagnosticsDataType_Builder); + return samplingIntervalDiagnosticsDataType_Builder; + } + + @Override + public ListOfSamplingIntervalDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSamplingIntervalDiagnosticsDataType()); + } else { + return ((ListOfSamplingIntervalDiagnosticsDataType) _storedValue); + } + } + + public ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final ListOfSamplingIntervalDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final ListOfSamplingIntervalDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSamplingIntervalDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSamplingIntervalDiagnosticsDataType.Select _root() { + return new ListOfSamplingIntervalDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SamplingIntervalDiagnosticsDataType.Selector> samplingIntervalDiagnosticsDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.samplingIntervalDiagnosticsDataType!= null) { + products.put("samplingIntervalDiagnosticsDataType", this.samplingIntervalDiagnosticsDataType.init()); + } + return products; + } + + public SamplingIntervalDiagnosticsDataType.Selector> samplingIntervalDiagnosticsDataType() { + return ((this.samplingIntervalDiagnosticsDataType == null)?this.samplingIntervalDiagnosticsDataType = new SamplingIntervalDiagnosticsDataType.Selector>(this._root, this, "samplingIntervalDiagnosticsDataType"):this.samplingIntervalDiagnosticsDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSemanticChangeStructureDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSemanticChangeStructureDataType.java new file mode 100644 index 000000000..4ae0e2d94 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSemanticChangeStructureDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSemanticChangeStructureDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSemanticChangeStructureDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SemanticChangeStructureDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SemanticChangeStructureDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSemanticChangeStructureDataType", propOrder = { + "semanticChangeStructureDataType" +}) +public class ListOfSemanticChangeStructureDataType { + + @XmlElement(name = "SemanticChangeStructureDataType", nillable = true) + protected List semanticChangeStructureDataType; + + /** + * Gets the value of the semanticChangeStructureDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the semanticChangeStructureDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSemanticChangeStructureDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SemanticChangeStructureDataType } + * + * + */ + public List getSemanticChangeStructureDataType() { + if (semanticChangeStructureDataType == null) { + semanticChangeStructureDataType = new ArrayList(); + } + return this.semanticChangeStructureDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSemanticChangeStructureDataType.Builder<_B> _other) { + if (this.semanticChangeStructureDataType == null) { + _other.semanticChangeStructureDataType = null; + } else { + _other.semanticChangeStructureDataType = new ArrayList>>(); + for (SemanticChangeStructureDataType _item: this.semanticChangeStructureDataType) { + _other.semanticChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSemanticChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSemanticChangeStructureDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSemanticChangeStructureDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSemanticChangeStructureDataType.Builder builder() { + return new ListOfSemanticChangeStructureDataType.Builder(null, null, false); + } + + public static<_B >ListOfSemanticChangeStructureDataType.Builder<_B> copyOf(final ListOfSemanticChangeStructureDataType _other) { + final ListOfSemanticChangeStructureDataType.Builder<_B> _newBuilder = new ListOfSemanticChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSemanticChangeStructureDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree semanticChangeStructureDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("semanticChangeStructureDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(semanticChangeStructureDataTypePropertyTree!= null):((semanticChangeStructureDataTypePropertyTree == null)||(!semanticChangeStructureDataTypePropertyTree.isLeaf())))) { + if (this.semanticChangeStructureDataType == null) { + _other.semanticChangeStructureDataType = null; + } else { + _other.semanticChangeStructureDataType = new ArrayList>>(); + for (SemanticChangeStructureDataType _item: this.semanticChangeStructureDataType) { + _other.semanticChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, semanticChangeStructureDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSemanticChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSemanticChangeStructureDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSemanticChangeStructureDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSemanticChangeStructureDataType.Builder<_B> copyOf(final ListOfSemanticChangeStructureDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSemanticChangeStructureDataType.Builder<_B> _newBuilder = new ListOfSemanticChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSemanticChangeStructureDataType.Builder copyExcept(final ListOfSemanticChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSemanticChangeStructureDataType.Builder copyOnly(final ListOfSemanticChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSemanticChangeStructureDataType _storedValue; + private List>> semanticChangeStructureDataType; + + public Builder(final _B _parentBuilder, final ListOfSemanticChangeStructureDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.semanticChangeStructureDataType == null) { + this.semanticChangeStructureDataType = null; + } else { + this.semanticChangeStructureDataType = new ArrayList>>(); + for (SemanticChangeStructureDataType _item: _other.semanticChangeStructureDataType) { + this.semanticChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSemanticChangeStructureDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree semanticChangeStructureDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("semanticChangeStructureDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(semanticChangeStructureDataTypePropertyTree!= null):((semanticChangeStructureDataTypePropertyTree == null)||(!semanticChangeStructureDataTypePropertyTree.isLeaf())))) { + if (_other.semanticChangeStructureDataType == null) { + this.semanticChangeStructureDataType = null; + } else { + this.semanticChangeStructureDataType = new ArrayList>>(); + for (SemanticChangeStructureDataType _item: _other.semanticChangeStructureDataType) { + this.semanticChangeStructureDataType.add(((_item == null)?null:_item.newCopyBuilder(this, semanticChangeStructureDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSemanticChangeStructureDataType >_P init(final _P _product) { + if (this.semanticChangeStructureDataType!= null) { + final List semanticChangeStructureDataType = new ArrayList(this.semanticChangeStructureDataType.size()); + for (SemanticChangeStructureDataType.Builder> _item: this.semanticChangeStructureDataType) { + semanticChangeStructureDataType.add(_item.build()); + } + _product.semanticChangeStructureDataType = semanticChangeStructureDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "semanticChangeStructureDataType" hinzu. + * + * @param semanticChangeStructureDataType + * Werte, die zur Eigenschaft "semanticChangeStructureDataType" hinzugefügt werden. + */ + public ListOfSemanticChangeStructureDataType.Builder<_B> addSemanticChangeStructureDataType(final Iterable semanticChangeStructureDataType) { + if (semanticChangeStructureDataType!= null) { + if (this.semanticChangeStructureDataType == null) { + this.semanticChangeStructureDataType = new ArrayList>>(); + } + for (SemanticChangeStructureDataType _item: semanticChangeStructureDataType) { + this.semanticChangeStructureDataType.add(new SemanticChangeStructureDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "semanticChangeStructureDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param semanticChangeStructureDataType + * Neuer Wert der Eigenschaft "semanticChangeStructureDataType". + */ + public ListOfSemanticChangeStructureDataType.Builder<_B> withSemanticChangeStructureDataType(final Iterable semanticChangeStructureDataType) { + if (this.semanticChangeStructureDataType!= null) { + this.semanticChangeStructureDataType.clear(); + } + return addSemanticChangeStructureDataType(semanticChangeStructureDataType); + } + + /** + * Fügt Werte zur Eigenschaft "semanticChangeStructureDataType" hinzu. + * + * @param semanticChangeStructureDataType + * Werte, die zur Eigenschaft "semanticChangeStructureDataType" hinzugefügt werden. + */ + public ListOfSemanticChangeStructureDataType.Builder<_B> addSemanticChangeStructureDataType(SemanticChangeStructureDataType... semanticChangeStructureDataType) { + addSemanticChangeStructureDataType(Arrays.asList(semanticChangeStructureDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "semanticChangeStructureDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param semanticChangeStructureDataType + * Neuer Wert der Eigenschaft "semanticChangeStructureDataType". + */ + public ListOfSemanticChangeStructureDataType.Builder<_B> withSemanticChangeStructureDataType(SemanticChangeStructureDataType... semanticChangeStructureDataType) { + withSemanticChangeStructureDataType(Arrays.asList(semanticChangeStructureDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SemanticChangeStructureDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SemanticChangeStructureDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SemanticChangeStructureDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SemanticChangeStructureDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SemanticChangeStructureDataType.Builder> addSemanticChangeStructureDataType() { + if (this.semanticChangeStructureDataType == null) { + this.semanticChangeStructureDataType = new ArrayList>>(); + } + final SemanticChangeStructureDataType.Builder> semanticChangeStructureDataType_Builder = new SemanticChangeStructureDataType.Builder>(this, null, false); + this.semanticChangeStructureDataType.add(semanticChangeStructureDataType_Builder); + return semanticChangeStructureDataType_Builder; + } + + @Override + public ListOfSemanticChangeStructureDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSemanticChangeStructureDataType()); + } else { + return ((ListOfSemanticChangeStructureDataType) _storedValue); + } + } + + public ListOfSemanticChangeStructureDataType.Builder<_B> copyOf(final ListOfSemanticChangeStructureDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSemanticChangeStructureDataType.Builder<_B> copyOf(final ListOfSemanticChangeStructureDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSemanticChangeStructureDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSemanticChangeStructureDataType.Select _root() { + return new ListOfSemanticChangeStructureDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SemanticChangeStructureDataType.Selector> semanticChangeStructureDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.semanticChangeStructureDataType!= null) { + products.put("semanticChangeStructureDataType", this.semanticChangeStructureDataType.init()); + } + return products; + } + + public SemanticChangeStructureDataType.Selector> semanticChangeStructureDataType() { + return ((this.semanticChangeStructureDataType == null)?this.semanticChangeStructureDataType = new SemanticChangeStructureDataType.Selector>(this._root, this, "semanticChangeStructureDataType"):this.semanticChangeStructureDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfServerOnNetwork.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfServerOnNetwork.java new file mode 100644 index 000000000..9dc428eb5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfServerOnNetwork.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfServerOnNetwork complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfServerOnNetwork">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ServerOnNetwork" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServerOnNetwork" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfServerOnNetwork", propOrder = { + "serverOnNetwork" +}) +public class ListOfServerOnNetwork { + + @XmlElement(name = "ServerOnNetwork", nillable = true) + protected List serverOnNetwork; + + /** + * Gets the value of the serverOnNetwork property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the serverOnNetwork property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getServerOnNetwork().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ServerOnNetwork } + * + * + */ + public List getServerOnNetwork() { + if (serverOnNetwork == null) { + serverOnNetwork = new ArrayList(); + } + return this.serverOnNetwork; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfServerOnNetwork.Builder<_B> _other) { + if (this.serverOnNetwork == null) { + _other.serverOnNetwork = null; + } else { + _other.serverOnNetwork = new ArrayList>>(); + for (ServerOnNetwork _item: this.serverOnNetwork) { + _other.serverOnNetwork.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfServerOnNetwork.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfServerOnNetwork.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfServerOnNetwork.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfServerOnNetwork.Builder builder() { + return new ListOfServerOnNetwork.Builder(null, null, false); + } + + public static<_B >ListOfServerOnNetwork.Builder<_B> copyOf(final ListOfServerOnNetwork _other) { + final ListOfServerOnNetwork.Builder<_B> _newBuilder = new ListOfServerOnNetwork.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfServerOnNetwork.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree serverOnNetworkPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverOnNetwork")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverOnNetworkPropertyTree!= null):((serverOnNetworkPropertyTree == null)||(!serverOnNetworkPropertyTree.isLeaf())))) { + if (this.serverOnNetwork == null) { + _other.serverOnNetwork = null; + } else { + _other.serverOnNetwork = new ArrayList>>(); + for (ServerOnNetwork _item: this.serverOnNetwork) { + _other.serverOnNetwork.add(((_item == null)?null:_item.newCopyBuilder(_other, serverOnNetworkPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfServerOnNetwork.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfServerOnNetwork.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfServerOnNetwork.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfServerOnNetwork.Builder<_B> copyOf(final ListOfServerOnNetwork _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfServerOnNetwork.Builder<_B> _newBuilder = new ListOfServerOnNetwork.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfServerOnNetwork.Builder copyExcept(final ListOfServerOnNetwork _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfServerOnNetwork.Builder copyOnly(final ListOfServerOnNetwork _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfServerOnNetwork _storedValue; + private List>> serverOnNetwork; + + public Builder(final _B _parentBuilder, final ListOfServerOnNetwork _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.serverOnNetwork == null) { + this.serverOnNetwork = null; + } else { + this.serverOnNetwork = new ArrayList>>(); + for (ServerOnNetwork _item: _other.serverOnNetwork) { + this.serverOnNetwork.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfServerOnNetwork _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree serverOnNetworkPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverOnNetwork")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverOnNetworkPropertyTree!= null):((serverOnNetworkPropertyTree == null)||(!serverOnNetworkPropertyTree.isLeaf())))) { + if (_other.serverOnNetwork == null) { + this.serverOnNetwork = null; + } else { + this.serverOnNetwork = new ArrayList>>(); + for (ServerOnNetwork _item: _other.serverOnNetwork) { + this.serverOnNetwork.add(((_item == null)?null:_item.newCopyBuilder(this, serverOnNetworkPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfServerOnNetwork >_P init(final _P _product) { + if (this.serverOnNetwork!= null) { + final List serverOnNetwork = new ArrayList(this.serverOnNetwork.size()); + for (ServerOnNetwork.Builder> _item: this.serverOnNetwork) { + serverOnNetwork.add(_item.build()); + } + _product.serverOnNetwork = serverOnNetwork; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "serverOnNetwork" hinzu. + * + * @param serverOnNetwork + * Werte, die zur Eigenschaft "serverOnNetwork" hinzugefügt werden. + */ + public ListOfServerOnNetwork.Builder<_B> addServerOnNetwork(final Iterable serverOnNetwork) { + if (serverOnNetwork!= null) { + if (this.serverOnNetwork == null) { + this.serverOnNetwork = new ArrayList>>(); + } + for (ServerOnNetwork _item: serverOnNetwork) { + this.serverOnNetwork.add(new ServerOnNetwork.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverOnNetwork" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverOnNetwork + * Neuer Wert der Eigenschaft "serverOnNetwork". + */ + public ListOfServerOnNetwork.Builder<_B> withServerOnNetwork(final Iterable serverOnNetwork) { + if (this.serverOnNetwork!= null) { + this.serverOnNetwork.clear(); + } + return addServerOnNetwork(serverOnNetwork); + } + + /** + * Fügt Werte zur Eigenschaft "serverOnNetwork" hinzu. + * + * @param serverOnNetwork + * Werte, die zur Eigenschaft "serverOnNetwork" hinzugefügt werden. + */ + public ListOfServerOnNetwork.Builder<_B> addServerOnNetwork(ServerOnNetwork... serverOnNetwork) { + addServerOnNetwork(Arrays.asList(serverOnNetwork)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverOnNetwork" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverOnNetwork + * Neuer Wert der Eigenschaft "serverOnNetwork". + */ + public ListOfServerOnNetwork.Builder<_B> withServerOnNetwork(ServerOnNetwork... serverOnNetwork) { + withServerOnNetwork(Arrays.asList(serverOnNetwork)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ServerOnNetwork". + * Mit {@link org.opcfoundation.ua._2008._02.types.ServerOnNetwork.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ServerOnNetwork". + * Mit {@link org.opcfoundation.ua._2008._02.types.ServerOnNetwork.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ServerOnNetwork.Builder> addServerOnNetwork() { + if (this.serverOnNetwork == null) { + this.serverOnNetwork = new ArrayList>>(); + } + final ServerOnNetwork.Builder> serverOnNetwork_Builder = new ServerOnNetwork.Builder>(this, null, false); + this.serverOnNetwork.add(serverOnNetwork_Builder); + return serverOnNetwork_Builder; + } + + @Override + public ListOfServerOnNetwork build() { + if (_storedValue == null) { + return this.init(new ListOfServerOnNetwork()); + } else { + return ((ListOfServerOnNetwork) _storedValue); + } + } + + public ListOfServerOnNetwork.Builder<_B> copyOf(final ListOfServerOnNetwork _other) { + _other.copyTo(this); + return this; + } + + public ListOfServerOnNetwork.Builder<_B> copyOf(final ListOfServerOnNetwork.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfServerOnNetwork.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfServerOnNetwork.Select _root() { + return new ListOfServerOnNetwork.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ServerOnNetwork.Selector> serverOnNetwork = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.serverOnNetwork!= null) { + products.put("serverOnNetwork", this.serverOnNetwork.init()); + } + return products; + } + + public ServerOnNetwork.Selector> serverOnNetwork() { + return ((this.serverOnNetwork == null)?this.serverOnNetwork = new ServerOnNetwork.Selector>(this._root, this, "serverOnNetwork"):this.serverOnNetwork); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionDiagnosticsDataType.java new file mode 100644 index 000000000..464315587 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionDiagnosticsDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSessionDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSessionDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SessionDiagnosticsDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SessionDiagnosticsDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSessionDiagnosticsDataType", propOrder = { + "sessionDiagnosticsDataType" +}) +public class ListOfSessionDiagnosticsDataType { + + @XmlElement(name = "SessionDiagnosticsDataType", nillable = true) + protected List sessionDiagnosticsDataType; + + /** + * Gets the value of the sessionDiagnosticsDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the sessionDiagnosticsDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSessionDiagnosticsDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SessionDiagnosticsDataType } + * + * + */ + public List getSessionDiagnosticsDataType() { + if (sessionDiagnosticsDataType == null) { + sessionDiagnosticsDataType = new ArrayList(); + } + return this.sessionDiagnosticsDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSessionDiagnosticsDataType.Builder<_B> _other) { + if (this.sessionDiagnosticsDataType == null) { + _other.sessionDiagnosticsDataType = null; + } else { + _other.sessionDiagnosticsDataType = new ArrayList>>(); + for (SessionDiagnosticsDataType _item: this.sessionDiagnosticsDataType) { + _other.sessionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSessionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSessionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSessionDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSessionDiagnosticsDataType.Builder builder() { + return new ListOfSessionDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >ListOfSessionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionDiagnosticsDataType _other) { + final ListOfSessionDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSessionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSessionDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sessionDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionDiagnosticsDataTypePropertyTree!= null):((sessionDiagnosticsDataTypePropertyTree == null)||(!sessionDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (this.sessionDiagnosticsDataType == null) { + _other.sessionDiagnosticsDataType = null; + } else { + _other.sessionDiagnosticsDataType = new ArrayList>>(); + for (SessionDiagnosticsDataType _item: this.sessionDiagnosticsDataType) { + _other.sessionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, sessionDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSessionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSessionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSessionDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSessionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSessionDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSessionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSessionDiagnosticsDataType.Builder copyExcept(final ListOfSessionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSessionDiagnosticsDataType.Builder copyOnly(final ListOfSessionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSessionDiagnosticsDataType _storedValue; + private List>> sessionDiagnosticsDataType; + + public Builder(final _B _parentBuilder, final ListOfSessionDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.sessionDiagnosticsDataType == null) { + this.sessionDiagnosticsDataType = null; + } else { + this.sessionDiagnosticsDataType = new ArrayList>>(); + for (SessionDiagnosticsDataType _item: _other.sessionDiagnosticsDataType) { + this.sessionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSessionDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sessionDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionDiagnosticsDataTypePropertyTree!= null):((sessionDiagnosticsDataTypePropertyTree == null)||(!sessionDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (_other.sessionDiagnosticsDataType == null) { + this.sessionDiagnosticsDataType = null; + } else { + this.sessionDiagnosticsDataType = new ArrayList>>(); + for (SessionDiagnosticsDataType _item: _other.sessionDiagnosticsDataType) { + this.sessionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this, sessionDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSessionDiagnosticsDataType >_P init(final _P _product) { + if (this.sessionDiagnosticsDataType!= null) { + final List sessionDiagnosticsDataType = new ArrayList(this.sessionDiagnosticsDataType.size()); + for (SessionDiagnosticsDataType.Builder> _item: this.sessionDiagnosticsDataType) { + sessionDiagnosticsDataType.add(_item.build()); + } + _product.sessionDiagnosticsDataType = sessionDiagnosticsDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "sessionDiagnosticsDataType" hinzu. + * + * @param sessionDiagnosticsDataType + * Werte, die zur Eigenschaft "sessionDiagnosticsDataType" hinzugefügt werden. + */ + public ListOfSessionDiagnosticsDataType.Builder<_B> addSessionDiagnosticsDataType(final Iterable sessionDiagnosticsDataType) { + if (sessionDiagnosticsDataType!= null) { + if (this.sessionDiagnosticsDataType == null) { + this.sessionDiagnosticsDataType = new ArrayList>>(); + } + for (SessionDiagnosticsDataType _item: sessionDiagnosticsDataType) { + this.sessionDiagnosticsDataType.add(new SessionDiagnosticsDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionDiagnosticsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param sessionDiagnosticsDataType + * Neuer Wert der Eigenschaft "sessionDiagnosticsDataType". + */ + public ListOfSessionDiagnosticsDataType.Builder<_B> withSessionDiagnosticsDataType(final Iterable sessionDiagnosticsDataType) { + if (this.sessionDiagnosticsDataType!= null) { + this.sessionDiagnosticsDataType.clear(); + } + return addSessionDiagnosticsDataType(sessionDiagnosticsDataType); + } + + /** + * Fügt Werte zur Eigenschaft "sessionDiagnosticsDataType" hinzu. + * + * @param sessionDiagnosticsDataType + * Werte, die zur Eigenschaft "sessionDiagnosticsDataType" hinzugefügt werden. + */ + public ListOfSessionDiagnosticsDataType.Builder<_B> addSessionDiagnosticsDataType(SessionDiagnosticsDataType... sessionDiagnosticsDataType) { + addSessionDiagnosticsDataType(Arrays.asList(sessionDiagnosticsDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionDiagnosticsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param sessionDiagnosticsDataType + * Neuer Wert der Eigenschaft "sessionDiagnosticsDataType". + */ + public ListOfSessionDiagnosticsDataType.Builder<_B> withSessionDiagnosticsDataType(SessionDiagnosticsDataType... sessionDiagnosticsDataType) { + withSessionDiagnosticsDataType(Arrays.asList(sessionDiagnosticsDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SessionDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SessionDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SessionDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SessionDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SessionDiagnosticsDataType.Builder> addSessionDiagnosticsDataType() { + if (this.sessionDiagnosticsDataType == null) { + this.sessionDiagnosticsDataType = new ArrayList>>(); + } + final SessionDiagnosticsDataType.Builder> sessionDiagnosticsDataType_Builder = new SessionDiagnosticsDataType.Builder>(this, null, false); + this.sessionDiagnosticsDataType.add(sessionDiagnosticsDataType_Builder); + return sessionDiagnosticsDataType_Builder; + } + + @Override + public ListOfSessionDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSessionDiagnosticsDataType()); + } else { + return ((ListOfSessionDiagnosticsDataType) _storedValue); + } + } + + public ListOfSessionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSessionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSessionDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSessionDiagnosticsDataType.Select _root() { + return new ListOfSessionDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SessionDiagnosticsDataType.Selector> sessionDiagnosticsDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sessionDiagnosticsDataType!= null) { + products.put("sessionDiagnosticsDataType", this.sessionDiagnosticsDataType.init()); + } + return products; + } + + public SessionDiagnosticsDataType.Selector> sessionDiagnosticsDataType() { + return ((this.sessionDiagnosticsDataType == null)?this.sessionDiagnosticsDataType = new SessionDiagnosticsDataType.Selector>(this._root, this, "sessionDiagnosticsDataType"):this.sessionDiagnosticsDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionSecurityDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionSecurityDiagnosticsDataType.java new file mode 100644 index 000000000..0b069a6c5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSessionSecurityDiagnosticsDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSessionSecurityDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSessionSecurityDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SessionSecurityDiagnosticsDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SessionSecurityDiagnosticsDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSessionSecurityDiagnosticsDataType", propOrder = { + "sessionSecurityDiagnosticsDataType" +}) +public class ListOfSessionSecurityDiagnosticsDataType { + + @XmlElement(name = "SessionSecurityDiagnosticsDataType", nillable = true) + protected List sessionSecurityDiagnosticsDataType; + + /** + * Gets the value of the sessionSecurityDiagnosticsDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the sessionSecurityDiagnosticsDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSessionSecurityDiagnosticsDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SessionSecurityDiagnosticsDataType } + * + * + */ + public List getSessionSecurityDiagnosticsDataType() { + if (sessionSecurityDiagnosticsDataType == null) { + sessionSecurityDiagnosticsDataType = new ArrayList(); + } + return this.sessionSecurityDiagnosticsDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSessionSecurityDiagnosticsDataType.Builder<_B> _other) { + if (this.sessionSecurityDiagnosticsDataType == null) { + _other.sessionSecurityDiagnosticsDataType = null; + } else { + _other.sessionSecurityDiagnosticsDataType = new ArrayList>>(); + for (SessionSecurityDiagnosticsDataType _item: this.sessionSecurityDiagnosticsDataType) { + _other.sessionSecurityDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSessionSecurityDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSessionSecurityDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSessionSecurityDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSessionSecurityDiagnosticsDataType.Builder builder() { + return new ListOfSessionSecurityDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >ListOfSessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionSecurityDiagnosticsDataType _other) { + final ListOfSessionSecurityDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSessionSecurityDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSessionSecurityDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sessionSecurityDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionSecurityDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionSecurityDiagnosticsDataTypePropertyTree!= null):((sessionSecurityDiagnosticsDataTypePropertyTree == null)||(!sessionSecurityDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (this.sessionSecurityDiagnosticsDataType == null) { + _other.sessionSecurityDiagnosticsDataType = null; + } else { + _other.sessionSecurityDiagnosticsDataType = new ArrayList>>(); + for (SessionSecurityDiagnosticsDataType _item: this.sessionSecurityDiagnosticsDataType) { + _other.sessionSecurityDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, sessionSecurityDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSessionSecurityDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSessionSecurityDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSessionSecurityDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionSecurityDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSessionSecurityDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSessionSecurityDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSessionSecurityDiagnosticsDataType.Builder copyExcept(final ListOfSessionSecurityDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSessionSecurityDiagnosticsDataType.Builder copyOnly(final ListOfSessionSecurityDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSessionSecurityDiagnosticsDataType _storedValue; + private List>> sessionSecurityDiagnosticsDataType; + + public Builder(final _B _parentBuilder, final ListOfSessionSecurityDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.sessionSecurityDiagnosticsDataType == null) { + this.sessionSecurityDiagnosticsDataType = null; + } else { + this.sessionSecurityDiagnosticsDataType = new ArrayList>>(); + for (SessionSecurityDiagnosticsDataType _item: _other.sessionSecurityDiagnosticsDataType) { + this.sessionSecurityDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSessionSecurityDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sessionSecurityDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionSecurityDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionSecurityDiagnosticsDataTypePropertyTree!= null):((sessionSecurityDiagnosticsDataTypePropertyTree == null)||(!sessionSecurityDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (_other.sessionSecurityDiagnosticsDataType == null) { + this.sessionSecurityDiagnosticsDataType = null; + } else { + this.sessionSecurityDiagnosticsDataType = new ArrayList>>(); + for (SessionSecurityDiagnosticsDataType _item: _other.sessionSecurityDiagnosticsDataType) { + this.sessionSecurityDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this, sessionSecurityDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSessionSecurityDiagnosticsDataType >_P init(final _P _product) { + if (this.sessionSecurityDiagnosticsDataType!= null) { + final List sessionSecurityDiagnosticsDataType = new ArrayList(this.sessionSecurityDiagnosticsDataType.size()); + for (SessionSecurityDiagnosticsDataType.Builder> _item: this.sessionSecurityDiagnosticsDataType) { + sessionSecurityDiagnosticsDataType.add(_item.build()); + } + _product.sessionSecurityDiagnosticsDataType = sessionSecurityDiagnosticsDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "sessionSecurityDiagnosticsDataType" hinzu. + * + * @param sessionSecurityDiagnosticsDataType + * Werte, die zur Eigenschaft "sessionSecurityDiagnosticsDataType" hinzugefügt + * werden. + */ + public ListOfSessionSecurityDiagnosticsDataType.Builder<_B> addSessionSecurityDiagnosticsDataType(final Iterable sessionSecurityDiagnosticsDataType) { + if (sessionSecurityDiagnosticsDataType!= null) { + if (this.sessionSecurityDiagnosticsDataType == null) { + this.sessionSecurityDiagnosticsDataType = new ArrayList>>(); + } + for (SessionSecurityDiagnosticsDataType _item: sessionSecurityDiagnosticsDataType) { + this.sessionSecurityDiagnosticsDataType.add(new SessionSecurityDiagnosticsDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionSecurityDiagnosticsDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param sessionSecurityDiagnosticsDataType + * Neuer Wert der Eigenschaft "sessionSecurityDiagnosticsDataType". + */ + public ListOfSessionSecurityDiagnosticsDataType.Builder<_B> withSessionSecurityDiagnosticsDataType(final Iterable sessionSecurityDiagnosticsDataType) { + if (this.sessionSecurityDiagnosticsDataType!= null) { + this.sessionSecurityDiagnosticsDataType.clear(); + } + return addSessionSecurityDiagnosticsDataType(sessionSecurityDiagnosticsDataType); + } + + /** + * Fügt Werte zur Eigenschaft "sessionSecurityDiagnosticsDataType" hinzu. + * + * @param sessionSecurityDiagnosticsDataType + * Werte, die zur Eigenschaft "sessionSecurityDiagnosticsDataType" hinzugefügt + * werden. + */ + public ListOfSessionSecurityDiagnosticsDataType.Builder<_B> addSessionSecurityDiagnosticsDataType(SessionSecurityDiagnosticsDataType... sessionSecurityDiagnosticsDataType) { + addSessionSecurityDiagnosticsDataType(Arrays.asList(sessionSecurityDiagnosticsDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionSecurityDiagnosticsDataType" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param sessionSecurityDiagnosticsDataType + * Neuer Wert der Eigenschaft "sessionSecurityDiagnosticsDataType". + */ + public ListOfSessionSecurityDiagnosticsDataType.Builder<_B> withSessionSecurityDiagnosticsDataType(SessionSecurityDiagnosticsDataType... sessionSecurityDiagnosticsDataType) { + withSessionSecurityDiagnosticsDataType(Arrays.asList(sessionSecurityDiagnosticsDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SessionSecurityDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SessionSecurityDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SessionSecurityDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SessionSecurityDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SessionSecurityDiagnosticsDataType.Builder> addSessionSecurityDiagnosticsDataType() { + if (this.sessionSecurityDiagnosticsDataType == null) { + this.sessionSecurityDiagnosticsDataType = new ArrayList>>(); + } + final SessionSecurityDiagnosticsDataType.Builder> sessionSecurityDiagnosticsDataType_Builder = new SessionSecurityDiagnosticsDataType.Builder>(this, null, false); + this.sessionSecurityDiagnosticsDataType.add(sessionSecurityDiagnosticsDataType_Builder); + return sessionSecurityDiagnosticsDataType_Builder; + } + + @Override + public ListOfSessionSecurityDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSessionSecurityDiagnosticsDataType()); + } else { + return ((ListOfSessionSecurityDiagnosticsDataType) _storedValue); + } + } + + public ListOfSessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionSecurityDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final ListOfSessionSecurityDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSessionSecurityDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSessionSecurityDiagnosticsDataType.Select _root() { + return new ListOfSessionSecurityDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SessionSecurityDiagnosticsDataType.Selector> sessionSecurityDiagnosticsDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sessionSecurityDiagnosticsDataType!= null) { + products.put("sessionSecurityDiagnosticsDataType", this.sessionSecurityDiagnosticsDataType.init()); + } + return products; + } + + public SessionSecurityDiagnosticsDataType.Selector> sessionSecurityDiagnosticsDataType() { + return ((this.sessionSecurityDiagnosticsDataType == null)?this.sessionSecurityDiagnosticsDataType = new SessionSecurityDiagnosticsDataType.Selector>(this._root, this, "sessionSecurityDiagnosticsDataType"):this.sessionSecurityDiagnosticsDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSignedSoftwareCertificate.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSignedSoftwareCertificate.java new file mode 100644 index 000000000..a160eeb45 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSignedSoftwareCertificate.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSignedSoftwareCertificate complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSignedSoftwareCertificate">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SignedSoftwareCertificate" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SignedSoftwareCertificate" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSignedSoftwareCertificate", propOrder = { + "signedSoftwareCertificate" +}) +public class ListOfSignedSoftwareCertificate { + + @XmlElement(name = "SignedSoftwareCertificate", nillable = true) + protected List signedSoftwareCertificate; + + /** + * Gets the value of the signedSoftwareCertificate property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the signedSoftwareCertificate property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSignedSoftwareCertificate().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SignedSoftwareCertificate } + * + * + */ + public List getSignedSoftwareCertificate() { + if (signedSoftwareCertificate == null) { + signedSoftwareCertificate = new ArrayList(); + } + return this.signedSoftwareCertificate; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSignedSoftwareCertificate.Builder<_B> _other) { + if (this.signedSoftwareCertificate == null) { + _other.signedSoftwareCertificate = null; + } else { + _other.signedSoftwareCertificate = new ArrayList>>(); + for (SignedSoftwareCertificate _item: this.signedSoftwareCertificate) { + _other.signedSoftwareCertificate.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSignedSoftwareCertificate.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSignedSoftwareCertificate.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSignedSoftwareCertificate.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSignedSoftwareCertificate.Builder builder() { + return new ListOfSignedSoftwareCertificate.Builder(null, null, false); + } + + public static<_B >ListOfSignedSoftwareCertificate.Builder<_B> copyOf(final ListOfSignedSoftwareCertificate _other) { + final ListOfSignedSoftwareCertificate.Builder<_B> _newBuilder = new ListOfSignedSoftwareCertificate.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSignedSoftwareCertificate.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree signedSoftwareCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signedSoftwareCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signedSoftwareCertificatePropertyTree!= null):((signedSoftwareCertificatePropertyTree == null)||(!signedSoftwareCertificatePropertyTree.isLeaf())))) { + if (this.signedSoftwareCertificate == null) { + _other.signedSoftwareCertificate = null; + } else { + _other.signedSoftwareCertificate = new ArrayList>>(); + for (SignedSoftwareCertificate _item: this.signedSoftwareCertificate) { + _other.signedSoftwareCertificate.add(((_item == null)?null:_item.newCopyBuilder(_other, signedSoftwareCertificatePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSignedSoftwareCertificate.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSignedSoftwareCertificate.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSignedSoftwareCertificate.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSignedSoftwareCertificate.Builder<_B> copyOf(final ListOfSignedSoftwareCertificate _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSignedSoftwareCertificate.Builder<_B> _newBuilder = new ListOfSignedSoftwareCertificate.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSignedSoftwareCertificate.Builder copyExcept(final ListOfSignedSoftwareCertificate _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSignedSoftwareCertificate.Builder copyOnly(final ListOfSignedSoftwareCertificate _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSignedSoftwareCertificate _storedValue; + private List>> signedSoftwareCertificate; + + public Builder(final _B _parentBuilder, final ListOfSignedSoftwareCertificate _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.signedSoftwareCertificate == null) { + this.signedSoftwareCertificate = null; + } else { + this.signedSoftwareCertificate = new ArrayList>>(); + for (SignedSoftwareCertificate _item: _other.signedSoftwareCertificate) { + this.signedSoftwareCertificate.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSignedSoftwareCertificate _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree signedSoftwareCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signedSoftwareCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signedSoftwareCertificatePropertyTree!= null):((signedSoftwareCertificatePropertyTree == null)||(!signedSoftwareCertificatePropertyTree.isLeaf())))) { + if (_other.signedSoftwareCertificate == null) { + this.signedSoftwareCertificate = null; + } else { + this.signedSoftwareCertificate = new ArrayList>>(); + for (SignedSoftwareCertificate _item: _other.signedSoftwareCertificate) { + this.signedSoftwareCertificate.add(((_item == null)?null:_item.newCopyBuilder(this, signedSoftwareCertificatePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSignedSoftwareCertificate >_P init(final _P _product) { + if (this.signedSoftwareCertificate!= null) { + final List signedSoftwareCertificate = new ArrayList(this.signedSoftwareCertificate.size()); + for (SignedSoftwareCertificate.Builder> _item: this.signedSoftwareCertificate) { + signedSoftwareCertificate.add(_item.build()); + } + _product.signedSoftwareCertificate = signedSoftwareCertificate; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "signedSoftwareCertificate" hinzu. + * + * @param signedSoftwareCertificate + * Werte, die zur Eigenschaft "signedSoftwareCertificate" hinzugefügt werden. + */ + public ListOfSignedSoftwareCertificate.Builder<_B> addSignedSoftwareCertificate(final Iterable signedSoftwareCertificate) { + if (signedSoftwareCertificate!= null) { + if (this.signedSoftwareCertificate == null) { + this.signedSoftwareCertificate = new ArrayList>>(); + } + for (SignedSoftwareCertificate _item: signedSoftwareCertificate) { + this.signedSoftwareCertificate.add(new SignedSoftwareCertificate.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "signedSoftwareCertificate" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param signedSoftwareCertificate + * Neuer Wert der Eigenschaft "signedSoftwareCertificate". + */ + public ListOfSignedSoftwareCertificate.Builder<_B> withSignedSoftwareCertificate(final Iterable signedSoftwareCertificate) { + if (this.signedSoftwareCertificate!= null) { + this.signedSoftwareCertificate.clear(); + } + return addSignedSoftwareCertificate(signedSoftwareCertificate); + } + + /** + * Fügt Werte zur Eigenschaft "signedSoftwareCertificate" hinzu. + * + * @param signedSoftwareCertificate + * Werte, die zur Eigenschaft "signedSoftwareCertificate" hinzugefügt werden. + */ + public ListOfSignedSoftwareCertificate.Builder<_B> addSignedSoftwareCertificate(SignedSoftwareCertificate... signedSoftwareCertificate) { + addSignedSoftwareCertificate(Arrays.asList(signedSoftwareCertificate)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "signedSoftwareCertificate" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param signedSoftwareCertificate + * Neuer Wert der Eigenschaft "signedSoftwareCertificate". + */ + public ListOfSignedSoftwareCertificate.Builder<_B> withSignedSoftwareCertificate(SignedSoftwareCertificate... signedSoftwareCertificate) { + withSignedSoftwareCertificate(Arrays.asList(signedSoftwareCertificate)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SignedSoftwareCertificate". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SignedSoftwareCertificate.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SignedSoftwareCertificate". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SignedSoftwareCertificate.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SignedSoftwareCertificate.Builder> addSignedSoftwareCertificate() { + if (this.signedSoftwareCertificate == null) { + this.signedSoftwareCertificate = new ArrayList>>(); + } + final SignedSoftwareCertificate.Builder> signedSoftwareCertificate_Builder = new SignedSoftwareCertificate.Builder>(this, null, false); + this.signedSoftwareCertificate.add(signedSoftwareCertificate_Builder); + return signedSoftwareCertificate_Builder; + } + + @Override + public ListOfSignedSoftwareCertificate build() { + if (_storedValue == null) { + return this.init(new ListOfSignedSoftwareCertificate()); + } else { + return ((ListOfSignedSoftwareCertificate) _storedValue); + } + } + + public ListOfSignedSoftwareCertificate.Builder<_B> copyOf(final ListOfSignedSoftwareCertificate _other) { + _other.copyTo(this); + return this; + } + + public ListOfSignedSoftwareCertificate.Builder<_B> copyOf(final ListOfSignedSoftwareCertificate.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSignedSoftwareCertificate.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSignedSoftwareCertificate.Select _root() { + return new ListOfSignedSoftwareCertificate.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SignedSoftwareCertificate.Selector> signedSoftwareCertificate = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.signedSoftwareCertificate!= null) { + products.put("signedSoftwareCertificate", this.signedSoftwareCertificate.init()); + } + return products; + } + + public SignedSoftwareCertificate.Selector> signedSoftwareCertificate() { + return ((this.signedSoftwareCertificate == null)?this.signedSoftwareCertificate = new SignedSoftwareCertificate.Selector>(this._root, this, "signedSoftwareCertificate"):this.signedSoftwareCertificate); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleAttributeOperand.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleAttributeOperand.java new file mode 100644 index 000000000..43b331fdb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleAttributeOperand.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSimpleAttributeOperand complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSimpleAttributeOperand">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SimpleAttributeOperand" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SimpleAttributeOperand" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSimpleAttributeOperand", propOrder = { + "simpleAttributeOperand" +}) +public class ListOfSimpleAttributeOperand { + + @XmlElement(name = "SimpleAttributeOperand", nillable = true) + protected List simpleAttributeOperand; + + /** + * Gets the value of the simpleAttributeOperand property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the simpleAttributeOperand property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSimpleAttributeOperand().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SimpleAttributeOperand } + * + * + */ + public List getSimpleAttributeOperand() { + if (simpleAttributeOperand == null) { + simpleAttributeOperand = new ArrayList(); + } + return this.simpleAttributeOperand; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSimpleAttributeOperand.Builder<_B> _other) { + if (this.simpleAttributeOperand == null) { + _other.simpleAttributeOperand = null; + } else { + _other.simpleAttributeOperand = new ArrayList>>(); + for (SimpleAttributeOperand _item: this.simpleAttributeOperand) { + _other.simpleAttributeOperand.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSimpleAttributeOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSimpleAttributeOperand.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSimpleAttributeOperand.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSimpleAttributeOperand.Builder builder() { + return new ListOfSimpleAttributeOperand.Builder(null, null, false); + } + + public static<_B >ListOfSimpleAttributeOperand.Builder<_B> copyOf(final ListOfSimpleAttributeOperand _other) { + final ListOfSimpleAttributeOperand.Builder<_B> _newBuilder = new ListOfSimpleAttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSimpleAttributeOperand.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree simpleAttributeOperandPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("simpleAttributeOperand")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(simpleAttributeOperandPropertyTree!= null):((simpleAttributeOperandPropertyTree == null)||(!simpleAttributeOperandPropertyTree.isLeaf())))) { + if (this.simpleAttributeOperand == null) { + _other.simpleAttributeOperand = null; + } else { + _other.simpleAttributeOperand = new ArrayList>>(); + for (SimpleAttributeOperand _item: this.simpleAttributeOperand) { + _other.simpleAttributeOperand.add(((_item == null)?null:_item.newCopyBuilder(_other, simpleAttributeOperandPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSimpleAttributeOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSimpleAttributeOperand.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSimpleAttributeOperand.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSimpleAttributeOperand.Builder<_B> copyOf(final ListOfSimpleAttributeOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSimpleAttributeOperand.Builder<_B> _newBuilder = new ListOfSimpleAttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSimpleAttributeOperand.Builder copyExcept(final ListOfSimpleAttributeOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSimpleAttributeOperand.Builder copyOnly(final ListOfSimpleAttributeOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSimpleAttributeOperand _storedValue; + private List>> simpleAttributeOperand; + + public Builder(final _B _parentBuilder, final ListOfSimpleAttributeOperand _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.simpleAttributeOperand == null) { + this.simpleAttributeOperand = null; + } else { + this.simpleAttributeOperand = new ArrayList>>(); + for (SimpleAttributeOperand _item: _other.simpleAttributeOperand) { + this.simpleAttributeOperand.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSimpleAttributeOperand _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree simpleAttributeOperandPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("simpleAttributeOperand")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(simpleAttributeOperandPropertyTree!= null):((simpleAttributeOperandPropertyTree == null)||(!simpleAttributeOperandPropertyTree.isLeaf())))) { + if (_other.simpleAttributeOperand == null) { + this.simpleAttributeOperand = null; + } else { + this.simpleAttributeOperand = new ArrayList>>(); + for (SimpleAttributeOperand _item: _other.simpleAttributeOperand) { + this.simpleAttributeOperand.add(((_item == null)?null:_item.newCopyBuilder(this, simpleAttributeOperandPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSimpleAttributeOperand >_P init(final _P _product) { + if (this.simpleAttributeOperand!= null) { + final List simpleAttributeOperand = new ArrayList(this.simpleAttributeOperand.size()); + for (SimpleAttributeOperand.Builder> _item: this.simpleAttributeOperand) { + simpleAttributeOperand.add(_item.build()); + } + _product.simpleAttributeOperand = simpleAttributeOperand; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "simpleAttributeOperand" hinzu. + * + * @param simpleAttributeOperand + * Werte, die zur Eigenschaft "simpleAttributeOperand" hinzugefügt werden. + */ + public ListOfSimpleAttributeOperand.Builder<_B> addSimpleAttributeOperand(final Iterable simpleAttributeOperand) { + if (simpleAttributeOperand!= null) { + if (this.simpleAttributeOperand == null) { + this.simpleAttributeOperand = new ArrayList>>(); + } + for (SimpleAttributeOperand _item: simpleAttributeOperand) { + this.simpleAttributeOperand.add(new SimpleAttributeOperand.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleAttributeOperand" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param simpleAttributeOperand + * Neuer Wert der Eigenschaft "simpleAttributeOperand". + */ + public ListOfSimpleAttributeOperand.Builder<_B> withSimpleAttributeOperand(final Iterable simpleAttributeOperand) { + if (this.simpleAttributeOperand!= null) { + this.simpleAttributeOperand.clear(); + } + return addSimpleAttributeOperand(simpleAttributeOperand); + } + + /** + * Fügt Werte zur Eigenschaft "simpleAttributeOperand" hinzu. + * + * @param simpleAttributeOperand + * Werte, die zur Eigenschaft "simpleAttributeOperand" hinzugefügt werden. + */ + public ListOfSimpleAttributeOperand.Builder<_B> addSimpleAttributeOperand(SimpleAttributeOperand... simpleAttributeOperand) { + addSimpleAttributeOperand(Arrays.asList(simpleAttributeOperand)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleAttributeOperand" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param simpleAttributeOperand + * Neuer Wert der Eigenschaft "simpleAttributeOperand". + */ + public ListOfSimpleAttributeOperand.Builder<_B> withSimpleAttributeOperand(SimpleAttributeOperand... simpleAttributeOperand) { + withSimpleAttributeOperand(Arrays.asList(simpleAttributeOperand)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SimpleAttributeOperand". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SimpleAttributeOperand.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SimpleAttributeOperand". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SimpleAttributeOperand.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public SimpleAttributeOperand.Builder> addSimpleAttributeOperand() { + if (this.simpleAttributeOperand == null) { + this.simpleAttributeOperand = new ArrayList>>(); + } + final SimpleAttributeOperand.Builder> simpleAttributeOperand_Builder = new SimpleAttributeOperand.Builder>(this, null, false); + this.simpleAttributeOperand.add(simpleAttributeOperand_Builder); + return simpleAttributeOperand_Builder; + } + + @Override + public ListOfSimpleAttributeOperand build() { + if (_storedValue == null) { + return this.init(new ListOfSimpleAttributeOperand()); + } else { + return ((ListOfSimpleAttributeOperand) _storedValue); + } + } + + public ListOfSimpleAttributeOperand.Builder<_B> copyOf(final ListOfSimpleAttributeOperand _other) { + _other.copyTo(this); + return this; + } + + public ListOfSimpleAttributeOperand.Builder<_B> copyOf(final ListOfSimpleAttributeOperand.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSimpleAttributeOperand.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSimpleAttributeOperand.Select _root() { + return new ListOfSimpleAttributeOperand.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SimpleAttributeOperand.Selector> simpleAttributeOperand = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.simpleAttributeOperand!= null) { + products.put("simpleAttributeOperand", this.simpleAttributeOperand.init()); + } + return products; + } + + public SimpleAttributeOperand.Selector> simpleAttributeOperand() { + return ((this.simpleAttributeOperand == null)?this.simpleAttributeOperand = new SimpleAttributeOperand.Selector>(this._root, this, "simpleAttributeOperand"):this.simpleAttributeOperand); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleTypeDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleTypeDescription.java new file mode 100644 index 000000000..31530bcff --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSimpleTypeDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSimpleTypeDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSimpleTypeDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SimpleTypeDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SimpleTypeDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSimpleTypeDescription", propOrder = { + "simpleTypeDescription" +}) +public class ListOfSimpleTypeDescription { + + @XmlElement(name = "SimpleTypeDescription", nillable = true) + protected List simpleTypeDescription; + + /** + * Gets the value of the simpleTypeDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the simpleTypeDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSimpleTypeDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SimpleTypeDescription } + * + * + */ + public List getSimpleTypeDescription() { + if (simpleTypeDescription == null) { + simpleTypeDescription = new ArrayList(); + } + return this.simpleTypeDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSimpleTypeDescription.Builder<_B> _other) { + if (this.simpleTypeDescription == null) { + _other.simpleTypeDescription = null; + } else { + _other.simpleTypeDescription = new ArrayList>>(); + for (SimpleTypeDescription _item: this.simpleTypeDescription) { + _other.simpleTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSimpleTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSimpleTypeDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSimpleTypeDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSimpleTypeDescription.Builder builder() { + return new ListOfSimpleTypeDescription.Builder(null, null, false); + } + + public static<_B >ListOfSimpleTypeDescription.Builder<_B> copyOf(final ListOfSimpleTypeDescription _other) { + final ListOfSimpleTypeDescription.Builder<_B> _newBuilder = new ListOfSimpleTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSimpleTypeDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree simpleTypeDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("simpleTypeDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(simpleTypeDescriptionPropertyTree!= null):((simpleTypeDescriptionPropertyTree == null)||(!simpleTypeDescriptionPropertyTree.isLeaf())))) { + if (this.simpleTypeDescription == null) { + _other.simpleTypeDescription = null; + } else { + _other.simpleTypeDescription = new ArrayList>>(); + for (SimpleTypeDescription _item: this.simpleTypeDescription) { + _other.simpleTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, simpleTypeDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSimpleTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSimpleTypeDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSimpleTypeDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSimpleTypeDescription.Builder<_B> copyOf(final ListOfSimpleTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSimpleTypeDescription.Builder<_B> _newBuilder = new ListOfSimpleTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSimpleTypeDescription.Builder copyExcept(final ListOfSimpleTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSimpleTypeDescription.Builder copyOnly(final ListOfSimpleTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSimpleTypeDescription _storedValue; + private List>> simpleTypeDescription; + + public Builder(final _B _parentBuilder, final ListOfSimpleTypeDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.simpleTypeDescription == null) { + this.simpleTypeDescription = null; + } else { + this.simpleTypeDescription = new ArrayList>>(); + for (SimpleTypeDescription _item: _other.simpleTypeDescription) { + this.simpleTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSimpleTypeDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree simpleTypeDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("simpleTypeDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(simpleTypeDescriptionPropertyTree!= null):((simpleTypeDescriptionPropertyTree == null)||(!simpleTypeDescriptionPropertyTree.isLeaf())))) { + if (_other.simpleTypeDescription == null) { + this.simpleTypeDescription = null; + } else { + this.simpleTypeDescription = new ArrayList>>(); + for (SimpleTypeDescription _item: _other.simpleTypeDescription) { + this.simpleTypeDescription.add(((_item == null)?null:_item.newCopyBuilder(this, simpleTypeDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSimpleTypeDescription >_P init(final _P _product) { + if (this.simpleTypeDescription!= null) { + final List simpleTypeDescription = new ArrayList(this.simpleTypeDescription.size()); + for (SimpleTypeDescription.Builder> _item: this.simpleTypeDescription) { + simpleTypeDescription.add(_item.build()); + } + _product.simpleTypeDescription = simpleTypeDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "simpleTypeDescription" hinzu. + * + * @param simpleTypeDescription + * Werte, die zur Eigenschaft "simpleTypeDescription" hinzugefügt werden. + */ + public ListOfSimpleTypeDescription.Builder<_B> addSimpleTypeDescription(final Iterable simpleTypeDescription) { + if (simpleTypeDescription!= null) { + if (this.simpleTypeDescription == null) { + this.simpleTypeDescription = new ArrayList>>(); + } + for (SimpleTypeDescription _item: simpleTypeDescription) { + this.simpleTypeDescription.add(new SimpleTypeDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleTypeDescription" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param simpleTypeDescription + * Neuer Wert der Eigenschaft "simpleTypeDescription". + */ + public ListOfSimpleTypeDescription.Builder<_B> withSimpleTypeDescription(final Iterable simpleTypeDescription) { + if (this.simpleTypeDescription!= null) { + this.simpleTypeDescription.clear(); + } + return addSimpleTypeDescription(simpleTypeDescription); + } + + /** + * Fügt Werte zur Eigenschaft "simpleTypeDescription" hinzu. + * + * @param simpleTypeDescription + * Werte, die zur Eigenschaft "simpleTypeDescription" hinzugefügt werden. + */ + public ListOfSimpleTypeDescription.Builder<_B> addSimpleTypeDescription(SimpleTypeDescription... simpleTypeDescription) { + addSimpleTypeDescription(Arrays.asList(simpleTypeDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleTypeDescription" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param simpleTypeDescription + * Neuer Wert der Eigenschaft "simpleTypeDescription". + */ + public ListOfSimpleTypeDescription.Builder<_B> withSimpleTypeDescription(SimpleTypeDescription... simpleTypeDescription) { + withSimpleTypeDescription(Arrays.asList(simpleTypeDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SimpleTypeDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SimpleTypeDescription.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SimpleTypeDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SimpleTypeDescription.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public SimpleTypeDescription.Builder> addSimpleTypeDescription() { + if (this.simpleTypeDescription == null) { + this.simpleTypeDescription = new ArrayList>>(); + } + final SimpleTypeDescription.Builder> simpleTypeDescription_Builder = new SimpleTypeDescription.Builder>(this, null, false); + this.simpleTypeDescription.add(simpleTypeDescription_Builder); + return simpleTypeDescription_Builder; + } + + @Override + public ListOfSimpleTypeDescription build() { + if (_storedValue == null) { + return this.init(new ListOfSimpleTypeDescription()); + } else { + return ((ListOfSimpleTypeDescription) _storedValue); + } + } + + public ListOfSimpleTypeDescription.Builder<_B> copyOf(final ListOfSimpleTypeDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfSimpleTypeDescription.Builder<_B> copyOf(final ListOfSimpleTypeDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSimpleTypeDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSimpleTypeDescription.Select _root() { + return new ListOfSimpleTypeDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SimpleTypeDescription.Selector> simpleTypeDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.simpleTypeDescription!= null) { + products.put("simpleTypeDescription", this.simpleTypeDescription.init()); + } + return products; + } + + public SimpleTypeDescription.Selector> simpleTypeDescription() { + return ((this.simpleTypeDescription == null)?this.simpleTypeDescription = new SimpleTypeDescription.Selector>(this._root, this, "simpleTypeDescription"):this.simpleTypeDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusCode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusCode.java new file mode 100644 index 000000000..d3615da97 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusCode.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfStatusCode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfStatusCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfStatusCode", propOrder = { + "statusCode" +}) +public class ListOfStatusCode { + + @XmlElement(name = "StatusCode") + protected List statusCode; + + /** + * Gets the value of the statusCode property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the statusCode property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getStatusCode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link StatusCode } + * + * + */ + public List getStatusCode() { + if (statusCode == null) { + statusCode = new ArrayList(); + } + return this.statusCode; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStatusCode.Builder<_B> _other) { + if (this.statusCode == null) { + _other.statusCode = null; + } else { + _other.statusCode = new ArrayList>>(); + for (StatusCode _item: this.statusCode) { + _other.statusCode.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfStatusCode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfStatusCode.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfStatusCode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfStatusCode.Builder builder() { + return new ListOfStatusCode.Builder(null, null, false); + } + + public static<_B >ListOfStatusCode.Builder<_B> copyOf(final ListOfStatusCode _other) { + final ListOfStatusCode.Builder<_B> _newBuilder = new ListOfStatusCode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStatusCode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + if (this.statusCode == null) { + _other.statusCode = null; + } else { + _other.statusCode = new ArrayList>>(); + for (StatusCode _item: this.statusCode) { + _other.statusCode.add(((_item == null)?null:_item.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfStatusCode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfStatusCode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfStatusCode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfStatusCode.Builder<_B> copyOf(final ListOfStatusCode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfStatusCode.Builder<_B> _newBuilder = new ListOfStatusCode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfStatusCode.Builder copyExcept(final ListOfStatusCode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfStatusCode.Builder copyOnly(final ListOfStatusCode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfStatusCode _storedValue; + private List>> statusCode; + + public Builder(final _B _parentBuilder, final ListOfStatusCode _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.statusCode == null) { + this.statusCode = null; + } else { + this.statusCode = new ArrayList>>(); + for (StatusCode _item: _other.statusCode) { + this.statusCode.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfStatusCode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + if (_other.statusCode == null) { + this.statusCode = null; + } else { + this.statusCode = new ArrayList>>(); + for (StatusCode _item: _other.statusCode) { + this.statusCode.add(((_item == null)?null:_item.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfStatusCode >_P init(final _P _product) { + if (this.statusCode!= null) { + final List statusCode = new ArrayList(this.statusCode.size()); + for (StatusCode.Builder> _item: this.statusCode) { + statusCode.add(_item.build()); + } + _product.statusCode = statusCode; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "statusCode" hinzu. + * + * @param statusCode + * Werte, die zur Eigenschaft "statusCode" hinzugefügt werden. + */ + public ListOfStatusCode.Builder<_B> addStatusCode(final Iterable statusCode) { + if (statusCode!= null) { + if (this.statusCode == null) { + this.statusCode = new ArrayList>>(); + } + for (StatusCode _item: statusCode) { + this.statusCode.add(new StatusCode.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public ListOfStatusCode.Builder<_B> withStatusCode(final Iterable statusCode) { + if (this.statusCode!= null) { + this.statusCode.clear(); + } + return addStatusCode(statusCode); + } + + /** + * Fügt Werte zur Eigenschaft "statusCode" hinzu. + * + * @param statusCode + * Werte, die zur Eigenschaft "statusCode" hinzugefügt werden. + */ + public ListOfStatusCode.Builder<_B> addStatusCode(StatusCode... statusCode) { + addStatusCode(Arrays.asList(statusCode)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public ListOfStatusCode.Builder<_B> withStatusCode(StatusCode... statusCode) { + withStatusCode(Arrays.asList(statusCode)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "StatusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "StatusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> addStatusCode() { + if (this.statusCode == null) { + this.statusCode = new ArrayList>>(); + } + final StatusCode.Builder> statusCode_Builder = new StatusCode.Builder>(this, null, false); + this.statusCode.add(statusCode_Builder); + return statusCode_Builder; + } + + @Override + public ListOfStatusCode build() { + if (_storedValue == null) { + return this.init(new ListOfStatusCode()); + } else { + return ((ListOfStatusCode) _storedValue); + } + } + + public ListOfStatusCode.Builder<_B> copyOf(final ListOfStatusCode _other) { + _other.copyTo(this); + return this; + } + + public ListOfStatusCode.Builder<_B> copyOf(final ListOfStatusCode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfStatusCode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfStatusCode.Select _root() { + return new ListOfStatusCode.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusResult.java new file mode 100644 index 000000000..7e59e58bc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStatusResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfStatusResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfStatusResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfStatusResult", propOrder = { + "statusResult" +}) +public class ListOfStatusResult { + + @XmlElement(name = "StatusResult", nillable = true) + protected List statusResult; + + /** + * Gets the value of the statusResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the statusResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getStatusResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link StatusResult } + * + * + */ + public List getStatusResult() { + if (statusResult == null) { + statusResult = new ArrayList(); + } + return this.statusResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStatusResult.Builder<_B> _other) { + if (this.statusResult == null) { + _other.statusResult = null; + } else { + _other.statusResult = new ArrayList>>(); + for (StatusResult _item: this.statusResult) { + _other.statusResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfStatusResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfStatusResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfStatusResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfStatusResult.Builder builder() { + return new ListOfStatusResult.Builder(null, null, false); + } + + public static<_B >ListOfStatusResult.Builder<_B> copyOf(final ListOfStatusResult _other) { + final ListOfStatusResult.Builder<_B> _newBuilder = new ListOfStatusResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStatusResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusResultPropertyTree!= null):((statusResultPropertyTree == null)||(!statusResultPropertyTree.isLeaf())))) { + if (this.statusResult == null) { + _other.statusResult = null; + } else { + _other.statusResult = new ArrayList>>(); + for (StatusResult _item: this.statusResult) { + _other.statusResult.add(((_item == null)?null:_item.newCopyBuilder(_other, statusResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfStatusResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfStatusResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfStatusResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfStatusResult.Builder<_B> copyOf(final ListOfStatusResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfStatusResult.Builder<_B> _newBuilder = new ListOfStatusResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfStatusResult.Builder copyExcept(final ListOfStatusResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfStatusResult.Builder copyOnly(final ListOfStatusResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfStatusResult _storedValue; + private List>> statusResult; + + public Builder(final _B _parentBuilder, final ListOfStatusResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.statusResult == null) { + this.statusResult = null; + } else { + this.statusResult = new ArrayList>>(); + for (StatusResult _item: _other.statusResult) { + this.statusResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfStatusResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusResultPropertyTree!= null):((statusResultPropertyTree == null)||(!statusResultPropertyTree.isLeaf())))) { + if (_other.statusResult == null) { + this.statusResult = null; + } else { + this.statusResult = new ArrayList>>(); + for (StatusResult _item: _other.statusResult) { + this.statusResult.add(((_item == null)?null:_item.newCopyBuilder(this, statusResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfStatusResult >_P init(final _P _product) { + if (this.statusResult!= null) { + final List statusResult = new ArrayList(this.statusResult.size()); + for (StatusResult.Builder> _item: this.statusResult) { + statusResult.add(_item.build()); + } + _product.statusResult = statusResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "statusResult" hinzu. + * + * @param statusResult + * Werte, die zur Eigenschaft "statusResult" hinzugefügt werden. + */ + public ListOfStatusResult.Builder<_B> addStatusResult(final Iterable statusResult) { + if (statusResult!= null) { + if (this.statusResult == null) { + this.statusResult = new ArrayList>>(); + } + for (StatusResult _item: statusResult) { + this.statusResult.add(new StatusResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param statusResult + * Neuer Wert der Eigenschaft "statusResult". + */ + public ListOfStatusResult.Builder<_B> withStatusResult(final Iterable statusResult) { + if (this.statusResult!= null) { + this.statusResult.clear(); + } + return addStatusResult(statusResult); + } + + /** + * Fügt Werte zur Eigenschaft "statusResult" hinzu. + * + * @param statusResult + * Werte, die zur Eigenschaft "statusResult" hinzugefügt werden. + */ + public ListOfStatusResult.Builder<_B> addStatusResult(StatusResult... statusResult) { + addStatusResult(Arrays.asList(statusResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param statusResult + * Neuer Wert der Eigenschaft "statusResult". + */ + public ListOfStatusResult.Builder<_B> withStatusResult(StatusResult... statusResult) { + withStatusResult(Arrays.asList(statusResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "StatusResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusResult.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "StatusResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusResult.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusResult.Builder> addStatusResult() { + if (this.statusResult == null) { + this.statusResult = new ArrayList>>(); + } + final StatusResult.Builder> statusResult_Builder = new StatusResult.Builder>(this, null, false); + this.statusResult.add(statusResult_Builder); + return statusResult_Builder; + } + + @Override + public ListOfStatusResult build() { + if (_storedValue == null) { + return this.init(new ListOfStatusResult()); + } else { + return ((ListOfStatusResult) _storedValue); + } + } + + public ListOfStatusResult.Builder<_B> copyOf(final ListOfStatusResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfStatusResult.Builder<_B> copyOf(final ListOfStatusResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfStatusResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfStatusResult.Select _root() { + return new ListOfStatusResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusResult.Selector> statusResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusResult!= null) { + products.put("statusResult", this.statusResult.init()); + } + return products; + } + + public StatusResult.Selector> statusResult() { + return ((this.statusResult == null)?this.statusResult = new StatusResult.Selector>(this._root, this, "statusResult"):this.statusResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfString.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfString.java new file mode 100644 index 000000000..9b7f03cce --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfString.java @@ -0,0 +1,344 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfString complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfString">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="String" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfString", propOrder = { + "string" +}) +public class ListOfString { + + @XmlElement(name = "String") + protected List string; + + /** + * Gets the value of the string property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the string property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getString().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * + * + */ + public List getString() { + if (string == null) { + string = new ArrayList(); + } + return this.string; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfString.Builder<_B> _other) { + if (this.string == null) { + _other.string = null; + } else { + _other.string = new ArrayList(); + for (String _item: this.string) { + _other.string.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfString.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfString.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfString.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfString.Builder builder() { + return new ListOfString.Builder(null, null, false); + } + + public static<_B >ListOfString.Builder<_B> copyOf(final ListOfString _other) { + final ListOfString.Builder<_B> _newBuilder = new ListOfString.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfString.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree stringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("string")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stringPropertyTree!= null):((stringPropertyTree == null)||(!stringPropertyTree.isLeaf())))) { + if (this.string == null) { + _other.string = null; + } else { + _other.string = new ArrayList(); + for (String _item: this.string) { + _other.string.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfString.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfString.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfString.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfString.Builder<_B> copyOf(final ListOfString _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfString.Builder<_B> _newBuilder = new ListOfString.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfString.Builder copyExcept(final ListOfString _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfString.Builder copyOnly(final ListOfString _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfString _storedValue; + private List string; + + public Builder(final _B _parentBuilder, final ListOfString _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.string == null) { + this.string = null; + } else { + this.string = new ArrayList(); + for (String _item: _other.string) { + this.string.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfString _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree stringPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("string")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stringPropertyTree!= null):((stringPropertyTree == null)||(!stringPropertyTree.isLeaf())))) { + if (_other.string == null) { + this.string = null; + } else { + this.string = new ArrayList(); + for (String _item: _other.string) { + this.string.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfString >_P init(final _P _product) { + if (this.string!= null) { + final List string = new ArrayList(this.string.size()); + for (Buildable _item: this.string) { + string.add(((String) _item.build())); + } + _product.string = string; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "string" hinzu. + * + * @param string + * Werte, die zur Eigenschaft "string" hinzugefügt werden. + */ + public ListOfString.Builder<_B> addString(final Iterable string) { + if (string!= null) { + if (this.string == null) { + this.string = new ArrayList(); + } + for (String _item: string) { + this.string.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "string" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param string + * Neuer Wert der Eigenschaft "string". + */ + public ListOfString.Builder<_B> withString(final Iterable string) { + if (this.string!= null) { + this.string.clear(); + } + return addString(string); + } + + /** + * Fügt Werte zur Eigenschaft "string" hinzu. + * + * @param string + * Werte, die zur Eigenschaft "string" hinzugefügt werden. + */ + public ListOfString.Builder<_B> addString(String... string) { + addString(Arrays.asList(string)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "string" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param string + * Neuer Wert der Eigenschaft "string". + */ + public ListOfString.Builder<_B> withString(String... string) { + withString(Arrays.asList(string)); + return this; + } + + @Override + public ListOfString build() { + if (_storedValue == null) { + return this.init(new ListOfString()); + } else { + return ((ListOfString) _storedValue); + } + } + + public ListOfString.Builder<_B> copyOf(final ListOfString _other) { + _other.copyTo(this); + return this; + } + + public ListOfString.Builder<_B> copyOf(final ListOfString.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfString.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfString.Select _root() { + return new ListOfString.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> string = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.string!= null) { + products.put("string", this.string.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> string() { + return ((this.string == null)?this.string = new com.kscs.util.jaxb.Selector>(this._root, this, "string"):this.string); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDefinition.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDefinition.java new file mode 100644 index 000000000..45bd35ea4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDefinition.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfStructureDefinition complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfStructureDefinition">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StructureDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StructureDefinition" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfStructureDefinition", propOrder = { + "structureDefinition" +}) +public class ListOfStructureDefinition { + + @XmlElement(name = "StructureDefinition", nillable = true) + protected List structureDefinition; + + /** + * Gets the value of the structureDefinition property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the structureDefinition property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getStructureDefinition().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link StructureDefinition } + * + * + */ + public List getStructureDefinition() { + if (structureDefinition == null) { + structureDefinition = new ArrayList(); + } + return this.structureDefinition; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStructureDefinition.Builder<_B> _other) { + if (this.structureDefinition == null) { + _other.structureDefinition = null; + } else { + _other.structureDefinition = new ArrayList>>(); + for (StructureDefinition _item: this.structureDefinition) { + _other.structureDefinition.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfStructureDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfStructureDefinition.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfStructureDefinition.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfStructureDefinition.Builder builder() { + return new ListOfStructureDefinition.Builder(null, null, false); + } + + public static<_B >ListOfStructureDefinition.Builder<_B> copyOf(final ListOfStructureDefinition _other) { + final ListOfStructureDefinition.Builder<_B> _newBuilder = new ListOfStructureDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStructureDefinition.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree structureDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDefinitionPropertyTree!= null):((structureDefinitionPropertyTree == null)||(!structureDefinitionPropertyTree.isLeaf())))) { + if (this.structureDefinition == null) { + _other.structureDefinition = null; + } else { + _other.structureDefinition = new ArrayList>>(); + for (StructureDefinition _item: this.structureDefinition) { + _other.structureDefinition.add(((_item == null)?null:_item.newCopyBuilder(_other, structureDefinitionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfStructureDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfStructureDefinition.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfStructureDefinition.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfStructureDefinition.Builder<_B> copyOf(final ListOfStructureDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfStructureDefinition.Builder<_B> _newBuilder = new ListOfStructureDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfStructureDefinition.Builder copyExcept(final ListOfStructureDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfStructureDefinition.Builder copyOnly(final ListOfStructureDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfStructureDefinition _storedValue; + private List>> structureDefinition; + + public Builder(final _B _parentBuilder, final ListOfStructureDefinition _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.structureDefinition == null) { + this.structureDefinition = null; + } else { + this.structureDefinition = new ArrayList>>(); + for (StructureDefinition _item: _other.structureDefinition) { + this.structureDefinition.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfStructureDefinition _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree structureDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDefinitionPropertyTree!= null):((structureDefinitionPropertyTree == null)||(!structureDefinitionPropertyTree.isLeaf())))) { + if (_other.structureDefinition == null) { + this.structureDefinition = null; + } else { + this.structureDefinition = new ArrayList>>(); + for (StructureDefinition _item: _other.structureDefinition) { + this.structureDefinition.add(((_item == null)?null:_item.newCopyBuilder(this, structureDefinitionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfStructureDefinition >_P init(final _P _product) { + if (this.structureDefinition!= null) { + final List structureDefinition = new ArrayList(this.structureDefinition.size()); + for (StructureDefinition.Builder> _item: this.structureDefinition) { + structureDefinition.add(_item.build()); + } + _product.structureDefinition = structureDefinition; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "structureDefinition" hinzu. + * + * @param structureDefinition + * Werte, die zur Eigenschaft "structureDefinition" hinzugefügt werden. + */ + public ListOfStructureDefinition.Builder<_B> addStructureDefinition(final Iterable structureDefinition) { + if (structureDefinition!= null) { + if (this.structureDefinition == null) { + this.structureDefinition = new ArrayList>>(); + } + for (StructureDefinition _item: structureDefinition) { + this.structureDefinition.add(new StructureDefinition.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDefinition" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDefinition + * Neuer Wert der Eigenschaft "structureDefinition". + */ + public ListOfStructureDefinition.Builder<_B> withStructureDefinition(final Iterable structureDefinition) { + if (this.structureDefinition!= null) { + this.structureDefinition.clear(); + } + return addStructureDefinition(structureDefinition); + } + + /** + * Fügt Werte zur Eigenschaft "structureDefinition" hinzu. + * + * @param structureDefinition + * Werte, die zur Eigenschaft "structureDefinition" hinzugefügt werden. + */ + public ListOfStructureDefinition.Builder<_B> addStructureDefinition(StructureDefinition... structureDefinition) { + addStructureDefinition(Arrays.asList(structureDefinition)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDefinition" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDefinition + * Neuer Wert der Eigenschaft "structureDefinition". + */ + public ListOfStructureDefinition.Builder<_B> withStructureDefinition(StructureDefinition... structureDefinition) { + withStructureDefinition(Arrays.asList(structureDefinition)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "StructureDefinition". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.StructureDefinition.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "StructureDefinition". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.StructureDefinition.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public StructureDefinition.Builder> addStructureDefinition() { + if (this.structureDefinition == null) { + this.structureDefinition = new ArrayList>>(); + } + final StructureDefinition.Builder> structureDefinition_Builder = new StructureDefinition.Builder>(this, null, false); + this.structureDefinition.add(structureDefinition_Builder); + return structureDefinition_Builder; + } + + @Override + public ListOfStructureDefinition build() { + if (_storedValue == null) { + return this.init(new ListOfStructureDefinition()); + } else { + return ((ListOfStructureDefinition) _storedValue); + } + } + + public ListOfStructureDefinition.Builder<_B> copyOf(final ListOfStructureDefinition _other) { + _other.copyTo(this); + return this; + } + + public ListOfStructureDefinition.Builder<_B> copyOf(final ListOfStructureDefinition.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfStructureDefinition.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfStructureDefinition.Select _root() { + return new ListOfStructureDefinition.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StructureDefinition.Selector> structureDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.structureDefinition!= null) { + products.put("structureDefinition", this.structureDefinition.init()); + } + return products; + } + + public StructureDefinition.Selector> structureDefinition() { + return ((this.structureDefinition == null)?this.structureDefinition = new StructureDefinition.Selector>(this._root, this, "structureDefinition"):this.structureDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDescription.java new file mode 100644 index 000000000..dfa06bfdf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureDescription.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfStructureDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfStructureDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StructureDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StructureDescription" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfStructureDescription", propOrder = { + "structureDescription" +}) +public class ListOfStructureDescription { + + @XmlElement(name = "StructureDescription", nillable = true) + protected List structureDescription; + + /** + * Gets the value of the structureDescription property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the structureDescription property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getStructureDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link StructureDescription } + * + * + */ + public List getStructureDescription() { + if (structureDescription == null) { + structureDescription = new ArrayList(); + } + return this.structureDescription; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStructureDescription.Builder<_B> _other) { + if (this.structureDescription == null) { + _other.structureDescription = null; + } else { + _other.structureDescription = new ArrayList>>(); + for (StructureDescription _item: this.structureDescription) { + _other.structureDescription.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfStructureDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfStructureDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfStructureDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfStructureDescription.Builder builder() { + return new ListOfStructureDescription.Builder(null, null, false); + } + + public static<_B >ListOfStructureDescription.Builder<_B> copyOf(final ListOfStructureDescription _other) { + final ListOfStructureDescription.Builder<_B> _newBuilder = new ListOfStructureDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStructureDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree structureDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDescriptionPropertyTree!= null):((structureDescriptionPropertyTree == null)||(!structureDescriptionPropertyTree.isLeaf())))) { + if (this.structureDescription == null) { + _other.structureDescription = null; + } else { + _other.structureDescription = new ArrayList>>(); + for (StructureDescription _item: this.structureDescription) { + _other.structureDescription.add(((_item == null)?null:_item.newCopyBuilder(_other, structureDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfStructureDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfStructureDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfStructureDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfStructureDescription.Builder<_B> copyOf(final ListOfStructureDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfStructureDescription.Builder<_B> _newBuilder = new ListOfStructureDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfStructureDescription.Builder copyExcept(final ListOfStructureDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfStructureDescription.Builder copyOnly(final ListOfStructureDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfStructureDescription _storedValue; + private List>> structureDescription; + + public Builder(final _B _parentBuilder, final ListOfStructureDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.structureDescription == null) { + this.structureDescription = null; + } else { + this.structureDescription = new ArrayList>>(); + for (StructureDescription _item: _other.structureDescription) { + this.structureDescription.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfStructureDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree structureDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDescriptionPropertyTree!= null):((structureDescriptionPropertyTree == null)||(!structureDescriptionPropertyTree.isLeaf())))) { + if (_other.structureDescription == null) { + this.structureDescription = null; + } else { + this.structureDescription = new ArrayList>>(); + for (StructureDescription _item: _other.structureDescription) { + this.structureDescription.add(((_item == null)?null:_item.newCopyBuilder(this, structureDescriptionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfStructureDescription >_P init(final _P _product) { + if (this.structureDescription!= null) { + final List structureDescription = new ArrayList(this.structureDescription.size()); + for (StructureDescription.Builder> _item: this.structureDescription) { + structureDescription.add(_item.build()); + } + _product.structureDescription = structureDescription; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "structureDescription" hinzu. + * + * @param structureDescription + * Werte, die zur Eigenschaft "structureDescription" hinzugefügt werden. + */ + public ListOfStructureDescription.Builder<_B> addStructureDescription(final Iterable structureDescription) { + if (structureDescription!= null) { + if (this.structureDescription == null) { + this.structureDescription = new ArrayList>>(); + } + for (StructureDescription _item: structureDescription) { + this.structureDescription.add(new StructureDescription.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDescription + * Neuer Wert der Eigenschaft "structureDescription". + */ + public ListOfStructureDescription.Builder<_B> withStructureDescription(final Iterable structureDescription) { + if (this.structureDescription!= null) { + this.structureDescription.clear(); + } + return addStructureDescription(structureDescription); + } + + /** + * Fügt Werte zur Eigenschaft "structureDescription" hinzu. + * + * @param structureDescription + * Werte, die zur Eigenschaft "structureDescription" hinzugefügt werden. + */ + public ListOfStructureDescription.Builder<_B> addStructureDescription(StructureDescription... structureDescription) { + addStructureDescription(Arrays.asList(structureDescription)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDescription + * Neuer Wert der Eigenschaft "structureDescription". + */ + public ListOfStructureDescription.Builder<_B> withStructureDescription(StructureDescription... structureDescription) { + withStructureDescription(Arrays.asList(structureDescription)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "StructureDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.StructureDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "StructureDescription". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.StructureDescription.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public StructureDescription.Builder> addStructureDescription() { + if (this.structureDescription == null) { + this.structureDescription = new ArrayList>>(); + } + final StructureDescription.Builder> structureDescription_Builder = new StructureDescription.Builder>(this, null, false); + this.structureDescription.add(structureDescription_Builder); + return structureDescription_Builder; + } + + @Override + public ListOfStructureDescription build() { + if (_storedValue == null) { + return this.init(new ListOfStructureDescription()); + } else { + return ((ListOfStructureDescription) _storedValue); + } + } + + public ListOfStructureDescription.Builder<_B> copyOf(final ListOfStructureDescription _other) { + _other.copyTo(this); + return this; + } + + public ListOfStructureDescription.Builder<_B> copyOf(final ListOfStructureDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfStructureDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfStructureDescription.Select _root() { + return new ListOfStructureDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StructureDescription.Selector> structureDescription = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.structureDescription!= null) { + products.put("structureDescription", this.structureDescription.init()); + } + return products; + } + + public StructureDescription.Selector> structureDescription() { + return ((this.structureDescription == null)?this.structureDescription = new StructureDescription.Selector>(this._root, this, "structureDescription"):this.structureDescription); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureField.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureField.java new file mode 100644 index 000000000..5d5b0bebd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfStructureField.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfStructureField complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfStructureField">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StructureField" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StructureField" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfStructureField", propOrder = { + "structureField" +}) +public class ListOfStructureField { + + @XmlElement(name = "StructureField", nillable = true) + protected List structureField; + + /** + * Gets the value of the structureField property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the structureField property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getStructureField().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link StructureField } + * + * + */ + public List getStructureField() { + if (structureField == null) { + structureField = new ArrayList(); + } + return this.structureField; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStructureField.Builder<_B> _other) { + if (this.structureField == null) { + _other.structureField = null; + } else { + _other.structureField = new ArrayList>>(); + for (StructureField _item: this.structureField) { + _other.structureField.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfStructureField.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfStructureField.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfStructureField.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfStructureField.Builder builder() { + return new ListOfStructureField.Builder(null, null, false); + } + + public static<_B >ListOfStructureField.Builder<_B> copyOf(final ListOfStructureField _other) { + final ListOfStructureField.Builder<_B> _newBuilder = new ListOfStructureField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfStructureField.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree structureFieldPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureField")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureFieldPropertyTree!= null):((structureFieldPropertyTree == null)||(!structureFieldPropertyTree.isLeaf())))) { + if (this.structureField == null) { + _other.structureField = null; + } else { + _other.structureField = new ArrayList>>(); + for (StructureField _item: this.structureField) { + _other.structureField.add(((_item == null)?null:_item.newCopyBuilder(_other, structureFieldPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfStructureField.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfStructureField.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfStructureField.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfStructureField.Builder<_B> copyOf(final ListOfStructureField _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfStructureField.Builder<_B> _newBuilder = new ListOfStructureField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfStructureField.Builder copyExcept(final ListOfStructureField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfStructureField.Builder copyOnly(final ListOfStructureField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfStructureField _storedValue; + private List>> structureField; + + public Builder(final _B _parentBuilder, final ListOfStructureField _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.structureField == null) { + this.structureField = null; + } else { + this.structureField = new ArrayList>>(); + for (StructureField _item: _other.structureField) { + this.structureField.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfStructureField _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree structureFieldPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureField")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureFieldPropertyTree!= null):((structureFieldPropertyTree == null)||(!structureFieldPropertyTree.isLeaf())))) { + if (_other.structureField == null) { + this.structureField = null; + } else { + this.structureField = new ArrayList>>(); + for (StructureField _item: _other.structureField) { + this.structureField.add(((_item == null)?null:_item.newCopyBuilder(this, structureFieldPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfStructureField >_P init(final _P _product) { + if (this.structureField!= null) { + final List structureField = new ArrayList(this.structureField.size()); + for (StructureField.Builder> _item: this.structureField) { + structureField.add(_item.build()); + } + _product.structureField = structureField; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "structureField" hinzu. + * + * @param structureField + * Werte, die zur Eigenschaft "structureField" hinzugefügt werden. + */ + public ListOfStructureField.Builder<_B> addStructureField(final Iterable structureField) { + if (structureField!= null) { + if (this.structureField == null) { + this.structureField = new ArrayList>>(); + } + for (StructureField _item: structureField) { + this.structureField.add(new StructureField.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureField" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param structureField + * Neuer Wert der Eigenschaft "structureField". + */ + public ListOfStructureField.Builder<_B> withStructureField(final Iterable structureField) { + if (this.structureField!= null) { + this.structureField.clear(); + } + return addStructureField(structureField); + } + + /** + * Fügt Werte zur Eigenschaft "structureField" hinzu. + * + * @param structureField + * Werte, die zur Eigenschaft "structureField" hinzugefügt werden. + */ + public ListOfStructureField.Builder<_B> addStructureField(StructureField... structureField) { + addStructureField(Arrays.asList(structureField)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureField" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param structureField + * Neuer Wert der Eigenschaft "structureField". + */ + public ListOfStructureField.Builder<_B> withStructureField(StructureField... structureField) { + withStructureField(Arrays.asList(structureField)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "StructureField". + * Mit {@link org.opcfoundation.ua._2008._02.types.StructureField.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "StructureField". + * Mit {@link org.opcfoundation.ua._2008._02.types.StructureField.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public StructureField.Builder> addStructureField() { + if (this.structureField == null) { + this.structureField = new ArrayList>>(); + } + final StructureField.Builder> structureField_Builder = new StructureField.Builder>(this, null, false); + this.structureField.add(structureField_Builder); + return structureField_Builder; + } + + @Override + public ListOfStructureField build() { + if (_storedValue == null) { + return this.init(new ListOfStructureField()); + } else { + return ((ListOfStructureField) _storedValue); + } + } + + public ListOfStructureField.Builder<_B> copyOf(final ListOfStructureField _other) { + _other.copyTo(this); + return this; + } + + public ListOfStructureField.Builder<_B> copyOf(final ListOfStructureField.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfStructureField.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfStructureField.Select _root() { + return new ListOfStructureField.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StructureField.Selector> structureField = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.structureField!= null) { + products.put("structureField", this.structureField.init()); + } + return products; + } + + public StructureField.Selector> structureField() { + return ((this.structureField == null)?this.structureField = new StructureField.Selector>(this._root, this, "structureField"):this.structureField); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetDataType.java new file mode 100644 index 000000000..528249423 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSubscribedDataSetDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSubscribedDataSetDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SubscribedDataSetDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SubscribedDataSetDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSubscribedDataSetDataType", propOrder = { + "subscribedDataSetDataType" +}) +public class ListOfSubscribedDataSetDataType { + + @XmlElement(name = "SubscribedDataSetDataType", nillable = true) + protected List subscribedDataSetDataType; + + /** + * Gets the value of the subscribedDataSetDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the subscribedDataSetDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSubscribedDataSetDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SubscribedDataSetDataType } + * + * + */ + public List getSubscribedDataSetDataType() { + if (subscribedDataSetDataType == null) { + subscribedDataSetDataType = new ArrayList(); + } + return this.subscribedDataSetDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscribedDataSetDataType.Builder<_B> _other) { + if (this.subscribedDataSetDataType == null) { + _other.subscribedDataSetDataType = null; + } else { + _other.subscribedDataSetDataType = new ArrayList>>(); + for (SubscribedDataSetDataType _item: this.subscribedDataSetDataType) { + _other.subscribedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSubscribedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSubscribedDataSetDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSubscribedDataSetDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSubscribedDataSetDataType.Builder builder() { + return new ListOfSubscribedDataSetDataType.Builder(null, null, false); + } + + public static<_B >ListOfSubscribedDataSetDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetDataType _other) { + final ListOfSubscribedDataSetDataType.Builder<_B> _newBuilder = new ListOfSubscribedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscribedDataSetDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree subscribedDataSetDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscribedDataSetDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscribedDataSetDataTypePropertyTree!= null):((subscribedDataSetDataTypePropertyTree == null)||(!subscribedDataSetDataTypePropertyTree.isLeaf())))) { + if (this.subscribedDataSetDataType == null) { + _other.subscribedDataSetDataType = null; + } else { + _other.subscribedDataSetDataType = new ArrayList>>(); + for (SubscribedDataSetDataType _item: this.subscribedDataSetDataType) { + _other.subscribedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, subscribedDataSetDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSubscribedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSubscribedDataSetDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSubscribedDataSetDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSubscribedDataSetDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSubscribedDataSetDataType.Builder<_B> _newBuilder = new ListOfSubscribedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSubscribedDataSetDataType.Builder copyExcept(final ListOfSubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSubscribedDataSetDataType.Builder copyOnly(final ListOfSubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSubscribedDataSetDataType _storedValue; + private List>> subscribedDataSetDataType; + + public Builder(final _B _parentBuilder, final ListOfSubscribedDataSetDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.subscribedDataSetDataType == null) { + this.subscribedDataSetDataType = null; + } else { + this.subscribedDataSetDataType = new ArrayList>>(); + for (SubscribedDataSetDataType _item: _other.subscribedDataSetDataType) { + this.subscribedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSubscribedDataSetDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree subscribedDataSetDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscribedDataSetDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscribedDataSetDataTypePropertyTree!= null):((subscribedDataSetDataTypePropertyTree == null)||(!subscribedDataSetDataTypePropertyTree.isLeaf())))) { + if (_other.subscribedDataSetDataType == null) { + this.subscribedDataSetDataType = null; + } else { + this.subscribedDataSetDataType = new ArrayList>>(); + for (SubscribedDataSetDataType _item: _other.subscribedDataSetDataType) { + this.subscribedDataSetDataType.add(((_item == null)?null:_item.newCopyBuilder(this, subscribedDataSetDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSubscribedDataSetDataType >_P init(final _P _product) { + if (this.subscribedDataSetDataType!= null) { + final List subscribedDataSetDataType = new ArrayList(this.subscribedDataSetDataType.size()); + for (SubscribedDataSetDataType.Builder> _item: this.subscribedDataSetDataType) { + subscribedDataSetDataType.add(_item.build()); + } + _product.subscribedDataSetDataType = subscribedDataSetDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "subscribedDataSetDataType" hinzu. + * + * @param subscribedDataSetDataType + * Werte, die zur Eigenschaft "subscribedDataSetDataType" hinzugefügt werden. + */ + public ListOfSubscribedDataSetDataType.Builder<_B> addSubscribedDataSetDataType(final Iterable subscribedDataSetDataType) { + if (subscribedDataSetDataType!= null) { + if (this.subscribedDataSetDataType == null) { + this.subscribedDataSetDataType = new ArrayList>>(); + } + for (SubscribedDataSetDataType _item: subscribedDataSetDataType) { + this.subscribedDataSetDataType.add(new SubscribedDataSetDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscribedDataSetDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscribedDataSetDataType + * Neuer Wert der Eigenschaft "subscribedDataSetDataType". + */ + public ListOfSubscribedDataSetDataType.Builder<_B> withSubscribedDataSetDataType(final Iterable subscribedDataSetDataType) { + if (this.subscribedDataSetDataType!= null) { + this.subscribedDataSetDataType.clear(); + } + return addSubscribedDataSetDataType(subscribedDataSetDataType); + } + + /** + * Fügt Werte zur Eigenschaft "subscribedDataSetDataType" hinzu. + * + * @param subscribedDataSetDataType + * Werte, die zur Eigenschaft "subscribedDataSetDataType" hinzugefügt werden. + */ + public ListOfSubscribedDataSetDataType.Builder<_B> addSubscribedDataSetDataType(SubscribedDataSetDataType... subscribedDataSetDataType) { + addSubscribedDataSetDataType(Arrays.asList(subscribedDataSetDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscribedDataSetDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscribedDataSetDataType + * Neuer Wert der Eigenschaft "subscribedDataSetDataType". + */ + public ListOfSubscribedDataSetDataType.Builder<_B> withSubscribedDataSetDataType(SubscribedDataSetDataType... subscribedDataSetDataType) { + withSubscribedDataSetDataType(Arrays.asList(subscribedDataSetDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SubscribedDataSetDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscribedDataSetDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SubscribedDataSetDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscribedDataSetDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SubscribedDataSetDataType.Builder> addSubscribedDataSetDataType() { + if (this.subscribedDataSetDataType == null) { + this.subscribedDataSetDataType = new ArrayList>>(); + } + final SubscribedDataSetDataType.Builder> subscribedDataSetDataType_Builder = new SubscribedDataSetDataType.Builder>(this, null, false); + this.subscribedDataSetDataType.add(subscribedDataSetDataType_Builder); + return subscribedDataSetDataType_Builder; + } + + @Override + public ListOfSubscribedDataSetDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSubscribedDataSetDataType()); + } else { + return ((ListOfSubscribedDataSetDataType) _storedValue); + } + } + + public ListOfSubscribedDataSetDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSubscribedDataSetDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSubscribedDataSetDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSubscribedDataSetDataType.Select _root() { + return new ListOfSubscribedDataSetDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SubscribedDataSetDataType.Selector> subscribedDataSetDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.subscribedDataSetDataType!= null) { + products.put("subscribedDataSetDataType", this.subscribedDataSetDataType.init()); + } + return products; + } + + public SubscribedDataSetDataType.Selector> subscribedDataSetDataType() { + return ((this.subscribedDataSetDataType == null)?this.subscribedDataSetDataType = new SubscribedDataSetDataType.Selector>(this._root, this, "subscribedDataSetDataType"):this.subscribedDataSetDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetMirrorDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetMirrorDataType.java new file mode 100644 index 000000000..cf852f681 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscribedDataSetMirrorDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSubscribedDataSetMirrorDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSubscribedDataSetMirrorDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SubscribedDataSetMirrorDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SubscribedDataSetMirrorDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSubscribedDataSetMirrorDataType", propOrder = { + "subscribedDataSetMirrorDataType" +}) +public class ListOfSubscribedDataSetMirrorDataType { + + @XmlElement(name = "SubscribedDataSetMirrorDataType", nillable = true) + protected List subscribedDataSetMirrorDataType; + + /** + * Gets the value of the subscribedDataSetMirrorDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the subscribedDataSetMirrorDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSubscribedDataSetMirrorDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SubscribedDataSetMirrorDataType } + * + * + */ + public List getSubscribedDataSetMirrorDataType() { + if (subscribedDataSetMirrorDataType == null) { + subscribedDataSetMirrorDataType = new ArrayList(); + } + return this.subscribedDataSetMirrorDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscribedDataSetMirrorDataType.Builder<_B> _other) { + if (this.subscribedDataSetMirrorDataType == null) { + _other.subscribedDataSetMirrorDataType = null; + } else { + _other.subscribedDataSetMirrorDataType = new ArrayList>>(); + for (SubscribedDataSetMirrorDataType _item: this.subscribedDataSetMirrorDataType) { + _other.subscribedDataSetMirrorDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSubscribedDataSetMirrorDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSubscribedDataSetMirrorDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSubscribedDataSetMirrorDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSubscribedDataSetMirrorDataType.Builder builder() { + return new ListOfSubscribedDataSetMirrorDataType.Builder(null, null, false); + } + + public static<_B >ListOfSubscribedDataSetMirrorDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetMirrorDataType _other) { + final ListOfSubscribedDataSetMirrorDataType.Builder<_B> _newBuilder = new ListOfSubscribedDataSetMirrorDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscribedDataSetMirrorDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree subscribedDataSetMirrorDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscribedDataSetMirrorDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscribedDataSetMirrorDataTypePropertyTree!= null):((subscribedDataSetMirrorDataTypePropertyTree == null)||(!subscribedDataSetMirrorDataTypePropertyTree.isLeaf())))) { + if (this.subscribedDataSetMirrorDataType == null) { + _other.subscribedDataSetMirrorDataType = null; + } else { + _other.subscribedDataSetMirrorDataType = new ArrayList>>(); + for (SubscribedDataSetMirrorDataType _item: this.subscribedDataSetMirrorDataType) { + _other.subscribedDataSetMirrorDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, subscribedDataSetMirrorDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSubscribedDataSetMirrorDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSubscribedDataSetMirrorDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSubscribedDataSetMirrorDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSubscribedDataSetMirrorDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetMirrorDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSubscribedDataSetMirrorDataType.Builder<_B> _newBuilder = new ListOfSubscribedDataSetMirrorDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSubscribedDataSetMirrorDataType.Builder copyExcept(final ListOfSubscribedDataSetMirrorDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSubscribedDataSetMirrorDataType.Builder copyOnly(final ListOfSubscribedDataSetMirrorDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSubscribedDataSetMirrorDataType _storedValue; + private List>> subscribedDataSetMirrorDataType; + + public Builder(final _B _parentBuilder, final ListOfSubscribedDataSetMirrorDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.subscribedDataSetMirrorDataType == null) { + this.subscribedDataSetMirrorDataType = null; + } else { + this.subscribedDataSetMirrorDataType = new ArrayList>>(); + for (SubscribedDataSetMirrorDataType _item: _other.subscribedDataSetMirrorDataType) { + this.subscribedDataSetMirrorDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSubscribedDataSetMirrorDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree subscribedDataSetMirrorDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscribedDataSetMirrorDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscribedDataSetMirrorDataTypePropertyTree!= null):((subscribedDataSetMirrorDataTypePropertyTree == null)||(!subscribedDataSetMirrorDataTypePropertyTree.isLeaf())))) { + if (_other.subscribedDataSetMirrorDataType == null) { + this.subscribedDataSetMirrorDataType = null; + } else { + this.subscribedDataSetMirrorDataType = new ArrayList>>(); + for (SubscribedDataSetMirrorDataType _item: _other.subscribedDataSetMirrorDataType) { + this.subscribedDataSetMirrorDataType.add(((_item == null)?null:_item.newCopyBuilder(this, subscribedDataSetMirrorDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSubscribedDataSetMirrorDataType >_P init(final _P _product) { + if (this.subscribedDataSetMirrorDataType!= null) { + final List subscribedDataSetMirrorDataType = new ArrayList(this.subscribedDataSetMirrorDataType.size()); + for (SubscribedDataSetMirrorDataType.Builder> _item: this.subscribedDataSetMirrorDataType) { + subscribedDataSetMirrorDataType.add(_item.build()); + } + _product.subscribedDataSetMirrorDataType = subscribedDataSetMirrorDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "subscribedDataSetMirrorDataType" hinzu. + * + * @param subscribedDataSetMirrorDataType + * Werte, die zur Eigenschaft "subscribedDataSetMirrorDataType" hinzugefügt werden. + */ + public ListOfSubscribedDataSetMirrorDataType.Builder<_B> addSubscribedDataSetMirrorDataType(final Iterable subscribedDataSetMirrorDataType) { + if (subscribedDataSetMirrorDataType!= null) { + if (this.subscribedDataSetMirrorDataType == null) { + this.subscribedDataSetMirrorDataType = new ArrayList>>(); + } + for (SubscribedDataSetMirrorDataType _item: subscribedDataSetMirrorDataType) { + this.subscribedDataSetMirrorDataType.add(new SubscribedDataSetMirrorDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscribedDataSetMirrorDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscribedDataSetMirrorDataType + * Neuer Wert der Eigenschaft "subscribedDataSetMirrorDataType". + */ + public ListOfSubscribedDataSetMirrorDataType.Builder<_B> withSubscribedDataSetMirrorDataType(final Iterable subscribedDataSetMirrorDataType) { + if (this.subscribedDataSetMirrorDataType!= null) { + this.subscribedDataSetMirrorDataType.clear(); + } + return addSubscribedDataSetMirrorDataType(subscribedDataSetMirrorDataType); + } + + /** + * Fügt Werte zur Eigenschaft "subscribedDataSetMirrorDataType" hinzu. + * + * @param subscribedDataSetMirrorDataType + * Werte, die zur Eigenschaft "subscribedDataSetMirrorDataType" hinzugefügt werden. + */ + public ListOfSubscribedDataSetMirrorDataType.Builder<_B> addSubscribedDataSetMirrorDataType(SubscribedDataSetMirrorDataType... subscribedDataSetMirrorDataType) { + addSubscribedDataSetMirrorDataType(Arrays.asList(subscribedDataSetMirrorDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscribedDataSetMirrorDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscribedDataSetMirrorDataType + * Neuer Wert der Eigenschaft "subscribedDataSetMirrorDataType". + */ + public ListOfSubscribedDataSetMirrorDataType.Builder<_B> withSubscribedDataSetMirrorDataType(SubscribedDataSetMirrorDataType... subscribedDataSetMirrorDataType) { + withSubscribedDataSetMirrorDataType(Arrays.asList(subscribedDataSetMirrorDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SubscribedDataSetMirrorDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscribedDataSetMirrorDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SubscribedDataSetMirrorDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscribedDataSetMirrorDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SubscribedDataSetMirrorDataType.Builder> addSubscribedDataSetMirrorDataType() { + if (this.subscribedDataSetMirrorDataType == null) { + this.subscribedDataSetMirrorDataType = new ArrayList>>(); + } + final SubscribedDataSetMirrorDataType.Builder> subscribedDataSetMirrorDataType_Builder = new SubscribedDataSetMirrorDataType.Builder>(this, null, false); + this.subscribedDataSetMirrorDataType.add(subscribedDataSetMirrorDataType_Builder); + return subscribedDataSetMirrorDataType_Builder; + } + + @Override + public ListOfSubscribedDataSetMirrorDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSubscribedDataSetMirrorDataType()); + } else { + return ((ListOfSubscribedDataSetMirrorDataType) _storedValue); + } + } + + public ListOfSubscribedDataSetMirrorDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetMirrorDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSubscribedDataSetMirrorDataType.Builder<_B> copyOf(final ListOfSubscribedDataSetMirrorDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSubscribedDataSetMirrorDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSubscribedDataSetMirrorDataType.Select _root() { + return new ListOfSubscribedDataSetMirrorDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SubscribedDataSetMirrorDataType.Selector> subscribedDataSetMirrorDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.subscribedDataSetMirrorDataType!= null) { + products.put("subscribedDataSetMirrorDataType", this.subscribedDataSetMirrorDataType.init()); + } + return products; + } + + public SubscribedDataSetMirrorDataType.Selector> subscribedDataSetMirrorDataType() { + return ((this.subscribedDataSetMirrorDataType == null)?this.subscribedDataSetMirrorDataType = new SubscribedDataSetMirrorDataType.Selector>(this._root, this, "subscribedDataSetMirrorDataType"):this.subscribedDataSetMirrorDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionAcknowledgement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionAcknowledgement.java new file mode 100644 index 000000000..8b15f7e00 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionAcknowledgement.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSubscriptionAcknowledgement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSubscriptionAcknowledgement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SubscriptionAcknowledgement" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SubscriptionAcknowledgement" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSubscriptionAcknowledgement", propOrder = { + "subscriptionAcknowledgement" +}) +public class ListOfSubscriptionAcknowledgement { + + @XmlElement(name = "SubscriptionAcknowledgement", nillable = true) + protected List subscriptionAcknowledgement; + + /** + * Gets the value of the subscriptionAcknowledgement property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the subscriptionAcknowledgement property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSubscriptionAcknowledgement().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SubscriptionAcknowledgement } + * + * + */ + public List getSubscriptionAcknowledgement() { + if (subscriptionAcknowledgement == null) { + subscriptionAcknowledgement = new ArrayList(); + } + return this.subscriptionAcknowledgement; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscriptionAcknowledgement.Builder<_B> _other) { + if (this.subscriptionAcknowledgement == null) { + _other.subscriptionAcknowledgement = null; + } else { + _other.subscriptionAcknowledgement = new ArrayList>>(); + for (SubscriptionAcknowledgement _item: this.subscriptionAcknowledgement) { + _other.subscriptionAcknowledgement.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSubscriptionAcknowledgement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSubscriptionAcknowledgement.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSubscriptionAcknowledgement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSubscriptionAcknowledgement.Builder builder() { + return new ListOfSubscriptionAcknowledgement.Builder(null, null, false); + } + + public static<_B >ListOfSubscriptionAcknowledgement.Builder<_B> copyOf(final ListOfSubscriptionAcknowledgement _other) { + final ListOfSubscriptionAcknowledgement.Builder<_B> _newBuilder = new ListOfSubscriptionAcknowledgement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscriptionAcknowledgement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree subscriptionAcknowledgementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionAcknowledgement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionAcknowledgementPropertyTree!= null):((subscriptionAcknowledgementPropertyTree == null)||(!subscriptionAcknowledgementPropertyTree.isLeaf())))) { + if (this.subscriptionAcknowledgement == null) { + _other.subscriptionAcknowledgement = null; + } else { + _other.subscriptionAcknowledgement = new ArrayList>>(); + for (SubscriptionAcknowledgement _item: this.subscriptionAcknowledgement) { + _other.subscriptionAcknowledgement.add(((_item == null)?null:_item.newCopyBuilder(_other, subscriptionAcknowledgementPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSubscriptionAcknowledgement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSubscriptionAcknowledgement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSubscriptionAcknowledgement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSubscriptionAcknowledgement.Builder<_B> copyOf(final ListOfSubscriptionAcknowledgement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSubscriptionAcknowledgement.Builder<_B> _newBuilder = new ListOfSubscriptionAcknowledgement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSubscriptionAcknowledgement.Builder copyExcept(final ListOfSubscriptionAcknowledgement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSubscriptionAcknowledgement.Builder copyOnly(final ListOfSubscriptionAcknowledgement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSubscriptionAcknowledgement _storedValue; + private List>> subscriptionAcknowledgement; + + public Builder(final _B _parentBuilder, final ListOfSubscriptionAcknowledgement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.subscriptionAcknowledgement == null) { + this.subscriptionAcknowledgement = null; + } else { + this.subscriptionAcknowledgement = new ArrayList>>(); + for (SubscriptionAcknowledgement _item: _other.subscriptionAcknowledgement) { + this.subscriptionAcknowledgement.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSubscriptionAcknowledgement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree subscriptionAcknowledgementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionAcknowledgement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionAcknowledgementPropertyTree!= null):((subscriptionAcknowledgementPropertyTree == null)||(!subscriptionAcknowledgementPropertyTree.isLeaf())))) { + if (_other.subscriptionAcknowledgement == null) { + this.subscriptionAcknowledgement = null; + } else { + this.subscriptionAcknowledgement = new ArrayList>>(); + for (SubscriptionAcknowledgement _item: _other.subscriptionAcknowledgement) { + this.subscriptionAcknowledgement.add(((_item == null)?null:_item.newCopyBuilder(this, subscriptionAcknowledgementPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSubscriptionAcknowledgement >_P init(final _P _product) { + if (this.subscriptionAcknowledgement!= null) { + final List subscriptionAcknowledgement = new ArrayList(this.subscriptionAcknowledgement.size()); + for (SubscriptionAcknowledgement.Builder> _item: this.subscriptionAcknowledgement) { + subscriptionAcknowledgement.add(_item.build()); + } + _product.subscriptionAcknowledgement = subscriptionAcknowledgement; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "subscriptionAcknowledgement" hinzu. + * + * @param subscriptionAcknowledgement + * Werte, die zur Eigenschaft "subscriptionAcknowledgement" hinzugefügt werden. + */ + public ListOfSubscriptionAcknowledgement.Builder<_B> addSubscriptionAcknowledgement(final Iterable subscriptionAcknowledgement) { + if (subscriptionAcknowledgement!= null) { + if (this.subscriptionAcknowledgement == null) { + this.subscriptionAcknowledgement = new ArrayList>>(); + } + for (SubscriptionAcknowledgement _item: subscriptionAcknowledgement) { + this.subscriptionAcknowledgement.add(new SubscriptionAcknowledgement.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionAcknowledgement" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscriptionAcknowledgement + * Neuer Wert der Eigenschaft "subscriptionAcknowledgement". + */ + public ListOfSubscriptionAcknowledgement.Builder<_B> withSubscriptionAcknowledgement(final Iterable subscriptionAcknowledgement) { + if (this.subscriptionAcknowledgement!= null) { + this.subscriptionAcknowledgement.clear(); + } + return addSubscriptionAcknowledgement(subscriptionAcknowledgement); + } + + /** + * Fügt Werte zur Eigenschaft "subscriptionAcknowledgement" hinzu. + * + * @param subscriptionAcknowledgement + * Werte, die zur Eigenschaft "subscriptionAcknowledgement" hinzugefügt werden. + */ + public ListOfSubscriptionAcknowledgement.Builder<_B> addSubscriptionAcknowledgement(SubscriptionAcknowledgement... subscriptionAcknowledgement) { + addSubscriptionAcknowledgement(Arrays.asList(subscriptionAcknowledgement)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionAcknowledgement" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscriptionAcknowledgement + * Neuer Wert der Eigenschaft "subscriptionAcknowledgement". + */ + public ListOfSubscriptionAcknowledgement.Builder<_B> withSubscriptionAcknowledgement(SubscriptionAcknowledgement... subscriptionAcknowledgement) { + withSubscriptionAcknowledgement(Arrays.asList(subscriptionAcknowledgement)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SubscriptionAcknowledgement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscriptionAcknowledgement.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SubscriptionAcknowledgement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscriptionAcknowledgement.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SubscriptionAcknowledgement.Builder> addSubscriptionAcknowledgement() { + if (this.subscriptionAcknowledgement == null) { + this.subscriptionAcknowledgement = new ArrayList>>(); + } + final SubscriptionAcknowledgement.Builder> subscriptionAcknowledgement_Builder = new SubscriptionAcknowledgement.Builder>(this, null, false); + this.subscriptionAcknowledgement.add(subscriptionAcknowledgement_Builder); + return subscriptionAcknowledgement_Builder; + } + + @Override + public ListOfSubscriptionAcknowledgement build() { + if (_storedValue == null) { + return this.init(new ListOfSubscriptionAcknowledgement()); + } else { + return ((ListOfSubscriptionAcknowledgement) _storedValue); + } + } + + public ListOfSubscriptionAcknowledgement.Builder<_B> copyOf(final ListOfSubscriptionAcknowledgement _other) { + _other.copyTo(this); + return this; + } + + public ListOfSubscriptionAcknowledgement.Builder<_B> copyOf(final ListOfSubscriptionAcknowledgement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSubscriptionAcknowledgement.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSubscriptionAcknowledgement.Select _root() { + return new ListOfSubscriptionAcknowledgement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SubscriptionAcknowledgement.Selector> subscriptionAcknowledgement = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.subscriptionAcknowledgement!= null) { + products.put("subscriptionAcknowledgement", this.subscriptionAcknowledgement.init()); + } + return products; + } + + public SubscriptionAcknowledgement.Selector> subscriptionAcknowledgement() { + return ((this.subscriptionAcknowledgement == null)?this.subscriptionAcknowledgement = new SubscriptionAcknowledgement.Selector>(this._root, this, "subscriptionAcknowledgement"):this.subscriptionAcknowledgement); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionDiagnosticsDataType.java new file mode 100644 index 000000000..7ad03c8e0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfSubscriptionDiagnosticsDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfSubscriptionDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfSubscriptionDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SubscriptionDiagnosticsDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SubscriptionDiagnosticsDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfSubscriptionDiagnosticsDataType", propOrder = { + "subscriptionDiagnosticsDataType" +}) +public class ListOfSubscriptionDiagnosticsDataType { + + @XmlElement(name = "SubscriptionDiagnosticsDataType", nillable = true) + protected List subscriptionDiagnosticsDataType; + + /** + * Gets the value of the subscriptionDiagnosticsDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the subscriptionDiagnosticsDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSubscriptionDiagnosticsDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SubscriptionDiagnosticsDataType } + * + * + */ + public List getSubscriptionDiagnosticsDataType() { + if (subscriptionDiagnosticsDataType == null) { + subscriptionDiagnosticsDataType = new ArrayList(); + } + return this.subscriptionDiagnosticsDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscriptionDiagnosticsDataType.Builder<_B> _other) { + if (this.subscriptionDiagnosticsDataType == null) { + _other.subscriptionDiagnosticsDataType = null; + } else { + _other.subscriptionDiagnosticsDataType = new ArrayList>>(); + for (SubscriptionDiagnosticsDataType _item: this.subscriptionDiagnosticsDataType) { + _other.subscriptionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfSubscriptionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfSubscriptionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfSubscriptionDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfSubscriptionDiagnosticsDataType.Builder builder() { + return new ListOfSubscriptionDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >ListOfSubscriptionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSubscriptionDiagnosticsDataType _other) { + final ListOfSubscriptionDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSubscriptionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfSubscriptionDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree subscriptionDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionDiagnosticsDataTypePropertyTree!= null):((subscriptionDiagnosticsDataTypePropertyTree == null)||(!subscriptionDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (this.subscriptionDiagnosticsDataType == null) { + _other.subscriptionDiagnosticsDataType = null; + } else { + _other.subscriptionDiagnosticsDataType = new ArrayList>>(); + for (SubscriptionDiagnosticsDataType _item: this.subscriptionDiagnosticsDataType) { + _other.subscriptionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, subscriptionDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfSubscriptionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfSubscriptionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfSubscriptionDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfSubscriptionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSubscriptionDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfSubscriptionDiagnosticsDataType.Builder<_B> _newBuilder = new ListOfSubscriptionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfSubscriptionDiagnosticsDataType.Builder copyExcept(final ListOfSubscriptionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfSubscriptionDiagnosticsDataType.Builder copyOnly(final ListOfSubscriptionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfSubscriptionDiagnosticsDataType _storedValue; + private List>> subscriptionDiagnosticsDataType; + + public Builder(final _B _parentBuilder, final ListOfSubscriptionDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.subscriptionDiagnosticsDataType == null) { + this.subscriptionDiagnosticsDataType = null; + } else { + this.subscriptionDiagnosticsDataType = new ArrayList>>(); + for (SubscriptionDiagnosticsDataType _item: _other.subscriptionDiagnosticsDataType) { + this.subscriptionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfSubscriptionDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree subscriptionDiagnosticsDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionDiagnosticsDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionDiagnosticsDataTypePropertyTree!= null):((subscriptionDiagnosticsDataTypePropertyTree == null)||(!subscriptionDiagnosticsDataTypePropertyTree.isLeaf())))) { + if (_other.subscriptionDiagnosticsDataType == null) { + this.subscriptionDiagnosticsDataType = null; + } else { + this.subscriptionDiagnosticsDataType = new ArrayList>>(); + for (SubscriptionDiagnosticsDataType _item: _other.subscriptionDiagnosticsDataType) { + this.subscriptionDiagnosticsDataType.add(((_item == null)?null:_item.newCopyBuilder(this, subscriptionDiagnosticsDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfSubscriptionDiagnosticsDataType >_P init(final _P _product) { + if (this.subscriptionDiagnosticsDataType!= null) { + final List subscriptionDiagnosticsDataType = new ArrayList(this.subscriptionDiagnosticsDataType.size()); + for (SubscriptionDiagnosticsDataType.Builder> _item: this.subscriptionDiagnosticsDataType) { + subscriptionDiagnosticsDataType.add(_item.build()); + } + _product.subscriptionDiagnosticsDataType = subscriptionDiagnosticsDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "subscriptionDiagnosticsDataType" hinzu. + * + * @param subscriptionDiagnosticsDataType + * Werte, die zur Eigenschaft "subscriptionDiagnosticsDataType" hinzugefügt werden. + */ + public ListOfSubscriptionDiagnosticsDataType.Builder<_B> addSubscriptionDiagnosticsDataType(final Iterable subscriptionDiagnosticsDataType) { + if (subscriptionDiagnosticsDataType!= null) { + if (this.subscriptionDiagnosticsDataType == null) { + this.subscriptionDiagnosticsDataType = new ArrayList>>(); + } + for (SubscriptionDiagnosticsDataType _item: subscriptionDiagnosticsDataType) { + this.subscriptionDiagnosticsDataType.add(new SubscriptionDiagnosticsDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionDiagnosticsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscriptionDiagnosticsDataType + * Neuer Wert der Eigenschaft "subscriptionDiagnosticsDataType". + */ + public ListOfSubscriptionDiagnosticsDataType.Builder<_B> withSubscriptionDiagnosticsDataType(final Iterable subscriptionDiagnosticsDataType) { + if (this.subscriptionDiagnosticsDataType!= null) { + this.subscriptionDiagnosticsDataType.clear(); + } + return addSubscriptionDiagnosticsDataType(subscriptionDiagnosticsDataType); + } + + /** + * Fügt Werte zur Eigenschaft "subscriptionDiagnosticsDataType" hinzu. + * + * @param subscriptionDiagnosticsDataType + * Werte, die zur Eigenschaft "subscriptionDiagnosticsDataType" hinzugefügt werden. + */ + public ListOfSubscriptionDiagnosticsDataType.Builder<_B> addSubscriptionDiagnosticsDataType(SubscriptionDiagnosticsDataType... subscriptionDiagnosticsDataType) { + addSubscriptionDiagnosticsDataType(Arrays.asList(subscriptionDiagnosticsDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionDiagnosticsDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscriptionDiagnosticsDataType + * Neuer Wert der Eigenschaft "subscriptionDiagnosticsDataType". + */ + public ListOfSubscriptionDiagnosticsDataType.Builder<_B> withSubscriptionDiagnosticsDataType(SubscriptionDiagnosticsDataType... subscriptionDiagnosticsDataType) { + withSubscriptionDiagnosticsDataType(Arrays.asList(subscriptionDiagnosticsDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "SubscriptionDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscriptionDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "SubscriptionDiagnosticsDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.SubscriptionDiagnosticsDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public SubscriptionDiagnosticsDataType.Builder> addSubscriptionDiagnosticsDataType() { + if (this.subscriptionDiagnosticsDataType == null) { + this.subscriptionDiagnosticsDataType = new ArrayList>>(); + } + final SubscriptionDiagnosticsDataType.Builder> subscriptionDiagnosticsDataType_Builder = new SubscriptionDiagnosticsDataType.Builder>(this, null, false); + this.subscriptionDiagnosticsDataType.add(subscriptionDiagnosticsDataType_Builder); + return subscriptionDiagnosticsDataType_Builder; + } + + @Override + public ListOfSubscriptionDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new ListOfSubscriptionDiagnosticsDataType()); + } else { + return ((ListOfSubscriptionDiagnosticsDataType) _storedValue); + } + } + + public ListOfSubscriptionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSubscriptionDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfSubscriptionDiagnosticsDataType.Builder<_B> copyOf(final ListOfSubscriptionDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfSubscriptionDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfSubscriptionDiagnosticsDataType.Select _root() { + return new ListOfSubscriptionDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private SubscriptionDiagnosticsDataType.Selector> subscriptionDiagnosticsDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.subscriptionDiagnosticsDataType!= null) { + products.put("subscriptionDiagnosticsDataType", this.subscriptionDiagnosticsDataType.init()); + } + return products; + } + + public SubscriptionDiagnosticsDataType.Selector> subscriptionDiagnosticsDataType() { + return ((this.subscriptionDiagnosticsDataType == null)?this.subscriptionDiagnosticsDataType = new SubscriptionDiagnosticsDataType.Selector>(this._root, this, "subscriptionDiagnosticsDataType"):this.subscriptionDiagnosticsDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTargetVariablesDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTargetVariablesDataType.java new file mode 100644 index 000000000..6b31b4717 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTargetVariablesDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfTargetVariablesDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfTargetVariablesDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TargetVariablesDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TargetVariablesDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfTargetVariablesDataType", propOrder = { + "targetVariablesDataType" +}) +public class ListOfTargetVariablesDataType { + + @XmlElement(name = "TargetVariablesDataType", nillable = true) + protected List targetVariablesDataType; + + /** + * Gets the value of the targetVariablesDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the targetVariablesDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTargetVariablesDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TargetVariablesDataType } + * + * + */ + public List getTargetVariablesDataType() { + if (targetVariablesDataType == null) { + targetVariablesDataType = new ArrayList(); + } + return this.targetVariablesDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTargetVariablesDataType.Builder<_B> _other) { + if (this.targetVariablesDataType == null) { + _other.targetVariablesDataType = null; + } else { + _other.targetVariablesDataType = new ArrayList>>(); + for (TargetVariablesDataType _item: this.targetVariablesDataType) { + _other.targetVariablesDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfTargetVariablesDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfTargetVariablesDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfTargetVariablesDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfTargetVariablesDataType.Builder builder() { + return new ListOfTargetVariablesDataType.Builder(null, null, false); + } + + public static<_B >ListOfTargetVariablesDataType.Builder<_B> copyOf(final ListOfTargetVariablesDataType _other) { + final ListOfTargetVariablesDataType.Builder<_B> _newBuilder = new ListOfTargetVariablesDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTargetVariablesDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree targetVariablesDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetVariablesDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetVariablesDataTypePropertyTree!= null):((targetVariablesDataTypePropertyTree == null)||(!targetVariablesDataTypePropertyTree.isLeaf())))) { + if (this.targetVariablesDataType == null) { + _other.targetVariablesDataType = null; + } else { + _other.targetVariablesDataType = new ArrayList>>(); + for (TargetVariablesDataType _item: this.targetVariablesDataType) { + _other.targetVariablesDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, targetVariablesDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfTargetVariablesDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfTargetVariablesDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfTargetVariablesDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfTargetVariablesDataType.Builder<_B> copyOf(final ListOfTargetVariablesDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfTargetVariablesDataType.Builder<_B> _newBuilder = new ListOfTargetVariablesDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfTargetVariablesDataType.Builder copyExcept(final ListOfTargetVariablesDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfTargetVariablesDataType.Builder copyOnly(final ListOfTargetVariablesDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfTargetVariablesDataType _storedValue; + private List>> targetVariablesDataType; + + public Builder(final _B _parentBuilder, final ListOfTargetVariablesDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.targetVariablesDataType == null) { + this.targetVariablesDataType = null; + } else { + this.targetVariablesDataType = new ArrayList>>(); + for (TargetVariablesDataType _item: _other.targetVariablesDataType) { + this.targetVariablesDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfTargetVariablesDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree targetVariablesDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetVariablesDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetVariablesDataTypePropertyTree!= null):((targetVariablesDataTypePropertyTree == null)||(!targetVariablesDataTypePropertyTree.isLeaf())))) { + if (_other.targetVariablesDataType == null) { + this.targetVariablesDataType = null; + } else { + this.targetVariablesDataType = new ArrayList>>(); + for (TargetVariablesDataType _item: _other.targetVariablesDataType) { + this.targetVariablesDataType.add(((_item == null)?null:_item.newCopyBuilder(this, targetVariablesDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfTargetVariablesDataType >_P init(final _P _product) { + if (this.targetVariablesDataType!= null) { + final List targetVariablesDataType = new ArrayList(this.targetVariablesDataType.size()); + for (TargetVariablesDataType.Builder> _item: this.targetVariablesDataType) { + targetVariablesDataType.add(_item.build()); + } + _product.targetVariablesDataType = targetVariablesDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "targetVariablesDataType" hinzu. + * + * @param targetVariablesDataType + * Werte, die zur Eigenschaft "targetVariablesDataType" hinzugefügt werden. + */ + public ListOfTargetVariablesDataType.Builder<_B> addTargetVariablesDataType(final Iterable targetVariablesDataType) { + if (targetVariablesDataType!= null) { + if (this.targetVariablesDataType == null) { + this.targetVariablesDataType = new ArrayList>>(); + } + for (TargetVariablesDataType _item: targetVariablesDataType) { + this.targetVariablesDataType.add(new TargetVariablesDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetVariablesDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param targetVariablesDataType + * Neuer Wert der Eigenschaft "targetVariablesDataType". + */ + public ListOfTargetVariablesDataType.Builder<_B> withTargetVariablesDataType(final Iterable targetVariablesDataType) { + if (this.targetVariablesDataType!= null) { + this.targetVariablesDataType.clear(); + } + return addTargetVariablesDataType(targetVariablesDataType); + } + + /** + * Fügt Werte zur Eigenschaft "targetVariablesDataType" hinzu. + * + * @param targetVariablesDataType + * Werte, die zur Eigenschaft "targetVariablesDataType" hinzugefügt werden. + */ + public ListOfTargetVariablesDataType.Builder<_B> addTargetVariablesDataType(TargetVariablesDataType... targetVariablesDataType) { + addTargetVariablesDataType(Arrays.asList(targetVariablesDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetVariablesDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param targetVariablesDataType + * Neuer Wert der Eigenschaft "targetVariablesDataType". + */ + public ListOfTargetVariablesDataType.Builder<_B> withTargetVariablesDataType(TargetVariablesDataType... targetVariablesDataType) { + withTargetVariablesDataType(Arrays.asList(targetVariablesDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "TargetVariablesDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.TargetVariablesDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "TargetVariablesDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.TargetVariablesDataType.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public TargetVariablesDataType.Builder> addTargetVariablesDataType() { + if (this.targetVariablesDataType == null) { + this.targetVariablesDataType = new ArrayList>>(); + } + final TargetVariablesDataType.Builder> targetVariablesDataType_Builder = new TargetVariablesDataType.Builder>(this, null, false); + this.targetVariablesDataType.add(targetVariablesDataType_Builder); + return targetVariablesDataType_Builder; + } + + @Override + public ListOfTargetVariablesDataType build() { + if (_storedValue == null) { + return this.init(new ListOfTargetVariablesDataType()); + } else { + return ((ListOfTargetVariablesDataType) _storedValue); + } + } + + public ListOfTargetVariablesDataType.Builder<_B> copyOf(final ListOfTargetVariablesDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfTargetVariablesDataType.Builder<_B> copyOf(final ListOfTargetVariablesDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfTargetVariablesDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfTargetVariablesDataType.Select _root() { + return new ListOfTargetVariablesDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private TargetVariablesDataType.Selector> targetVariablesDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.targetVariablesDataType!= null) { + products.put("targetVariablesDataType", this.targetVariablesDataType.init()); + } + return products; + } + + public TargetVariablesDataType.Selector> targetVariablesDataType() { + return ((this.targetVariablesDataType == null)?this.targetVariablesDataType = new TargetVariablesDataType.Selector>(this._root, this, "targetVariablesDataType"):this.targetVariablesDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDCartesianCoordinates.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDCartesianCoordinates.java new file mode 100644 index 000000000..180285420 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDCartesianCoordinates.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfThreeDCartesianCoordinates complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfThreeDCartesianCoordinates">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ThreeDCartesianCoordinates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ThreeDCartesianCoordinates" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfThreeDCartesianCoordinates", propOrder = { + "threeDCartesianCoordinates" +}) +public class ListOfThreeDCartesianCoordinates { + + @XmlElement(name = "ThreeDCartesianCoordinates", nillable = true) + protected List threeDCartesianCoordinates; + + /** + * Gets the value of the threeDCartesianCoordinates property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the threeDCartesianCoordinates property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getThreeDCartesianCoordinates().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ThreeDCartesianCoordinates } + * + * + */ + public List getThreeDCartesianCoordinates() { + if (threeDCartesianCoordinates == null) { + threeDCartesianCoordinates = new ArrayList(); + } + return this.threeDCartesianCoordinates; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDCartesianCoordinates.Builder<_B> _other) { + if (this.threeDCartesianCoordinates == null) { + _other.threeDCartesianCoordinates = null; + } else { + _other.threeDCartesianCoordinates = new ArrayList>>(); + for (ThreeDCartesianCoordinates _item: this.threeDCartesianCoordinates) { + _other.threeDCartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfThreeDCartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfThreeDCartesianCoordinates.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfThreeDCartesianCoordinates.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfThreeDCartesianCoordinates.Builder builder() { + return new ListOfThreeDCartesianCoordinates.Builder(null, null, false); + } + + public static<_B >ListOfThreeDCartesianCoordinates.Builder<_B> copyOf(final ListOfThreeDCartesianCoordinates _other) { + final ListOfThreeDCartesianCoordinates.Builder<_B> _newBuilder = new ListOfThreeDCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDCartesianCoordinates.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree threeDCartesianCoordinatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDCartesianCoordinates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDCartesianCoordinatesPropertyTree!= null):((threeDCartesianCoordinatesPropertyTree == null)||(!threeDCartesianCoordinatesPropertyTree.isLeaf())))) { + if (this.threeDCartesianCoordinates == null) { + _other.threeDCartesianCoordinates = null; + } else { + _other.threeDCartesianCoordinates = new ArrayList>>(); + for (ThreeDCartesianCoordinates _item: this.threeDCartesianCoordinates) { + _other.threeDCartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(_other, threeDCartesianCoordinatesPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfThreeDCartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfThreeDCartesianCoordinates.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfThreeDCartesianCoordinates.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfThreeDCartesianCoordinates.Builder<_B> copyOf(final ListOfThreeDCartesianCoordinates _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfThreeDCartesianCoordinates.Builder<_B> _newBuilder = new ListOfThreeDCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfThreeDCartesianCoordinates.Builder copyExcept(final ListOfThreeDCartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfThreeDCartesianCoordinates.Builder copyOnly(final ListOfThreeDCartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfThreeDCartesianCoordinates _storedValue; + private List>> threeDCartesianCoordinates; + + public Builder(final _B _parentBuilder, final ListOfThreeDCartesianCoordinates _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.threeDCartesianCoordinates == null) { + this.threeDCartesianCoordinates = null; + } else { + this.threeDCartesianCoordinates = new ArrayList>>(); + for (ThreeDCartesianCoordinates _item: _other.threeDCartesianCoordinates) { + this.threeDCartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfThreeDCartesianCoordinates _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree threeDCartesianCoordinatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDCartesianCoordinates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDCartesianCoordinatesPropertyTree!= null):((threeDCartesianCoordinatesPropertyTree == null)||(!threeDCartesianCoordinatesPropertyTree.isLeaf())))) { + if (_other.threeDCartesianCoordinates == null) { + this.threeDCartesianCoordinates = null; + } else { + this.threeDCartesianCoordinates = new ArrayList>>(); + for (ThreeDCartesianCoordinates _item: _other.threeDCartesianCoordinates) { + this.threeDCartesianCoordinates.add(((_item == null)?null:_item.newCopyBuilder(this, threeDCartesianCoordinatesPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfThreeDCartesianCoordinates >_P init(final _P _product) { + if (this.threeDCartesianCoordinates!= null) { + final List threeDCartesianCoordinates = new ArrayList(this.threeDCartesianCoordinates.size()); + for (ThreeDCartesianCoordinates.Builder> _item: this.threeDCartesianCoordinates) { + threeDCartesianCoordinates.add(_item.build()); + } + _product.threeDCartesianCoordinates = threeDCartesianCoordinates; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "threeDCartesianCoordinates" hinzu. + * + * @param threeDCartesianCoordinates + * Werte, die zur Eigenschaft "threeDCartesianCoordinates" hinzugefügt werden. + */ + public ListOfThreeDCartesianCoordinates.Builder<_B> addThreeDCartesianCoordinates(final Iterable threeDCartesianCoordinates) { + if (threeDCartesianCoordinates!= null) { + if (this.threeDCartesianCoordinates == null) { + this.threeDCartesianCoordinates = new ArrayList>>(); + } + for (ThreeDCartesianCoordinates _item: threeDCartesianCoordinates) { + this.threeDCartesianCoordinates.add(new ThreeDCartesianCoordinates.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDCartesianCoordinates" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param threeDCartesianCoordinates + * Neuer Wert der Eigenschaft "threeDCartesianCoordinates". + */ + public ListOfThreeDCartesianCoordinates.Builder<_B> withThreeDCartesianCoordinates(final Iterable threeDCartesianCoordinates) { + if (this.threeDCartesianCoordinates!= null) { + this.threeDCartesianCoordinates.clear(); + } + return addThreeDCartesianCoordinates(threeDCartesianCoordinates); + } + + /** + * Fügt Werte zur Eigenschaft "threeDCartesianCoordinates" hinzu. + * + * @param threeDCartesianCoordinates + * Werte, die zur Eigenschaft "threeDCartesianCoordinates" hinzugefügt werden. + */ + public ListOfThreeDCartesianCoordinates.Builder<_B> addThreeDCartesianCoordinates(ThreeDCartesianCoordinates... threeDCartesianCoordinates) { + addThreeDCartesianCoordinates(Arrays.asList(threeDCartesianCoordinates)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDCartesianCoordinates" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param threeDCartesianCoordinates + * Neuer Wert der Eigenschaft "threeDCartesianCoordinates". + */ + public ListOfThreeDCartesianCoordinates.Builder<_B> withThreeDCartesianCoordinates(ThreeDCartesianCoordinates... threeDCartesianCoordinates) { + withThreeDCartesianCoordinates(Arrays.asList(threeDCartesianCoordinates)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ThreeDCartesianCoordinates". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ThreeDCartesianCoordinates.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ThreeDCartesianCoordinates". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ThreeDCartesianCoordinates.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ThreeDCartesianCoordinates.Builder> addThreeDCartesianCoordinates() { + if (this.threeDCartesianCoordinates == null) { + this.threeDCartesianCoordinates = new ArrayList>>(); + } + final ThreeDCartesianCoordinates.Builder> threeDCartesianCoordinates_Builder = new ThreeDCartesianCoordinates.Builder>(this, null, false); + this.threeDCartesianCoordinates.add(threeDCartesianCoordinates_Builder); + return threeDCartesianCoordinates_Builder; + } + + @Override + public ListOfThreeDCartesianCoordinates build() { + if (_storedValue == null) { + return this.init(new ListOfThreeDCartesianCoordinates()); + } else { + return ((ListOfThreeDCartesianCoordinates) _storedValue); + } + } + + public ListOfThreeDCartesianCoordinates.Builder<_B> copyOf(final ListOfThreeDCartesianCoordinates _other) { + _other.copyTo(this); + return this; + } + + public ListOfThreeDCartesianCoordinates.Builder<_B> copyOf(final ListOfThreeDCartesianCoordinates.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfThreeDCartesianCoordinates.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfThreeDCartesianCoordinates.Select _root() { + return new ListOfThreeDCartesianCoordinates.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ThreeDCartesianCoordinates.Selector> threeDCartesianCoordinates = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.threeDCartesianCoordinates!= null) { + products.put("threeDCartesianCoordinates", this.threeDCartesianCoordinates.init()); + } + return products; + } + + public ThreeDCartesianCoordinates.Selector> threeDCartesianCoordinates() { + return ((this.threeDCartesianCoordinates == null)?this.threeDCartesianCoordinates = new ThreeDCartesianCoordinates.Selector>(this._root, this, "threeDCartesianCoordinates"):this.threeDCartesianCoordinates); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDFrame.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDFrame.java new file mode 100644 index 000000000..f01465c9e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDFrame.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfThreeDFrame complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfThreeDFrame">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ThreeDFrame" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ThreeDFrame" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfThreeDFrame", propOrder = { + "threeDFrame" +}) +public class ListOfThreeDFrame { + + @XmlElement(name = "ThreeDFrame", nillable = true) + protected List threeDFrame; + + /** + * Gets the value of the threeDFrame property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the threeDFrame property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getThreeDFrame().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ThreeDFrame } + * + * + */ + public List getThreeDFrame() { + if (threeDFrame == null) { + threeDFrame = new ArrayList(); + } + return this.threeDFrame; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDFrame.Builder<_B> _other) { + if (this.threeDFrame == null) { + _other.threeDFrame = null; + } else { + _other.threeDFrame = new ArrayList>>(); + for (ThreeDFrame _item: this.threeDFrame) { + _other.threeDFrame.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfThreeDFrame.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfThreeDFrame.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfThreeDFrame.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfThreeDFrame.Builder builder() { + return new ListOfThreeDFrame.Builder(null, null, false); + } + + public static<_B >ListOfThreeDFrame.Builder<_B> copyOf(final ListOfThreeDFrame _other) { + final ListOfThreeDFrame.Builder<_B> _newBuilder = new ListOfThreeDFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDFrame.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree threeDFramePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDFrame")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDFramePropertyTree!= null):((threeDFramePropertyTree == null)||(!threeDFramePropertyTree.isLeaf())))) { + if (this.threeDFrame == null) { + _other.threeDFrame = null; + } else { + _other.threeDFrame = new ArrayList>>(); + for (ThreeDFrame _item: this.threeDFrame) { + _other.threeDFrame.add(((_item == null)?null:_item.newCopyBuilder(_other, threeDFramePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfThreeDFrame.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfThreeDFrame.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfThreeDFrame.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfThreeDFrame.Builder<_B> copyOf(final ListOfThreeDFrame _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfThreeDFrame.Builder<_B> _newBuilder = new ListOfThreeDFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfThreeDFrame.Builder copyExcept(final ListOfThreeDFrame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfThreeDFrame.Builder copyOnly(final ListOfThreeDFrame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfThreeDFrame _storedValue; + private List>> threeDFrame; + + public Builder(final _B _parentBuilder, final ListOfThreeDFrame _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.threeDFrame == null) { + this.threeDFrame = null; + } else { + this.threeDFrame = new ArrayList>>(); + for (ThreeDFrame _item: _other.threeDFrame) { + this.threeDFrame.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfThreeDFrame _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree threeDFramePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDFrame")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDFramePropertyTree!= null):((threeDFramePropertyTree == null)||(!threeDFramePropertyTree.isLeaf())))) { + if (_other.threeDFrame == null) { + this.threeDFrame = null; + } else { + this.threeDFrame = new ArrayList>>(); + for (ThreeDFrame _item: _other.threeDFrame) { + this.threeDFrame.add(((_item == null)?null:_item.newCopyBuilder(this, threeDFramePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfThreeDFrame >_P init(final _P _product) { + if (this.threeDFrame!= null) { + final List threeDFrame = new ArrayList(this.threeDFrame.size()); + for (ThreeDFrame.Builder> _item: this.threeDFrame) { + threeDFrame.add(_item.build()); + } + _product.threeDFrame = threeDFrame; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "threeDFrame" hinzu. + * + * @param threeDFrame + * Werte, die zur Eigenschaft "threeDFrame" hinzugefügt werden. + */ + public ListOfThreeDFrame.Builder<_B> addThreeDFrame(final Iterable threeDFrame) { + if (threeDFrame!= null) { + if (this.threeDFrame == null) { + this.threeDFrame = new ArrayList>>(); + } + for (ThreeDFrame _item: threeDFrame) { + this.threeDFrame.add(new ThreeDFrame.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDFrame" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param threeDFrame + * Neuer Wert der Eigenschaft "threeDFrame". + */ + public ListOfThreeDFrame.Builder<_B> withThreeDFrame(final Iterable threeDFrame) { + if (this.threeDFrame!= null) { + this.threeDFrame.clear(); + } + return addThreeDFrame(threeDFrame); + } + + /** + * Fügt Werte zur Eigenschaft "threeDFrame" hinzu. + * + * @param threeDFrame + * Werte, die zur Eigenschaft "threeDFrame" hinzugefügt werden. + */ + public ListOfThreeDFrame.Builder<_B> addThreeDFrame(ThreeDFrame... threeDFrame) { + addThreeDFrame(Arrays.asList(threeDFrame)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDFrame" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param threeDFrame + * Neuer Wert der Eigenschaft "threeDFrame". + */ + public ListOfThreeDFrame.Builder<_B> withThreeDFrame(ThreeDFrame... threeDFrame) { + withThreeDFrame(Arrays.asList(threeDFrame)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ThreeDFrame". + * Mit {@link org.opcfoundation.ua._2008._02.types.ThreeDFrame.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ThreeDFrame". + * Mit {@link org.opcfoundation.ua._2008._02.types.ThreeDFrame.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public ThreeDFrame.Builder> addThreeDFrame() { + if (this.threeDFrame == null) { + this.threeDFrame = new ArrayList>>(); + } + final ThreeDFrame.Builder> threeDFrame_Builder = new ThreeDFrame.Builder>(this, null, false); + this.threeDFrame.add(threeDFrame_Builder); + return threeDFrame_Builder; + } + + @Override + public ListOfThreeDFrame build() { + if (_storedValue == null) { + return this.init(new ListOfThreeDFrame()); + } else { + return ((ListOfThreeDFrame) _storedValue); + } + } + + public ListOfThreeDFrame.Builder<_B> copyOf(final ListOfThreeDFrame _other) { + _other.copyTo(this); + return this; + } + + public ListOfThreeDFrame.Builder<_B> copyOf(final ListOfThreeDFrame.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfThreeDFrame.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfThreeDFrame.Select _root() { + return new ListOfThreeDFrame.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ThreeDFrame.Selector> threeDFrame = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.threeDFrame!= null) { + products.put("threeDFrame", this.threeDFrame.init()); + } + return products; + } + + public ThreeDFrame.Selector> threeDFrame() { + return ((this.threeDFrame == null)?this.threeDFrame = new ThreeDFrame.Selector>(this._root, this, "threeDFrame"):this.threeDFrame); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDOrientation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDOrientation.java new file mode 100644 index 000000000..e4471f123 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDOrientation.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfThreeDOrientation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfThreeDOrientation">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ThreeDOrientation" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ThreeDOrientation" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfThreeDOrientation", propOrder = { + "threeDOrientation" +}) +public class ListOfThreeDOrientation { + + @XmlElement(name = "ThreeDOrientation", nillable = true) + protected List threeDOrientation; + + /** + * Gets the value of the threeDOrientation property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the threeDOrientation property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getThreeDOrientation().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ThreeDOrientation } + * + * + */ + public List getThreeDOrientation() { + if (threeDOrientation == null) { + threeDOrientation = new ArrayList(); + } + return this.threeDOrientation; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDOrientation.Builder<_B> _other) { + if (this.threeDOrientation == null) { + _other.threeDOrientation = null; + } else { + _other.threeDOrientation = new ArrayList>>(); + for (ThreeDOrientation _item: this.threeDOrientation) { + _other.threeDOrientation.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfThreeDOrientation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfThreeDOrientation.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfThreeDOrientation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfThreeDOrientation.Builder builder() { + return new ListOfThreeDOrientation.Builder(null, null, false); + } + + public static<_B >ListOfThreeDOrientation.Builder<_B> copyOf(final ListOfThreeDOrientation _other) { + final ListOfThreeDOrientation.Builder<_B> _newBuilder = new ListOfThreeDOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDOrientation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree threeDOrientationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDOrientation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDOrientationPropertyTree!= null):((threeDOrientationPropertyTree == null)||(!threeDOrientationPropertyTree.isLeaf())))) { + if (this.threeDOrientation == null) { + _other.threeDOrientation = null; + } else { + _other.threeDOrientation = new ArrayList>>(); + for (ThreeDOrientation _item: this.threeDOrientation) { + _other.threeDOrientation.add(((_item == null)?null:_item.newCopyBuilder(_other, threeDOrientationPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfThreeDOrientation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfThreeDOrientation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfThreeDOrientation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfThreeDOrientation.Builder<_B> copyOf(final ListOfThreeDOrientation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfThreeDOrientation.Builder<_B> _newBuilder = new ListOfThreeDOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfThreeDOrientation.Builder copyExcept(final ListOfThreeDOrientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfThreeDOrientation.Builder copyOnly(final ListOfThreeDOrientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfThreeDOrientation _storedValue; + private List>> threeDOrientation; + + public Builder(final _B _parentBuilder, final ListOfThreeDOrientation _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.threeDOrientation == null) { + this.threeDOrientation = null; + } else { + this.threeDOrientation = new ArrayList>>(); + for (ThreeDOrientation _item: _other.threeDOrientation) { + this.threeDOrientation.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfThreeDOrientation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree threeDOrientationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDOrientation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDOrientationPropertyTree!= null):((threeDOrientationPropertyTree == null)||(!threeDOrientationPropertyTree.isLeaf())))) { + if (_other.threeDOrientation == null) { + this.threeDOrientation = null; + } else { + this.threeDOrientation = new ArrayList>>(); + for (ThreeDOrientation _item: _other.threeDOrientation) { + this.threeDOrientation.add(((_item == null)?null:_item.newCopyBuilder(this, threeDOrientationPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfThreeDOrientation >_P init(final _P _product) { + if (this.threeDOrientation!= null) { + final List threeDOrientation = new ArrayList(this.threeDOrientation.size()); + for (ThreeDOrientation.Builder> _item: this.threeDOrientation) { + threeDOrientation.add(_item.build()); + } + _product.threeDOrientation = threeDOrientation; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "threeDOrientation" hinzu. + * + * @param threeDOrientation + * Werte, die zur Eigenschaft "threeDOrientation" hinzugefügt werden. + */ + public ListOfThreeDOrientation.Builder<_B> addThreeDOrientation(final Iterable threeDOrientation) { + if (threeDOrientation!= null) { + if (this.threeDOrientation == null) { + this.threeDOrientation = new ArrayList>>(); + } + for (ThreeDOrientation _item: threeDOrientation) { + this.threeDOrientation.add(new ThreeDOrientation.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDOrientation" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param threeDOrientation + * Neuer Wert der Eigenschaft "threeDOrientation". + */ + public ListOfThreeDOrientation.Builder<_B> withThreeDOrientation(final Iterable threeDOrientation) { + if (this.threeDOrientation!= null) { + this.threeDOrientation.clear(); + } + return addThreeDOrientation(threeDOrientation); + } + + /** + * Fügt Werte zur Eigenschaft "threeDOrientation" hinzu. + * + * @param threeDOrientation + * Werte, die zur Eigenschaft "threeDOrientation" hinzugefügt werden. + */ + public ListOfThreeDOrientation.Builder<_B> addThreeDOrientation(ThreeDOrientation... threeDOrientation) { + addThreeDOrientation(Arrays.asList(threeDOrientation)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDOrientation" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param threeDOrientation + * Neuer Wert der Eigenschaft "threeDOrientation". + */ + public ListOfThreeDOrientation.Builder<_B> withThreeDOrientation(ThreeDOrientation... threeDOrientation) { + withThreeDOrientation(Arrays.asList(threeDOrientation)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ThreeDOrientation". + * Mit {@link org.opcfoundation.ua._2008._02.types.ThreeDOrientation.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ThreeDOrientation". + * Mit {@link org.opcfoundation.ua._2008._02.types.ThreeDOrientation.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ThreeDOrientation.Builder> addThreeDOrientation() { + if (this.threeDOrientation == null) { + this.threeDOrientation = new ArrayList>>(); + } + final ThreeDOrientation.Builder> threeDOrientation_Builder = new ThreeDOrientation.Builder>(this, null, false); + this.threeDOrientation.add(threeDOrientation_Builder); + return threeDOrientation_Builder; + } + + @Override + public ListOfThreeDOrientation build() { + if (_storedValue == null) { + return this.init(new ListOfThreeDOrientation()); + } else { + return ((ListOfThreeDOrientation) _storedValue); + } + } + + public ListOfThreeDOrientation.Builder<_B> copyOf(final ListOfThreeDOrientation _other) { + _other.copyTo(this); + return this; + } + + public ListOfThreeDOrientation.Builder<_B> copyOf(final ListOfThreeDOrientation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfThreeDOrientation.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfThreeDOrientation.Select _root() { + return new ListOfThreeDOrientation.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ThreeDOrientation.Selector> threeDOrientation = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.threeDOrientation!= null) { + products.put("threeDOrientation", this.threeDOrientation.init()); + } + return products; + } + + public ThreeDOrientation.Selector> threeDOrientation() { + return ((this.threeDOrientation == null)?this.threeDOrientation = new ThreeDOrientation.Selector>(this._root, this, "threeDOrientation"):this.threeDOrientation); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDVector.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDVector.java new file mode 100644 index 000000000..773aee47f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfThreeDVector.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfThreeDVector complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfThreeDVector">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ThreeDVector" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ThreeDVector" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfThreeDVector", propOrder = { + "threeDVector" +}) +public class ListOfThreeDVector { + + @XmlElement(name = "ThreeDVector", nillable = true) + protected List threeDVector; + + /** + * Gets the value of the threeDVector property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the threeDVector property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getThreeDVector().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ThreeDVector } + * + * + */ + public List getThreeDVector() { + if (threeDVector == null) { + threeDVector = new ArrayList(); + } + return this.threeDVector; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDVector.Builder<_B> _other) { + if (this.threeDVector == null) { + _other.threeDVector = null; + } else { + _other.threeDVector = new ArrayList>>(); + for (ThreeDVector _item: this.threeDVector) { + _other.threeDVector.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfThreeDVector.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfThreeDVector.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfThreeDVector.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfThreeDVector.Builder builder() { + return new ListOfThreeDVector.Builder(null, null, false); + } + + public static<_B >ListOfThreeDVector.Builder<_B> copyOf(final ListOfThreeDVector _other) { + final ListOfThreeDVector.Builder<_B> _newBuilder = new ListOfThreeDVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfThreeDVector.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree threeDVectorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDVector")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDVectorPropertyTree!= null):((threeDVectorPropertyTree == null)||(!threeDVectorPropertyTree.isLeaf())))) { + if (this.threeDVector == null) { + _other.threeDVector = null; + } else { + _other.threeDVector = new ArrayList>>(); + for (ThreeDVector _item: this.threeDVector) { + _other.threeDVector.add(((_item == null)?null:_item.newCopyBuilder(_other, threeDVectorPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfThreeDVector.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfThreeDVector.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfThreeDVector.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfThreeDVector.Builder<_B> copyOf(final ListOfThreeDVector _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfThreeDVector.Builder<_B> _newBuilder = new ListOfThreeDVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfThreeDVector.Builder copyExcept(final ListOfThreeDVector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfThreeDVector.Builder copyOnly(final ListOfThreeDVector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfThreeDVector _storedValue; + private List>> threeDVector; + + public Builder(final _B _parentBuilder, final ListOfThreeDVector _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.threeDVector == null) { + this.threeDVector = null; + } else { + this.threeDVector = new ArrayList>>(); + for (ThreeDVector _item: _other.threeDVector) { + this.threeDVector.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfThreeDVector _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree threeDVectorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("threeDVector")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(threeDVectorPropertyTree!= null):((threeDVectorPropertyTree == null)||(!threeDVectorPropertyTree.isLeaf())))) { + if (_other.threeDVector == null) { + this.threeDVector = null; + } else { + this.threeDVector = new ArrayList>>(); + for (ThreeDVector _item: _other.threeDVector) { + this.threeDVector.add(((_item == null)?null:_item.newCopyBuilder(this, threeDVectorPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfThreeDVector >_P init(final _P _product) { + if (this.threeDVector!= null) { + final List threeDVector = new ArrayList(this.threeDVector.size()); + for (ThreeDVector.Builder> _item: this.threeDVector) { + threeDVector.add(_item.build()); + } + _product.threeDVector = threeDVector; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "threeDVector" hinzu. + * + * @param threeDVector + * Werte, die zur Eigenschaft "threeDVector" hinzugefügt werden. + */ + public ListOfThreeDVector.Builder<_B> addThreeDVector(final Iterable threeDVector) { + if (threeDVector!= null) { + if (this.threeDVector == null) { + this.threeDVector = new ArrayList>>(); + } + for (ThreeDVector _item: threeDVector) { + this.threeDVector.add(new ThreeDVector.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDVector" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param threeDVector + * Neuer Wert der Eigenschaft "threeDVector". + */ + public ListOfThreeDVector.Builder<_B> withThreeDVector(final Iterable threeDVector) { + if (this.threeDVector!= null) { + this.threeDVector.clear(); + } + return addThreeDVector(threeDVector); + } + + /** + * Fügt Werte zur Eigenschaft "threeDVector" hinzu. + * + * @param threeDVector + * Werte, die zur Eigenschaft "threeDVector" hinzugefügt werden. + */ + public ListOfThreeDVector.Builder<_B> addThreeDVector(ThreeDVector... threeDVector) { + addThreeDVector(Arrays.asList(threeDVector)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "threeDVector" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param threeDVector + * Neuer Wert der Eigenschaft "threeDVector". + */ + public ListOfThreeDVector.Builder<_B> withThreeDVector(ThreeDVector... threeDVector) { + withThreeDVector(Arrays.asList(threeDVector)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "ThreeDVector". + * Mit {@link org.opcfoundation.ua._2008._02.types.ThreeDVector.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "ThreeDVector". + * Mit {@link org.opcfoundation.ua._2008._02.types.ThreeDVector.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public ThreeDVector.Builder> addThreeDVector() { + if (this.threeDVector == null) { + this.threeDVector = new ArrayList>>(); + } + final ThreeDVector.Builder> threeDVector_Builder = new ThreeDVector.Builder>(this, null, false); + this.threeDVector.add(threeDVector_Builder); + return threeDVector_Builder; + } + + @Override + public ListOfThreeDVector build() { + if (_storedValue == null) { + return this.init(new ListOfThreeDVector()); + } else { + return ((ListOfThreeDVector) _storedValue); + } + } + + public ListOfThreeDVector.Builder<_B> copyOf(final ListOfThreeDVector _other) { + _other.copyTo(this); + return this; + } + + public ListOfThreeDVector.Builder<_B> copyOf(final ListOfThreeDVector.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfThreeDVector.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfThreeDVector.Select _root() { + return new ListOfThreeDVector.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ThreeDVector.Selector> threeDVector = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.threeDVector!= null) { + products.put("threeDVector", this.threeDVector.init()); + } + return products; + } + + public ThreeDVector.Selector> threeDVector() { + return ((this.threeDVector == null)?this.threeDVector = new ThreeDVector.Selector>(this._root, this, "threeDVector"):this.threeDVector); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTimeZoneDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTimeZoneDataType.java new file mode 100644 index 000000000..02b98f5dd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTimeZoneDataType.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfTimeZoneDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfTimeZoneDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TimeZoneDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TimeZoneDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfTimeZoneDataType", propOrder = { + "timeZoneDataType" +}) +public class ListOfTimeZoneDataType { + + @XmlElement(name = "TimeZoneDataType", nillable = true) + protected List timeZoneDataType; + + /** + * Gets the value of the timeZoneDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the timeZoneDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTimeZoneDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TimeZoneDataType } + * + * + */ + public List getTimeZoneDataType() { + if (timeZoneDataType == null) { + timeZoneDataType = new ArrayList(); + } + return this.timeZoneDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTimeZoneDataType.Builder<_B> _other) { + if (this.timeZoneDataType == null) { + _other.timeZoneDataType = null; + } else { + _other.timeZoneDataType = new ArrayList>>(); + for (TimeZoneDataType _item: this.timeZoneDataType) { + _other.timeZoneDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfTimeZoneDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfTimeZoneDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfTimeZoneDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfTimeZoneDataType.Builder builder() { + return new ListOfTimeZoneDataType.Builder(null, null, false); + } + + public static<_B >ListOfTimeZoneDataType.Builder<_B> copyOf(final ListOfTimeZoneDataType _other) { + final ListOfTimeZoneDataType.Builder<_B> _newBuilder = new ListOfTimeZoneDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTimeZoneDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree timeZoneDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timeZoneDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timeZoneDataTypePropertyTree!= null):((timeZoneDataTypePropertyTree == null)||(!timeZoneDataTypePropertyTree.isLeaf())))) { + if (this.timeZoneDataType == null) { + _other.timeZoneDataType = null; + } else { + _other.timeZoneDataType = new ArrayList>>(); + for (TimeZoneDataType _item: this.timeZoneDataType) { + _other.timeZoneDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, timeZoneDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfTimeZoneDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfTimeZoneDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfTimeZoneDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfTimeZoneDataType.Builder<_B> copyOf(final ListOfTimeZoneDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfTimeZoneDataType.Builder<_B> _newBuilder = new ListOfTimeZoneDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfTimeZoneDataType.Builder copyExcept(final ListOfTimeZoneDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfTimeZoneDataType.Builder copyOnly(final ListOfTimeZoneDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfTimeZoneDataType _storedValue; + private List>> timeZoneDataType; + + public Builder(final _B _parentBuilder, final ListOfTimeZoneDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.timeZoneDataType == null) { + this.timeZoneDataType = null; + } else { + this.timeZoneDataType = new ArrayList>>(); + for (TimeZoneDataType _item: _other.timeZoneDataType) { + this.timeZoneDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfTimeZoneDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree timeZoneDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timeZoneDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timeZoneDataTypePropertyTree!= null):((timeZoneDataTypePropertyTree == null)||(!timeZoneDataTypePropertyTree.isLeaf())))) { + if (_other.timeZoneDataType == null) { + this.timeZoneDataType = null; + } else { + this.timeZoneDataType = new ArrayList>>(); + for (TimeZoneDataType _item: _other.timeZoneDataType) { + this.timeZoneDataType.add(((_item == null)?null:_item.newCopyBuilder(this, timeZoneDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfTimeZoneDataType >_P init(final _P _product) { + if (this.timeZoneDataType!= null) { + final List timeZoneDataType = new ArrayList(this.timeZoneDataType.size()); + for (TimeZoneDataType.Builder> _item: this.timeZoneDataType) { + timeZoneDataType.add(_item.build()); + } + _product.timeZoneDataType = timeZoneDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "timeZoneDataType" hinzu. + * + * @param timeZoneDataType + * Werte, die zur Eigenschaft "timeZoneDataType" hinzugefügt werden. + */ + public ListOfTimeZoneDataType.Builder<_B> addTimeZoneDataType(final Iterable timeZoneDataType) { + if (timeZoneDataType!= null) { + if (this.timeZoneDataType == null) { + this.timeZoneDataType = new ArrayList>>(); + } + for (TimeZoneDataType _item: timeZoneDataType) { + this.timeZoneDataType.add(new TimeZoneDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timeZoneDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param timeZoneDataType + * Neuer Wert der Eigenschaft "timeZoneDataType". + */ + public ListOfTimeZoneDataType.Builder<_B> withTimeZoneDataType(final Iterable timeZoneDataType) { + if (this.timeZoneDataType!= null) { + this.timeZoneDataType.clear(); + } + return addTimeZoneDataType(timeZoneDataType); + } + + /** + * Fügt Werte zur Eigenschaft "timeZoneDataType" hinzu. + * + * @param timeZoneDataType + * Werte, die zur Eigenschaft "timeZoneDataType" hinzugefügt werden. + */ + public ListOfTimeZoneDataType.Builder<_B> addTimeZoneDataType(TimeZoneDataType... timeZoneDataType) { + addTimeZoneDataType(Arrays.asList(timeZoneDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timeZoneDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param timeZoneDataType + * Neuer Wert der Eigenschaft "timeZoneDataType". + */ + public ListOfTimeZoneDataType.Builder<_B> withTimeZoneDataType(TimeZoneDataType... timeZoneDataType) { + withTimeZoneDataType(Arrays.asList(timeZoneDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "TimeZoneDataType". + * Mit {@link org.opcfoundation.ua._2008._02.types.TimeZoneDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "TimeZoneDataType". + * Mit {@link org.opcfoundation.ua._2008._02.types.TimeZoneDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public TimeZoneDataType.Builder> addTimeZoneDataType() { + if (this.timeZoneDataType == null) { + this.timeZoneDataType = new ArrayList>>(); + } + final TimeZoneDataType.Builder> timeZoneDataType_Builder = new TimeZoneDataType.Builder>(this, null, false); + this.timeZoneDataType.add(timeZoneDataType_Builder); + return timeZoneDataType_Builder; + } + + @Override + public ListOfTimeZoneDataType build() { + if (_storedValue == null) { + return this.init(new ListOfTimeZoneDataType()); + } else { + return ((ListOfTimeZoneDataType) _storedValue); + } + } + + public ListOfTimeZoneDataType.Builder<_B> copyOf(final ListOfTimeZoneDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfTimeZoneDataType.Builder<_B> copyOf(final ListOfTimeZoneDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfTimeZoneDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfTimeZoneDataType.Select _root() { + return new ListOfTimeZoneDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private TimeZoneDataType.Selector> timeZoneDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.timeZoneDataType!= null) { + products.put("timeZoneDataType", this.timeZoneDataType.init()); + } + return products; + } + + public TimeZoneDataType.Selector> timeZoneDataType() { + return ((this.timeZoneDataType == null)?this.timeZoneDataType = new TimeZoneDataType.Selector>(this._root, this, "timeZoneDataType"):this.timeZoneDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTransferResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTransferResult.java new file mode 100644 index 000000000..ec0017c05 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTransferResult.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfTransferResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfTransferResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TransferResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TransferResult" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfTransferResult", propOrder = { + "transferResult" +}) +public class ListOfTransferResult { + + @XmlElement(name = "TransferResult", nillable = true) + protected List transferResult; + + /** + * Gets the value of the transferResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the transferResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTransferResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TransferResult } + * + * + */ + public List getTransferResult() { + if (transferResult == null) { + transferResult = new ArrayList(); + } + return this.transferResult; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTransferResult.Builder<_B> _other) { + if (this.transferResult == null) { + _other.transferResult = null; + } else { + _other.transferResult = new ArrayList>>(); + for (TransferResult _item: this.transferResult) { + _other.transferResult.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfTransferResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfTransferResult.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfTransferResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfTransferResult.Builder builder() { + return new ListOfTransferResult.Builder(null, null, false); + } + + public static<_B >ListOfTransferResult.Builder<_B> copyOf(final ListOfTransferResult _other) { + final ListOfTransferResult.Builder<_B> _newBuilder = new ListOfTransferResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTransferResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree transferResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferResultPropertyTree!= null):((transferResultPropertyTree == null)||(!transferResultPropertyTree.isLeaf())))) { + if (this.transferResult == null) { + _other.transferResult = null; + } else { + _other.transferResult = new ArrayList>>(); + for (TransferResult _item: this.transferResult) { + _other.transferResult.add(((_item == null)?null:_item.newCopyBuilder(_other, transferResultPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfTransferResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfTransferResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfTransferResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfTransferResult.Builder<_B> copyOf(final ListOfTransferResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfTransferResult.Builder<_B> _newBuilder = new ListOfTransferResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfTransferResult.Builder copyExcept(final ListOfTransferResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfTransferResult.Builder copyOnly(final ListOfTransferResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfTransferResult _storedValue; + private List>> transferResult; + + public Builder(final _B _parentBuilder, final ListOfTransferResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.transferResult == null) { + this.transferResult = null; + } else { + this.transferResult = new ArrayList>>(); + for (TransferResult _item: _other.transferResult) { + this.transferResult.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfTransferResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree transferResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferResultPropertyTree!= null):((transferResultPropertyTree == null)||(!transferResultPropertyTree.isLeaf())))) { + if (_other.transferResult == null) { + this.transferResult = null; + } else { + this.transferResult = new ArrayList>>(); + for (TransferResult _item: _other.transferResult) { + this.transferResult.add(((_item == null)?null:_item.newCopyBuilder(this, transferResultPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfTransferResult >_P init(final _P _product) { + if (this.transferResult!= null) { + final List transferResult = new ArrayList(this.transferResult.size()); + for (TransferResult.Builder> _item: this.transferResult) { + transferResult.add(_item.build()); + } + _product.transferResult = transferResult; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "transferResult" hinzu. + * + * @param transferResult + * Werte, die zur Eigenschaft "transferResult" hinzugefügt werden. + */ + public ListOfTransferResult.Builder<_B> addTransferResult(final Iterable transferResult) { + if (transferResult!= null) { + if (this.transferResult == null) { + this.transferResult = new ArrayList>>(); + } + for (TransferResult _item: transferResult) { + this.transferResult.add(new TransferResult.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transferResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param transferResult + * Neuer Wert der Eigenschaft "transferResult". + */ + public ListOfTransferResult.Builder<_B> withTransferResult(final Iterable transferResult) { + if (this.transferResult!= null) { + this.transferResult.clear(); + } + return addTransferResult(transferResult); + } + + /** + * Fügt Werte zur Eigenschaft "transferResult" hinzu. + * + * @param transferResult + * Werte, die zur Eigenschaft "transferResult" hinzugefügt werden. + */ + public ListOfTransferResult.Builder<_B> addTransferResult(TransferResult... transferResult) { + addTransferResult(Arrays.asList(transferResult)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transferResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param transferResult + * Neuer Wert der Eigenschaft "transferResult". + */ + public ListOfTransferResult.Builder<_B> withTransferResult(TransferResult... transferResult) { + withTransferResult(Arrays.asList(transferResult)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "TransferResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.TransferResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "TransferResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.TransferResult.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public TransferResult.Builder> addTransferResult() { + if (this.transferResult == null) { + this.transferResult = new ArrayList>>(); + } + final TransferResult.Builder> transferResult_Builder = new TransferResult.Builder>(this, null, false); + this.transferResult.add(transferResult_Builder); + return transferResult_Builder; + } + + @Override + public ListOfTransferResult build() { + if (_storedValue == null) { + return this.init(new ListOfTransferResult()); + } else { + return ((ListOfTransferResult) _storedValue); + } + } + + public ListOfTransferResult.Builder<_B> copyOf(final ListOfTransferResult _other) { + _other.copyTo(this); + return this; + } + + public ListOfTransferResult.Builder<_B> copyOf(final ListOfTransferResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfTransferResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfTransferResult.Select _root() { + return new ListOfTransferResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private TransferResult.Selector> transferResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.transferResult!= null) { + products.put("transferResult", this.transferResult.init()); + } + return products; + } + + public TransferResult.Selector> transferResult() { + return ((this.transferResult == null)?this.transferResult = new TransferResult.Selector>(this._root, this, "transferResult"):this.transferResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTrustListDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTrustListDataType.java new file mode 100644 index 000000000..2f17183bc --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfTrustListDataType.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfTrustListDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfTrustListDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TrustListDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TrustListDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfTrustListDataType", propOrder = { + "trustListDataType" +}) +public class ListOfTrustListDataType { + + @XmlElement(name = "TrustListDataType", nillable = true) + protected List trustListDataType; + + /** + * Gets the value of the trustListDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the trustListDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTrustListDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TrustListDataType } + * + * + */ + public List getTrustListDataType() { + if (trustListDataType == null) { + trustListDataType = new ArrayList(); + } + return this.trustListDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTrustListDataType.Builder<_B> _other) { + if (this.trustListDataType == null) { + _other.trustListDataType = null; + } else { + _other.trustListDataType = new ArrayList>>(); + for (TrustListDataType _item: this.trustListDataType) { + _other.trustListDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfTrustListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfTrustListDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfTrustListDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfTrustListDataType.Builder builder() { + return new ListOfTrustListDataType.Builder(null, null, false); + } + + public static<_B >ListOfTrustListDataType.Builder<_B> copyOf(final ListOfTrustListDataType _other) { + final ListOfTrustListDataType.Builder<_B> _newBuilder = new ListOfTrustListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfTrustListDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree trustListDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trustListDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(trustListDataTypePropertyTree!= null):((trustListDataTypePropertyTree == null)||(!trustListDataTypePropertyTree.isLeaf())))) { + if (this.trustListDataType == null) { + _other.trustListDataType = null; + } else { + _other.trustListDataType = new ArrayList>>(); + for (TrustListDataType _item: this.trustListDataType) { + _other.trustListDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, trustListDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfTrustListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfTrustListDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfTrustListDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfTrustListDataType.Builder<_B> copyOf(final ListOfTrustListDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfTrustListDataType.Builder<_B> _newBuilder = new ListOfTrustListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfTrustListDataType.Builder copyExcept(final ListOfTrustListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfTrustListDataType.Builder copyOnly(final ListOfTrustListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfTrustListDataType _storedValue; + private List>> trustListDataType; + + public Builder(final _B _parentBuilder, final ListOfTrustListDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.trustListDataType == null) { + this.trustListDataType = null; + } else { + this.trustListDataType = new ArrayList>>(); + for (TrustListDataType _item: _other.trustListDataType) { + this.trustListDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfTrustListDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree trustListDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trustListDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(trustListDataTypePropertyTree!= null):((trustListDataTypePropertyTree == null)||(!trustListDataTypePropertyTree.isLeaf())))) { + if (_other.trustListDataType == null) { + this.trustListDataType = null; + } else { + this.trustListDataType = new ArrayList>>(); + for (TrustListDataType _item: _other.trustListDataType) { + this.trustListDataType.add(((_item == null)?null:_item.newCopyBuilder(this, trustListDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfTrustListDataType >_P init(final _P _product) { + if (this.trustListDataType!= null) { + final List trustListDataType = new ArrayList(this.trustListDataType.size()); + for (TrustListDataType.Builder> _item: this.trustListDataType) { + trustListDataType.add(_item.build()); + } + _product.trustListDataType = trustListDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "trustListDataType" hinzu. + * + * @param trustListDataType + * Werte, die zur Eigenschaft "trustListDataType" hinzugefügt werden. + */ + public ListOfTrustListDataType.Builder<_B> addTrustListDataType(final Iterable trustListDataType) { + if (trustListDataType!= null) { + if (this.trustListDataType == null) { + this.trustListDataType = new ArrayList>>(); + } + for (TrustListDataType _item: trustListDataType) { + this.trustListDataType.add(new TrustListDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "trustListDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param trustListDataType + * Neuer Wert der Eigenschaft "trustListDataType". + */ + public ListOfTrustListDataType.Builder<_B> withTrustListDataType(final Iterable trustListDataType) { + if (this.trustListDataType!= null) { + this.trustListDataType.clear(); + } + return addTrustListDataType(trustListDataType); + } + + /** + * Fügt Werte zur Eigenschaft "trustListDataType" hinzu. + * + * @param trustListDataType + * Werte, die zur Eigenschaft "trustListDataType" hinzugefügt werden. + */ + public ListOfTrustListDataType.Builder<_B> addTrustListDataType(TrustListDataType... trustListDataType) { + addTrustListDataType(Arrays.asList(trustListDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "trustListDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param trustListDataType + * Neuer Wert der Eigenschaft "trustListDataType". + */ + public ListOfTrustListDataType.Builder<_B> withTrustListDataType(TrustListDataType... trustListDataType) { + withTrustListDataType(Arrays.asList(trustListDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "TrustListDataType". + * Mit {@link org.opcfoundation.ua._2008._02.types.TrustListDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "TrustListDataType". + * Mit {@link org.opcfoundation.ua._2008._02.types.TrustListDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public TrustListDataType.Builder> addTrustListDataType() { + if (this.trustListDataType == null) { + this.trustListDataType = new ArrayList>>(); + } + final TrustListDataType.Builder> trustListDataType_Builder = new TrustListDataType.Builder>(this, null, false); + this.trustListDataType.add(trustListDataType_Builder); + return trustListDataType_Builder; + } + + @Override + public ListOfTrustListDataType build() { + if (_storedValue == null) { + return this.init(new ListOfTrustListDataType()); + } else { + return ((ListOfTrustListDataType) _storedValue); + } + } + + public ListOfTrustListDataType.Builder<_B> copyOf(final ListOfTrustListDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfTrustListDataType.Builder<_B> copyOf(final ListOfTrustListDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfTrustListDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfTrustListDataType.Select _root() { + return new ListOfTrustListDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private TrustListDataType.Selector> trustListDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.trustListDataType!= null) { + products.put("trustListDataType", this.trustListDataType.init()); + } + return products; + } + + public TrustListDataType.Selector> trustListDataType() { + return ((this.trustListDataType == null)?this.trustListDataType = new TrustListDataType.Selector>(this._root, this, "trustListDataType"):this.trustListDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUABinaryFileDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUABinaryFileDataType.java new file mode 100644 index 000000000..8b927e860 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUABinaryFileDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUABinaryFileDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUABinaryFileDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UABinaryFileDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UABinaryFileDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUABinaryFileDataType", propOrder = { + "uaBinaryFileDataType" +}) +public class ListOfUABinaryFileDataType { + + @XmlElement(name = "UABinaryFileDataType", nillable = true) + protected List uaBinaryFileDataType; + + /** + * Gets the value of the uaBinaryFileDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uaBinaryFileDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUABinaryFileDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UABinaryFileDataType } + * + * + */ + public List getUABinaryFileDataType() { + if (uaBinaryFileDataType == null) { + uaBinaryFileDataType = new ArrayList(); + } + return this.uaBinaryFileDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUABinaryFileDataType.Builder<_B> _other) { + if (this.uaBinaryFileDataType == null) { + _other.uaBinaryFileDataType = null; + } else { + _other.uaBinaryFileDataType = new ArrayList>>(); + for (UABinaryFileDataType _item: this.uaBinaryFileDataType) { + _other.uaBinaryFileDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfUABinaryFileDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUABinaryFileDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUABinaryFileDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUABinaryFileDataType.Builder builder() { + return new ListOfUABinaryFileDataType.Builder(null, null, false); + } + + public static<_B >ListOfUABinaryFileDataType.Builder<_B> copyOf(final ListOfUABinaryFileDataType _other) { + final ListOfUABinaryFileDataType.Builder<_B> _newBuilder = new ListOfUABinaryFileDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUABinaryFileDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uaBinaryFileDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uaBinaryFileDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uaBinaryFileDataTypePropertyTree!= null):((uaBinaryFileDataTypePropertyTree == null)||(!uaBinaryFileDataTypePropertyTree.isLeaf())))) { + if (this.uaBinaryFileDataType == null) { + _other.uaBinaryFileDataType = null; + } else { + _other.uaBinaryFileDataType = new ArrayList>>(); + for (UABinaryFileDataType _item: this.uaBinaryFileDataType) { + _other.uaBinaryFileDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, uaBinaryFileDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfUABinaryFileDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUABinaryFileDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUABinaryFileDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUABinaryFileDataType.Builder<_B> copyOf(final ListOfUABinaryFileDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUABinaryFileDataType.Builder<_B> _newBuilder = new ListOfUABinaryFileDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUABinaryFileDataType.Builder copyExcept(final ListOfUABinaryFileDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUABinaryFileDataType.Builder copyOnly(final ListOfUABinaryFileDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUABinaryFileDataType _storedValue; + private List>> uaBinaryFileDataType; + + public Builder(final _B _parentBuilder, final ListOfUABinaryFileDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uaBinaryFileDataType == null) { + this.uaBinaryFileDataType = null; + } else { + this.uaBinaryFileDataType = new ArrayList>>(); + for (UABinaryFileDataType _item: _other.uaBinaryFileDataType) { + this.uaBinaryFileDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUABinaryFileDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uaBinaryFileDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uaBinaryFileDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uaBinaryFileDataTypePropertyTree!= null):((uaBinaryFileDataTypePropertyTree == null)||(!uaBinaryFileDataTypePropertyTree.isLeaf())))) { + if (_other.uaBinaryFileDataType == null) { + this.uaBinaryFileDataType = null; + } else { + this.uaBinaryFileDataType = new ArrayList>>(); + for (UABinaryFileDataType _item: _other.uaBinaryFileDataType) { + this.uaBinaryFileDataType.add(((_item == null)?null:_item.newCopyBuilder(this, uaBinaryFileDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUABinaryFileDataType >_P init(final _P _product) { + if (this.uaBinaryFileDataType!= null) { + final List uaBinaryFileDataType = new ArrayList(this.uaBinaryFileDataType.size()); + for (UABinaryFileDataType.Builder> _item: this.uaBinaryFileDataType) { + uaBinaryFileDataType.add(_item.build()); + } + _product.uaBinaryFileDataType = uaBinaryFileDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uaBinaryFileDataType" hinzu. + * + * @param uaBinaryFileDataType + * Werte, die zur Eigenschaft "uaBinaryFileDataType" hinzugefügt werden. + */ + public ListOfUABinaryFileDataType.Builder<_B> addUABinaryFileDataType(final Iterable uaBinaryFileDataType) { + if (uaBinaryFileDataType!= null) { + if (this.uaBinaryFileDataType == null) { + this.uaBinaryFileDataType = new ArrayList>>(); + } + for (UABinaryFileDataType _item: uaBinaryFileDataType) { + this.uaBinaryFileDataType.add(new UABinaryFileDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uaBinaryFileDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param uaBinaryFileDataType + * Neuer Wert der Eigenschaft "uaBinaryFileDataType". + */ + public ListOfUABinaryFileDataType.Builder<_B> withUABinaryFileDataType(final Iterable uaBinaryFileDataType) { + if (this.uaBinaryFileDataType!= null) { + this.uaBinaryFileDataType.clear(); + } + return addUABinaryFileDataType(uaBinaryFileDataType); + } + + /** + * Fügt Werte zur Eigenschaft "uaBinaryFileDataType" hinzu. + * + * @param uaBinaryFileDataType + * Werte, die zur Eigenschaft "uaBinaryFileDataType" hinzugefügt werden. + */ + public ListOfUABinaryFileDataType.Builder<_B> addUABinaryFileDataType(UABinaryFileDataType... uaBinaryFileDataType) { + addUABinaryFileDataType(Arrays.asList(uaBinaryFileDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uaBinaryFileDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param uaBinaryFileDataType + * Neuer Wert der Eigenschaft "uaBinaryFileDataType". + */ + public ListOfUABinaryFileDataType.Builder<_B> withUABinaryFileDataType(UABinaryFileDataType... uaBinaryFileDataType) { + withUABinaryFileDataType(Arrays.asList(uaBinaryFileDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "UABinaryFileDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UABinaryFileDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "UABinaryFileDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UABinaryFileDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public UABinaryFileDataType.Builder> addUABinaryFileDataType() { + if (this.uaBinaryFileDataType == null) { + this.uaBinaryFileDataType = new ArrayList>>(); + } + final UABinaryFileDataType.Builder> uaBinaryFileDataType_Builder = new UABinaryFileDataType.Builder>(this, null, false); + this.uaBinaryFileDataType.add(uaBinaryFileDataType_Builder); + return uaBinaryFileDataType_Builder; + } + + @Override + public ListOfUABinaryFileDataType build() { + if (_storedValue == null) { + return this.init(new ListOfUABinaryFileDataType()); + } else { + return ((ListOfUABinaryFileDataType) _storedValue); + } + } + + public ListOfUABinaryFileDataType.Builder<_B> copyOf(final ListOfUABinaryFileDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfUABinaryFileDataType.Builder<_B> copyOf(final ListOfUABinaryFileDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUABinaryFileDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUABinaryFileDataType.Select _root() { + return new ListOfUABinaryFileDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private UABinaryFileDataType.Selector> uaBinaryFileDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uaBinaryFileDataType!= null) { + products.put("uaBinaryFileDataType", this.uaBinaryFileDataType.init()); + } + return products; + } + + public UABinaryFileDataType.Selector> uaBinaryFileDataType() { + return ((this.uaBinaryFileDataType == null)?this.uaBinaryFileDataType = new UABinaryFileDataType.Selector>(this._root, this, "uaBinaryFileDataType"):this.uaBinaryFileDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt16.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt16.java new file mode 100644 index 000000000..937ad819b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt16.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUInt16 complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUInt16">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UInt16" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUInt16", propOrder = { + "uInt16" +}) +public class ListOfUInt16 { + + @XmlElement(name = "UInt16", type = Integer.class) + @XmlSchemaType(name = "unsignedShort") + protected List uInt16; + + /** + * Gets the value of the uInt16 property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uInt16 property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUInt16().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Integer } + * + * + */ + public List getUInt16() { + if (uInt16 == null) { + uInt16 = new ArrayList(); + } + return this.uInt16; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUInt16 .Builder<_B> _other) { + if (this.uInt16 == null) { + _other.uInt16 = null; + } else { + _other.uInt16 = new ArrayList(); + for (Integer _item: this.uInt16) { + _other.uInt16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfUInt16 .Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUInt16 .Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUInt16 .Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUInt16 .Builder builder() { + return new ListOfUInt16 .Builder(null, null, false); + } + + public static<_B >ListOfUInt16 .Builder<_B> copyOf(final ListOfUInt16 _other) { + final ListOfUInt16 .Builder<_B> _newBuilder = new ListOfUInt16 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUInt16 .Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uInt16PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uInt16")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uInt16PropertyTree!= null):((uInt16PropertyTree == null)||(!uInt16PropertyTree.isLeaf())))) { + if (this.uInt16 == null) { + _other.uInt16 = null; + } else { + _other.uInt16 = new ArrayList(); + for (Integer _item: this.uInt16) { + _other.uInt16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfUInt16 .Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUInt16 .Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUInt16 .Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUInt16 .Builder<_B> copyOf(final ListOfUInt16 _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUInt16 .Builder<_B> _newBuilder = new ListOfUInt16 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUInt16 .Builder copyExcept(final ListOfUInt16 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUInt16 .Builder copyOnly(final ListOfUInt16 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUInt16 _storedValue; + private List uInt16; + + public Builder(final _B _parentBuilder, final ListOfUInt16 _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uInt16 == null) { + this.uInt16 = null; + } else { + this.uInt16 = new ArrayList(); + for (Integer _item: _other.uInt16) { + this.uInt16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUInt16 _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uInt16PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uInt16")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uInt16PropertyTree!= null):((uInt16PropertyTree == null)||(!uInt16PropertyTree.isLeaf())))) { + if (_other.uInt16 == null) { + this.uInt16 = null; + } else { + this.uInt16 = new ArrayList(); + for (Integer _item: _other.uInt16) { + this.uInt16 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUInt16 >_P init(final _P _product) { + if (this.uInt16 != null) { + final List uInt16 = new ArrayList(this.uInt16 .size()); + for (Buildable _item: this.uInt16) { + uInt16 .add(((Integer) _item.build())); + } + _product.uInt16 = uInt16; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uInt16" hinzu. + * + * @param uInt16 + * Werte, die zur Eigenschaft "uInt16" hinzugefügt werden. + */ + public ListOfUInt16 .Builder<_B> addUInt16(final Iterable uInt16) { + if (uInt16 != null) { + if (this.uInt16 == null) { + this.uInt16 = new ArrayList(); + } + for (Integer _item: uInt16) { + this.uInt16 .add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uInt16" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param uInt16 + * Neuer Wert der Eigenschaft "uInt16". + */ + public ListOfUInt16 .Builder<_B> withUInt16(final Iterable uInt16) { + if (this.uInt16 != null) { + this.uInt16 .clear(); + } + return addUInt16(uInt16); + } + + /** + * Fügt Werte zur Eigenschaft "uInt16" hinzu. + * + * @param uInt16 + * Werte, die zur Eigenschaft "uInt16" hinzugefügt werden. + */ + public ListOfUInt16 .Builder<_B> addUInt16(Integer... uInt16) { + addUInt16(Arrays.asList(uInt16)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uInt16" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param uInt16 + * Neuer Wert der Eigenschaft "uInt16". + */ + public ListOfUInt16 .Builder<_B> withUInt16(Integer... uInt16) { + withUInt16(Arrays.asList(uInt16)); + return this; + } + + @Override + public ListOfUInt16 build() { + if (_storedValue == null) { + return this.init(new ListOfUInt16()); + } else { + return ((ListOfUInt16) _storedValue); + } + } + + public ListOfUInt16 .Builder<_B> copyOf(final ListOfUInt16 _other) { + _other.copyTo(this); + return this; + } + + public ListOfUInt16 .Builder<_B> copyOf(final ListOfUInt16 .Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUInt16 .Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUInt16 .Select _root() { + return new ListOfUInt16 .Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> uInt16 = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uInt16 != null) { + products.put("uInt16", this.uInt16 .init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> uInt16() { + return ((this.uInt16 == null)?this.uInt16 = new com.kscs.util.jaxb.Selector>(this._root, this, "uInt16"):this.uInt16); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt32.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt32.java new file mode 100644 index 000000000..fbc089773 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt32.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUInt32 complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUInt32">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UInt32" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUInt32", propOrder = { + "uInt32" +}) +public class ListOfUInt32 { + + @XmlElement(name = "UInt32", type = Long.class) + @XmlSchemaType(name = "unsignedInt") + protected List uInt32; + + /** + * Gets the value of the uInt32 property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uInt32 property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUInt32().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getUInt32() { + if (uInt32 == null) { + uInt32 = new ArrayList(); + } + return this.uInt32; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUInt32 .Builder<_B> _other) { + if (this.uInt32 == null) { + _other.uInt32 = null; + } else { + _other.uInt32 = new ArrayList(); + for (Long _item: this.uInt32) { + _other.uInt32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfUInt32 .Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUInt32 .Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUInt32 .Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUInt32 .Builder builder() { + return new ListOfUInt32 .Builder(null, null, false); + } + + public static<_B >ListOfUInt32 .Builder<_B> copyOf(final ListOfUInt32 _other) { + final ListOfUInt32 .Builder<_B> _newBuilder = new ListOfUInt32 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUInt32 .Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uInt32PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uInt32")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uInt32PropertyTree!= null):((uInt32PropertyTree == null)||(!uInt32PropertyTree.isLeaf())))) { + if (this.uInt32 == null) { + _other.uInt32 = null; + } else { + _other.uInt32 = new ArrayList(); + for (Long _item: this.uInt32) { + _other.uInt32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfUInt32 .Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUInt32 .Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUInt32 .Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUInt32 .Builder<_B> copyOf(final ListOfUInt32 _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUInt32 .Builder<_B> _newBuilder = new ListOfUInt32 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUInt32 .Builder copyExcept(final ListOfUInt32 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUInt32 .Builder copyOnly(final ListOfUInt32 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUInt32 _storedValue; + private List uInt32; + + public Builder(final _B _parentBuilder, final ListOfUInt32 _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uInt32 == null) { + this.uInt32 = null; + } else { + this.uInt32 = new ArrayList(); + for (Long _item: _other.uInt32) { + this.uInt32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUInt32 _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uInt32PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uInt32")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uInt32PropertyTree!= null):((uInt32PropertyTree == null)||(!uInt32PropertyTree.isLeaf())))) { + if (_other.uInt32 == null) { + this.uInt32 = null; + } else { + this.uInt32 = new ArrayList(); + for (Long _item: _other.uInt32) { + this.uInt32 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUInt32 >_P init(final _P _product) { + if (this.uInt32 != null) { + final List uInt32 = new ArrayList(this.uInt32 .size()); + for (Buildable _item: this.uInt32) { + uInt32 .add(((Long) _item.build())); + } + _product.uInt32 = uInt32; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uInt32" hinzu. + * + * @param uInt32 + * Werte, die zur Eigenschaft "uInt32" hinzugefügt werden. + */ + public ListOfUInt32 .Builder<_B> addUInt32(final Iterable uInt32) { + if (uInt32 != null) { + if (this.uInt32 == null) { + this.uInt32 = new ArrayList(); + } + for (Long _item: uInt32) { + this.uInt32 .add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uInt32" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param uInt32 + * Neuer Wert der Eigenschaft "uInt32". + */ + public ListOfUInt32 .Builder<_B> withUInt32(final Iterable uInt32) { + if (this.uInt32 != null) { + this.uInt32 .clear(); + } + return addUInt32(uInt32); + } + + /** + * Fügt Werte zur Eigenschaft "uInt32" hinzu. + * + * @param uInt32 + * Werte, die zur Eigenschaft "uInt32" hinzugefügt werden. + */ + public ListOfUInt32 .Builder<_B> addUInt32(Long... uInt32) { + addUInt32(Arrays.asList(uInt32)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uInt32" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param uInt32 + * Neuer Wert der Eigenschaft "uInt32". + */ + public ListOfUInt32 .Builder<_B> withUInt32(Long... uInt32) { + withUInt32(Arrays.asList(uInt32)); + return this; + } + + @Override + public ListOfUInt32 build() { + if (_storedValue == null) { + return this.init(new ListOfUInt32()); + } else { + return ((ListOfUInt32) _storedValue); + } + } + + public ListOfUInt32 .Builder<_B> copyOf(final ListOfUInt32 _other) { + _other.copyTo(this); + return this; + } + + public ListOfUInt32 .Builder<_B> copyOf(final ListOfUInt32 .Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUInt32 .Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUInt32 .Select _root() { + return new ListOfUInt32 .Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> uInt32 = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uInt32 != null) { + products.put("uInt32", this.uInt32 .init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> uInt32() { + return ((this.uInt32 == null)?this.uInt32 = new com.kscs.util.jaxb.Selector>(this._root, this, "uInt32"):this.uInt32); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt64.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt64.java new file mode 100644 index 000000000..db011866e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUInt64.java @@ -0,0 +1,347 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUInt64 complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUInt64">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UInt64" type="{http://www.w3.org/2001/XMLSchema}unsignedLong" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUInt64", propOrder = { + "uInt64" +}) +public class ListOfUInt64 { + + @XmlElement(name = "UInt64") + @XmlSchemaType(name = "unsignedLong") + protected List uInt64; + + /** + * Gets the value of the uInt64 property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uInt64 property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUInt64().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BigInteger } + * + * + */ + public List getUInt64() { + if (uInt64 == null) { + uInt64 = new ArrayList(); + } + return this.uInt64; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUInt64 .Builder<_B> _other) { + if (this.uInt64 == null) { + _other.uInt64 = null; + } else { + _other.uInt64 = new ArrayList(); + for (BigInteger _item: this.uInt64) { + _other.uInt64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfUInt64 .Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUInt64 .Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUInt64 .Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUInt64 .Builder builder() { + return new ListOfUInt64 .Builder(null, null, false); + } + + public static<_B >ListOfUInt64 .Builder<_B> copyOf(final ListOfUInt64 _other) { + final ListOfUInt64 .Builder<_B> _newBuilder = new ListOfUInt64 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUInt64 .Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uInt64PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uInt64")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uInt64PropertyTree!= null):((uInt64PropertyTree == null)||(!uInt64PropertyTree.isLeaf())))) { + if (this.uInt64 == null) { + _other.uInt64 = null; + } else { + _other.uInt64 = new ArrayList(); + for (BigInteger _item: this.uInt64) { + _other.uInt64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfUInt64 .Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUInt64 .Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUInt64 .Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUInt64 .Builder<_B> copyOf(final ListOfUInt64 _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUInt64 .Builder<_B> _newBuilder = new ListOfUInt64 .Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUInt64 .Builder copyExcept(final ListOfUInt64 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUInt64 .Builder copyOnly(final ListOfUInt64 _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUInt64 _storedValue; + private List uInt64; + + public Builder(final _B _parentBuilder, final ListOfUInt64 _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uInt64 == null) { + this.uInt64 = null; + } else { + this.uInt64 = new ArrayList(); + for (BigInteger _item: _other.uInt64) { + this.uInt64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUInt64 _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uInt64PropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uInt64")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uInt64PropertyTree!= null):((uInt64PropertyTree == null)||(!uInt64PropertyTree.isLeaf())))) { + if (_other.uInt64 == null) { + this.uInt64 = null; + } else { + this.uInt64 = new ArrayList(); + for (BigInteger _item: _other.uInt64) { + this.uInt64 .add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUInt64 >_P init(final _P _product) { + if (this.uInt64 != null) { + final List uInt64 = new ArrayList(this.uInt64 .size()); + for (Buildable _item: this.uInt64) { + uInt64 .add(((BigInteger) _item.build())); + } + _product.uInt64 = uInt64; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uInt64" hinzu. + * + * @param uInt64 + * Werte, die zur Eigenschaft "uInt64" hinzugefügt werden. + */ + public ListOfUInt64 .Builder<_B> addUInt64(final Iterable uInt64) { + if (uInt64 != null) { + if (this.uInt64 == null) { + this.uInt64 = new ArrayList(); + } + for (BigInteger _item: uInt64) { + this.uInt64 .add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uInt64" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param uInt64 + * Neuer Wert der Eigenschaft "uInt64". + */ + public ListOfUInt64 .Builder<_B> withUInt64(final Iterable uInt64) { + if (this.uInt64 != null) { + this.uInt64 .clear(); + } + return addUInt64(uInt64); + } + + /** + * Fügt Werte zur Eigenschaft "uInt64" hinzu. + * + * @param uInt64 + * Werte, die zur Eigenschaft "uInt64" hinzugefügt werden. + */ + public ListOfUInt64 .Builder<_B> addUInt64(BigInteger... uInt64) { + addUInt64(Arrays.asList(uInt64)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uInt64" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param uInt64 + * Neuer Wert der Eigenschaft "uInt64". + */ + public ListOfUInt64 .Builder<_B> withUInt64(BigInteger... uInt64) { + withUInt64(Arrays.asList(uInt64)); + return this; + } + + @Override + public ListOfUInt64 build() { + if (_storedValue == null) { + return this.init(new ListOfUInt64()); + } else { + return ((ListOfUInt64) _storedValue); + } + } + + public ListOfUInt64 .Builder<_B> copyOf(final ListOfUInt64 _other) { + _other.copyTo(this); + return this; + } + + public ListOfUInt64 .Builder<_B> copyOf(final ListOfUInt64 .Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUInt64 .Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUInt64 .Select _root() { + return new ListOfUInt64 .Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> uInt64 = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uInt64 != null) { + products.put("uInt64", this.uInt64 .init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> uInt64() { + return ((this.uInt64 == null)?this.uInt64 = new com.kscs.util.jaxb.Selector>(this._root, this, "uInt64"):this.uInt64); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetMessageContentMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetMessageContentMask.java new file mode 100644 index 000000000..5d5afef05 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetMessageContentMask.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUadpDataSetMessageContentMask complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUadpDataSetMessageContentMask">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UadpDataSetMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpDataSetMessageContentMask" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUadpDataSetMessageContentMask", propOrder = { + "uadpDataSetMessageContentMask" +}) +public class ListOfUadpDataSetMessageContentMask { + + @XmlElement(name = "UadpDataSetMessageContentMask", type = Long.class) + @XmlSchemaType(name = "unsignedInt") + protected List uadpDataSetMessageContentMask; + + /** + * Gets the value of the uadpDataSetMessageContentMask property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uadpDataSetMessageContentMask property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUadpDataSetMessageContentMask().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getUadpDataSetMessageContentMask() { + if (uadpDataSetMessageContentMask == null) { + uadpDataSetMessageContentMask = new ArrayList(); + } + return this.uadpDataSetMessageContentMask; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpDataSetMessageContentMask.Builder<_B> _other) { + if (this.uadpDataSetMessageContentMask == null) { + _other.uadpDataSetMessageContentMask = null; + } else { + _other.uadpDataSetMessageContentMask = new ArrayList(); + for (Long _item: this.uadpDataSetMessageContentMask) { + _other.uadpDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfUadpDataSetMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUadpDataSetMessageContentMask.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUadpDataSetMessageContentMask.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUadpDataSetMessageContentMask.Builder builder() { + return new ListOfUadpDataSetMessageContentMask.Builder(null, null, false); + } + + public static<_B >ListOfUadpDataSetMessageContentMask.Builder<_B> copyOf(final ListOfUadpDataSetMessageContentMask _other) { + final ListOfUadpDataSetMessageContentMask.Builder<_B> _newBuilder = new ListOfUadpDataSetMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpDataSetMessageContentMask.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uadpDataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpDataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpDataSetMessageContentMaskPropertyTree!= null):((uadpDataSetMessageContentMaskPropertyTree == null)||(!uadpDataSetMessageContentMaskPropertyTree.isLeaf())))) { + if (this.uadpDataSetMessageContentMask == null) { + _other.uadpDataSetMessageContentMask = null; + } else { + _other.uadpDataSetMessageContentMask = new ArrayList(); + for (Long _item: this.uadpDataSetMessageContentMask) { + _other.uadpDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfUadpDataSetMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUadpDataSetMessageContentMask.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUadpDataSetMessageContentMask.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUadpDataSetMessageContentMask.Builder<_B> copyOf(final ListOfUadpDataSetMessageContentMask _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUadpDataSetMessageContentMask.Builder<_B> _newBuilder = new ListOfUadpDataSetMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUadpDataSetMessageContentMask.Builder copyExcept(final ListOfUadpDataSetMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUadpDataSetMessageContentMask.Builder copyOnly(final ListOfUadpDataSetMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUadpDataSetMessageContentMask _storedValue; + private List uadpDataSetMessageContentMask; + + public Builder(final _B _parentBuilder, final ListOfUadpDataSetMessageContentMask _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uadpDataSetMessageContentMask == null) { + this.uadpDataSetMessageContentMask = null; + } else { + this.uadpDataSetMessageContentMask = new ArrayList(); + for (Long _item: _other.uadpDataSetMessageContentMask) { + this.uadpDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUadpDataSetMessageContentMask _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uadpDataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpDataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpDataSetMessageContentMaskPropertyTree!= null):((uadpDataSetMessageContentMaskPropertyTree == null)||(!uadpDataSetMessageContentMaskPropertyTree.isLeaf())))) { + if (_other.uadpDataSetMessageContentMask == null) { + this.uadpDataSetMessageContentMask = null; + } else { + this.uadpDataSetMessageContentMask = new ArrayList(); + for (Long _item: _other.uadpDataSetMessageContentMask) { + this.uadpDataSetMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUadpDataSetMessageContentMask >_P init(final _P _product) { + if (this.uadpDataSetMessageContentMask!= null) { + final List uadpDataSetMessageContentMask = new ArrayList(this.uadpDataSetMessageContentMask.size()); + for (Buildable _item: this.uadpDataSetMessageContentMask) { + uadpDataSetMessageContentMask.add(((Long) _item.build())); + } + _product.uadpDataSetMessageContentMask = uadpDataSetMessageContentMask; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uadpDataSetMessageContentMask" hinzu. + * + * @param uadpDataSetMessageContentMask + * Werte, die zur Eigenschaft "uadpDataSetMessageContentMask" hinzugefügt werden. + */ + public ListOfUadpDataSetMessageContentMask.Builder<_B> addUadpDataSetMessageContentMask(final Iterable uadpDataSetMessageContentMask) { + if (uadpDataSetMessageContentMask!= null) { + if (this.uadpDataSetMessageContentMask == null) { + this.uadpDataSetMessageContentMask = new ArrayList(); + } + for (Long _item: uadpDataSetMessageContentMask) { + this.uadpDataSetMessageContentMask.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpDataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpDataSetMessageContentMask + * Neuer Wert der Eigenschaft "uadpDataSetMessageContentMask". + */ + public ListOfUadpDataSetMessageContentMask.Builder<_B> withUadpDataSetMessageContentMask(final Iterable uadpDataSetMessageContentMask) { + if (this.uadpDataSetMessageContentMask!= null) { + this.uadpDataSetMessageContentMask.clear(); + } + return addUadpDataSetMessageContentMask(uadpDataSetMessageContentMask); + } + + /** + * Fügt Werte zur Eigenschaft "uadpDataSetMessageContentMask" hinzu. + * + * @param uadpDataSetMessageContentMask + * Werte, die zur Eigenschaft "uadpDataSetMessageContentMask" hinzugefügt werden. + */ + public ListOfUadpDataSetMessageContentMask.Builder<_B> addUadpDataSetMessageContentMask(Long... uadpDataSetMessageContentMask) { + addUadpDataSetMessageContentMask(Arrays.asList(uadpDataSetMessageContentMask)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpDataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpDataSetMessageContentMask + * Neuer Wert der Eigenschaft "uadpDataSetMessageContentMask". + */ + public ListOfUadpDataSetMessageContentMask.Builder<_B> withUadpDataSetMessageContentMask(Long... uadpDataSetMessageContentMask) { + withUadpDataSetMessageContentMask(Arrays.asList(uadpDataSetMessageContentMask)); + return this; + } + + @Override + public ListOfUadpDataSetMessageContentMask build() { + if (_storedValue == null) { + return this.init(new ListOfUadpDataSetMessageContentMask()); + } else { + return ((ListOfUadpDataSetMessageContentMask) _storedValue); + } + } + + public ListOfUadpDataSetMessageContentMask.Builder<_B> copyOf(final ListOfUadpDataSetMessageContentMask _other) { + _other.copyTo(this); + return this; + } + + public ListOfUadpDataSetMessageContentMask.Builder<_B> copyOf(final ListOfUadpDataSetMessageContentMask.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUadpDataSetMessageContentMask.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUadpDataSetMessageContentMask.Select _root() { + return new ListOfUadpDataSetMessageContentMask.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> uadpDataSetMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uadpDataSetMessageContentMask!= null) { + products.put("uadpDataSetMessageContentMask", this.uadpDataSetMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> uadpDataSetMessageContentMask() { + return ((this.uadpDataSetMessageContentMask == null)?this.uadpDataSetMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "uadpDataSetMessageContentMask"):this.uadpDataSetMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetReaderMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetReaderMessageDataType.java new file mode 100644 index 000000000..8484ba16b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetReaderMessageDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUadpDataSetReaderMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUadpDataSetReaderMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UadpDataSetReaderMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpDataSetReaderMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUadpDataSetReaderMessageDataType", propOrder = { + "uadpDataSetReaderMessageDataType" +}) +public class ListOfUadpDataSetReaderMessageDataType { + + @XmlElement(name = "UadpDataSetReaderMessageDataType", nillable = true) + protected List uadpDataSetReaderMessageDataType; + + /** + * Gets the value of the uadpDataSetReaderMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uadpDataSetReaderMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUadpDataSetReaderMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UadpDataSetReaderMessageDataType } + * + * + */ + public List getUadpDataSetReaderMessageDataType() { + if (uadpDataSetReaderMessageDataType == null) { + uadpDataSetReaderMessageDataType = new ArrayList(); + } + return this.uadpDataSetReaderMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpDataSetReaderMessageDataType.Builder<_B> _other) { + if (this.uadpDataSetReaderMessageDataType == null) { + _other.uadpDataSetReaderMessageDataType = null; + } else { + _other.uadpDataSetReaderMessageDataType = new ArrayList>>(); + for (UadpDataSetReaderMessageDataType _item: this.uadpDataSetReaderMessageDataType) { + _other.uadpDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfUadpDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUadpDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUadpDataSetReaderMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUadpDataSetReaderMessageDataType.Builder builder() { + return new ListOfUadpDataSetReaderMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfUadpDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetReaderMessageDataType _other) { + final ListOfUadpDataSetReaderMessageDataType.Builder<_B> _newBuilder = new ListOfUadpDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpDataSetReaderMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uadpDataSetReaderMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpDataSetReaderMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpDataSetReaderMessageDataTypePropertyTree!= null):((uadpDataSetReaderMessageDataTypePropertyTree == null)||(!uadpDataSetReaderMessageDataTypePropertyTree.isLeaf())))) { + if (this.uadpDataSetReaderMessageDataType == null) { + _other.uadpDataSetReaderMessageDataType = null; + } else { + _other.uadpDataSetReaderMessageDataType = new ArrayList>>(); + for (UadpDataSetReaderMessageDataType _item: this.uadpDataSetReaderMessageDataType) { + _other.uadpDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, uadpDataSetReaderMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfUadpDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUadpDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUadpDataSetReaderMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUadpDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUadpDataSetReaderMessageDataType.Builder<_B> _newBuilder = new ListOfUadpDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUadpDataSetReaderMessageDataType.Builder copyExcept(final ListOfUadpDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUadpDataSetReaderMessageDataType.Builder copyOnly(final ListOfUadpDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUadpDataSetReaderMessageDataType _storedValue; + private List>> uadpDataSetReaderMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfUadpDataSetReaderMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uadpDataSetReaderMessageDataType == null) { + this.uadpDataSetReaderMessageDataType = null; + } else { + this.uadpDataSetReaderMessageDataType = new ArrayList>>(); + for (UadpDataSetReaderMessageDataType _item: _other.uadpDataSetReaderMessageDataType) { + this.uadpDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUadpDataSetReaderMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uadpDataSetReaderMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpDataSetReaderMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpDataSetReaderMessageDataTypePropertyTree!= null):((uadpDataSetReaderMessageDataTypePropertyTree == null)||(!uadpDataSetReaderMessageDataTypePropertyTree.isLeaf())))) { + if (_other.uadpDataSetReaderMessageDataType == null) { + this.uadpDataSetReaderMessageDataType = null; + } else { + this.uadpDataSetReaderMessageDataType = new ArrayList>>(); + for (UadpDataSetReaderMessageDataType _item: _other.uadpDataSetReaderMessageDataType) { + this.uadpDataSetReaderMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, uadpDataSetReaderMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUadpDataSetReaderMessageDataType >_P init(final _P _product) { + if (this.uadpDataSetReaderMessageDataType!= null) { + final List uadpDataSetReaderMessageDataType = new ArrayList(this.uadpDataSetReaderMessageDataType.size()); + for (UadpDataSetReaderMessageDataType.Builder> _item: this.uadpDataSetReaderMessageDataType) { + uadpDataSetReaderMessageDataType.add(_item.build()); + } + _product.uadpDataSetReaderMessageDataType = uadpDataSetReaderMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uadpDataSetReaderMessageDataType" hinzu. + * + * @param uadpDataSetReaderMessageDataType + * Werte, die zur Eigenschaft "uadpDataSetReaderMessageDataType" hinzugefügt + * werden. + */ + public ListOfUadpDataSetReaderMessageDataType.Builder<_B> addUadpDataSetReaderMessageDataType(final Iterable uadpDataSetReaderMessageDataType) { + if (uadpDataSetReaderMessageDataType!= null) { + if (this.uadpDataSetReaderMessageDataType == null) { + this.uadpDataSetReaderMessageDataType = new ArrayList>>(); + } + for (UadpDataSetReaderMessageDataType _item: uadpDataSetReaderMessageDataType) { + this.uadpDataSetReaderMessageDataType.add(new UadpDataSetReaderMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpDataSetReaderMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpDataSetReaderMessageDataType + * Neuer Wert der Eigenschaft "uadpDataSetReaderMessageDataType". + */ + public ListOfUadpDataSetReaderMessageDataType.Builder<_B> withUadpDataSetReaderMessageDataType(final Iterable uadpDataSetReaderMessageDataType) { + if (this.uadpDataSetReaderMessageDataType!= null) { + this.uadpDataSetReaderMessageDataType.clear(); + } + return addUadpDataSetReaderMessageDataType(uadpDataSetReaderMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "uadpDataSetReaderMessageDataType" hinzu. + * + * @param uadpDataSetReaderMessageDataType + * Werte, die zur Eigenschaft "uadpDataSetReaderMessageDataType" hinzugefügt + * werden. + */ + public ListOfUadpDataSetReaderMessageDataType.Builder<_B> addUadpDataSetReaderMessageDataType(UadpDataSetReaderMessageDataType... uadpDataSetReaderMessageDataType) { + addUadpDataSetReaderMessageDataType(Arrays.asList(uadpDataSetReaderMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpDataSetReaderMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpDataSetReaderMessageDataType + * Neuer Wert der Eigenschaft "uadpDataSetReaderMessageDataType". + */ + public ListOfUadpDataSetReaderMessageDataType.Builder<_B> withUadpDataSetReaderMessageDataType(UadpDataSetReaderMessageDataType... uadpDataSetReaderMessageDataType) { + withUadpDataSetReaderMessageDataType(Arrays.asList(uadpDataSetReaderMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "UadpDataSetReaderMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UadpDataSetReaderMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "UadpDataSetReaderMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UadpDataSetReaderMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public UadpDataSetReaderMessageDataType.Builder> addUadpDataSetReaderMessageDataType() { + if (this.uadpDataSetReaderMessageDataType == null) { + this.uadpDataSetReaderMessageDataType = new ArrayList>>(); + } + final UadpDataSetReaderMessageDataType.Builder> uadpDataSetReaderMessageDataType_Builder = new UadpDataSetReaderMessageDataType.Builder>(this, null, false); + this.uadpDataSetReaderMessageDataType.add(uadpDataSetReaderMessageDataType_Builder); + return uadpDataSetReaderMessageDataType_Builder; + } + + @Override + public ListOfUadpDataSetReaderMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfUadpDataSetReaderMessageDataType()); + } else { + return ((ListOfUadpDataSetReaderMessageDataType) _storedValue); + } + } + + public ListOfUadpDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetReaderMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfUadpDataSetReaderMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetReaderMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUadpDataSetReaderMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUadpDataSetReaderMessageDataType.Select _root() { + return new ListOfUadpDataSetReaderMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private UadpDataSetReaderMessageDataType.Selector> uadpDataSetReaderMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uadpDataSetReaderMessageDataType!= null) { + products.put("uadpDataSetReaderMessageDataType", this.uadpDataSetReaderMessageDataType.init()); + } + return products; + } + + public UadpDataSetReaderMessageDataType.Selector> uadpDataSetReaderMessageDataType() { + return ((this.uadpDataSetReaderMessageDataType == null)?this.uadpDataSetReaderMessageDataType = new UadpDataSetReaderMessageDataType.Selector>(this._root, this, "uadpDataSetReaderMessageDataType"):this.uadpDataSetReaderMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetWriterMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetWriterMessageDataType.java new file mode 100644 index 000000000..7e47c7233 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpDataSetWriterMessageDataType.java @@ -0,0 +1,369 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUadpDataSetWriterMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUadpDataSetWriterMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UadpDataSetWriterMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpDataSetWriterMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUadpDataSetWriterMessageDataType", propOrder = { + "uadpDataSetWriterMessageDataType" +}) +public class ListOfUadpDataSetWriterMessageDataType { + + @XmlElement(name = "UadpDataSetWriterMessageDataType", nillable = true) + protected List uadpDataSetWriterMessageDataType; + + /** + * Gets the value of the uadpDataSetWriterMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uadpDataSetWriterMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUadpDataSetWriterMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UadpDataSetWriterMessageDataType } + * + * + */ + public List getUadpDataSetWriterMessageDataType() { + if (uadpDataSetWriterMessageDataType == null) { + uadpDataSetWriterMessageDataType = new ArrayList(); + } + return this.uadpDataSetWriterMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpDataSetWriterMessageDataType.Builder<_B> _other) { + if (this.uadpDataSetWriterMessageDataType == null) { + _other.uadpDataSetWriterMessageDataType = null; + } else { + _other.uadpDataSetWriterMessageDataType = new ArrayList>>(); + for (UadpDataSetWriterMessageDataType _item: this.uadpDataSetWriterMessageDataType) { + _other.uadpDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfUadpDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUadpDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUadpDataSetWriterMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUadpDataSetWriterMessageDataType.Builder builder() { + return new ListOfUadpDataSetWriterMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfUadpDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetWriterMessageDataType _other) { + final ListOfUadpDataSetWriterMessageDataType.Builder<_B> _newBuilder = new ListOfUadpDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpDataSetWriterMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uadpDataSetWriterMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpDataSetWriterMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpDataSetWriterMessageDataTypePropertyTree!= null):((uadpDataSetWriterMessageDataTypePropertyTree == null)||(!uadpDataSetWriterMessageDataTypePropertyTree.isLeaf())))) { + if (this.uadpDataSetWriterMessageDataType == null) { + _other.uadpDataSetWriterMessageDataType = null; + } else { + _other.uadpDataSetWriterMessageDataType = new ArrayList>>(); + for (UadpDataSetWriterMessageDataType _item: this.uadpDataSetWriterMessageDataType) { + _other.uadpDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, uadpDataSetWriterMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfUadpDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUadpDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUadpDataSetWriterMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUadpDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUadpDataSetWriterMessageDataType.Builder<_B> _newBuilder = new ListOfUadpDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUadpDataSetWriterMessageDataType.Builder copyExcept(final ListOfUadpDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUadpDataSetWriterMessageDataType.Builder copyOnly(final ListOfUadpDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUadpDataSetWriterMessageDataType _storedValue; + private List>> uadpDataSetWriterMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfUadpDataSetWriterMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uadpDataSetWriterMessageDataType == null) { + this.uadpDataSetWriterMessageDataType = null; + } else { + this.uadpDataSetWriterMessageDataType = new ArrayList>>(); + for (UadpDataSetWriterMessageDataType _item: _other.uadpDataSetWriterMessageDataType) { + this.uadpDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUadpDataSetWriterMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uadpDataSetWriterMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpDataSetWriterMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpDataSetWriterMessageDataTypePropertyTree!= null):((uadpDataSetWriterMessageDataTypePropertyTree == null)||(!uadpDataSetWriterMessageDataTypePropertyTree.isLeaf())))) { + if (_other.uadpDataSetWriterMessageDataType == null) { + this.uadpDataSetWriterMessageDataType = null; + } else { + this.uadpDataSetWriterMessageDataType = new ArrayList>>(); + for (UadpDataSetWriterMessageDataType _item: _other.uadpDataSetWriterMessageDataType) { + this.uadpDataSetWriterMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, uadpDataSetWriterMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUadpDataSetWriterMessageDataType >_P init(final _P _product) { + if (this.uadpDataSetWriterMessageDataType!= null) { + final List uadpDataSetWriterMessageDataType = new ArrayList(this.uadpDataSetWriterMessageDataType.size()); + for (UadpDataSetWriterMessageDataType.Builder> _item: this.uadpDataSetWriterMessageDataType) { + uadpDataSetWriterMessageDataType.add(_item.build()); + } + _product.uadpDataSetWriterMessageDataType = uadpDataSetWriterMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uadpDataSetWriterMessageDataType" hinzu. + * + * @param uadpDataSetWriterMessageDataType + * Werte, die zur Eigenschaft "uadpDataSetWriterMessageDataType" hinzugefügt + * werden. + */ + public ListOfUadpDataSetWriterMessageDataType.Builder<_B> addUadpDataSetWriterMessageDataType(final Iterable uadpDataSetWriterMessageDataType) { + if (uadpDataSetWriterMessageDataType!= null) { + if (this.uadpDataSetWriterMessageDataType == null) { + this.uadpDataSetWriterMessageDataType = new ArrayList>>(); + } + for (UadpDataSetWriterMessageDataType _item: uadpDataSetWriterMessageDataType) { + this.uadpDataSetWriterMessageDataType.add(new UadpDataSetWriterMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpDataSetWriterMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpDataSetWriterMessageDataType + * Neuer Wert der Eigenschaft "uadpDataSetWriterMessageDataType". + */ + public ListOfUadpDataSetWriterMessageDataType.Builder<_B> withUadpDataSetWriterMessageDataType(final Iterable uadpDataSetWriterMessageDataType) { + if (this.uadpDataSetWriterMessageDataType!= null) { + this.uadpDataSetWriterMessageDataType.clear(); + } + return addUadpDataSetWriterMessageDataType(uadpDataSetWriterMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "uadpDataSetWriterMessageDataType" hinzu. + * + * @param uadpDataSetWriterMessageDataType + * Werte, die zur Eigenschaft "uadpDataSetWriterMessageDataType" hinzugefügt + * werden. + */ + public ListOfUadpDataSetWriterMessageDataType.Builder<_B> addUadpDataSetWriterMessageDataType(UadpDataSetWriterMessageDataType... uadpDataSetWriterMessageDataType) { + addUadpDataSetWriterMessageDataType(Arrays.asList(uadpDataSetWriterMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpDataSetWriterMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpDataSetWriterMessageDataType + * Neuer Wert der Eigenschaft "uadpDataSetWriterMessageDataType". + */ + public ListOfUadpDataSetWriterMessageDataType.Builder<_B> withUadpDataSetWriterMessageDataType(UadpDataSetWriterMessageDataType... uadpDataSetWriterMessageDataType) { + withUadpDataSetWriterMessageDataType(Arrays.asList(uadpDataSetWriterMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "UadpDataSetWriterMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UadpDataSetWriterMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "UadpDataSetWriterMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UadpDataSetWriterMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public UadpDataSetWriterMessageDataType.Builder> addUadpDataSetWriterMessageDataType() { + if (this.uadpDataSetWriterMessageDataType == null) { + this.uadpDataSetWriterMessageDataType = new ArrayList>>(); + } + final UadpDataSetWriterMessageDataType.Builder> uadpDataSetWriterMessageDataType_Builder = new UadpDataSetWriterMessageDataType.Builder>(this, null, false); + this.uadpDataSetWriterMessageDataType.add(uadpDataSetWriterMessageDataType_Builder); + return uadpDataSetWriterMessageDataType_Builder; + } + + @Override + public ListOfUadpDataSetWriterMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfUadpDataSetWriterMessageDataType()); + } else { + return ((ListOfUadpDataSetWriterMessageDataType) _storedValue); + } + } + + public ListOfUadpDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetWriterMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfUadpDataSetWriterMessageDataType.Builder<_B> copyOf(final ListOfUadpDataSetWriterMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUadpDataSetWriterMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUadpDataSetWriterMessageDataType.Select _root() { + return new ListOfUadpDataSetWriterMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private UadpDataSetWriterMessageDataType.Selector> uadpDataSetWriterMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uadpDataSetWriterMessageDataType!= null) { + products.put("uadpDataSetWriterMessageDataType", this.uadpDataSetWriterMessageDataType.init()); + } + return products; + } + + public UadpDataSetWriterMessageDataType.Selector> uadpDataSetWriterMessageDataType() { + return ((this.uadpDataSetWriterMessageDataType == null)?this.uadpDataSetWriterMessageDataType = new UadpDataSetWriterMessageDataType.Selector>(this._root, this, "uadpDataSetWriterMessageDataType"):this.uadpDataSetWriterMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpNetworkMessageContentMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpNetworkMessageContentMask.java new file mode 100644 index 000000000..e41ed0165 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpNetworkMessageContentMask.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUadpNetworkMessageContentMask complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUadpNetworkMessageContentMask">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UadpNetworkMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpNetworkMessageContentMask" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUadpNetworkMessageContentMask", propOrder = { + "uadpNetworkMessageContentMask" +}) +public class ListOfUadpNetworkMessageContentMask { + + @XmlElement(name = "UadpNetworkMessageContentMask", type = Long.class) + @XmlSchemaType(name = "unsignedInt") + protected List uadpNetworkMessageContentMask; + + /** + * Gets the value of the uadpNetworkMessageContentMask property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uadpNetworkMessageContentMask property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUadpNetworkMessageContentMask().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Long } + * + * + */ + public List getUadpNetworkMessageContentMask() { + if (uadpNetworkMessageContentMask == null) { + uadpNetworkMessageContentMask = new ArrayList(); + } + return this.uadpNetworkMessageContentMask; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpNetworkMessageContentMask.Builder<_B> _other) { + if (this.uadpNetworkMessageContentMask == null) { + _other.uadpNetworkMessageContentMask = null; + } else { + _other.uadpNetworkMessageContentMask = new ArrayList(); + for (Long _item: this.uadpNetworkMessageContentMask) { + _other.uadpNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + + public<_B >ListOfUadpNetworkMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUadpNetworkMessageContentMask.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUadpNetworkMessageContentMask.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUadpNetworkMessageContentMask.Builder builder() { + return new ListOfUadpNetworkMessageContentMask.Builder(null, null, false); + } + + public static<_B >ListOfUadpNetworkMessageContentMask.Builder<_B> copyOf(final ListOfUadpNetworkMessageContentMask _other) { + final ListOfUadpNetworkMessageContentMask.Builder<_B> _newBuilder = new ListOfUadpNetworkMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpNetworkMessageContentMask.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uadpNetworkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpNetworkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpNetworkMessageContentMaskPropertyTree!= null):((uadpNetworkMessageContentMaskPropertyTree == null)||(!uadpNetworkMessageContentMaskPropertyTree.isLeaf())))) { + if (this.uadpNetworkMessageContentMask == null) { + _other.uadpNetworkMessageContentMask = null; + } else { + _other.uadpNetworkMessageContentMask = new ArrayList(); + for (Long _item: this.uadpNetworkMessageContentMask) { + _other.uadpNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } + + public<_B >ListOfUadpNetworkMessageContentMask.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUadpNetworkMessageContentMask.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUadpNetworkMessageContentMask.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUadpNetworkMessageContentMask.Builder<_B> copyOf(final ListOfUadpNetworkMessageContentMask _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUadpNetworkMessageContentMask.Builder<_B> _newBuilder = new ListOfUadpNetworkMessageContentMask.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUadpNetworkMessageContentMask.Builder copyExcept(final ListOfUadpNetworkMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUadpNetworkMessageContentMask.Builder copyOnly(final ListOfUadpNetworkMessageContentMask _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUadpNetworkMessageContentMask _storedValue; + private List uadpNetworkMessageContentMask; + + public Builder(final _B _parentBuilder, final ListOfUadpNetworkMessageContentMask _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uadpNetworkMessageContentMask == null) { + this.uadpNetworkMessageContentMask = null; + } else { + this.uadpNetworkMessageContentMask = new ArrayList(); + for (Long _item: _other.uadpNetworkMessageContentMask) { + this.uadpNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUadpNetworkMessageContentMask _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uadpNetworkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpNetworkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpNetworkMessageContentMaskPropertyTree!= null):((uadpNetworkMessageContentMaskPropertyTree == null)||(!uadpNetworkMessageContentMaskPropertyTree.isLeaf())))) { + if (_other.uadpNetworkMessageContentMask == null) { + this.uadpNetworkMessageContentMask = null; + } else { + this.uadpNetworkMessageContentMask = new ArrayList(); + for (Long _item: _other.uadpNetworkMessageContentMask) { + this.uadpNetworkMessageContentMask.add(((_item == null)?null:new Buildable.PrimitiveBuildable(_item))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUadpNetworkMessageContentMask >_P init(final _P _product) { + if (this.uadpNetworkMessageContentMask!= null) { + final List uadpNetworkMessageContentMask = new ArrayList(this.uadpNetworkMessageContentMask.size()); + for (Buildable _item: this.uadpNetworkMessageContentMask) { + uadpNetworkMessageContentMask.add(((Long) _item.build())); + } + _product.uadpNetworkMessageContentMask = uadpNetworkMessageContentMask; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uadpNetworkMessageContentMask" hinzu. + * + * @param uadpNetworkMessageContentMask + * Werte, die zur Eigenschaft "uadpNetworkMessageContentMask" hinzugefügt werden. + */ + public ListOfUadpNetworkMessageContentMask.Builder<_B> addUadpNetworkMessageContentMask(final Iterable uadpNetworkMessageContentMask) { + if (uadpNetworkMessageContentMask!= null) { + if (this.uadpNetworkMessageContentMask == null) { + this.uadpNetworkMessageContentMask = new ArrayList(); + } + for (Long _item: uadpNetworkMessageContentMask) { + this.uadpNetworkMessageContentMask.add(new Buildable.PrimitiveBuildable(_item)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpNetworkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpNetworkMessageContentMask + * Neuer Wert der Eigenschaft "uadpNetworkMessageContentMask". + */ + public ListOfUadpNetworkMessageContentMask.Builder<_B> withUadpNetworkMessageContentMask(final Iterable uadpNetworkMessageContentMask) { + if (this.uadpNetworkMessageContentMask!= null) { + this.uadpNetworkMessageContentMask.clear(); + } + return addUadpNetworkMessageContentMask(uadpNetworkMessageContentMask); + } + + /** + * Fügt Werte zur Eigenschaft "uadpNetworkMessageContentMask" hinzu. + * + * @param uadpNetworkMessageContentMask + * Werte, die zur Eigenschaft "uadpNetworkMessageContentMask" hinzugefügt werden. + */ + public ListOfUadpNetworkMessageContentMask.Builder<_B> addUadpNetworkMessageContentMask(Long... uadpNetworkMessageContentMask) { + addUadpNetworkMessageContentMask(Arrays.asList(uadpNetworkMessageContentMask)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpNetworkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpNetworkMessageContentMask + * Neuer Wert der Eigenschaft "uadpNetworkMessageContentMask". + */ + public ListOfUadpNetworkMessageContentMask.Builder<_B> withUadpNetworkMessageContentMask(Long... uadpNetworkMessageContentMask) { + withUadpNetworkMessageContentMask(Arrays.asList(uadpNetworkMessageContentMask)); + return this; + } + + @Override + public ListOfUadpNetworkMessageContentMask build() { + if (_storedValue == null) { + return this.init(new ListOfUadpNetworkMessageContentMask()); + } else { + return ((ListOfUadpNetworkMessageContentMask) _storedValue); + } + } + + public ListOfUadpNetworkMessageContentMask.Builder<_B> copyOf(final ListOfUadpNetworkMessageContentMask _other) { + _other.copyTo(this); + return this; + } + + public ListOfUadpNetworkMessageContentMask.Builder<_B> copyOf(final ListOfUadpNetworkMessageContentMask.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUadpNetworkMessageContentMask.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUadpNetworkMessageContentMask.Select _root() { + return new ListOfUadpNetworkMessageContentMask.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> uadpNetworkMessageContentMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uadpNetworkMessageContentMask!= null) { + products.put("uadpNetworkMessageContentMask", this.uadpNetworkMessageContentMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> uadpNetworkMessageContentMask() { + return ((this.uadpNetworkMessageContentMask == null)?this.uadpNetworkMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "uadpNetworkMessageContentMask"):this.uadpNetworkMessageContentMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpWriterGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpWriterGroupMessageDataType.java new file mode 100644 index 000000000..35cfa7fac --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUadpWriterGroupMessageDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUadpWriterGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUadpWriterGroupMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UadpWriterGroupMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpWriterGroupMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUadpWriterGroupMessageDataType", propOrder = { + "uadpWriterGroupMessageDataType" +}) +public class ListOfUadpWriterGroupMessageDataType { + + @XmlElement(name = "UadpWriterGroupMessageDataType", nillable = true) + protected List uadpWriterGroupMessageDataType; + + /** + * Gets the value of the uadpWriterGroupMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the uadpWriterGroupMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUadpWriterGroupMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UadpWriterGroupMessageDataType } + * + * + */ + public List getUadpWriterGroupMessageDataType() { + if (uadpWriterGroupMessageDataType == null) { + uadpWriterGroupMessageDataType = new ArrayList(); + } + return this.uadpWriterGroupMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpWriterGroupMessageDataType.Builder<_B> _other) { + if (this.uadpWriterGroupMessageDataType == null) { + _other.uadpWriterGroupMessageDataType = null; + } else { + _other.uadpWriterGroupMessageDataType = new ArrayList>>(); + for (UadpWriterGroupMessageDataType _item: this.uadpWriterGroupMessageDataType) { + _other.uadpWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfUadpWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUadpWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUadpWriterGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUadpWriterGroupMessageDataType.Builder builder() { + return new ListOfUadpWriterGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfUadpWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfUadpWriterGroupMessageDataType _other) { + final ListOfUadpWriterGroupMessageDataType.Builder<_B> _newBuilder = new ListOfUadpWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUadpWriterGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree uadpWriterGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpWriterGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpWriterGroupMessageDataTypePropertyTree!= null):((uadpWriterGroupMessageDataTypePropertyTree == null)||(!uadpWriterGroupMessageDataTypePropertyTree.isLeaf())))) { + if (this.uadpWriterGroupMessageDataType == null) { + _other.uadpWriterGroupMessageDataType = null; + } else { + _other.uadpWriterGroupMessageDataType = new ArrayList>>(); + for (UadpWriterGroupMessageDataType _item: this.uadpWriterGroupMessageDataType) { + _other.uadpWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, uadpWriterGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfUadpWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUadpWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUadpWriterGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUadpWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfUadpWriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUadpWriterGroupMessageDataType.Builder<_B> _newBuilder = new ListOfUadpWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUadpWriterGroupMessageDataType.Builder copyExcept(final ListOfUadpWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUadpWriterGroupMessageDataType.Builder copyOnly(final ListOfUadpWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUadpWriterGroupMessageDataType _storedValue; + private List>> uadpWriterGroupMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfUadpWriterGroupMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.uadpWriterGroupMessageDataType == null) { + this.uadpWriterGroupMessageDataType = null; + } else { + this.uadpWriterGroupMessageDataType = new ArrayList>>(); + for (UadpWriterGroupMessageDataType _item: _other.uadpWriterGroupMessageDataType) { + this.uadpWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUadpWriterGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree uadpWriterGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("uadpWriterGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(uadpWriterGroupMessageDataTypePropertyTree!= null):((uadpWriterGroupMessageDataTypePropertyTree == null)||(!uadpWriterGroupMessageDataTypePropertyTree.isLeaf())))) { + if (_other.uadpWriterGroupMessageDataType == null) { + this.uadpWriterGroupMessageDataType = null; + } else { + this.uadpWriterGroupMessageDataType = new ArrayList>>(); + for (UadpWriterGroupMessageDataType _item: _other.uadpWriterGroupMessageDataType) { + this.uadpWriterGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, uadpWriterGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUadpWriterGroupMessageDataType >_P init(final _P _product) { + if (this.uadpWriterGroupMessageDataType!= null) { + final List uadpWriterGroupMessageDataType = new ArrayList(this.uadpWriterGroupMessageDataType.size()); + for (UadpWriterGroupMessageDataType.Builder> _item: this.uadpWriterGroupMessageDataType) { + uadpWriterGroupMessageDataType.add(_item.build()); + } + _product.uadpWriterGroupMessageDataType = uadpWriterGroupMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "uadpWriterGroupMessageDataType" hinzu. + * + * @param uadpWriterGroupMessageDataType + * Werte, die zur Eigenschaft "uadpWriterGroupMessageDataType" hinzugefügt werden. + */ + public ListOfUadpWriterGroupMessageDataType.Builder<_B> addUadpWriterGroupMessageDataType(final Iterable uadpWriterGroupMessageDataType) { + if (uadpWriterGroupMessageDataType!= null) { + if (this.uadpWriterGroupMessageDataType == null) { + this.uadpWriterGroupMessageDataType = new ArrayList>>(); + } + for (UadpWriterGroupMessageDataType _item: uadpWriterGroupMessageDataType) { + this.uadpWriterGroupMessageDataType.add(new UadpWriterGroupMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpWriterGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpWriterGroupMessageDataType + * Neuer Wert der Eigenschaft "uadpWriterGroupMessageDataType". + */ + public ListOfUadpWriterGroupMessageDataType.Builder<_B> withUadpWriterGroupMessageDataType(final Iterable uadpWriterGroupMessageDataType) { + if (this.uadpWriterGroupMessageDataType!= null) { + this.uadpWriterGroupMessageDataType.clear(); + } + return addUadpWriterGroupMessageDataType(uadpWriterGroupMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "uadpWriterGroupMessageDataType" hinzu. + * + * @param uadpWriterGroupMessageDataType + * Werte, die zur Eigenschaft "uadpWriterGroupMessageDataType" hinzugefügt werden. + */ + public ListOfUadpWriterGroupMessageDataType.Builder<_B> addUadpWriterGroupMessageDataType(UadpWriterGroupMessageDataType... uadpWriterGroupMessageDataType) { + addUadpWriterGroupMessageDataType(Arrays.asList(uadpWriterGroupMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "uadpWriterGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param uadpWriterGroupMessageDataType + * Neuer Wert der Eigenschaft "uadpWriterGroupMessageDataType". + */ + public ListOfUadpWriterGroupMessageDataType.Builder<_B> withUadpWriterGroupMessageDataType(UadpWriterGroupMessageDataType... uadpWriterGroupMessageDataType) { + withUadpWriterGroupMessageDataType(Arrays.asList(uadpWriterGroupMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "UadpWriterGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UadpWriterGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "UadpWriterGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.UadpWriterGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public UadpWriterGroupMessageDataType.Builder> addUadpWriterGroupMessageDataType() { + if (this.uadpWriterGroupMessageDataType == null) { + this.uadpWriterGroupMessageDataType = new ArrayList>>(); + } + final UadpWriterGroupMessageDataType.Builder> uadpWriterGroupMessageDataType_Builder = new UadpWriterGroupMessageDataType.Builder>(this, null, false); + this.uadpWriterGroupMessageDataType.add(uadpWriterGroupMessageDataType_Builder); + return uadpWriterGroupMessageDataType_Builder; + } + + @Override + public ListOfUadpWriterGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfUadpWriterGroupMessageDataType()); + } else { + return ((ListOfUadpWriterGroupMessageDataType) _storedValue); + } + } + + public ListOfUadpWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfUadpWriterGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfUadpWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfUadpWriterGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUadpWriterGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUadpWriterGroupMessageDataType.Select _root() { + return new ListOfUadpWriterGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private UadpWriterGroupMessageDataType.Selector> uadpWriterGroupMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.uadpWriterGroupMessageDataType!= null) { + products.put("uadpWriterGroupMessageDataType", this.uadpWriterGroupMessageDataType.init()); + } + return products; + } + + public UadpWriterGroupMessageDataType.Selector> uadpWriterGroupMessageDataType() { + return ((this.uadpWriterGroupMessageDataType == null)?this.uadpWriterGroupMessageDataType = new UadpWriterGroupMessageDataType.Selector>(this._root, this, "uadpWriterGroupMessageDataType"):this.uadpWriterGroupMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUnion.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUnion.java new file mode 100644 index 000000000..07ce4fa77 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUnion.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUnion complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUnion">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Union" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Union" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUnion", propOrder = { + "union" +}) +public class ListOfUnion { + + @XmlElement(name = "Union", nillable = true) + protected List union; + + /** + * Gets the value of the union property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the union property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUnion().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Union } + * + * + */ + public List getUnion() { + if (union == null) { + union = new ArrayList(); + } + return this.union; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUnion.Builder<_B> _other) { + if (this.union == null) { + _other.union = null; + } else { + _other.union = new ArrayList>>(); + for (Union _item: this.union) { + _other.union.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfUnion.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUnion.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUnion.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUnion.Builder builder() { + return new ListOfUnion.Builder(null, null, false); + } + + public static<_B >ListOfUnion.Builder<_B> copyOf(final ListOfUnion _other) { + final ListOfUnion.Builder<_B> _newBuilder = new ListOfUnion.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUnion.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree unionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("union")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unionPropertyTree!= null):((unionPropertyTree == null)||(!unionPropertyTree.isLeaf())))) { + if (this.union == null) { + _other.union = null; + } else { + _other.union = new ArrayList>>(); + for (Union _item: this.union) { + _other.union.add(((_item == null)?null:_item.newCopyBuilder(_other, unionPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfUnion.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUnion.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUnion.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUnion.Builder<_B> copyOf(final ListOfUnion _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUnion.Builder<_B> _newBuilder = new ListOfUnion.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUnion.Builder copyExcept(final ListOfUnion _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUnion.Builder copyOnly(final ListOfUnion _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUnion _storedValue; + private List>> union; + + public Builder(final _B _parentBuilder, final ListOfUnion _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.union == null) { + this.union = null; + } else { + this.union = new ArrayList>>(); + for (Union _item: _other.union) { + this.union.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUnion _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree unionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("union")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unionPropertyTree!= null):((unionPropertyTree == null)||(!unionPropertyTree.isLeaf())))) { + if (_other.union == null) { + this.union = null; + } else { + this.union = new ArrayList>>(); + for (Union _item: _other.union) { + this.union.add(((_item == null)?null:_item.newCopyBuilder(this, unionPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUnion >_P init(final _P _product) { + if (this.union!= null) { + final List union = new ArrayList(this.union.size()); + for (Union.Builder> _item: this.union) { + union.add(_item.build()); + } + _product.union = union; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "union" hinzu. + * + * @param union + * Werte, die zur Eigenschaft "union" hinzugefügt werden. + */ + public ListOfUnion.Builder<_B> addUnion(final Iterable union) { + if (union!= null) { + if (this.union == null) { + this.union = new ArrayList>>(); + } + for (Union _item: union) { + this.union.add(new Union.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "union" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param union + * Neuer Wert der Eigenschaft "union". + */ + public ListOfUnion.Builder<_B> withUnion(final Iterable union) { + if (this.union!= null) { + this.union.clear(); + } + return addUnion(union); + } + + /** + * Fügt Werte zur Eigenschaft "union" hinzu. + * + * @param union + * Werte, die zur Eigenschaft "union" hinzugefügt werden. + */ + public ListOfUnion.Builder<_B> addUnion(Union... union) { + addUnion(Arrays.asList(union)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "union" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param union + * Neuer Wert der Eigenschaft "union". + */ + public ListOfUnion.Builder<_B> withUnion(Union... union) { + withUnion(Arrays.asList(union)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Union". + * Mit {@link org.opcfoundation.ua._2008._02.types.Union.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Union". + * Mit {@link org.opcfoundation.ua._2008._02.types.Union.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Union.Builder> addUnion() { + if (this.union == null) { + this.union = new ArrayList>>(); + } + final Union.Builder> union_Builder = new Union.Builder>(this, null, false); + this.union.add(union_Builder); + return union_Builder; + } + + @Override + public ListOfUnion build() { + if (_storedValue == null) { + return this.init(new ListOfUnion()); + } else { + return ((ListOfUnion) _storedValue); + } + } + + public ListOfUnion.Builder<_B> copyOf(final ListOfUnion _other) { + _other.copyTo(this); + return this; + } + + public ListOfUnion.Builder<_B> copyOf(final ListOfUnion.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUnion.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUnion.Select _root() { + return new ListOfUnion.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Union.Selector> union = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.union!= null) { + products.put("union", this.union.init()); + } + return products; + } + + public Union.Selector> union() { + return ((this.union == null)?this.union = new Union.Selector>(this._root, this, "union"):this.union); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUserTokenPolicy.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUserTokenPolicy.java new file mode 100644 index 000000000..0c6d77768 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfUserTokenPolicy.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfUserTokenPolicy complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfUserTokenPolicy">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UserTokenPolicy" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserTokenPolicy" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfUserTokenPolicy", propOrder = { + "userTokenPolicy" +}) +public class ListOfUserTokenPolicy { + + @XmlElement(name = "UserTokenPolicy", nillable = true) + protected List userTokenPolicy; + + /** + * Gets the value of the userTokenPolicy property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the userTokenPolicy property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUserTokenPolicy().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UserTokenPolicy } + * + * + */ + public List getUserTokenPolicy() { + if (userTokenPolicy == null) { + userTokenPolicy = new ArrayList(); + } + return this.userTokenPolicy; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUserTokenPolicy.Builder<_B> _other) { + if (this.userTokenPolicy == null) { + _other.userTokenPolicy = null; + } else { + _other.userTokenPolicy = new ArrayList>>(); + for (UserTokenPolicy _item: this.userTokenPolicy) { + _other.userTokenPolicy.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfUserTokenPolicy.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfUserTokenPolicy.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfUserTokenPolicy.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfUserTokenPolicy.Builder builder() { + return new ListOfUserTokenPolicy.Builder(null, null, false); + } + + public static<_B >ListOfUserTokenPolicy.Builder<_B> copyOf(final ListOfUserTokenPolicy _other) { + final ListOfUserTokenPolicy.Builder<_B> _newBuilder = new ListOfUserTokenPolicy.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfUserTokenPolicy.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree userTokenPolicyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userTokenPolicy")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userTokenPolicyPropertyTree!= null):((userTokenPolicyPropertyTree == null)||(!userTokenPolicyPropertyTree.isLeaf())))) { + if (this.userTokenPolicy == null) { + _other.userTokenPolicy = null; + } else { + _other.userTokenPolicy = new ArrayList>>(); + for (UserTokenPolicy _item: this.userTokenPolicy) { + _other.userTokenPolicy.add(((_item == null)?null:_item.newCopyBuilder(_other, userTokenPolicyPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfUserTokenPolicy.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfUserTokenPolicy.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfUserTokenPolicy.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfUserTokenPolicy.Builder<_B> copyOf(final ListOfUserTokenPolicy _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfUserTokenPolicy.Builder<_B> _newBuilder = new ListOfUserTokenPolicy.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfUserTokenPolicy.Builder copyExcept(final ListOfUserTokenPolicy _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfUserTokenPolicy.Builder copyOnly(final ListOfUserTokenPolicy _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfUserTokenPolicy _storedValue; + private List>> userTokenPolicy; + + public Builder(final _B _parentBuilder, final ListOfUserTokenPolicy _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.userTokenPolicy == null) { + this.userTokenPolicy = null; + } else { + this.userTokenPolicy = new ArrayList>>(); + for (UserTokenPolicy _item: _other.userTokenPolicy) { + this.userTokenPolicy.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfUserTokenPolicy _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree userTokenPolicyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userTokenPolicy")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userTokenPolicyPropertyTree!= null):((userTokenPolicyPropertyTree == null)||(!userTokenPolicyPropertyTree.isLeaf())))) { + if (_other.userTokenPolicy == null) { + this.userTokenPolicy = null; + } else { + this.userTokenPolicy = new ArrayList>>(); + for (UserTokenPolicy _item: _other.userTokenPolicy) { + this.userTokenPolicy.add(((_item == null)?null:_item.newCopyBuilder(this, userTokenPolicyPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfUserTokenPolicy >_P init(final _P _product) { + if (this.userTokenPolicy!= null) { + final List userTokenPolicy = new ArrayList(this.userTokenPolicy.size()); + for (UserTokenPolicy.Builder> _item: this.userTokenPolicy) { + userTokenPolicy.add(_item.build()); + } + _product.userTokenPolicy = userTokenPolicy; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "userTokenPolicy" hinzu. + * + * @param userTokenPolicy + * Werte, die zur Eigenschaft "userTokenPolicy" hinzugefügt werden. + */ + public ListOfUserTokenPolicy.Builder<_B> addUserTokenPolicy(final Iterable userTokenPolicy) { + if (userTokenPolicy!= null) { + if (this.userTokenPolicy == null) { + this.userTokenPolicy = new ArrayList>>(); + } + for (UserTokenPolicy _item: userTokenPolicy) { + this.userTokenPolicy.add(new UserTokenPolicy.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userTokenPolicy" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userTokenPolicy + * Neuer Wert der Eigenschaft "userTokenPolicy". + */ + public ListOfUserTokenPolicy.Builder<_B> withUserTokenPolicy(final Iterable userTokenPolicy) { + if (this.userTokenPolicy!= null) { + this.userTokenPolicy.clear(); + } + return addUserTokenPolicy(userTokenPolicy); + } + + /** + * Fügt Werte zur Eigenschaft "userTokenPolicy" hinzu. + * + * @param userTokenPolicy + * Werte, die zur Eigenschaft "userTokenPolicy" hinzugefügt werden. + */ + public ListOfUserTokenPolicy.Builder<_B> addUserTokenPolicy(UserTokenPolicy... userTokenPolicy) { + addUserTokenPolicy(Arrays.asList(userTokenPolicy)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userTokenPolicy" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userTokenPolicy + * Neuer Wert der Eigenschaft "userTokenPolicy". + */ + public ListOfUserTokenPolicy.Builder<_B> withUserTokenPolicy(UserTokenPolicy... userTokenPolicy) { + withUserTokenPolicy(Arrays.asList(userTokenPolicy)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "UserTokenPolicy". + * Mit {@link org.opcfoundation.ua._2008._02.types.UserTokenPolicy.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "UserTokenPolicy". + * Mit {@link org.opcfoundation.ua._2008._02.types.UserTokenPolicy.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public UserTokenPolicy.Builder> addUserTokenPolicy() { + if (this.userTokenPolicy == null) { + this.userTokenPolicy = new ArrayList>>(); + } + final UserTokenPolicy.Builder> userTokenPolicy_Builder = new UserTokenPolicy.Builder>(this, null, false); + this.userTokenPolicy.add(userTokenPolicy_Builder); + return userTokenPolicy_Builder; + } + + @Override + public ListOfUserTokenPolicy build() { + if (_storedValue == null) { + return this.init(new ListOfUserTokenPolicy()); + } else { + return ((ListOfUserTokenPolicy) _storedValue); + } + } + + public ListOfUserTokenPolicy.Builder<_B> copyOf(final ListOfUserTokenPolicy _other) { + _other.copyTo(this); + return this; + } + + public ListOfUserTokenPolicy.Builder<_B> copyOf(final ListOfUserTokenPolicy.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfUserTokenPolicy.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfUserTokenPolicy.Select _root() { + return new ListOfUserTokenPolicy.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private UserTokenPolicy.Selector> userTokenPolicy = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.userTokenPolicy!= null) { + products.put("userTokenPolicy", this.userTokenPolicy.init()); + } + return products; + } + + public UserTokenPolicy.Selector> userTokenPolicy() { + return ((this.userTokenPolicy == null)?this.userTokenPolicy = new UserTokenPolicy.Selector>(this._root, this, "userTokenPolicy"):this.userTokenPolicy); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVariant.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVariant.java new file mode 100644 index 000000000..0385de42a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVariant.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfVariant complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfVariant">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Variant" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfVariant", propOrder = { + "variant" +}) +public class ListOfVariant { + + @XmlElement(name = "Variant") + protected List variant; + + /** + * Gets the value of the variant property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the variant property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getVariant().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Variant } + * + * + */ + public List getVariant() { + if (variant == null) { + variant = new ArrayList(); + } + return this.variant; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfVariant.Builder<_B> _other) { + if (this.variant == null) { + _other.variant = null; + } else { + _other.variant = new ArrayList>>(); + for (Variant _item: this.variant) { + _other.variant.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfVariant.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfVariant.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfVariant.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfVariant.Builder builder() { + return new ListOfVariant.Builder(null, null, false); + } + + public static<_B >ListOfVariant.Builder<_B> copyOf(final ListOfVariant _other) { + final ListOfVariant.Builder<_B> _newBuilder = new ListOfVariant.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfVariant.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree variantPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("variant")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(variantPropertyTree!= null):((variantPropertyTree == null)||(!variantPropertyTree.isLeaf())))) { + if (this.variant == null) { + _other.variant = null; + } else { + _other.variant = new ArrayList>>(); + for (Variant _item: this.variant) { + _other.variant.add(((_item == null)?null:_item.newCopyBuilder(_other, variantPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfVariant.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfVariant.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfVariant.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfVariant.Builder<_B> copyOf(final ListOfVariant _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfVariant.Builder<_B> _newBuilder = new ListOfVariant.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfVariant.Builder copyExcept(final ListOfVariant _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfVariant.Builder copyOnly(final ListOfVariant _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfVariant _storedValue; + private List>> variant; + + public Builder(final _B _parentBuilder, final ListOfVariant _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.variant == null) { + this.variant = null; + } else { + this.variant = new ArrayList>>(); + for (Variant _item: _other.variant) { + this.variant.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfVariant _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree variantPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("variant")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(variantPropertyTree!= null):((variantPropertyTree == null)||(!variantPropertyTree.isLeaf())))) { + if (_other.variant == null) { + this.variant = null; + } else { + this.variant = new ArrayList>>(); + for (Variant _item: _other.variant) { + this.variant.add(((_item == null)?null:_item.newCopyBuilder(this, variantPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfVariant >_P init(final _P _product) { + if (this.variant!= null) { + final List variant = new ArrayList(this.variant.size()); + for (Variant.Builder> _item: this.variant) { + variant.add(_item.build()); + } + _product.variant = variant; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "variant" hinzu. + * + * @param variant + * Werte, die zur Eigenschaft "variant" hinzugefügt werden. + */ + public ListOfVariant.Builder<_B> addVariant(final Iterable variant) { + if (variant!= null) { + if (this.variant == null) { + this.variant = new ArrayList>>(); + } + for (Variant _item: variant) { + this.variant.add(new Variant.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "variant" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param variant + * Neuer Wert der Eigenschaft "variant". + */ + public ListOfVariant.Builder<_B> withVariant(final Iterable variant) { + if (this.variant!= null) { + this.variant.clear(); + } + return addVariant(variant); + } + + /** + * Fügt Werte zur Eigenschaft "variant" hinzu. + * + * @param variant + * Werte, die zur Eigenschaft "variant" hinzugefügt werden. + */ + public ListOfVariant.Builder<_B> addVariant(Variant... variant) { + addVariant(Arrays.asList(variant)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "variant" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param variant + * Neuer Wert der Eigenschaft "variant". + */ + public ListOfVariant.Builder<_B> withVariant(Variant... variant) { + withVariant(Arrays.asList(variant)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Variant". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Variant". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> addVariant() { + if (this.variant == null) { + this.variant = new ArrayList>>(); + } + final Variant.Builder> variant_Builder = new Variant.Builder>(this, null, false); + this.variant.add(variant_Builder); + return variant_Builder; + } + + @Override + public ListOfVariant build() { + if (_storedValue == null) { + return this.init(new ListOfVariant()); + } else { + return ((ListOfVariant) _storedValue); + } + } + + public ListOfVariant.Builder<_B> copyOf(final ListOfVariant _other) { + _other.copyTo(this); + return this; + } + + public ListOfVariant.Builder<_B> copyOf(final ListOfVariant.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfVariant.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfVariant.Select _root() { + return new ListOfVariant.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Variant.Selector> variant = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.variant!= null) { + products.put("variant", this.variant.init()); + } + return products; + } + + public Variant.Selector> variant() { + return ((this.variant == null)?this.variant = new Variant.Selector>(this._root, this, "variant"):this.variant); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVector.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVector.java new file mode 100644 index 000000000..6dcfe3cb4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfVector.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfVector complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfVector">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Vector" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Vector" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfVector", propOrder = { + "vector" +}) +public class ListOfVector { + + @XmlElement(name = "Vector", nillable = true) + protected List vector; + + /** + * Gets the value of the vector property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the vector property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getVector().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Vector } + * + * + */ + public List getVector() { + if (vector == null) { + vector = new ArrayList(); + } + return this.vector; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfVector.Builder<_B> _other) { + if (this.vector == null) { + _other.vector = null; + } else { + _other.vector = new ArrayList>>(); + for (Vector _item: this.vector) { + _other.vector.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfVector.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfVector.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfVector.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfVector.Builder builder() { + return new ListOfVector.Builder(null, null, false); + } + + public static<_B >ListOfVector.Builder<_B> copyOf(final ListOfVector _other) { + final ListOfVector.Builder<_B> _newBuilder = new ListOfVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfVector.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree vectorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("vector")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(vectorPropertyTree!= null):((vectorPropertyTree == null)||(!vectorPropertyTree.isLeaf())))) { + if (this.vector == null) { + _other.vector = null; + } else { + _other.vector = new ArrayList>>(); + for (Vector _item: this.vector) { + _other.vector.add(((_item == null)?null:_item.newCopyBuilder(_other, vectorPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfVector.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfVector.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfVector.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfVector.Builder<_B> copyOf(final ListOfVector _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfVector.Builder<_B> _newBuilder = new ListOfVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfVector.Builder copyExcept(final ListOfVector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfVector.Builder copyOnly(final ListOfVector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfVector _storedValue; + private List>> vector; + + public Builder(final _B _parentBuilder, final ListOfVector _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.vector == null) { + this.vector = null; + } else { + this.vector = new ArrayList>>(); + for (Vector _item: _other.vector) { + this.vector.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfVector _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree vectorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("vector")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(vectorPropertyTree!= null):((vectorPropertyTree == null)||(!vectorPropertyTree.isLeaf())))) { + if (_other.vector == null) { + this.vector = null; + } else { + this.vector = new ArrayList>>(); + for (Vector _item: _other.vector) { + this.vector.add(((_item == null)?null:_item.newCopyBuilder(this, vectorPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfVector >_P init(final _P _product) { + if (this.vector!= null) { + final List vector = new ArrayList(this.vector.size()); + for (Vector.Builder> _item: this.vector) { + vector.add(_item.build()); + } + _product.vector = vector; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "vector" hinzu. + * + * @param vector + * Werte, die zur Eigenschaft "vector" hinzugefügt werden. + */ + public ListOfVector.Builder<_B> addVector(final Iterable vector) { + if (vector!= null) { + if (this.vector == null) { + this.vector = new ArrayList>>(); + } + for (Vector _item: vector) { + this.vector.add(new Vector.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "vector" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param vector + * Neuer Wert der Eigenschaft "vector". + */ + public ListOfVector.Builder<_B> withVector(final Iterable vector) { + if (this.vector!= null) { + this.vector.clear(); + } + return addVector(vector); + } + + /** + * Fügt Werte zur Eigenschaft "vector" hinzu. + * + * @param vector + * Werte, die zur Eigenschaft "vector" hinzugefügt werden. + */ + public ListOfVector.Builder<_B> addVector(Vector... vector) { + addVector(Arrays.asList(vector)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "vector" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param vector + * Neuer Wert der Eigenschaft "vector". + */ + public ListOfVector.Builder<_B> withVector(Vector... vector) { + withVector(Arrays.asList(vector)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "Vector". + * Mit {@link org.opcfoundation.ua._2008._02.types.Vector.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "Vector". + * Mit {@link org.opcfoundation.ua._2008._02.types.Vector.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Vector.Builder> addVector() { + if (this.vector == null) { + this.vector = new ArrayList>>(); + } + final Vector.Builder> vector_Builder = new Vector.Builder>(this, null, false); + this.vector.add(vector_Builder); + return vector_Builder; + } + + @Override + public ListOfVector build() { + if (_storedValue == null) { + return this.init(new ListOfVector()); + } else { + return ((ListOfVector) _storedValue); + } + } + + public ListOfVector.Builder<_B> copyOf(final ListOfVector _other) { + _other.copyTo(this); + return this; + } + + public ListOfVector.Builder<_B> copyOf(final ListOfVector.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfVector.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfVector.Select _root() { + return new ListOfVector.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private Vector.Selector> vector = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.vector!= null) { + products.put("vector", this.vector.init()); + } + return products; + } + + public Vector.Selector> vector() { + return ((this.vector == null)?this.vector = new Vector.Selector>(this._root, this, "vector"):this.vector); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriteValue.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriteValue.java new file mode 100644 index 000000000..dc5349561 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriteValue.java @@ -0,0 +1,365 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfWriteValue complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfWriteValue">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="WriteValue" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriteValue" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfWriteValue", propOrder = { + "writeValue" +}) +public class ListOfWriteValue { + + @XmlElement(name = "WriteValue", nillable = true) + protected List writeValue; + + /** + * Gets the value of the writeValue property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the writeValue property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getWriteValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link WriteValue } + * + * + */ + public List getWriteValue() { + if (writeValue == null) { + writeValue = new ArrayList(); + } + return this.writeValue; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriteValue.Builder<_B> _other) { + if (this.writeValue == null) { + _other.writeValue = null; + } else { + _other.writeValue = new ArrayList>>(); + for (WriteValue _item: this.writeValue) { + _other.writeValue.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfWriteValue.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfWriteValue.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfWriteValue.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfWriteValue.Builder builder() { + return new ListOfWriteValue.Builder(null, null, false); + } + + public static<_B >ListOfWriteValue.Builder<_B> copyOf(final ListOfWriteValue _other) { + final ListOfWriteValue.Builder<_B> _newBuilder = new ListOfWriteValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriteValue.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree writeValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeValuePropertyTree!= null):((writeValuePropertyTree == null)||(!writeValuePropertyTree.isLeaf())))) { + if (this.writeValue == null) { + _other.writeValue = null; + } else { + _other.writeValue = new ArrayList>>(); + for (WriteValue _item: this.writeValue) { + _other.writeValue.add(((_item == null)?null:_item.newCopyBuilder(_other, writeValuePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfWriteValue.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfWriteValue.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfWriteValue.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfWriteValue.Builder<_B> copyOf(final ListOfWriteValue _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfWriteValue.Builder<_B> _newBuilder = new ListOfWriteValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfWriteValue.Builder copyExcept(final ListOfWriteValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfWriteValue.Builder copyOnly(final ListOfWriteValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfWriteValue _storedValue; + private List>> writeValue; + + public Builder(final _B _parentBuilder, final ListOfWriteValue _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.writeValue == null) { + this.writeValue = null; + } else { + this.writeValue = new ArrayList>>(); + for (WriteValue _item: _other.writeValue) { + this.writeValue.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfWriteValue _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree writeValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeValuePropertyTree!= null):((writeValuePropertyTree == null)||(!writeValuePropertyTree.isLeaf())))) { + if (_other.writeValue == null) { + this.writeValue = null; + } else { + this.writeValue = new ArrayList>>(); + for (WriteValue _item: _other.writeValue) { + this.writeValue.add(((_item == null)?null:_item.newCopyBuilder(this, writeValuePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfWriteValue >_P init(final _P _product) { + if (this.writeValue!= null) { + final List writeValue = new ArrayList(this.writeValue.size()); + for (WriteValue.Builder> _item: this.writeValue) { + writeValue.add(_item.build()); + } + _product.writeValue = writeValue; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "writeValue" hinzu. + * + * @param writeValue + * Werte, die zur Eigenschaft "writeValue" hinzugefügt werden. + */ + public ListOfWriteValue.Builder<_B> addWriteValue(final Iterable writeValue) { + if (writeValue!= null) { + if (this.writeValue == null) { + this.writeValue = new ArrayList>>(); + } + for (WriteValue _item: writeValue) { + this.writeValue.add(new WriteValue.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeValue" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeValue + * Neuer Wert der Eigenschaft "writeValue". + */ + public ListOfWriteValue.Builder<_B> withWriteValue(final Iterable writeValue) { + if (this.writeValue!= null) { + this.writeValue.clear(); + } + return addWriteValue(writeValue); + } + + /** + * Fügt Werte zur Eigenschaft "writeValue" hinzu. + * + * @param writeValue + * Werte, die zur Eigenschaft "writeValue" hinzugefügt werden. + */ + public ListOfWriteValue.Builder<_B> addWriteValue(WriteValue... writeValue) { + addWriteValue(Arrays.asList(writeValue)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeValue" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeValue + * Neuer Wert der Eigenschaft "writeValue". + */ + public ListOfWriteValue.Builder<_B> withWriteValue(WriteValue... writeValue) { + withWriteValue(Arrays.asList(writeValue)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "WriteValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.WriteValue.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "WriteValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.WriteValue.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public WriteValue.Builder> addWriteValue() { + if (this.writeValue == null) { + this.writeValue = new ArrayList>>(); + } + final WriteValue.Builder> writeValue_Builder = new WriteValue.Builder>(this, null, false); + this.writeValue.add(writeValue_Builder); + return writeValue_Builder; + } + + @Override + public ListOfWriteValue build() { + if (_storedValue == null) { + return this.init(new ListOfWriteValue()); + } else { + return ((ListOfWriteValue) _storedValue); + } + } + + public ListOfWriteValue.Builder<_B> copyOf(final ListOfWriteValue _other) { + _other.copyTo(this); + return this; + } + + public ListOfWriteValue.Builder<_B> copyOf(final ListOfWriteValue.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfWriteValue.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfWriteValue.Select _root() { + return new ListOfWriteValue.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private WriteValue.Selector> writeValue = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.writeValue!= null) { + products.put("writeValue", this.writeValue.init()); + } + return products; + } + + public WriteValue.Selector> writeValue() { + return ((this.writeValue == null)?this.writeValue = new WriteValue.Selector>(this._root, this, "writeValue"):this.writeValue); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupDataType.java new file mode 100644 index 000000000..b32bc09e4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfWriterGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfWriterGroupDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="WriterGroupDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfWriterGroupDataType", propOrder = { + "writerGroupDataType" +}) +public class ListOfWriterGroupDataType { + + @XmlElement(name = "WriterGroupDataType", nillable = true) + protected List writerGroupDataType; + + /** + * Gets the value of the writerGroupDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the writerGroupDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getWriterGroupDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link WriterGroupDataType } + * + * + */ + public List getWriterGroupDataType() { + if (writerGroupDataType == null) { + writerGroupDataType = new ArrayList(); + } + return this.writerGroupDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriterGroupDataType.Builder<_B> _other) { + if (this.writerGroupDataType == null) { + _other.writerGroupDataType = null; + } else { + _other.writerGroupDataType = new ArrayList>>(); + for (WriterGroupDataType _item: this.writerGroupDataType) { + _other.writerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfWriterGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfWriterGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfWriterGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfWriterGroupDataType.Builder builder() { + return new ListOfWriterGroupDataType.Builder(null, null, false); + } + + public static<_B >ListOfWriterGroupDataType.Builder<_B> copyOf(final ListOfWriterGroupDataType _other) { + final ListOfWriterGroupDataType.Builder<_B> _newBuilder = new ListOfWriterGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriterGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree writerGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupDataTypePropertyTree!= null):((writerGroupDataTypePropertyTree == null)||(!writerGroupDataTypePropertyTree.isLeaf())))) { + if (this.writerGroupDataType == null) { + _other.writerGroupDataType = null; + } else { + _other.writerGroupDataType = new ArrayList>>(); + for (WriterGroupDataType _item: this.writerGroupDataType) { + _other.writerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, writerGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfWriterGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfWriterGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfWriterGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfWriterGroupDataType.Builder<_B> copyOf(final ListOfWriterGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfWriterGroupDataType.Builder<_B> _newBuilder = new ListOfWriterGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfWriterGroupDataType.Builder copyExcept(final ListOfWriterGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfWriterGroupDataType.Builder copyOnly(final ListOfWriterGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfWriterGroupDataType _storedValue; + private List>> writerGroupDataType; + + public Builder(final _B _parentBuilder, final ListOfWriterGroupDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.writerGroupDataType == null) { + this.writerGroupDataType = null; + } else { + this.writerGroupDataType = new ArrayList>>(); + for (WriterGroupDataType _item: _other.writerGroupDataType) { + this.writerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfWriterGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree writerGroupDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupDataTypePropertyTree!= null):((writerGroupDataTypePropertyTree == null)||(!writerGroupDataTypePropertyTree.isLeaf())))) { + if (_other.writerGroupDataType == null) { + this.writerGroupDataType = null; + } else { + this.writerGroupDataType = new ArrayList>>(); + for (WriterGroupDataType _item: _other.writerGroupDataType) { + this.writerGroupDataType.add(((_item == null)?null:_item.newCopyBuilder(this, writerGroupDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfWriterGroupDataType >_P init(final _P _product) { + if (this.writerGroupDataType!= null) { + final List writerGroupDataType = new ArrayList(this.writerGroupDataType.size()); + for (WriterGroupDataType.Builder> _item: this.writerGroupDataType) { + writerGroupDataType.add(_item.build()); + } + _product.writerGroupDataType = writerGroupDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "writerGroupDataType" hinzu. + * + * @param writerGroupDataType + * Werte, die zur Eigenschaft "writerGroupDataType" hinzugefügt werden. + */ + public ListOfWriterGroupDataType.Builder<_B> addWriterGroupDataType(final Iterable writerGroupDataType) { + if (writerGroupDataType!= null) { + if (this.writerGroupDataType == null) { + this.writerGroupDataType = new ArrayList>>(); + } + for (WriterGroupDataType _item: writerGroupDataType) { + this.writerGroupDataType.add(new WriterGroupDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param writerGroupDataType + * Neuer Wert der Eigenschaft "writerGroupDataType". + */ + public ListOfWriterGroupDataType.Builder<_B> withWriterGroupDataType(final Iterable writerGroupDataType) { + if (this.writerGroupDataType!= null) { + this.writerGroupDataType.clear(); + } + return addWriterGroupDataType(writerGroupDataType); + } + + /** + * Fügt Werte zur Eigenschaft "writerGroupDataType" hinzu. + * + * @param writerGroupDataType + * Werte, die zur Eigenschaft "writerGroupDataType" hinzugefügt werden. + */ + public ListOfWriterGroupDataType.Builder<_B> addWriterGroupDataType(WriterGroupDataType... writerGroupDataType) { + addWriterGroupDataType(Arrays.asList(writerGroupDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupDataType" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param writerGroupDataType + * Neuer Wert der Eigenschaft "writerGroupDataType". + */ + public ListOfWriterGroupDataType.Builder<_B> withWriterGroupDataType(WriterGroupDataType... writerGroupDataType) { + withWriterGroupDataType(Arrays.asList(writerGroupDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "WriterGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.WriterGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "WriterGroupDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.WriterGroupDataType.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public WriterGroupDataType.Builder> addWriterGroupDataType() { + if (this.writerGroupDataType == null) { + this.writerGroupDataType = new ArrayList>>(); + } + final WriterGroupDataType.Builder> writerGroupDataType_Builder = new WriterGroupDataType.Builder>(this, null, false); + this.writerGroupDataType.add(writerGroupDataType_Builder); + return writerGroupDataType_Builder; + } + + @Override + public ListOfWriterGroupDataType build() { + if (_storedValue == null) { + return this.init(new ListOfWriterGroupDataType()); + } else { + return ((ListOfWriterGroupDataType) _storedValue); + } + } + + public ListOfWriterGroupDataType.Builder<_B> copyOf(final ListOfWriterGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfWriterGroupDataType.Builder<_B> copyOf(final ListOfWriterGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfWriterGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfWriterGroupDataType.Select _root() { + return new ListOfWriterGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private WriterGroupDataType.Selector> writerGroupDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.writerGroupDataType!= null) { + products.put("writerGroupDataType", this.writerGroupDataType.init()); + } + return products; + } + + public WriterGroupDataType.Selector> writerGroupDataType() { + return ((this.writerGroupDataType == null)?this.writerGroupDataType = new WriterGroupDataType.Selector>(this._root, this, "writerGroupDataType"):this.writerGroupDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupMessageDataType.java new file mode 100644 index 000000000..6021fa91c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupMessageDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfWriterGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfWriterGroupMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="WriterGroupMessageDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupMessageDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfWriterGroupMessageDataType", propOrder = { + "writerGroupMessageDataType" +}) +public class ListOfWriterGroupMessageDataType { + + @XmlElement(name = "WriterGroupMessageDataType", nillable = true) + protected List writerGroupMessageDataType; + + /** + * Gets the value of the writerGroupMessageDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the writerGroupMessageDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getWriterGroupMessageDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link WriterGroupMessageDataType } + * + * + */ + public List getWriterGroupMessageDataType() { + if (writerGroupMessageDataType == null) { + writerGroupMessageDataType = new ArrayList(); + } + return this.writerGroupMessageDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriterGroupMessageDataType.Builder<_B> _other) { + if (this.writerGroupMessageDataType == null) { + _other.writerGroupMessageDataType = null; + } else { + _other.writerGroupMessageDataType = new ArrayList>>(); + for (WriterGroupMessageDataType _item: this.writerGroupMessageDataType) { + _other.writerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfWriterGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfWriterGroupMessageDataType.Builder builder() { + return new ListOfWriterGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >ListOfWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfWriterGroupMessageDataType _other) { + final ListOfWriterGroupMessageDataType.Builder<_B> _newBuilder = new ListOfWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriterGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree writerGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupMessageDataTypePropertyTree!= null):((writerGroupMessageDataTypePropertyTree == null)||(!writerGroupMessageDataTypePropertyTree.isLeaf())))) { + if (this.writerGroupMessageDataType == null) { + _other.writerGroupMessageDataType = null; + } else { + _other.writerGroupMessageDataType = new ArrayList>>(); + for (WriterGroupMessageDataType _item: this.writerGroupMessageDataType) { + _other.writerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, writerGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfWriterGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfWriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfWriterGroupMessageDataType.Builder<_B> _newBuilder = new ListOfWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfWriterGroupMessageDataType.Builder copyExcept(final ListOfWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfWriterGroupMessageDataType.Builder copyOnly(final ListOfWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfWriterGroupMessageDataType _storedValue; + private List>> writerGroupMessageDataType; + + public Builder(final _B _parentBuilder, final ListOfWriterGroupMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.writerGroupMessageDataType == null) { + this.writerGroupMessageDataType = null; + } else { + this.writerGroupMessageDataType = new ArrayList>>(); + for (WriterGroupMessageDataType _item: _other.writerGroupMessageDataType) { + this.writerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfWriterGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree writerGroupMessageDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupMessageDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupMessageDataTypePropertyTree!= null):((writerGroupMessageDataTypePropertyTree == null)||(!writerGroupMessageDataTypePropertyTree.isLeaf())))) { + if (_other.writerGroupMessageDataType == null) { + this.writerGroupMessageDataType = null; + } else { + this.writerGroupMessageDataType = new ArrayList>>(); + for (WriterGroupMessageDataType _item: _other.writerGroupMessageDataType) { + this.writerGroupMessageDataType.add(((_item == null)?null:_item.newCopyBuilder(this, writerGroupMessageDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfWriterGroupMessageDataType >_P init(final _P _product) { + if (this.writerGroupMessageDataType!= null) { + final List writerGroupMessageDataType = new ArrayList(this.writerGroupMessageDataType.size()); + for (WriterGroupMessageDataType.Builder> _item: this.writerGroupMessageDataType) { + writerGroupMessageDataType.add(_item.build()); + } + _product.writerGroupMessageDataType = writerGroupMessageDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "writerGroupMessageDataType" hinzu. + * + * @param writerGroupMessageDataType + * Werte, die zur Eigenschaft "writerGroupMessageDataType" hinzugefügt werden. + */ + public ListOfWriterGroupMessageDataType.Builder<_B> addWriterGroupMessageDataType(final Iterable writerGroupMessageDataType) { + if (writerGroupMessageDataType!= null) { + if (this.writerGroupMessageDataType == null) { + this.writerGroupMessageDataType = new ArrayList>>(); + } + for (WriterGroupMessageDataType _item: writerGroupMessageDataType) { + this.writerGroupMessageDataType.add(new WriterGroupMessageDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param writerGroupMessageDataType + * Neuer Wert der Eigenschaft "writerGroupMessageDataType". + */ + public ListOfWriterGroupMessageDataType.Builder<_B> withWriterGroupMessageDataType(final Iterable writerGroupMessageDataType) { + if (this.writerGroupMessageDataType!= null) { + this.writerGroupMessageDataType.clear(); + } + return addWriterGroupMessageDataType(writerGroupMessageDataType); + } + + /** + * Fügt Werte zur Eigenschaft "writerGroupMessageDataType" hinzu. + * + * @param writerGroupMessageDataType + * Werte, die zur Eigenschaft "writerGroupMessageDataType" hinzugefügt werden. + */ + public ListOfWriterGroupMessageDataType.Builder<_B> addWriterGroupMessageDataType(WriterGroupMessageDataType... writerGroupMessageDataType) { + addWriterGroupMessageDataType(Arrays.asList(writerGroupMessageDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupMessageDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param writerGroupMessageDataType + * Neuer Wert der Eigenschaft "writerGroupMessageDataType". + */ + public ListOfWriterGroupMessageDataType.Builder<_B> withWriterGroupMessageDataType(WriterGroupMessageDataType... writerGroupMessageDataType) { + withWriterGroupMessageDataType(Arrays.asList(writerGroupMessageDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "WriterGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.WriterGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "WriterGroupMessageDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.WriterGroupMessageDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public WriterGroupMessageDataType.Builder> addWriterGroupMessageDataType() { + if (this.writerGroupMessageDataType == null) { + this.writerGroupMessageDataType = new ArrayList>>(); + } + final WriterGroupMessageDataType.Builder> writerGroupMessageDataType_Builder = new WriterGroupMessageDataType.Builder>(this, null, false); + this.writerGroupMessageDataType.add(writerGroupMessageDataType_Builder); + return writerGroupMessageDataType_Builder; + } + + @Override + public ListOfWriterGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new ListOfWriterGroupMessageDataType()); + } else { + return ((ListOfWriterGroupMessageDataType) _storedValue); + } + } + + public ListOfWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfWriterGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfWriterGroupMessageDataType.Builder<_B> copyOf(final ListOfWriterGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfWriterGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfWriterGroupMessageDataType.Select _root() { + return new ListOfWriterGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private WriterGroupMessageDataType.Selector> writerGroupMessageDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.writerGroupMessageDataType!= null) { + products.put("writerGroupMessageDataType", this.writerGroupMessageDataType.init()); + } + return products; + } + + public WriterGroupMessageDataType.Selector> writerGroupMessageDataType() { + return ((this.writerGroupMessageDataType == null)?this.writerGroupMessageDataType = new WriterGroupMessageDataType.Selector>(this._root, this, "writerGroupMessageDataType"):this.writerGroupMessageDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupTransportDataType.java new file mode 100644 index 000000000..401c719a8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfWriterGroupTransportDataType.java @@ -0,0 +1,367 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ListOfWriterGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfWriterGroupTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="WriterGroupTransportDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupTransportDataType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfWriterGroupTransportDataType", propOrder = { + "writerGroupTransportDataType" +}) +public class ListOfWriterGroupTransportDataType { + + @XmlElement(name = "WriterGroupTransportDataType", nillable = true) + protected List writerGroupTransportDataType; + + /** + * Gets the value of the writerGroupTransportDataType property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the writerGroupTransportDataType property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getWriterGroupTransportDataType().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link WriterGroupTransportDataType } + * + * + */ + public List getWriterGroupTransportDataType() { + if (writerGroupTransportDataType == null) { + writerGroupTransportDataType = new ArrayList(); + } + return this.writerGroupTransportDataType; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriterGroupTransportDataType.Builder<_B> _other) { + if (this.writerGroupTransportDataType == null) { + _other.writerGroupTransportDataType = null; + } else { + _other.writerGroupTransportDataType = new ArrayList>>(); + for (WriterGroupTransportDataType _item: this.writerGroupTransportDataType) { + _other.writerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfWriterGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfWriterGroupTransportDataType.Builder builder() { + return new ListOfWriterGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >ListOfWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfWriterGroupTransportDataType _other) { + final ListOfWriterGroupTransportDataType.Builder<_B> _newBuilder = new ListOfWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfWriterGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree writerGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupTransportDataTypePropertyTree!= null):((writerGroupTransportDataTypePropertyTree == null)||(!writerGroupTransportDataTypePropertyTree.isLeaf())))) { + if (this.writerGroupTransportDataType == null) { + _other.writerGroupTransportDataType = null; + } else { + _other.writerGroupTransportDataType = new ArrayList>>(); + for (WriterGroupTransportDataType _item: this.writerGroupTransportDataType) { + _other.writerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(_other, writerGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfWriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfWriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfWriterGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfWriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfWriterGroupTransportDataType.Builder<_B> _newBuilder = new ListOfWriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfWriterGroupTransportDataType.Builder copyExcept(final ListOfWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfWriterGroupTransportDataType.Builder copyOnly(final ListOfWriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfWriterGroupTransportDataType _storedValue; + private List>> writerGroupTransportDataType; + + public Builder(final _B _parentBuilder, final ListOfWriterGroupTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.writerGroupTransportDataType == null) { + this.writerGroupTransportDataType = null; + } else { + this.writerGroupTransportDataType = new ArrayList>>(); + for (WriterGroupTransportDataType _item: _other.writerGroupTransportDataType) { + this.writerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfWriterGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree writerGroupTransportDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupTransportDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupTransportDataTypePropertyTree!= null):((writerGroupTransportDataTypePropertyTree == null)||(!writerGroupTransportDataTypePropertyTree.isLeaf())))) { + if (_other.writerGroupTransportDataType == null) { + this.writerGroupTransportDataType = null; + } else { + this.writerGroupTransportDataType = new ArrayList>>(); + for (WriterGroupTransportDataType _item: _other.writerGroupTransportDataType) { + this.writerGroupTransportDataType.add(((_item == null)?null:_item.newCopyBuilder(this, writerGroupTransportDataTypePropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfWriterGroupTransportDataType >_P init(final _P _product) { + if (this.writerGroupTransportDataType!= null) { + final List writerGroupTransportDataType = new ArrayList(this.writerGroupTransportDataType.size()); + for (WriterGroupTransportDataType.Builder> _item: this.writerGroupTransportDataType) { + writerGroupTransportDataType.add(_item.build()); + } + _product.writerGroupTransportDataType = writerGroupTransportDataType; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "writerGroupTransportDataType" hinzu. + * + * @param writerGroupTransportDataType + * Werte, die zur Eigenschaft "writerGroupTransportDataType" hinzugefügt werden. + */ + public ListOfWriterGroupTransportDataType.Builder<_B> addWriterGroupTransportDataType(final Iterable writerGroupTransportDataType) { + if (writerGroupTransportDataType!= null) { + if (this.writerGroupTransportDataType == null) { + this.writerGroupTransportDataType = new ArrayList>>(); + } + for (WriterGroupTransportDataType _item: writerGroupTransportDataType) { + this.writerGroupTransportDataType.add(new WriterGroupTransportDataType.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param writerGroupTransportDataType + * Neuer Wert der Eigenschaft "writerGroupTransportDataType". + */ + public ListOfWriterGroupTransportDataType.Builder<_B> withWriterGroupTransportDataType(final Iterable writerGroupTransportDataType) { + if (this.writerGroupTransportDataType!= null) { + this.writerGroupTransportDataType.clear(); + } + return addWriterGroupTransportDataType(writerGroupTransportDataType); + } + + /** + * Fügt Werte zur Eigenschaft "writerGroupTransportDataType" hinzu. + * + * @param writerGroupTransportDataType + * Werte, die zur Eigenschaft "writerGroupTransportDataType" hinzugefügt werden. + */ + public ListOfWriterGroupTransportDataType.Builder<_B> addWriterGroupTransportDataType(WriterGroupTransportDataType... writerGroupTransportDataType) { + addWriterGroupTransportDataType(Arrays.asList(writerGroupTransportDataType)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupTransportDataType" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param writerGroupTransportDataType + * Neuer Wert der Eigenschaft "writerGroupTransportDataType". + */ + public ListOfWriterGroupTransportDataType.Builder<_B> withWriterGroupTransportDataType(WriterGroupTransportDataType... writerGroupTransportDataType) { + withWriterGroupTransportDataType(Arrays.asList(writerGroupTransportDataType)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "WriterGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.WriterGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "WriterGroupTransportDataType". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.WriterGroupTransportDataType.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public WriterGroupTransportDataType.Builder> addWriterGroupTransportDataType() { + if (this.writerGroupTransportDataType == null) { + this.writerGroupTransportDataType = new ArrayList>>(); + } + final WriterGroupTransportDataType.Builder> writerGroupTransportDataType_Builder = new WriterGroupTransportDataType.Builder>(this, null, false); + this.writerGroupTransportDataType.add(writerGroupTransportDataType_Builder); + return writerGroupTransportDataType_Builder; + } + + @Override + public ListOfWriterGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new ListOfWriterGroupTransportDataType()); + } else { + return ((ListOfWriterGroupTransportDataType) _storedValue); + } + } + + public ListOfWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfWriterGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ListOfWriterGroupTransportDataType.Builder<_B> copyOf(final ListOfWriterGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfWriterGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfWriterGroupTransportDataType.Select _root() { + return new ListOfWriterGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private WriterGroupTransportDataType.Selector> writerGroupTransportDataType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.writerGroupTransportDataType!= null) { + products.put("writerGroupTransportDataType", this.writerGroupTransportDataType.init()); + } + return products; + } + + public WriterGroupTransportDataType.Selector> writerGroupTransportDataType() { + return ((this.writerGroupTransportDataType == null)?this.writerGroupTransportDataType = new WriterGroupTransportDataType.Selector>(this._root, this, "writerGroupTransportDataType"):this.writerGroupTransportDataType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfXmlElement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfXmlElement.java new file mode 100644 index 000000000..a482544c6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ListOfXmlElement.java @@ -0,0 +1,610 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; +import org.w3c.dom.Element; + + +/** + *

Java-Klasse für ListOfXmlElement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ListOfXmlElement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="XmlElement" maxOccurs="unbounded" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any processContents='lax' minOccurs="0"/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ListOfXmlElement", propOrder = { + "xmlElement" +}) +public class ListOfXmlElement { + + @javax.xml.bind.annotation.XmlElement(name = "XmlElement", nillable = true) + protected List xmlElement; + + /** + * Gets the value of the xmlElement property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the xmlElement property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getXmlElement().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ListOfXmlElement.XmlElement } + * + * + */ + public List getXmlElement() { + if (xmlElement == null) { + xmlElement = new ArrayList(); + } + return this.xmlElement; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfXmlElement.Builder<_B> _other) { + if (this.xmlElement == null) { + _other.xmlElement = null; + } else { + _other.xmlElement = new ArrayList>>(); + for (ListOfXmlElement.XmlElement _item: this.xmlElement) { + _other.xmlElement.add(((_item == null)?null:_item.newCopyBuilder(_other))); + } + } + } + + public<_B >ListOfXmlElement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfXmlElement.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfXmlElement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfXmlElement.Builder builder() { + return new ListOfXmlElement.Builder(null, null, false); + } + + public static<_B >ListOfXmlElement.Builder<_B> copyOf(final ListOfXmlElement _other) { + final ListOfXmlElement.Builder<_B> _newBuilder = new ListOfXmlElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfXmlElement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree xmlElementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("xmlElement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xmlElementPropertyTree!= null):((xmlElementPropertyTree == null)||(!xmlElementPropertyTree.isLeaf())))) { + if (this.xmlElement == null) { + _other.xmlElement = null; + } else { + _other.xmlElement = new ArrayList>>(); + for (ListOfXmlElement.XmlElement _item: this.xmlElement) { + _other.xmlElement.add(((_item == null)?null:_item.newCopyBuilder(_other, xmlElementPropertyTree, _propertyTreeUse))); + } + } + } + } + + public<_B >ListOfXmlElement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfXmlElement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfXmlElement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfXmlElement.Builder<_B> copyOf(final ListOfXmlElement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfXmlElement.Builder<_B> _newBuilder = new ListOfXmlElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfXmlElement.Builder copyExcept(final ListOfXmlElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfXmlElement.Builder copyOnly(final ListOfXmlElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfXmlElement _storedValue; + private List>> xmlElement; + + public Builder(final _B _parentBuilder, final ListOfXmlElement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + if (_other.xmlElement == null) { + this.xmlElement = null; + } else { + this.xmlElement = new ArrayList>>(); + for (ListOfXmlElement.XmlElement _item: _other.xmlElement) { + this.xmlElement.add(((_item == null)?null:_item.newCopyBuilder(this))); + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfXmlElement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree xmlElementPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("xmlElement")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xmlElementPropertyTree!= null):((xmlElementPropertyTree == null)||(!xmlElementPropertyTree.isLeaf())))) { + if (_other.xmlElement == null) { + this.xmlElement = null; + } else { + this.xmlElement = new ArrayList>>(); + for (ListOfXmlElement.XmlElement _item: _other.xmlElement) { + this.xmlElement.add(((_item == null)?null:_item.newCopyBuilder(this, xmlElementPropertyTree, _propertyTreeUse))); + } + } + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfXmlElement >_P init(final _P _product) { + if (this.xmlElement!= null) { + final List xmlElement = new ArrayList(this.xmlElement.size()); + for (ListOfXmlElement.XmlElement.Builder> _item: this.xmlElement) { + xmlElement.add(_item.build()); + } + _product.xmlElement = xmlElement; + } + return _product; + } + + /** + * Fügt Werte zur Eigenschaft "xmlElement" hinzu. + * + * @param xmlElement + * Werte, die zur Eigenschaft "xmlElement" hinzugefügt werden. + */ + public ListOfXmlElement.Builder<_B> addXmlElement(final Iterable xmlElement) { + if (xmlElement!= null) { + if (this.xmlElement == null) { + this.xmlElement = new ArrayList>>(); + } + for (ListOfXmlElement.XmlElement _item: xmlElement) { + this.xmlElement.add(new ListOfXmlElement.XmlElement.Builder>(this, _item, false)); + } + } + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "xmlElement" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param xmlElement + * Neuer Wert der Eigenschaft "xmlElement". + */ + public ListOfXmlElement.Builder<_B> withXmlElement(final Iterable xmlElement) { + if (this.xmlElement!= null) { + this.xmlElement.clear(); + } + return addXmlElement(xmlElement); + } + + /** + * Fügt Werte zur Eigenschaft "xmlElement" hinzu. + * + * @param xmlElement + * Werte, die zur Eigenschaft "xmlElement" hinzugefügt werden. + */ + public ListOfXmlElement.Builder<_B> addXmlElement(ListOfXmlElement.XmlElement... xmlElement) { + addXmlElement(Arrays.asList(xmlElement)); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "xmlElement" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param xmlElement + * Neuer Wert der Eigenschaft "xmlElement". + */ + public ListOfXmlElement.Builder<_B> withXmlElement(ListOfXmlElement.XmlElement... xmlElement) { + withXmlElement(Arrays.asList(xmlElement)); + return this; + } + + /** + * Erzeugt einen neuen "Builder" zum Zusammenbauen eines zusätzlichen Wertes für + * die Eigenschaft "XmlElement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ListOfXmlElement.XmlElement.Builder#end()} + * geht es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen eines zusätzlichen Wertes für die + * Eigenschaft "XmlElement". + * Mit {@link + * org.opcfoundation.ua._2008._02.types.ListOfXmlElement.XmlElement.Builder#end()} + * geht es zurück zum aktuellen Builder. + */ + public ListOfXmlElement.XmlElement.Builder> addXmlElement() { + if (this.xmlElement == null) { + this.xmlElement = new ArrayList>>(); + } + final ListOfXmlElement.XmlElement.Builder> xmlElement_Builder = new ListOfXmlElement.XmlElement.Builder>(this, null, false); + this.xmlElement.add(xmlElement_Builder); + return xmlElement_Builder; + } + + @Override + public ListOfXmlElement build() { + if (_storedValue == null) { + return this.init(new ListOfXmlElement()); + } else { + return ((ListOfXmlElement) _storedValue); + } + } + + public ListOfXmlElement.Builder<_B> copyOf(final ListOfXmlElement _other) { + _other.copyTo(this); + return this; + } + + public ListOfXmlElement.Builder<_B> copyOf(final ListOfXmlElement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfXmlElement.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfXmlElement.Select _root() { + return new ListOfXmlElement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private ListOfXmlElement.XmlElement.Selector> xmlElement = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.xmlElement!= null) { + products.put("xmlElement", this.xmlElement.init()); + } + return products; + } + + public ListOfXmlElement.XmlElement.Selector> xmlElement() { + return ((this.xmlElement == null)?this.xmlElement = new ListOfXmlElement.XmlElement.Selector>(this._root, this, "xmlElement"):this.xmlElement); + } + + } + + + /** + *

Java-Klasse für anonymous complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any processContents='lax' minOccurs="0"/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class XmlElement { + + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Ruft den Wert der any-Eigenschaft ab. + * + * @return + * possible object is + * {@link Element } + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Legt den Wert der any-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Element } + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfXmlElement.XmlElement.Builder<_B> _other) { + } + + public<_B >ListOfXmlElement.XmlElement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ListOfXmlElement.XmlElement.Builder<_B>(_parentBuilder, this, true); + } + + public ListOfXmlElement.XmlElement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ListOfXmlElement.XmlElement.Builder builder() { + return new ListOfXmlElement.XmlElement.Builder(null, null, false); + } + + public static<_B >ListOfXmlElement.XmlElement.Builder<_B> copyOf(final ListOfXmlElement.XmlElement _other) { + final ListOfXmlElement.XmlElement.Builder<_B> _newBuilder = new ListOfXmlElement.XmlElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ListOfXmlElement.XmlElement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >ListOfXmlElement.XmlElement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ListOfXmlElement.XmlElement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ListOfXmlElement.XmlElement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ListOfXmlElement.XmlElement.Builder<_B> copyOf(final ListOfXmlElement.XmlElement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ListOfXmlElement.XmlElement.Builder<_B> _newBuilder = new ListOfXmlElement.XmlElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ListOfXmlElement.XmlElement.Builder copyExcept(final ListOfXmlElement.XmlElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ListOfXmlElement.XmlElement.Builder copyOnly(final ListOfXmlElement.XmlElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ListOfXmlElement.XmlElement _storedValue; + private Object any; + + public Builder(final _B _parentBuilder, final ListOfXmlElement.XmlElement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ListOfXmlElement.XmlElement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ListOfXmlElement.XmlElement >_P init(final _P _product) { + _product.any = this.any; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "any" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param any + * Neuer Wert der Eigenschaft "any". + */ + public ListOfXmlElement.XmlElement.Builder<_B> withAny(final Object any) { + this.any = any; + return this; + } + + @Override + public ListOfXmlElement.XmlElement build() { + if (_storedValue == null) { + return this.init(new ListOfXmlElement.XmlElement()); + } else { + return ((ListOfXmlElement.XmlElement) _storedValue); + } + } + + public ListOfXmlElement.XmlElement.Builder<_B> copyOf(final ListOfXmlElement.XmlElement _other) { + _other.copyTo(this); + return this; + } + + public ListOfXmlElement.XmlElement.Builder<_B> copyOf(final ListOfXmlElement.XmlElement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ListOfXmlElement.XmlElement.Selector + { + + + Select() { + super(null, null, null); + } + + public static ListOfXmlElement.XmlElement.Select _root() { + return new ListOfXmlElement.XmlElement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> any = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.any!= null) { + products.put("any", this.any.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> any() { + return ((this.any == null)?this.any = new com.kscs.util.jaxb.Selector>(this._root, this, "any"):this.any); + } + + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LiteralOperand.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LiteralOperand.java new file mode 100644 index 000000000..b3dd07f00 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LiteralOperand.java @@ -0,0 +1,287 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für LiteralOperand complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="LiteralOperand">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}FilterOperand">
+ *       <sequence>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LiteralOperand", propOrder = { + "value" +}) +public class LiteralOperand + extends FilterOperand +{ + + @XmlElement(name = "Value") + protected Variant value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final LiteralOperand.Builder<_B> _other) { + super.copyTo(_other); + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + } + + @Override + public<_B >LiteralOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new LiteralOperand.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public LiteralOperand.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static LiteralOperand.Builder builder() { + return new LiteralOperand.Builder(null, null, false); + } + + public static<_B >LiteralOperand.Builder<_B> copyOf(final FilterOperand _other) { + final LiteralOperand.Builder<_B> _newBuilder = new LiteralOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >LiteralOperand.Builder<_B> copyOf(final LiteralOperand _other) { + final LiteralOperand.Builder<_B> _newBuilder = new LiteralOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final LiteralOperand.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + } + + @Override + public<_B >LiteralOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new LiteralOperand.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public LiteralOperand.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >LiteralOperand.Builder<_B> copyOf(final FilterOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final LiteralOperand.Builder<_B> _newBuilder = new LiteralOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >LiteralOperand.Builder<_B> copyOf(final LiteralOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final LiteralOperand.Builder<_B> _newBuilder = new LiteralOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static LiteralOperand.Builder copyExcept(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static LiteralOperand.Builder copyExcept(final LiteralOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static LiteralOperand.Builder copyOnly(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static LiteralOperand.Builder copyOnly(final LiteralOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends FilterOperand.Builder<_B> + implements Buildable + { + + private Variant.Builder> value; + + public Builder(final _B _parentBuilder, final LiteralOperand _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + } + } + + public Builder(final _B _parentBuilder, final LiteralOperand _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + } + } + + protected<_P extends LiteralOperand >_P init(final _P _product) { + _product.value = ((this.value == null)?null:this.value.build()); + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public LiteralOperand.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + @Override + public LiteralOperand build() { + if (_storedValue == null) { + return this.init(new LiteralOperand()); + } else { + return ((LiteralOperand) _storedValue); + } + } + + public LiteralOperand.Builder<_B> copyOf(final LiteralOperand _other) { + _other.copyTo(this); + return this; + } + + public LiteralOperand.Builder<_B> copyOf(final LiteralOperand.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends LiteralOperand.Selector + { + + + Select() { + super(null, null, null); + } + + public static LiteralOperand.Select _root() { + return new LiteralOperand.Select(); + } + + } + + public static class Selector , TParent > + extends FilterOperand.Selector + { + + private Variant.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LocalizedText.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LocalizedText.java new file mode 100644 index 000000000..b5ae92d27 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/LocalizedText.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für LocalizedText complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="LocalizedText">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Locale" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Text" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LocalizedText", propOrder = { + "locale", + "text" +}) +public class LocalizedText { + + @XmlElementRef(name = "Locale", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement locale; + @XmlElementRef(name = "Text", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement text; + + /** + * Ruft den Wert der locale-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getLocale() { + return locale; + } + + /** + * Legt den Wert der locale-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setLocale(JAXBElement value) { + this.locale = value; + } + + /** + * Ruft den Wert der text-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getText() { + return text; + } + + /** + * Legt den Wert der text-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setText(JAXBElement value) { + this.text = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final LocalizedText.Builder<_B> _other) { + _other.locale = this.locale; + _other.text = this.text; + } + + public<_B >LocalizedText.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new LocalizedText.Builder<_B>(_parentBuilder, this, true); + } + + public LocalizedText.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static LocalizedText.Builder builder() { + return new LocalizedText.Builder(null, null, false); + } + + public static<_B >LocalizedText.Builder<_B> copyOf(final LocalizedText _other) { + final LocalizedText.Builder<_B> _newBuilder = new LocalizedText.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final LocalizedText.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree localePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("locale")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localePropertyTree!= null):((localePropertyTree == null)||(!localePropertyTree.isLeaf())))) { + _other.locale = this.locale; + } + final PropertyTree textPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("text")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(textPropertyTree!= null):((textPropertyTree == null)||(!textPropertyTree.isLeaf())))) { + _other.text = this.text; + } + } + + public<_B >LocalizedText.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new LocalizedText.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public LocalizedText.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >LocalizedText.Builder<_B> copyOf(final LocalizedText _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final LocalizedText.Builder<_B> _newBuilder = new LocalizedText.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static LocalizedText.Builder copyExcept(final LocalizedText _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static LocalizedText.Builder copyOnly(final LocalizedText _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final LocalizedText _storedValue; + private JAXBElement locale; + private JAXBElement text; + + public Builder(final _B _parentBuilder, final LocalizedText _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.locale = _other.locale; + this.text = _other.text; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final LocalizedText _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree localePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("locale")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localePropertyTree!= null):((localePropertyTree == null)||(!localePropertyTree.isLeaf())))) { + this.locale = _other.locale; + } + final PropertyTree textPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("text")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(textPropertyTree!= null):((textPropertyTree == null)||(!textPropertyTree.isLeaf())))) { + this.text = _other.text; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends LocalizedText >_P init(final _P _product) { + _product.locale = this.locale; + _product.text = this.text; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "locale" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param locale + * Neuer Wert der Eigenschaft "locale". + */ + public LocalizedText.Builder<_B> withLocale(final JAXBElement locale) { + this.locale = locale; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "text" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param text + * Neuer Wert der Eigenschaft "text". + */ + public LocalizedText.Builder<_B> withText(final JAXBElement text) { + this.text = text; + return this; + } + + @Override + public LocalizedText build() { + if (_storedValue == null) { + return this.init(new LocalizedText()); + } else { + return ((LocalizedText) _storedValue); + } + } + + public LocalizedText.Builder<_B> copyOf(final LocalizedText _other) { + _other.copyTo(this); + return this; + } + + public LocalizedText.Builder<_B> copyOf(final LocalizedText.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends LocalizedText.Selector + { + + + Select() { + super(null, null, null); + } + + public static LocalizedText.Select _root() { + return new LocalizedText.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> locale = null; + private com.kscs.util.jaxb.Selector> text = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.locale!= null) { + products.put("locale", this.locale.init()); + } + if (this.text!= null) { + products.put("text", this.text.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> locale() { + return ((this.locale == null)?this.locale = new com.kscs.util.jaxb.Selector>(this._root, this, "locale"):this.locale); + } + + public com.kscs.util.jaxb.Selector> text() { + return ((this.text == null)?this.text = new com.kscs.util.jaxb.Selector>(this._root, this, "text"):this.text); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MdnsDiscoveryConfiguration.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MdnsDiscoveryConfiguration.java new file mode 100644 index 000000000..c0862ecec --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MdnsDiscoveryConfiguration.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MdnsDiscoveryConfiguration complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MdnsDiscoveryConfiguration">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiscoveryConfiguration">
+ *       <sequence>
+ *         <element name="MdnsServerName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ServerCapabilities" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MdnsDiscoveryConfiguration", propOrder = { + "mdnsServerName", + "serverCapabilities" +}) +public class MdnsDiscoveryConfiguration + extends DiscoveryConfiguration +{ + + @XmlElementRef(name = "MdnsServerName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement mdnsServerName; + @XmlElementRef(name = "ServerCapabilities", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverCapabilities; + + /** + * Ruft den Wert der mdnsServerName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getMdnsServerName() { + return mdnsServerName; + } + + /** + * Legt den Wert der mdnsServerName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setMdnsServerName(JAXBElement value) { + this.mdnsServerName = value; + } + + /** + * Ruft den Wert der serverCapabilities-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getServerCapabilities() { + return serverCapabilities; + } + + /** + * Legt den Wert der serverCapabilities-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setServerCapabilities(JAXBElement value) { + this.serverCapabilities = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MdnsDiscoveryConfiguration.Builder<_B> _other) { + super.copyTo(_other); + _other.mdnsServerName = this.mdnsServerName; + _other.serverCapabilities = this.serverCapabilities; + } + + @Override + public<_B >MdnsDiscoveryConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MdnsDiscoveryConfiguration.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public MdnsDiscoveryConfiguration.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MdnsDiscoveryConfiguration.Builder builder() { + return new MdnsDiscoveryConfiguration.Builder(null, null, false); + } + + public static<_B >MdnsDiscoveryConfiguration.Builder<_B> copyOf(final DiscoveryConfiguration _other) { + final MdnsDiscoveryConfiguration.Builder<_B> _newBuilder = new MdnsDiscoveryConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >MdnsDiscoveryConfiguration.Builder<_B> copyOf(final MdnsDiscoveryConfiguration _other) { + final MdnsDiscoveryConfiguration.Builder<_B> _newBuilder = new MdnsDiscoveryConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MdnsDiscoveryConfiguration.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree mdnsServerNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("mdnsServerName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(mdnsServerNamePropertyTree!= null):((mdnsServerNamePropertyTree == null)||(!mdnsServerNamePropertyTree.isLeaf())))) { + _other.mdnsServerName = this.mdnsServerName; + } + final PropertyTree serverCapabilitiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCapabilities")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCapabilitiesPropertyTree!= null):((serverCapabilitiesPropertyTree == null)||(!serverCapabilitiesPropertyTree.isLeaf())))) { + _other.serverCapabilities = this.serverCapabilities; + } + } + + @Override + public<_B >MdnsDiscoveryConfiguration.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MdnsDiscoveryConfiguration.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public MdnsDiscoveryConfiguration.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MdnsDiscoveryConfiguration.Builder<_B> copyOf(final DiscoveryConfiguration _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MdnsDiscoveryConfiguration.Builder<_B> _newBuilder = new MdnsDiscoveryConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >MdnsDiscoveryConfiguration.Builder<_B> copyOf(final MdnsDiscoveryConfiguration _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MdnsDiscoveryConfiguration.Builder<_B> _newBuilder = new MdnsDiscoveryConfiguration.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MdnsDiscoveryConfiguration.Builder copyExcept(final DiscoveryConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MdnsDiscoveryConfiguration.Builder copyExcept(final MdnsDiscoveryConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MdnsDiscoveryConfiguration.Builder copyOnly(final DiscoveryConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static MdnsDiscoveryConfiguration.Builder copyOnly(final MdnsDiscoveryConfiguration _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DiscoveryConfiguration.Builder<_B> + implements Buildable + { + + private JAXBElement mdnsServerName; + private JAXBElement serverCapabilities; + + public Builder(final _B _parentBuilder, final MdnsDiscoveryConfiguration _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.mdnsServerName = _other.mdnsServerName; + this.serverCapabilities = _other.serverCapabilities; + } + } + + public Builder(final _B _parentBuilder, final MdnsDiscoveryConfiguration _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree mdnsServerNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("mdnsServerName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(mdnsServerNamePropertyTree!= null):((mdnsServerNamePropertyTree == null)||(!mdnsServerNamePropertyTree.isLeaf())))) { + this.mdnsServerName = _other.mdnsServerName; + } + final PropertyTree serverCapabilitiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCapabilities")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCapabilitiesPropertyTree!= null):((serverCapabilitiesPropertyTree == null)||(!serverCapabilitiesPropertyTree.isLeaf())))) { + this.serverCapabilities = _other.serverCapabilities; + } + } + } + + protected<_P extends MdnsDiscoveryConfiguration >_P init(final _P _product) { + _product.mdnsServerName = this.mdnsServerName; + _product.serverCapabilities = this.serverCapabilities; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "mdnsServerName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param mdnsServerName + * Neuer Wert der Eigenschaft "mdnsServerName". + */ + public MdnsDiscoveryConfiguration.Builder<_B> withMdnsServerName(final JAXBElement mdnsServerName) { + this.mdnsServerName = mdnsServerName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverCapabilities" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param serverCapabilities + * Neuer Wert der Eigenschaft "serverCapabilities". + */ + public MdnsDiscoveryConfiguration.Builder<_B> withServerCapabilities(final JAXBElement serverCapabilities) { + this.serverCapabilities = serverCapabilities; + return this; + } + + @Override + public MdnsDiscoveryConfiguration build() { + if (_storedValue == null) { + return this.init(new MdnsDiscoveryConfiguration()); + } else { + return ((MdnsDiscoveryConfiguration) _storedValue); + } + } + + public MdnsDiscoveryConfiguration.Builder<_B> copyOf(final MdnsDiscoveryConfiguration _other) { + _other.copyTo(this); + return this; + } + + public MdnsDiscoveryConfiguration.Builder<_B> copyOf(final MdnsDiscoveryConfiguration.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MdnsDiscoveryConfiguration.Selector + { + + + Select() { + super(null, null, null); + } + + public static MdnsDiscoveryConfiguration.Select _root() { + return new MdnsDiscoveryConfiguration.Select(); + } + + } + + public static class Selector , TParent > + extends DiscoveryConfiguration.Selector + { + + private com.kscs.util.jaxb.Selector> mdnsServerName = null; + private com.kscs.util.jaxb.Selector> serverCapabilities = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.mdnsServerName!= null) { + products.put("mdnsServerName", this.mdnsServerName.init()); + } + if (this.serverCapabilities!= null) { + products.put("serverCapabilities", this.serverCapabilities.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> mdnsServerName() { + return ((this.mdnsServerName == null)?this.mdnsServerName = new com.kscs.util.jaxb.Selector>(this._root, this, "mdnsServerName"):this.mdnsServerName); + } + + public com.kscs.util.jaxb.Selector> serverCapabilities() { + return ((this.serverCapabilities == null)?this.serverCapabilities = new com.kscs.util.jaxb.Selector>(this._root, this, "serverCapabilities"):this.serverCapabilities); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MessageSecurityMode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MessageSecurityMode.java new file mode 100644 index 000000000..e15c42bcb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MessageSecurityMode.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für MessageSecurityMode. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="MessageSecurityMode">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Invalid_0"/>
+ *     <enumeration value="None_1"/>
+ *     <enumeration value="Sign_2"/>
+ *     <enumeration value="SignAndEncrypt_3"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "MessageSecurityMode") +@XmlEnum +public enum MessageSecurityMode { + + @XmlEnumValue("Invalid_0") + INVALID_0("Invalid_0"), + @XmlEnumValue("None_1") + NONE_1("None_1"), + @XmlEnumValue("Sign_2") + SIGN_2("Sign_2"), + @XmlEnumValue("SignAndEncrypt_3") + SIGN_AND_ENCRYPT_3("SignAndEncrypt_3"); + private final String value; + + MessageSecurityMode(String v) { + value = v; + } + + public String value() { + return value; + } + + public static MessageSecurityMode fromValue(String v) { + for (MessageSecurityMode c: MessageSecurityMode.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodAttributes.java new file mode 100644 index 000000000..a5c410ab1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodAttributes.java @@ -0,0 +1,395 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MethodAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MethodAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="Executable" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="UserExecutable" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MethodAttributes", propOrder = { + "executable", + "userExecutable" +}) +public class MethodAttributes + extends NodeAttributes +{ + + @XmlElement(name = "Executable") + protected Boolean executable; + @XmlElement(name = "UserExecutable") + protected Boolean userExecutable; + + /** + * Ruft den Wert der executable-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isExecutable() { + return executable; + } + + /** + * Legt den Wert der executable-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setExecutable(Boolean value) { + this.executable = value; + } + + /** + * Ruft den Wert der userExecutable-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isUserExecutable() { + return userExecutable; + } + + /** + * Legt den Wert der userExecutable-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setUserExecutable(Boolean value) { + this.userExecutable = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MethodAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.executable = this.executable; + _other.userExecutable = this.userExecutable; + } + + @Override + public<_B >MethodAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MethodAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public MethodAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MethodAttributes.Builder builder() { + return new MethodAttributes.Builder(null, null, false); + } + + public static<_B >MethodAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final MethodAttributes.Builder<_B> _newBuilder = new MethodAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >MethodAttributes.Builder<_B> copyOf(final MethodAttributes _other) { + final MethodAttributes.Builder<_B> _newBuilder = new MethodAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MethodAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree executablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("executable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(executablePropertyTree!= null):((executablePropertyTree == null)||(!executablePropertyTree.isLeaf())))) { + _other.executable = this.executable; + } + final PropertyTree userExecutablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userExecutable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userExecutablePropertyTree!= null):((userExecutablePropertyTree == null)||(!userExecutablePropertyTree.isLeaf())))) { + _other.userExecutable = this.userExecutable; + } + } + + @Override + public<_B >MethodAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MethodAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public MethodAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MethodAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MethodAttributes.Builder<_B> _newBuilder = new MethodAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >MethodAttributes.Builder<_B> copyOf(final MethodAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MethodAttributes.Builder<_B> _newBuilder = new MethodAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MethodAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MethodAttributes.Builder copyExcept(final MethodAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MethodAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static MethodAttributes.Builder copyOnly(final MethodAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Boolean executable; + private Boolean userExecutable; + + public Builder(final _B _parentBuilder, final MethodAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.executable = _other.executable; + this.userExecutable = _other.userExecutable; + } + } + + public Builder(final _B _parentBuilder, final MethodAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree executablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("executable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(executablePropertyTree!= null):((executablePropertyTree == null)||(!executablePropertyTree.isLeaf())))) { + this.executable = _other.executable; + } + final PropertyTree userExecutablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userExecutable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userExecutablePropertyTree!= null):((userExecutablePropertyTree == null)||(!userExecutablePropertyTree.isLeaf())))) { + this.userExecutable = _other.userExecutable; + } + } + } + + protected<_P extends MethodAttributes >_P init(final _P _product) { + _product.executable = this.executable; + _product.userExecutable = this.userExecutable; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "executable" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param executable + * Neuer Wert der Eigenschaft "executable". + */ + public MethodAttributes.Builder<_B> withExecutable(final Boolean executable) { + this.executable = executable; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userExecutable" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userExecutable + * Neuer Wert der Eigenschaft "userExecutable". + */ + public MethodAttributes.Builder<_B> withUserExecutable(final Boolean userExecutable) { + this.userExecutable = userExecutable; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public MethodAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public MethodAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public MethodAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public MethodAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public MethodAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public MethodAttributes build() { + if (_storedValue == null) { + return this.init(new MethodAttributes()); + } else { + return ((MethodAttributes) _storedValue); + } + } + + public MethodAttributes.Builder<_B> copyOf(final MethodAttributes _other) { + _other.copyTo(this); + return this; + } + + public MethodAttributes.Builder<_B> copyOf(final MethodAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MethodAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static MethodAttributes.Select _root() { + return new MethodAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> executable = null; + private com.kscs.util.jaxb.Selector> userExecutable = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.executable!= null) { + products.put("executable", this.executable.init()); + } + if (this.userExecutable!= null) { + products.put("userExecutable", this.userExecutable.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> executable() { + return ((this.executable == null)?this.executable = new com.kscs.util.jaxb.Selector>(this._root, this, "executable"):this.executable); + } + + public com.kscs.util.jaxb.Selector> userExecutable() { + return ((this.userExecutable == null)?this.userExecutable = new com.kscs.util.jaxb.Selector>(this._root, this, "userExecutable"):this.userExecutable); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodNode.java new file mode 100644 index 000000000..5c49a0c9b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MethodNode.java @@ -0,0 +1,493 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MethodNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MethodNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}InstanceNode">
+ *       <sequence>
+ *         <element name="Executable" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="UserExecutable" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MethodNode", propOrder = { + "executable", + "userExecutable" +}) +public class MethodNode + extends InstanceNode +{ + + @XmlElement(name = "Executable") + protected Boolean executable; + @XmlElement(name = "UserExecutable") + protected Boolean userExecutable; + + /** + * Ruft den Wert der executable-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isExecutable() { + return executable; + } + + /** + * Legt den Wert der executable-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setExecutable(Boolean value) { + this.executable = value; + } + + /** + * Ruft den Wert der userExecutable-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isUserExecutable() { + return userExecutable; + } + + /** + * Legt den Wert der userExecutable-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setUserExecutable(Boolean value) { + this.userExecutable = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MethodNode.Builder<_B> _other) { + super.copyTo(_other); + _other.executable = this.executable; + _other.userExecutable = this.userExecutable; + } + + @Override + public<_B >MethodNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MethodNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public MethodNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MethodNode.Builder builder() { + return new MethodNode.Builder(null, null, false); + } + + public static<_B >MethodNode.Builder<_B> copyOf(final Node _other) { + final MethodNode.Builder<_B> _newBuilder = new MethodNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >MethodNode.Builder<_B> copyOf(final InstanceNode _other) { + final MethodNode.Builder<_B> _newBuilder = new MethodNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >MethodNode.Builder<_B> copyOf(final MethodNode _other) { + final MethodNode.Builder<_B> _newBuilder = new MethodNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MethodNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree executablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("executable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(executablePropertyTree!= null):((executablePropertyTree == null)||(!executablePropertyTree.isLeaf())))) { + _other.executable = this.executable; + } + final PropertyTree userExecutablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userExecutable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userExecutablePropertyTree!= null):((userExecutablePropertyTree == null)||(!userExecutablePropertyTree.isLeaf())))) { + _other.userExecutable = this.userExecutable; + } + } + + @Override + public<_B >MethodNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MethodNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public MethodNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MethodNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MethodNode.Builder<_B> _newBuilder = new MethodNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >MethodNode.Builder<_B> copyOf(final InstanceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MethodNode.Builder<_B> _newBuilder = new MethodNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >MethodNode.Builder<_B> copyOf(final MethodNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MethodNode.Builder<_B> _newBuilder = new MethodNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MethodNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MethodNode.Builder copyExcept(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MethodNode.Builder copyExcept(final MethodNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MethodNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static MethodNode.Builder copyOnly(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static MethodNode.Builder copyOnly(final MethodNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends InstanceNode.Builder<_B> + implements Buildable + { + + private Boolean executable; + private Boolean userExecutable; + + public Builder(final _B _parentBuilder, final MethodNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.executable = _other.executable; + this.userExecutable = _other.userExecutable; + } + } + + public Builder(final _B _parentBuilder, final MethodNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree executablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("executable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(executablePropertyTree!= null):((executablePropertyTree == null)||(!executablePropertyTree.isLeaf())))) { + this.executable = _other.executable; + } + final PropertyTree userExecutablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userExecutable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userExecutablePropertyTree!= null):((userExecutablePropertyTree == null)||(!userExecutablePropertyTree.isLeaf())))) { + this.userExecutable = _other.userExecutable; + } + } + } + + protected<_P extends MethodNode >_P init(final _P _product) { + _product.executable = this.executable; + _product.userExecutable = this.userExecutable; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "executable" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param executable + * Neuer Wert der Eigenschaft "executable". + */ + public MethodNode.Builder<_B> withExecutable(final Boolean executable) { + this.executable = executable; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userExecutable" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userExecutable + * Neuer Wert der Eigenschaft "userExecutable". + */ + public MethodNode.Builder<_B> withUserExecutable(final Boolean userExecutable) { + this.userExecutable = userExecutable; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public MethodNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public MethodNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public MethodNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public MethodNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public MethodNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public MethodNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public MethodNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public MethodNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public MethodNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public MethodNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public MethodNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public MethodNode build() { + if (_storedValue == null) { + return this.init(new MethodNode()); + } else { + return ((MethodNode) _storedValue); + } + } + + public MethodNode.Builder<_B> copyOf(final MethodNode _other) { + _other.copyTo(this); + return this; + } + + public MethodNode.Builder<_B> copyOf(final MethodNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MethodNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static MethodNode.Select _root() { + return new MethodNode.Select(); + } + + } + + public static class Selector , TParent > + extends InstanceNode.Selector + { + + private com.kscs.util.jaxb.Selector> executable = null; + private com.kscs.util.jaxb.Selector> userExecutable = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.executable!= null) { + products.put("executable", this.executable.init()); + } + if (this.userExecutable!= null) { + products.put("userExecutable", this.userExecutable.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> executable() { + return ((this.executable == null)?this.executable = new com.kscs.util.jaxb.Selector>(this._root, this, "executable"):this.executable); + } + + public com.kscs.util.jaxb.Selector> userExecutable() { + return ((this.userExecutable == null)?this.userExecutable = new com.kscs.util.jaxb.Selector>(this._root, this, "userExecutable"):this.userExecutable); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureDataType.java new file mode 100644 index 000000000..179a13972 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureDataType.java @@ -0,0 +1,383 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ModelChangeStructureDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ModelChangeStructureDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Affected" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AffectedType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Verb" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ModelChangeStructureDataType", propOrder = { + "affected", + "affectedType", + "verb" +}) +public class ModelChangeStructureDataType { + + @XmlElementRef(name = "Affected", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement affected; + @XmlElementRef(name = "AffectedType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement affectedType; + @XmlElement(name = "Verb") + @XmlSchemaType(name = "unsignedByte") + protected Short verb; + + /** + * Ruft den Wert der affected-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAffected() { + return affected; + } + + /** + * Legt den Wert der affected-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAffected(JAXBElement value) { + this.affected = value; + } + + /** + * Ruft den Wert der affectedType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAffectedType() { + return affectedType; + } + + /** + * Legt den Wert der affectedType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAffectedType(JAXBElement value) { + this.affectedType = value; + } + + /** + * Ruft den Wert der verb-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getVerb() { + return verb; + } + + /** + * Legt den Wert der verb-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setVerb(Short value) { + this.verb = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModelChangeStructureDataType.Builder<_B> _other) { + _other.affected = this.affected; + _other.affectedType = this.affectedType; + _other.verb = this.verb; + } + + public<_B >ModelChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ModelChangeStructureDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ModelChangeStructureDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ModelChangeStructureDataType.Builder builder() { + return new ModelChangeStructureDataType.Builder(null, null, false); + } + + public static<_B >ModelChangeStructureDataType.Builder<_B> copyOf(final ModelChangeStructureDataType _other) { + final ModelChangeStructureDataType.Builder<_B> _newBuilder = new ModelChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModelChangeStructureDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree affectedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affected")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedPropertyTree!= null):((affectedPropertyTree == null)||(!affectedPropertyTree.isLeaf())))) { + _other.affected = this.affected; + } + final PropertyTree affectedTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affectedType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedTypePropertyTree!= null):((affectedTypePropertyTree == null)||(!affectedTypePropertyTree.isLeaf())))) { + _other.affectedType = this.affectedType; + } + final PropertyTree verbPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("verb")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(verbPropertyTree!= null):((verbPropertyTree == null)||(!verbPropertyTree.isLeaf())))) { + _other.verb = this.verb; + } + } + + public<_B >ModelChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ModelChangeStructureDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ModelChangeStructureDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ModelChangeStructureDataType.Builder<_B> copyOf(final ModelChangeStructureDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ModelChangeStructureDataType.Builder<_B> _newBuilder = new ModelChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ModelChangeStructureDataType.Builder copyExcept(final ModelChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ModelChangeStructureDataType.Builder copyOnly(final ModelChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ModelChangeStructureDataType _storedValue; + private JAXBElement affected; + private JAXBElement affectedType; + private Short verb; + + public Builder(final _B _parentBuilder, final ModelChangeStructureDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.affected = _other.affected; + this.affectedType = _other.affectedType; + this.verb = _other.verb; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ModelChangeStructureDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree affectedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affected")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedPropertyTree!= null):((affectedPropertyTree == null)||(!affectedPropertyTree.isLeaf())))) { + this.affected = _other.affected; + } + final PropertyTree affectedTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affectedType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedTypePropertyTree!= null):((affectedTypePropertyTree == null)||(!affectedTypePropertyTree.isLeaf())))) { + this.affectedType = _other.affectedType; + } + final PropertyTree verbPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("verb")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(verbPropertyTree!= null):((verbPropertyTree == null)||(!verbPropertyTree.isLeaf())))) { + this.verb = _other.verb; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ModelChangeStructureDataType >_P init(final _P _product) { + _product.affected = this.affected; + _product.affectedType = this.affectedType; + _product.verb = this.verb; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "affected" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param affected + * Neuer Wert der Eigenschaft "affected". + */ + public ModelChangeStructureDataType.Builder<_B> withAffected(final JAXBElement affected) { + this.affected = affected; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "affectedType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param affectedType + * Neuer Wert der Eigenschaft "affectedType". + */ + public ModelChangeStructureDataType.Builder<_B> withAffectedType(final JAXBElement affectedType) { + this.affectedType = affectedType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "verb" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param verb + * Neuer Wert der Eigenschaft "verb". + */ + public ModelChangeStructureDataType.Builder<_B> withVerb(final Short verb) { + this.verb = verb; + return this; + } + + @Override + public ModelChangeStructureDataType build() { + if (_storedValue == null) { + return this.init(new ModelChangeStructureDataType()); + } else { + return ((ModelChangeStructureDataType) _storedValue); + } + } + + public ModelChangeStructureDataType.Builder<_B> copyOf(final ModelChangeStructureDataType _other) { + _other.copyTo(this); + return this; + } + + public ModelChangeStructureDataType.Builder<_B> copyOf(final ModelChangeStructureDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ModelChangeStructureDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ModelChangeStructureDataType.Select _root() { + return new ModelChangeStructureDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> affected = null; + private com.kscs.util.jaxb.Selector> affectedType = null; + private com.kscs.util.jaxb.Selector> verb = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.affected!= null) { + products.put("affected", this.affected.init()); + } + if (this.affectedType!= null) { + products.put("affectedType", this.affectedType.init()); + } + if (this.verb!= null) { + products.put("verb", this.verb.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> affected() { + return ((this.affected == null)?this.affected = new com.kscs.util.jaxb.Selector>(this._root, this, "affected"):this.affected); + } + + public com.kscs.util.jaxb.Selector> affectedType() { + return ((this.affectedType == null)?this.affectedType = new com.kscs.util.jaxb.Selector>(this._root, this, "affectedType"):this.affectedType); + } + + public com.kscs.util.jaxb.Selector> verb() { + return ((this.verb == null)?this.verb = new com.kscs.util.jaxb.Selector>(this._root, this, "verb"):this.verb); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureVerbMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureVerbMask.java new file mode 100644 index 000000000..8fc030d85 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModelChangeStructureVerbMask.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für ModelChangeStructureVerbMask. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="ModelChangeStructureVerbMask">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="NodeAdded_1"/>
+ *     <enumeration value="NodeDeleted_2"/>
+ *     <enumeration value="ReferenceAdded_4"/>
+ *     <enumeration value="ReferenceDeleted_8"/>
+ *     <enumeration value="DataTypeChanged_16"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "ModelChangeStructureVerbMask") +@XmlEnum +public enum ModelChangeStructureVerbMask { + + @XmlEnumValue("NodeAdded_1") + NODE_ADDED_1("NodeAdded_1"), + @XmlEnumValue("NodeDeleted_2") + NODE_DELETED_2("NodeDeleted_2"), + @XmlEnumValue("ReferenceAdded_4") + REFERENCE_ADDED_4("ReferenceAdded_4"), + @XmlEnumValue("ReferenceDeleted_8") + REFERENCE_DELETED_8("ReferenceDeleted_8"), + @XmlEnumValue("DataTypeChanged_16") + DATA_TYPE_CHANGED_16("DataTypeChanged_16"); + private final String value; + + ModelChangeStructureVerbMask(String v) { + value = v; + } + + public String value() { + return value; + } + + public static ModelChangeStructureVerbMask fromValue(String v) { + for (ModelChangeStructureVerbMask c: ModelChangeStructureVerbMask.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModificationInfo.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModificationInfo.java new file mode 100644 index 000000000..8644a3b96 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModificationInfo.java @@ -0,0 +1,385 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ModificationInfo complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ModificationInfo">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ModificationTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="UpdateType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateType" minOccurs="0"/>
+ *         <element name="UserName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ModificationInfo", propOrder = { + "modificationTime", + "updateType", + "userName" +}) +public class ModificationInfo { + + @XmlElement(name = "ModificationTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar modificationTime; + @XmlElement(name = "UpdateType") + @XmlSchemaType(name = "string") + protected HistoryUpdateType updateType; + @XmlElementRef(name = "UserName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userName; + + /** + * Ruft den Wert der modificationTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getModificationTime() { + return modificationTime; + } + + /** + * Legt den Wert der modificationTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setModificationTime(XMLGregorianCalendar value) { + this.modificationTime = value; + } + + /** + * Ruft den Wert der updateType-Eigenschaft ab. + * + * @return + * possible object is + * {@link HistoryUpdateType } + * + */ + public HistoryUpdateType getUpdateType() { + return updateType; + } + + /** + * Legt den Wert der updateType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link HistoryUpdateType } + * + */ + public void setUpdateType(HistoryUpdateType value) { + this.updateType = value; + } + + /** + * Ruft den Wert der userName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getUserName() { + return userName; + } + + /** + * Legt den Wert der userName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setUserName(JAXBElement value) { + this.userName = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModificationInfo.Builder<_B> _other) { + _other.modificationTime = ((this.modificationTime == null)?null:((XMLGregorianCalendar) this.modificationTime.clone())); + _other.updateType = this.updateType; + _other.userName = this.userName; + } + + public<_B >ModificationInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ModificationInfo.Builder<_B>(_parentBuilder, this, true); + } + + public ModificationInfo.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ModificationInfo.Builder builder() { + return new ModificationInfo.Builder(null, null, false); + } + + public static<_B >ModificationInfo.Builder<_B> copyOf(final ModificationInfo _other) { + final ModificationInfo.Builder<_B> _newBuilder = new ModificationInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModificationInfo.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree modificationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modificationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modificationTimePropertyTree!= null):((modificationTimePropertyTree == null)||(!modificationTimePropertyTree.isLeaf())))) { + _other.modificationTime = ((this.modificationTime == null)?null:((XMLGregorianCalendar) this.modificationTime.clone())); + } + final PropertyTree updateTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("updateType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(updateTypePropertyTree!= null):((updateTypePropertyTree == null)||(!updateTypePropertyTree.isLeaf())))) { + _other.updateType = this.updateType; + } + final PropertyTree userNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNamePropertyTree!= null):((userNamePropertyTree == null)||(!userNamePropertyTree.isLeaf())))) { + _other.userName = this.userName; + } + } + + public<_B >ModificationInfo.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ModificationInfo.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ModificationInfo.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ModificationInfo.Builder<_B> copyOf(final ModificationInfo _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ModificationInfo.Builder<_B> _newBuilder = new ModificationInfo.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ModificationInfo.Builder copyExcept(final ModificationInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ModificationInfo.Builder copyOnly(final ModificationInfo _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ModificationInfo _storedValue; + private XMLGregorianCalendar modificationTime; + private HistoryUpdateType updateType; + private JAXBElement userName; + + public Builder(final _B _parentBuilder, final ModificationInfo _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.modificationTime = ((_other.modificationTime == null)?null:((XMLGregorianCalendar) _other.modificationTime.clone())); + this.updateType = _other.updateType; + this.userName = _other.userName; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ModificationInfo _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree modificationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modificationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modificationTimePropertyTree!= null):((modificationTimePropertyTree == null)||(!modificationTimePropertyTree.isLeaf())))) { + this.modificationTime = ((_other.modificationTime == null)?null:((XMLGregorianCalendar) _other.modificationTime.clone())); + } + final PropertyTree updateTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("updateType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(updateTypePropertyTree!= null):((updateTypePropertyTree == null)||(!updateTypePropertyTree.isLeaf())))) { + this.updateType = _other.updateType; + } + final PropertyTree userNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNamePropertyTree!= null):((userNamePropertyTree == null)||(!userNamePropertyTree.isLeaf())))) { + this.userName = _other.userName; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ModificationInfo >_P init(final _P _product) { + _product.modificationTime = this.modificationTime; + _product.updateType = this.updateType; + _product.userName = this.userName; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modificationTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param modificationTime + * Neuer Wert der Eigenschaft "modificationTime". + */ + public ModificationInfo.Builder<_B> withModificationTime(final XMLGregorianCalendar modificationTime) { + this.modificationTime = modificationTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "updateType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param updateType + * Neuer Wert der Eigenschaft "updateType". + */ + public ModificationInfo.Builder<_B> withUpdateType(final HistoryUpdateType updateType) { + this.updateType = updateType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param userName + * Neuer Wert der Eigenschaft "userName". + */ + public ModificationInfo.Builder<_B> withUserName(final JAXBElement userName) { + this.userName = userName; + return this; + } + + @Override + public ModificationInfo build() { + if (_storedValue == null) { + return this.init(new ModificationInfo()); + } else { + return ((ModificationInfo) _storedValue); + } + } + + public ModificationInfo.Builder<_B> copyOf(final ModificationInfo _other) { + _other.copyTo(this); + return this; + } + + public ModificationInfo.Builder<_B> copyOf(final ModificationInfo.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ModificationInfo.Selector + { + + + Select() { + super(null, null, null); + } + + public static ModificationInfo.Select _root() { + return new ModificationInfo.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> modificationTime = null; + private com.kscs.util.jaxb.Selector> updateType = null; + private com.kscs.util.jaxb.Selector> userName = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.modificationTime!= null) { + products.put("modificationTime", this.modificationTime.init()); + } + if (this.updateType!= null) { + products.put("updateType", this.updateType.init()); + } + if (this.userName!= null) { + products.put("userName", this.userName.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> modificationTime() { + return ((this.modificationTime == null)?this.modificationTime = new com.kscs.util.jaxb.Selector>(this._root, this, "modificationTime"):this.modificationTime); + } + + public com.kscs.util.jaxb.Selector> updateType() { + return ((this.updateType == null)?this.updateType = new com.kscs.util.jaxb.Selector>(this._root, this, "updateType"):this.updateType); + } + + public com.kscs.util.jaxb.Selector> userName() { + return ((this.userName == null)?this.userName = new com.kscs.util.jaxb.Selector>(this._root, this, "userName"):this.userName); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsRequest.java new file mode 100644 index 000000000..35f0bf67b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsRequest.java @@ -0,0 +1,444 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ModifyMonitoredItemsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ModifyMonitoredItemsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TimestampsToReturn" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TimestampsToReturn" minOccurs="0"/>
+ *         <element name="ItemsToModify" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfMonitoredItemModifyRequest" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ModifyMonitoredItemsRequest", propOrder = { + "requestHeader", + "subscriptionId", + "timestampsToReturn", + "itemsToModify" +}) +public class ModifyMonitoredItemsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "TimestampsToReturn") + @XmlSchemaType(name = "string") + protected TimestampsToReturn timestampsToReturn; + @XmlElementRef(name = "ItemsToModify", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement itemsToModify; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der timestampsToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link TimestampsToReturn } + * + */ + public TimestampsToReturn getTimestampsToReturn() { + return timestampsToReturn; + } + + /** + * Legt den Wert der timestampsToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TimestampsToReturn } + * + */ + public void setTimestampsToReturn(TimestampsToReturn value) { + this.timestampsToReturn = value; + } + + /** + * Ruft den Wert der itemsToModify-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyRequest }{@code >} + * + */ + public JAXBElement getItemsToModify() { + return itemsToModify; + } + + /** + * Legt den Wert der itemsToModify-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyRequest }{@code >} + * + */ + public void setItemsToModify(JAXBElement value) { + this.itemsToModify = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifyMonitoredItemsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.timestampsToReturn = this.timestampsToReturn; + _other.itemsToModify = this.itemsToModify; + } + + public<_B >ModifyMonitoredItemsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ModifyMonitoredItemsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ModifyMonitoredItemsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ModifyMonitoredItemsRequest.Builder builder() { + return new ModifyMonitoredItemsRequest.Builder(null, null, false); + } + + public static<_B >ModifyMonitoredItemsRequest.Builder<_B> copyOf(final ModifyMonitoredItemsRequest _other) { + final ModifyMonitoredItemsRequest.Builder<_B> _newBuilder = new ModifyMonitoredItemsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifyMonitoredItemsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + _other.timestampsToReturn = this.timestampsToReturn; + } + final PropertyTree itemsToModifyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("itemsToModify")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(itemsToModifyPropertyTree!= null):((itemsToModifyPropertyTree == null)||(!itemsToModifyPropertyTree.isLeaf())))) { + _other.itemsToModify = this.itemsToModify; + } + } + + public<_B >ModifyMonitoredItemsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ModifyMonitoredItemsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ModifyMonitoredItemsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ModifyMonitoredItemsRequest.Builder<_B> copyOf(final ModifyMonitoredItemsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ModifyMonitoredItemsRequest.Builder<_B> _newBuilder = new ModifyMonitoredItemsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ModifyMonitoredItemsRequest.Builder copyExcept(final ModifyMonitoredItemsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ModifyMonitoredItemsRequest.Builder copyOnly(final ModifyMonitoredItemsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ModifyMonitoredItemsRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private TimestampsToReturn timestampsToReturn; + private JAXBElement itemsToModify; + + public Builder(final _B _parentBuilder, final ModifyMonitoredItemsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.timestampsToReturn = _other.timestampsToReturn; + this.itemsToModify = _other.itemsToModify; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ModifyMonitoredItemsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + this.timestampsToReturn = _other.timestampsToReturn; + } + final PropertyTree itemsToModifyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("itemsToModify")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(itemsToModifyPropertyTree!= null):((itemsToModifyPropertyTree == null)||(!itemsToModifyPropertyTree.isLeaf())))) { + this.itemsToModify = _other.itemsToModify; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ModifyMonitoredItemsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.timestampsToReturn = this.timestampsToReturn; + _product.itemsToModify = this.itemsToModify; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public ModifyMonitoredItemsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public ModifyMonitoredItemsRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestampsToReturn" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param timestampsToReturn + * Neuer Wert der Eigenschaft "timestampsToReturn". + */ + public ModifyMonitoredItemsRequest.Builder<_B> withTimestampsToReturn(final TimestampsToReturn timestampsToReturn) { + this.timestampsToReturn = timestampsToReturn; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "itemsToModify" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param itemsToModify + * Neuer Wert der Eigenschaft "itemsToModify". + */ + public ModifyMonitoredItemsRequest.Builder<_B> withItemsToModify(final JAXBElement itemsToModify) { + this.itemsToModify = itemsToModify; + return this; + } + + @Override + public ModifyMonitoredItemsRequest build() { + if (_storedValue == null) { + return this.init(new ModifyMonitoredItemsRequest()); + } else { + return ((ModifyMonitoredItemsRequest) _storedValue); + } + } + + public ModifyMonitoredItemsRequest.Builder<_B> copyOf(final ModifyMonitoredItemsRequest _other) { + _other.copyTo(this); + return this; + } + + public ModifyMonitoredItemsRequest.Builder<_B> copyOf(final ModifyMonitoredItemsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ModifyMonitoredItemsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ModifyMonitoredItemsRequest.Select _root() { + return new ModifyMonitoredItemsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> timestampsToReturn = null; + private com.kscs.util.jaxb.Selector> itemsToModify = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.timestampsToReturn!= null) { + products.put("timestampsToReturn", this.timestampsToReturn.init()); + } + if (this.itemsToModify!= null) { + products.put("itemsToModify", this.itemsToModify.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> timestampsToReturn() { + return ((this.timestampsToReturn == null)?this.timestampsToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "timestampsToReturn"):this.timestampsToReturn); + } + + public com.kscs.util.jaxb.Selector> itemsToModify() { + return ((this.itemsToModify == null)?this.itemsToModify = new com.kscs.util.jaxb.Selector>(this._root, this, "itemsToModify"):this.itemsToModify); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsResponse.java new file mode 100644 index 000000000..15fad98f2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifyMonitoredItemsResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ModifyMonitoredItemsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ModifyMonitoredItemsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfMonitoredItemModifyResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ModifyMonitoredItemsResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class ModifyMonitoredItemsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifyMonitoredItemsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >ModifyMonitoredItemsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ModifyMonitoredItemsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public ModifyMonitoredItemsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ModifyMonitoredItemsResponse.Builder builder() { + return new ModifyMonitoredItemsResponse.Builder(null, null, false); + } + + public static<_B >ModifyMonitoredItemsResponse.Builder<_B> copyOf(final ModifyMonitoredItemsResponse _other) { + final ModifyMonitoredItemsResponse.Builder<_B> _newBuilder = new ModifyMonitoredItemsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifyMonitoredItemsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >ModifyMonitoredItemsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ModifyMonitoredItemsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ModifyMonitoredItemsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ModifyMonitoredItemsResponse.Builder<_B> copyOf(final ModifyMonitoredItemsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ModifyMonitoredItemsResponse.Builder<_B> _newBuilder = new ModifyMonitoredItemsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ModifyMonitoredItemsResponse.Builder copyExcept(final ModifyMonitoredItemsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ModifyMonitoredItemsResponse.Builder copyOnly(final ModifyMonitoredItemsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ModifyMonitoredItemsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final ModifyMonitoredItemsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ModifyMonitoredItemsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ModifyMonitoredItemsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public ModifyMonitoredItemsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public ModifyMonitoredItemsResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public ModifyMonitoredItemsResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public ModifyMonitoredItemsResponse build() { + if (_storedValue == null) { + return this.init(new ModifyMonitoredItemsResponse()); + } else { + return ((ModifyMonitoredItemsResponse) _storedValue); + } + } + + public ModifyMonitoredItemsResponse.Builder<_B> copyOf(final ModifyMonitoredItemsResponse _other) { + _other.copyTo(this); + return this; + } + + public ModifyMonitoredItemsResponse.Builder<_B> copyOf(final ModifyMonitoredItemsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ModifyMonitoredItemsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static ModifyMonitoredItemsResponse.Select _root() { + return new ModifyMonitoredItemsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionRequest.java new file mode 100644 index 000000000..dbb62e1ad --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionRequest.java @@ -0,0 +1,627 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ModifySubscriptionRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ModifySubscriptionRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RequestedPublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RequestedLifetimeCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RequestedMaxKeepAliveCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxNotificationsPerPublish" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="Priority" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ModifySubscriptionRequest", propOrder = { + "requestHeader", + "subscriptionId", + "requestedPublishingInterval", + "requestedLifetimeCount", + "requestedMaxKeepAliveCount", + "maxNotificationsPerPublish", + "priority" +}) +public class ModifySubscriptionRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "RequestedPublishingInterval") + protected Double requestedPublishingInterval; + @XmlElement(name = "RequestedLifetimeCount") + @XmlSchemaType(name = "unsignedInt") + protected Long requestedLifetimeCount; + @XmlElement(name = "RequestedMaxKeepAliveCount") + @XmlSchemaType(name = "unsignedInt") + protected Long requestedMaxKeepAliveCount; + @XmlElement(name = "MaxNotificationsPerPublish") + @XmlSchemaType(name = "unsignedInt") + protected Long maxNotificationsPerPublish; + @XmlElement(name = "Priority") + @XmlSchemaType(name = "unsignedByte") + protected Short priority; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der requestedPublishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRequestedPublishingInterval() { + return requestedPublishingInterval; + } + + /** + * Legt den Wert der requestedPublishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRequestedPublishingInterval(Double value) { + this.requestedPublishingInterval = value; + } + + /** + * Ruft den Wert der requestedLifetimeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestedLifetimeCount() { + return requestedLifetimeCount; + } + + /** + * Legt den Wert der requestedLifetimeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestedLifetimeCount(Long value) { + this.requestedLifetimeCount = value; + } + + /** + * Ruft den Wert der requestedMaxKeepAliveCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestedMaxKeepAliveCount() { + return requestedMaxKeepAliveCount; + } + + /** + * Legt den Wert der requestedMaxKeepAliveCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestedMaxKeepAliveCount(Long value) { + this.requestedMaxKeepAliveCount = value; + } + + /** + * Ruft den Wert der maxNotificationsPerPublish-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxNotificationsPerPublish() { + return maxNotificationsPerPublish; + } + + /** + * Legt den Wert der maxNotificationsPerPublish-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxNotificationsPerPublish(Long value) { + this.maxNotificationsPerPublish = value; + } + + /** + * Ruft den Wert der priority-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getPriority() { + return priority; + } + + /** + * Legt den Wert der priority-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setPriority(Short value) { + this.priority = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifySubscriptionRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.requestedPublishingInterval = this.requestedPublishingInterval; + _other.requestedLifetimeCount = this.requestedLifetimeCount; + _other.requestedMaxKeepAliveCount = this.requestedMaxKeepAliveCount; + _other.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + _other.priority = this.priority; + } + + public<_B >ModifySubscriptionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ModifySubscriptionRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ModifySubscriptionRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ModifySubscriptionRequest.Builder builder() { + return new ModifySubscriptionRequest.Builder(null, null, false); + } + + public static<_B >ModifySubscriptionRequest.Builder<_B> copyOf(final ModifySubscriptionRequest _other) { + final ModifySubscriptionRequest.Builder<_B> _newBuilder = new ModifySubscriptionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifySubscriptionRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree requestedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedPublishingIntervalPropertyTree!= null):((requestedPublishingIntervalPropertyTree == null)||(!requestedPublishingIntervalPropertyTree.isLeaf())))) { + _other.requestedPublishingInterval = this.requestedPublishingInterval; + } + final PropertyTree requestedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedLifetimeCountPropertyTree!= null):((requestedLifetimeCountPropertyTree == null)||(!requestedLifetimeCountPropertyTree.isLeaf())))) { + _other.requestedLifetimeCount = this.requestedLifetimeCount; + } + final PropertyTree requestedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedMaxKeepAliveCountPropertyTree!= null):((requestedMaxKeepAliveCountPropertyTree == null)||(!requestedMaxKeepAliveCountPropertyTree.isLeaf())))) { + _other.requestedMaxKeepAliveCount = this.requestedMaxKeepAliveCount; + } + final PropertyTree maxNotificationsPerPublishPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNotificationsPerPublish")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNotificationsPerPublishPropertyTree!= null):((maxNotificationsPerPublishPropertyTree == null)||(!maxNotificationsPerPublishPropertyTree.isLeaf())))) { + _other.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + _other.priority = this.priority; + } + } + + public<_B >ModifySubscriptionRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ModifySubscriptionRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ModifySubscriptionRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ModifySubscriptionRequest.Builder<_B> copyOf(final ModifySubscriptionRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ModifySubscriptionRequest.Builder<_B> _newBuilder = new ModifySubscriptionRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ModifySubscriptionRequest.Builder copyExcept(final ModifySubscriptionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ModifySubscriptionRequest.Builder copyOnly(final ModifySubscriptionRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ModifySubscriptionRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private Double requestedPublishingInterval; + private Long requestedLifetimeCount; + private Long requestedMaxKeepAliveCount; + private Long maxNotificationsPerPublish; + private Short priority; + + public Builder(final _B _parentBuilder, final ModifySubscriptionRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.requestedPublishingInterval = _other.requestedPublishingInterval; + this.requestedLifetimeCount = _other.requestedLifetimeCount; + this.requestedMaxKeepAliveCount = _other.requestedMaxKeepAliveCount; + this.maxNotificationsPerPublish = _other.maxNotificationsPerPublish; + this.priority = _other.priority; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ModifySubscriptionRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree requestedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedPublishingIntervalPropertyTree!= null):((requestedPublishingIntervalPropertyTree == null)||(!requestedPublishingIntervalPropertyTree.isLeaf())))) { + this.requestedPublishingInterval = _other.requestedPublishingInterval; + } + final PropertyTree requestedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedLifetimeCountPropertyTree!= null):((requestedLifetimeCountPropertyTree == null)||(!requestedLifetimeCountPropertyTree.isLeaf())))) { + this.requestedLifetimeCount = _other.requestedLifetimeCount; + } + final PropertyTree requestedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedMaxKeepAliveCountPropertyTree!= null):((requestedMaxKeepAliveCountPropertyTree == null)||(!requestedMaxKeepAliveCountPropertyTree.isLeaf())))) { + this.requestedMaxKeepAliveCount = _other.requestedMaxKeepAliveCount; + } + final PropertyTree maxNotificationsPerPublishPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNotificationsPerPublish")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNotificationsPerPublishPropertyTree!= null):((maxNotificationsPerPublishPropertyTree == null)||(!maxNotificationsPerPublishPropertyTree.isLeaf())))) { + this.maxNotificationsPerPublish = _other.maxNotificationsPerPublish; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + this.priority = _other.priority; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ModifySubscriptionRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.requestedPublishingInterval = this.requestedPublishingInterval; + _product.requestedLifetimeCount = this.requestedLifetimeCount; + _product.requestedMaxKeepAliveCount = this.requestedMaxKeepAliveCount; + _product.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + _product.priority = this.priority; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public ModifySubscriptionRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public ModifySubscriptionRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedPublishingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedPublishingInterval + * Neuer Wert der Eigenschaft "requestedPublishingInterval". + */ + public ModifySubscriptionRequest.Builder<_B> withRequestedPublishingInterval(final Double requestedPublishingInterval) { + this.requestedPublishingInterval = requestedPublishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedLifetimeCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedLifetimeCount + * Neuer Wert der Eigenschaft "requestedLifetimeCount". + */ + public ModifySubscriptionRequest.Builder<_B> withRequestedLifetimeCount(final Long requestedLifetimeCount) { + this.requestedLifetimeCount = requestedLifetimeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedMaxKeepAliveCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param requestedMaxKeepAliveCount + * Neuer Wert der Eigenschaft "requestedMaxKeepAliveCount". + */ + public ModifySubscriptionRequest.Builder<_B> withRequestedMaxKeepAliveCount(final Long requestedMaxKeepAliveCount) { + this.requestedMaxKeepAliveCount = requestedMaxKeepAliveCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxNotificationsPerPublish" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxNotificationsPerPublish + * Neuer Wert der Eigenschaft "maxNotificationsPerPublish". + */ + public ModifySubscriptionRequest.Builder<_B> withMaxNotificationsPerPublish(final Long maxNotificationsPerPublish) { + this.maxNotificationsPerPublish = maxNotificationsPerPublish; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "priority" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param priority + * Neuer Wert der Eigenschaft "priority". + */ + public ModifySubscriptionRequest.Builder<_B> withPriority(final Short priority) { + this.priority = priority; + return this; + } + + @Override + public ModifySubscriptionRequest build() { + if (_storedValue == null) { + return this.init(new ModifySubscriptionRequest()); + } else { + return ((ModifySubscriptionRequest) _storedValue); + } + } + + public ModifySubscriptionRequest.Builder<_B> copyOf(final ModifySubscriptionRequest _other) { + _other.copyTo(this); + return this; + } + + public ModifySubscriptionRequest.Builder<_B> copyOf(final ModifySubscriptionRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ModifySubscriptionRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ModifySubscriptionRequest.Select _root() { + return new ModifySubscriptionRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> requestedPublishingInterval = null; + private com.kscs.util.jaxb.Selector> requestedLifetimeCount = null; + private com.kscs.util.jaxb.Selector> requestedMaxKeepAliveCount = null; + private com.kscs.util.jaxb.Selector> maxNotificationsPerPublish = null; + private com.kscs.util.jaxb.Selector> priority = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.requestedPublishingInterval!= null) { + products.put("requestedPublishingInterval", this.requestedPublishingInterval.init()); + } + if (this.requestedLifetimeCount!= null) { + products.put("requestedLifetimeCount", this.requestedLifetimeCount.init()); + } + if (this.requestedMaxKeepAliveCount!= null) { + products.put("requestedMaxKeepAliveCount", this.requestedMaxKeepAliveCount.init()); + } + if (this.maxNotificationsPerPublish!= null) { + products.put("maxNotificationsPerPublish", this.maxNotificationsPerPublish.init()); + } + if (this.priority!= null) { + products.put("priority", this.priority.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> requestedPublishingInterval() { + return ((this.requestedPublishingInterval == null)?this.requestedPublishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedPublishingInterval"):this.requestedPublishingInterval); + } + + public com.kscs.util.jaxb.Selector> requestedLifetimeCount() { + return ((this.requestedLifetimeCount == null)?this.requestedLifetimeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedLifetimeCount"):this.requestedLifetimeCount); + } + + public com.kscs.util.jaxb.Selector> requestedMaxKeepAliveCount() { + return ((this.requestedMaxKeepAliveCount == null)?this.requestedMaxKeepAliveCount = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedMaxKeepAliveCount"):this.requestedMaxKeepAliveCount); + } + + public com.kscs.util.jaxb.Selector> maxNotificationsPerPublish() { + return ((this.maxNotificationsPerPublish == null)?this.maxNotificationsPerPublish = new com.kscs.util.jaxb.Selector>(this._root, this, "maxNotificationsPerPublish"):this.maxNotificationsPerPublish); + } + + public com.kscs.util.jaxb.Selector> priority() { + return ((this.priority == null)?this.priority = new com.kscs.util.jaxb.Selector>(this._root, this, "priority"):this.priority); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionResponse.java new file mode 100644 index 000000000..f507aa578 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ModifySubscriptionResponse.java @@ -0,0 +1,444 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ModifySubscriptionResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ModifySubscriptionResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="RevisedPublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RevisedLifetimeCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RevisedMaxKeepAliveCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ModifySubscriptionResponse", propOrder = { + "responseHeader", + "revisedPublishingInterval", + "revisedLifetimeCount", + "revisedMaxKeepAliveCount" +}) +public class ModifySubscriptionResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElement(name = "RevisedPublishingInterval") + protected Double revisedPublishingInterval; + @XmlElement(name = "RevisedLifetimeCount") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedLifetimeCount; + @XmlElement(name = "RevisedMaxKeepAliveCount") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedMaxKeepAliveCount; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der revisedPublishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRevisedPublishingInterval() { + return revisedPublishingInterval; + } + + /** + * Legt den Wert der revisedPublishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRevisedPublishingInterval(Double value) { + this.revisedPublishingInterval = value; + } + + /** + * Ruft den Wert der revisedLifetimeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedLifetimeCount() { + return revisedLifetimeCount; + } + + /** + * Legt den Wert der revisedLifetimeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedLifetimeCount(Long value) { + this.revisedLifetimeCount = value; + } + + /** + * Ruft den Wert der revisedMaxKeepAliveCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedMaxKeepAliveCount() { + return revisedMaxKeepAliveCount; + } + + /** + * Legt den Wert der revisedMaxKeepAliveCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedMaxKeepAliveCount(Long value) { + this.revisedMaxKeepAliveCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifySubscriptionResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.revisedPublishingInterval = this.revisedPublishingInterval; + _other.revisedLifetimeCount = this.revisedLifetimeCount; + _other.revisedMaxKeepAliveCount = this.revisedMaxKeepAliveCount; + } + + public<_B >ModifySubscriptionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ModifySubscriptionResponse.Builder<_B>(_parentBuilder, this, true); + } + + public ModifySubscriptionResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ModifySubscriptionResponse.Builder builder() { + return new ModifySubscriptionResponse.Builder(null, null, false); + } + + public static<_B >ModifySubscriptionResponse.Builder<_B> copyOf(final ModifySubscriptionResponse _other) { + final ModifySubscriptionResponse.Builder<_B> _newBuilder = new ModifySubscriptionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ModifySubscriptionResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree revisedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedPublishingIntervalPropertyTree!= null):((revisedPublishingIntervalPropertyTree == null)||(!revisedPublishingIntervalPropertyTree.isLeaf())))) { + _other.revisedPublishingInterval = this.revisedPublishingInterval; + } + final PropertyTree revisedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedLifetimeCountPropertyTree!= null):((revisedLifetimeCountPropertyTree == null)||(!revisedLifetimeCountPropertyTree.isLeaf())))) { + _other.revisedLifetimeCount = this.revisedLifetimeCount; + } + final PropertyTree revisedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedMaxKeepAliveCountPropertyTree!= null):((revisedMaxKeepAliveCountPropertyTree == null)||(!revisedMaxKeepAliveCountPropertyTree.isLeaf())))) { + _other.revisedMaxKeepAliveCount = this.revisedMaxKeepAliveCount; + } + } + + public<_B >ModifySubscriptionResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ModifySubscriptionResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ModifySubscriptionResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ModifySubscriptionResponse.Builder<_B> copyOf(final ModifySubscriptionResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ModifySubscriptionResponse.Builder<_B> _newBuilder = new ModifySubscriptionResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ModifySubscriptionResponse.Builder copyExcept(final ModifySubscriptionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ModifySubscriptionResponse.Builder copyOnly(final ModifySubscriptionResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ModifySubscriptionResponse _storedValue; + private JAXBElement responseHeader; + private Double revisedPublishingInterval; + private Long revisedLifetimeCount; + private Long revisedMaxKeepAliveCount; + + public Builder(final _B _parentBuilder, final ModifySubscriptionResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.revisedPublishingInterval = _other.revisedPublishingInterval; + this.revisedLifetimeCount = _other.revisedLifetimeCount; + this.revisedMaxKeepAliveCount = _other.revisedMaxKeepAliveCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ModifySubscriptionResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree revisedPublishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedPublishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedPublishingIntervalPropertyTree!= null):((revisedPublishingIntervalPropertyTree == null)||(!revisedPublishingIntervalPropertyTree.isLeaf())))) { + this.revisedPublishingInterval = _other.revisedPublishingInterval; + } + final PropertyTree revisedLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedLifetimeCountPropertyTree!= null):((revisedLifetimeCountPropertyTree == null)||(!revisedLifetimeCountPropertyTree.isLeaf())))) { + this.revisedLifetimeCount = _other.revisedLifetimeCount; + } + final PropertyTree revisedMaxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedMaxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedMaxKeepAliveCountPropertyTree!= null):((revisedMaxKeepAliveCountPropertyTree == null)||(!revisedMaxKeepAliveCountPropertyTree.isLeaf())))) { + this.revisedMaxKeepAliveCount = _other.revisedMaxKeepAliveCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ModifySubscriptionResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.revisedPublishingInterval = this.revisedPublishingInterval; + _product.revisedLifetimeCount = this.revisedLifetimeCount; + _product.revisedMaxKeepAliveCount = this.revisedMaxKeepAliveCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public ModifySubscriptionResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedPublishingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedPublishingInterval + * Neuer Wert der Eigenschaft "revisedPublishingInterval". + */ + public ModifySubscriptionResponse.Builder<_B> withRevisedPublishingInterval(final Double revisedPublishingInterval) { + this.revisedPublishingInterval = revisedPublishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedLifetimeCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param revisedLifetimeCount + * Neuer Wert der Eigenschaft "revisedLifetimeCount". + */ + public ModifySubscriptionResponse.Builder<_B> withRevisedLifetimeCount(final Long revisedLifetimeCount) { + this.revisedLifetimeCount = revisedLifetimeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedMaxKeepAliveCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedMaxKeepAliveCount + * Neuer Wert der Eigenschaft "revisedMaxKeepAliveCount". + */ + public ModifySubscriptionResponse.Builder<_B> withRevisedMaxKeepAliveCount(final Long revisedMaxKeepAliveCount) { + this.revisedMaxKeepAliveCount = revisedMaxKeepAliveCount; + return this; + } + + @Override + public ModifySubscriptionResponse build() { + if (_storedValue == null) { + return this.init(new ModifySubscriptionResponse()); + } else { + return ((ModifySubscriptionResponse) _storedValue); + } + } + + public ModifySubscriptionResponse.Builder<_B> copyOf(final ModifySubscriptionResponse _other) { + _other.copyTo(this); + return this; + } + + public ModifySubscriptionResponse.Builder<_B> copyOf(final ModifySubscriptionResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ModifySubscriptionResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static ModifySubscriptionResponse.Select _root() { + return new ModifySubscriptionResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> revisedPublishingInterval = null; + private com.kscs.util.jaxb.Selector> revisedLifetimeCount = null; + private com.kscs.util.jaxb.Selector> revisedMaxKeepAliveCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.revisedPublishingInterval!= null) { + products.put("revisedPublishingInterval", this.revisedPublishingInterval.init()); + } + if (this.revisedLifetimeCount!= null) { + products.put("revisedLifetimeCount", this.revisedLifetimeCount.init()); + } + if (this.revisedMaxKeepAliveCount!= null) { + products.put("revisedMaxKeepAliveCount", this.revisedMaxKeepAliveCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> revisedPublishingInterval() { + return ((this.revisedPublishingInterval == null)?this.revisedPublishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedPublishingInterval"):this.revisedPublishingInterval); + } + + public com.kscs.util.jaxb.Selector> revisedLifetimeCount() { + return ((this.revisedLifetimeCount == null)?this.revisedLifetimeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedLifetimeCount"):this.revisedLifetimeCount); + } + + public com.kscs.util.jaxb.Selector> revisedMaxKeepAliveCount() { + return ((this.revisedMaxKeepAliveCount == null)?this.revisedMaxKeepAliveCount = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedMaxKeepAliveCount"):this.revisedMaxKeepAliveCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateRequest.java new file mode 100644 index 000000000..e9caa9051 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateRequest.java @@ -0,0 +1,383 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoredItemCreateRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoredItemCreateRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ItemToMonitor" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ReadValueId" minOccurs="0"/>
+ *         <element name="MonitoringMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringMode" minOccurs="0"/>
+ *         <element name="RequestedParameters" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringParameters" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoredItemCreateRequest", propOrder = { + "itemToMonitor", + "monitoringMode", + "requestedParameters" +}) +public class MonitoredItemCreateRequest { + + @XmlElementRef(name = "ItemToMonitor", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement itemToMonitor; + @XmlElement(name = "MonitoringMode") + @XmlSchemaType(name = "string") + protected MonitoringMode monitoringMode; + @XmlElementRef(name = "RequestedParameters", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestedParameters; + + /** + * Ruft den Wert der itemToMonitor-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ReadValueId }{@code >} + * + */ + public JAXBElement getItemToMonitor() { + return itemToMonitor; + } + + /** + * Legt den Wert der itemToMonitor-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ReadValueId }{@code >} + * + */ + public void setItemToMonitor(JAXBElement value) { + this.itemToMonitor = value; + } + + /** + * Ruft den Wert der monitoringMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MonitoringMode } + * + */ + public MonitoringMode getMonitoringMode() { + return monitoringMode; + } + + /** + * Legt den Wert der monitoringMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MonitoringMode } + * + */ + public void setMonitoringMode(MonitoringMode value) { + this.monitoringMode = value; + } + + /** + * Ruft den Wert der requestedParameters-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + */ + public JAXBElement getRequestedParameters() { + return requestedParameters; + } + + /** + * Legt den Wert der requestedParameters-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + */ + public void setRequestedParameters(JAXBElement value) { + this.requestedParameters = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemCreateRequest.Builder<_B> _other) { + _other.itemToMonitor = this.itemToMonitor; + _other.monitoringMode = this.monitoringMode; + _other.requestedParameters = this.requestedParameters; + } + + public<_B >MonitoredItemCreateRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoredItemCreateRequest.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoredItemCreateRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoredItemCreateRequest.Builder builder() { + return new MonitoredItemCreateRequest.Builder(null, null, false); + } + + public static<_B >MonitoredItemCreateRequest.Builder<_B> copyOf(final MonitoredItemCreateRequest _other) { + final MonitoredItemCreateRequest.Builder<_B> _newBuilder = new MonitoredItemCreateRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemCreateRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree itemToMonitorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("itemToMonitor")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(itemToMonitorPropertyTree!= null):((itemToMonitorPropertyTree == null)||(!itemToMonitorPropertyTree.isLeaf())))) { + _other.itemToMonitor = this.itemToMonitor; + } + final PropertyTree monitoringModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoringMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoringModePropertyTree!= null):((monitoringModePropertyTree == null)||(!monitoringModePropertyTree.isLeaf())))) { + _other.monitoringMode = this.monitoringMode; + } + final PropertyTree requestedParametersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedParameters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedParametersPropertyTree!= null):((requestedParametersPropertyTree == null)||(!requestedParametersPropertyTree.isLeaf())))) { + _other.requestedParameters = this.requestedParameters; + } + } + + public<_B >MonitoredItemCreateRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoredItemCreateRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoredItemCreateRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoredItemCreateRequest.Builder<_B> copyOf(final MonitoredItemCreateRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoredItemCreateRequest.Builder<_B> _newBuilder = new MonitoredItemCreateRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoredItemCreateRequest.Builder copyExcept(final MonitoredItemCreateRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoredItemCreateRequest.Builder copyOnly(final MonitoredItemCreateRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoredItemCreateRequest _storedValue; + private JAXBElement itemToMonitor; + private MonitoringMode monitoringMode; + private JAXBElement requestedParameters; + + public Builder(final _B _parentBuilder, final MonitoredItemCreateRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.itemToMonitor = _other.itemToMonitor; + this.monitoringMode = _other.monitoringMode; + this.requestedParameters = _other.requestedParameters; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoredItemCreateRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree itemToMonitorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("itemToMonitor")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(itemToMonitorPropertyTree!= null):((itemToMonitorPropertyTree == null)||(!itemToMonitorPropertyTree.isLeaf())))) { + this.itemToMonitor = _other.itemToMonitor; + } + final PropertyTree monitoringModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoringMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoringModePropertyTree!= null):((monitoringModePropertyTree == null)||(!monitoringModePropertyTree.isLeaf())))) { + this.monitoringMode = _other.monitoringMode; + } + final PropertyTree requestedParametersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedParameters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedParametersPropertyTree!= null):((requestedParametersPropertyTree == null)||(!requestedParametersPropertyTree.isLeaf())))) { + this.requestedParameters = _other.requestedParameters; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoredItemCreateRequest >_P init(final _P _product) { + _product.itemToMonitor = this.itemToMonitor; + _product.monitoringMode = this.monitoringMode; + _product.requestedParameters = this.requestedParameters; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "itemToMonitor" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param itemToMonitor + * Neuer Wert der Eigenschaft "itemToMonitor". + */ + public MonitoredItemCreateRequest.Builder<_B> withItemToMonitor(final JAXBElement itemToMonitor) { + this.itemToMonitor = itemToMonitor; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoringMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param monitoringMode + * Neuer Wert der Eigenschaft "monitoringMode". + */ + public MonitoredItemCreateRequest.Builder<_B> withMonitoringMode(final MonitoringMode monitoringMode) { + this.monitoringMode = monitoringMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedParameters" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param requestedParameters + * Neuer Wert der Eigenschaft "requestedParameters". + */ + public MonitoredItemCreateRequest.Builder<_B> withRequestedParameters(final JAXBElement requestedParameters) { + this.requestedParameters = requestedParameters; + return this; + } + + @Override + public MonitoredItemCreateRequest build() { + if (_storedValue == null) { + return this.init(new MonitoredItemCreateRequest()); + } else { + return ((MonitoredItemCreateRequest) _storedValue); + } + } + + public MonitoredItemCreateRequest.Builder<_B> copyOf(final MonitoredItemCreateRequest _other) { + _other.copyTo(this); + return this; + } + + public MonitoredItemCreateRequest.Builder<_B> copyOf(final MonitoredItemCreateRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoredItemCreateRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoredItemCreateRequest.Select _root() { + return new MonitoredItemCreateRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> itemToMonitor = null; + private com.kscs.util.jaxb.Selector> monitoringMode = null; + private com.kscs.util.jaxb.Selector> requestedParameters = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.itemToMonitor!= null) { + products.put("itemToMonitor", this.itemToMonitor.init()); + } + if (this.monitoringMode!= null) { + products.put("monitoringMode", this.monitoringMode.init()); + } + if (this.requestedParameters!= null) { + products.put("requestedParameters", this.requestedParameters.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> itemToMonitor() { + return ((this.itemToMonitor == null)?this.itemToMonitor = new com.kscs.util.jaxb.Selector>(this._root, this, "itemToMonitor"):this.itemToMonitor); + } + + public com.kscs.util.jaxb.Selector> monitoringMode() { + return ((this.monitoringMode == null)?this.monitoringMode = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoringMode"):this.monitoringMode); + } + + public com.kscs.util.jaxb.Selector> requestedParameters() { + return ((this.requestedParameters == null)?this.requestedParameters = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedParameters"):this.requestedParameters); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateResult.java new file mode 100644 index 000000000..1ea791f34 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemCreateResult.java @@ -0,0 +1,522 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoredItemCreateResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoredItemCreateResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="MonitoredItemId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RevisedSamplingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RevisedQueueSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="FilterResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoredItemCreateResult", propOrder = { + "statusCode", + "monitoredItemId", + "revisedSamplingInterval", + "revisedQueueSize", + "filterResult" +}) +public class MonitoredItemCreateResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElement(name = "MonitoredItemId") + @XmlSchemaType(name = "unsignedInt") + protected Long monitoredItemId; + @XmlElement(name = "RevisedSamplingInterval") + protected Double revisedSamplingInterval; + @XmlElement(name = "RevisedQueueSize") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedQueueSize; + @XmlElementRef(name = "FilterResult", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filterResult; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der monitoredItemId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMonitoredItemId() { + return monitoredItemId; + } + + /** + * Legt den Wert der monitoredItemId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMonitoredItemId(Long value) { + this.monitoredItemId = value; + } + + /** + * Ruft den Wert der revisedSamplingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRevisedSamplingInterval() { + return revisedSamplingInterval; + } + + /** + * Legt den Wert der revisedSamplingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRevisedSamplingInterval(Double value) { + this.revisedSamplingInterval = value; + } + + /** + * Ruft den Wert der revisedQueueSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedQueueSize() { + return revisedQueueSize; + } + + /** + * Legt den Wert der revisedQueueSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedQueueSize(Long value) { + this.revisedQueueSize = value; + } + + /** + * Ruft den Wert der filterResult-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getFilterResult() { + return filterResult; + } + + /** + * Legt den Wert der filterResult-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setFilterResult(JAXBElement value) { + this.filterResult = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemCreateResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.monitoredItemId = this.monitoredItemId; + _other.revisedSamplingInterval = this.revisedSamplingInterval; + _other.revisedQueueSize = this.revisedQueueSize; + _other.filterResult = this.filterResult; + } + + public<_B >MonitoredItemCreateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoredItemCreateResult.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoredItemCreateResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoredItemCreateResult.Builder builder() { + return new MonitoredItemCreateResult.Builder(null, null, false); + } + + public static<_B >MonitoredItemCreateResult.Builder<_B> copyOf(final MonitoredItemCreateResult _other) { + final MonitoredItemCreateResult.Builder<_B> _newBuilder = new MonitoredItemCreateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemCreateResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree monitoredItemIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdPropertyTree!= null):((monitoredItemIdPropertyTree == null)||(!monitoredItemIdPropertyTree.isLeaf())))) { + _other.monitoredItemId = this.monitoredItemId; + } + final PropertyTree revisedSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedSamplingIntervalPropertyTree!= null):((revisedSamplingIntervalPropertyTree == null)||(!revisedSamplingIntervalPropertyTree.isLeaf())))) { + _other.revisedSamplingInterval = this.revisedSamplingInterval; + } + final PropertyTree revisedQueueSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedQueueSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedQueueSizePropertyTree!= null):((revisedQueueSizePropertyTree == null)||(!revisedQueueSizePropertyTree.isLeaf())))) { + _other.revisedQueueSize = this.revisedQueueSize; + } + final PropertyTree filterResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterResultPropertyTree!= null):((filterResultPropertyTree == null)||(!filterResultPropertyTree.isLeaf())))) { + _other.filterResult = this.filterResult; + } + } + + public<_B >MonitoredItemCreateResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoredItemCreateResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoredItemCreateResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoredItemCreateResult.Builder<_B> copyOf(final MonitoredItemCreateResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoredItemCreateResult.Builder<_B> _newBuilder = new MonitoredItemCreateResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoredItemCreateResult.Builder copyExcept(final MonitoredItemCreateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoredItemCreateResult.Builder copyOnly(final MonitoredItemCreateResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoredItemCreateResult _storedValue; + private StatusCode.Builder> statusCode; + private Long monitoredItemId; + private Double revisedSamplingInterval; + private Long revisedQueueSize; + private JAXBElement filterResult; + + public Builder(final _B _parentBuilder, final MonitoredItemCreateResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.monitoredItemId = _other.monitoredItemId; + this.revisedSamplingInterval = _other.revisedSamplingInterval; + this.revisedQueueSize = _other.revisedQueueSize; + this.filterResult = _other.filterResult; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoredItemCreateResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree monitoredItemIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdPropertyTree!= null):((monitoredItemIdPropertyTree == null)||(!monitoredItemIdPropertyTree.isLeaf())))) { + this.monitoredItemId = _other.monitoredItemId; + } + final PropertyTree revisedSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedSamplingIntervalPropertyTree!= null):((revisedSamplingIntervalPropertyTree == null)||(!revisedSamplingIntervalPropertyTree.isLeaf())))) { + this.revisedSamplingInterval = _other.revisedSamplingInterval; + } + final PropertyTree revisedQueueSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedQueueSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedQueueSizePropertyTree!= null):((revisedQueueSizePropertyTree == null)||(!revisedQueueSizePropertyTree.isLeaf())))) { + this.revisedQueueSize = _other.revisedQueueSize; + } + final PropertyTree filterResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterResultPropertyTree!= null):((filterResultPropertyTree == null)||(!filterResultPropertyTree.isLeaf())))) { + this.filterResult = _other.filterResult; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoredItemCreateResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.monitoredItemId = this.monitoredItemId; + _product.revisedSamplingInterval = this.revisedSamplingInterval; + _product.revisedQueueSize = this.revisedQueueSize; + _product.filterResult = this.filterResult; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public MonitoredItemCreateResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param monitoredItemId + * Neuer Wert der Eigenschaft "monitoredItemId". + */ + public MonitoredItemCreateResult.Builder<_B> withMonitoredItemId(final Long monitoredItemId) { + this.monitoredItemId = monitoredItemId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedSamplingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedSamplingInterval + * Neuer Wert der Eigenschaft "revisedSamplingInterval". + */ + public MonitoredItemCreateResult.Builder<_B> withRevisedSamplingInterval(final Double revisedSamplingInterval) { + this.revisedSamplingInterval = revisedSamplingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedQueueSize" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param revisedQueueSize + * Neuer Wert der Eigenschaft "revisedQueueSize". + */ + public MonitoredItemCreateResult.Builder<_B> withRevisedQueueSize(final Long revisedQueueSize) { + this.revisedQueueSize = revisedQueueSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filterResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param filterResult + * Neuer Wert der Eigenschaft "filterResult". + */ + public MonitoredItemCreateResult.Builder<_B> withFilterResult(final JAXBElement filterResult) { + this.filterResult = filterResult; + return this; + } + + @Override + public MonitoredItemCreateResult build() { + if (_storedValue == null) { + return this.init(new MonitoredItemCreateResult()); + } else { + return ((MonitoredItemCreateResult) _storedValue); + } + } + + public MonitoredItemCreateResult.Builder<_B> copyOf(final MonitoredItemCreateResult _other) { + _other.copyTo(this); + return this; + } + + public MonitoredItemCreateResult.Builder<_B> copyOf(final MonitoredItemCreateResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoredItemCreateResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoredItemCreateResult.Select _root() { + return new MonitoredItemCreateResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> monitoredItemId = null; + private com.kscs.util.jaxb.Selector> revisedSamplingInterval = null; + private com.kscs.util.jaxb.Selector> revisedQueueSize = null; + private com.kscs.util.jaxb.Selector> filterResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.monitoredItemId!= null) { + products.put("monitoredItemId", this.monitoredItemId.init()); + } + if (this.revisedSamplingInterval!= null) { + products.put("revisedSamplingInterval", this.revisedSamplingInterval.init()); + } + if (this.revisedQueueSize!= null) { + products.put("revisedQueueSize", this.revisedQueueSize.init()); + } + if (this.filterResult!= null) { + products.put("filterResult", this.filterResult.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> monitoredItemId() { + return ((this.monitoredItemId == null)?this.monitoredItemId = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItemId"):this.monitoredItemId); + } + + public com.kscs.util.jaxb.Selector> revisedSamplingInterval() { + return ((this.revisedSamplingInterval == null)?this.revisedSamplingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedSamplingInterval"):this.revisedSamplingInterval); + } + + public com.kscs.util.jaxb.Selector> revisedQueueSize() { + return ((this.revisedQueueSize == null)?this.revisedQueueSize = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedQueueSize"):this.revisedQueueSize); + } + + public com.kscs.util.jaxb.Selector> filterResult() { + return ((this.filterResult == null)?this.filterResult = new com.kscs.util.jaxb.Selector>(this._root, this, "filterResult"):this.filterResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyRequest.java new file mode 100644 index 000000000..8a3049065 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyRequest.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoredItemModifyRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoredItemModifyRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="MonitoredItemId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RequestedParameters" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringParameters" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoredItemModifyRequest", propOrder = { + "monitoredItemId", + "requestedParameters" +}) +public class MonitoredItemModifyRequest { + + @XmlElement(name = "MonitoredItemId") + @XmlSchemaType(name = "unsignedInt") + protected Long monitoredItemId; + @XmlElementRef(name = "RequestedParameters", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestedParameters; + + /** + * Ruft den Wert der monitoredItemId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMonitoredItemId() { + return monitoredItemId; + } + + /** + * Legt den Wert der monitoredItemId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMonitoredItemId(Long value) { + this.monitoredItemId = value; + } + + /** + * Ruft den Wert der requestedParameters-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + */ + public JAXBElement getRequestedParameters() { + return requestedParameters; + } + + /** + * Legt den Wert der requestedParameters-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + */ + public void setRequestedParameters(JAXBElement value) { + this.requestedParameters = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemModifyRequest.Builder<_B> _other) { + _other.monitoredItemId = this.monitoredItemId; + _other.requestedParameters = this.requestedParameters; + } + + public<_B >MonitoredItemModifyRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoredItemModifyRequest.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoredItemModifyRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoredItemModifyRequest.Builder builder() { + return new MonitoredItemModifyRequest.Builder(null, null, false); + } + + public static<_B >MonitoredItemModifyRequest.Builder<_B> copyOf(final MonitoredItemModifyRequest _other) { + final MonitoredItemModifyRequest.Builder<_B> _newBuilder = new MonitoredItemModifyRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemModifyRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree monitoredItemIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdPropertyTree!= null):((monitoredItemIdPropertyTree == null)||(!monitoredItemIdPropertyTree.isLeaf())))) { + _other.monitoredItemId = this.monitoredItemId; + } + final PropertyTree requestedParametersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedParameters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedParametersPropertyTree!= null):((requestedParametersPropertyTree == null)||(!requestedParametersPropertyTree.isLeaf())))) { + _other.requestedParameters = this.requestedParameters; + } + } + + public<_B >MonitoredItemModifyRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoredItemModifyRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoredItemModifyRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoredItemModifyRequest.Builder<_B> copyOf(final MonitoredItemModifyRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoredItemModifyRequest.Builder<_B> _newBuilder = new MonitoredItemModifyRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoredItemModifyRequest.Builder copyExcept(final MonitoredItemModifyRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoredItemModifyRequest.Builder copyOnly(final MonitoredItemModifyRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoredItemModifyRequest _storedValue; + private Long monitoredItemId; + private JAXBElement requestedParameters; + + public Builder(final _B _parentBuilder, final MonitoredItemModifyRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.monitoredItemId = _other.monitoredItemId; + this.requestedParameters = _other.requestedParameters; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoredItemModifyRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree monitoredItemIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdPropertyTree!= null):((monitoredItemIdPropertyTree == null)||(!monitoredItemIdPropertyTree.isLeaf())))) { + this.monitoredItemId = _other.monitoredItemId; + } + final PropertyTree requestedParametersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedParameters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedParametersPropertyTree!= null):((requestedParametersPropertyTree == null)||(!requestedParametersPropertyTree.isLeaf())))) { + this.requestedParameters = _other.requestedParameters; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoredItemModifyRequest >_P init(final _P _product) { + _product.monitoredItemId = this.monitoredItemId; + _product.requestedParameters = this.requestedParameters; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param monitoredItemId + * Neuer Wert der Eigenschaft "monitoredItemId". + */ + public MonitoredItemModifyRequest.Builder<_B> withMonitoredItemId(final Long monitoredItemId) { + this.monitoredItemId = monitoredItemId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedParameters" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param requestedParameters + * Neuer Wert der Eigenschaft "requestedParameters". + */ + public MonitoredItemModifyRequest.Builder<_B> withRequestedParameters(final JAXBElement requestedParameters) { + this.requestedParameters = requestedParameters; + return this; + } + + @Override + public MonitoredItemModifyRequest build() { + if (_storedValue == null) { + return this.init(new MonitoredItemModifyRequest()); + } else { + return ((MonitoredItemModifyRequest) _storedValue); + } + } + + public MonitoredItemModifyRequest.Builder<_B> copyOf(final MonitoredItemModifyRequest _other) { + _other.copyTo(this); + return this; + } + + public MonitoredItemModifyRequest.Builder<_B> copyOf(final MonitoredItemModifyRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoredItemModifyRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoredItemModifyRequest.Select _root() { + return new MonitoredItemModifyRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> monitoredItemId = null; + private com.kscs.util.jaxb.Selector> requestedParameters = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.monitoredItemId!= null) { + products.put("monitoredItemId", this.monitoredItemId.init()); + } + if (this.requestedParameters!= null) { + products.put("requestedParameters", this.requestedParameters.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> monitoredItemId() { + return ((this.monitoredItemId == null)?this.monitoredItemId = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItemId"):this.monitoredItemId); + } + + public com.kscs.util.jaxb.Selector> requestedParameters() { + return ((this.requestedParameters == null)?this.requestedParameters = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedParameters"):this.requestedParameters); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyResult.java new file mode 100644 index 000000000..849905a70 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemModifyResult.java @@ -0,0 +1,461 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoredItemModifyResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoredItemModifyResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="RevisedSamplingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="RevisedQueueSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="FilterResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoredItemModifyResult", propOrder = { + "statusCode", + "revisedSamplingInterval", + "revisedQueueSize", + "filterResult" +}) +public class MonitoredItemModifyResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElement(name = "RevisedSamplingInterval") + protected Double revisedSamplingInterval; + @XmlElement(name = "RevisedQueueSize") + @XmlSchemaType(name = "unsignedInt") + protected Long revisedQueueSize; + @XmlElementRef(name = "FilterResult", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filterResult; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der revisedSamplingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getRevisedSamplingInterval() { + return revisedSamplingInterval; + } + + /** + * Legt den Wert der revisedSamplingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setRevisedSamplingInterval(Double value) { + this.revisedSamplingInterval = value; + } + + /** + * Ruft den Wert der revisedQueueSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRevisedQueueSize() { + return revisedQueueSize; + } + + /** + * Legt den Wert der revisedQueueSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRevisedQueueSize(Long value) { + this.revisedQueueSize = value; + } + + /** + * Ruft den Wert der filterResult-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getFilterResult() { + return filterResult; + } + + /** + * Legt den Wert der filterResult-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setFilterResult(JAXBElement value) { + this.filterResult = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemModifyResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.revisedSamplingInterval = this.revisedSamplingInterval; + _other.revisedQueueSize = this.revisedQueueSize; + _other.filterResult = this.filterResult; + } + + public<_B >MonitoredItemModifyResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoredItemModifyResult.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoredItemModifyResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoredItemModifyResult.Builder builder() { + return new MonitoredItemModifyResult.Builder(null, null, false); + } + + public static<_B >MonitoredItemModifyResult.Builder<_B> copyOf(final MonitoredItemModifyResult _other) { + final MonitoredItemModifyResult.Builder<_B> _newBuilder = new MonitoredItemModifyResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemModifyResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree revisedSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedSamplingIntervalPropertyTree!= null):((revisedSamplingIntervalPropertyTree == null)||(!revisedSamplingIntervalPropertyTree.isLeaf())))) { + _other.revisedSamplingInterval = this.revisedSamplingInterval; + } + final PropertyTree revisedQueueSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedQueueSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedQueueSizePropertyTree!= null):((revisedQueueSizePropertyTree == null)||(!revisedQueueSizePropertyTree.isLeaf())))) { + _other.revisedQueueSize = this.revisedQueueSize; + } + final PropertyTree filterResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterResultPropertyTree!= null):((filterResultPropertyTree == null)||(!filterResultPropertyTree.isLeaf())))) { + _other.filterResult = this.filterResult; + } + } + + public<_B >MonitoredItemModifyResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoredItemModifyResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoredItemModifyResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoredItemModifyResult.Builder<_B> copyOf(final MonitoredItemModifyResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoredItemModifyResult.Builder<_B> _newBuilder = new MonitoredItemModifyResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoredItemModifyResult.Builder copyExcept(final MonitoredItemModifyResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoredItemModifyResult.Builder copyOnly(final MonitoredItemModifyResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoredItemModifyResult _storedValue; + private StatusCode.Builder> statusCode; + private Double revisedSamplingInterval; + private Long revisedQueueSize; + private JAXBElement filterResult; + + public Builder(final _B _parentBuilder, final MonitoredItemModifyResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.revisedSamplingInterval = _other.revisedSamplingInterval; + this.revisedQueueSize = _other.revisedQueueSize; + this.filterResult = _other.filterResult; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoredItemModifyResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree revisedSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedSamplingIntervalPropertyTree!= null):((revisedSamplingIntervalPropertyTree == null)||(!revisedSamplingIntervalPropertyTree.isLeaf())))) { + this.revisedSamplingInterval = _other.revisedSamplingInterval; + } + final PropertyTree revisedQueueSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedQueueSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedQueueSizePropertyTree!= null):((revisedQueueSizePropertyTree == null)||(!revisedQueueSizePropertyTree.isLeaf())))) { + this.revisedQueueSize = _other.revisedQueueSize; + } + final PropertyTree filterResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterResultPropertyTree!= null):((filterResultPropertyTree == null)||(!filterResultPropertyTree.isLeaf())))) { + this.filterResult = _other.filterResult; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoredItemModifyResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.revisedSamplingInterval = this.revisedSamplingInterval; + _product.revisedQueueSize = this.revisedQueueSize; + _product.filterResult = this.filterResult; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public MonitoredItemModifyResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedSamplingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedSamplingInterval + * Neuer Wert der Eigenschaft "revisedSamplingInterval". + */ + public MonitoredItemModifyResult.Builder<_B> withRevisedSamplingInterval(final Double revisedSamplingInterval) { + this.revisedSamplingInterval = revisedSamplingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedQueueSize" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param revisedQueueSize + * Neuer Wert der Eigenschaft "revisedQueueSize". + */ + public MonitoredItemModifyResult.Builder<_B> withRevisedQueueSize(final Long revisedQueueSize) { + this.revisedQueueSize = revisedQueueSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filterResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param filterResult + * Neuer Wert der Eigenschaft "filterResult". + */ + public MonitoredItemModifyResult.Builder<_B> withFilterResult(final JAXBElement filterResult) { + this.filterResult = filterResult; + return this; + } + + @Override + public MonitoredItemModifyResult build() { + if (_storedValue == null) { + return this.init(new MonitoredItemModifyResult()); + } else { + return ((MonitoredItemModifyResult) _storedValue); + } + } + + public MonitoredItemModifyResult.Builder<_B> copyOf(final MonitoredItemModifyResult _other) { + _other.copyTo(this); + return this; + } + + public MonitoredItemModifyResult.Builder<_B> copyOf(final MonitoredItemModifyResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoredItemModifyResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoredItemModifyResult.Select _root() { + return new MonitoredItemModifyResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> revisedSamplingInterval = null; + private com.kscs.util.jaxb.Selector> revisedQueueSize = null; + private com.kscs.util.jaxb.Selector> filterResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.revisedSamplingInterval!= null) { + products.put("revisedSamplingInterval", this.revisedSamplingInterval.init()); + } + if (this.revisedQueueSize!= null) { + products.put("revisedQueueSize", this.revisedQueueSize.init()); + } + if (this.filterResult!= null) { + products.put("filterResult", this.filterResult.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> revisedSamplingInterval() { + return ((this.revisedSamplingInterval == null)?this.revisedSamplingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedSamplingInterval"):this.revisedSamplingInterval); + } + + public com.kscs.util.jaxb.Selector> revisedQueueSize() { + return ((this.revisedQueueSize == null)?this.revisedQueueSize = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedQueueSize"):this.revisedQueueSize); + } + + public com.kscs.util.jaxb.Selector> filterResult() { + return ((this.filterResult == null)?this.filterResult = new com.kscs.util.jaxb.Selector>(this._root, this, "filterResult"):this.filterResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemNotification.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemNotification.java new file mode 100644 index 000000000..279a83708 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoredItemNotification.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoredItemNotification complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoredItemNotification">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ClientHandle" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataValue" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoredItemNotification", propOrder = { + "clientHandle", + "value" +}) +public class MonitoredItemNotification { + + @XmlElement(name = "ClientHandle") + @XmlSchemaType(name = "unsignedInt") + protected Long clientHandle; + @XmlElementRef(name = "Value", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement value; + + /** + * Ruft den Wert der clientHandle-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getClientHandle() { + return clientHandle; + } + + /** + * Legt den Wert der clientHandle-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setClientHandle(Long value) { + this.clientHandle = value; + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + */ + public JAXBElement getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + */ + public void setValue(JAXBElement value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemNotification.Builder<_B> _other) { + _other.clientHandle = this.clientHandle; + _other.value = this.value; + } + + public<_B >MonitoredItemNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoredItemNotification.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoredItemNotification.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoredItemNotification.Builder builder() { + return new MonitoredItemNotification.Builder(null, null, false); + } + + public static<_B >MonitoredItemNotification.Builder<_B> copyOf(final MonitoredItemNotification _other) { + final MonitoredItemNotification.Builder<_B> _newBuilder = new MonitoredItemNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoredItemNotification.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree clientHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientHandlePropertyTree!= null):((clientHandlePropertyTree == null)||(!clientHandlePropertyTree.isLeaf())))) { + _other.clientHandle = this.clientHandle; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + } + + public<_B >MonitoredItemNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoredItemNotification.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoredItemNotification.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoredItemNotification.Builder<_B> copyOf(final MonitoredItemNotification _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoredItemNotification.Builder<_B> _newBuilder = new MonitoredItemNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoredItemNotification.Builder copyExcept(final MonitoredItemNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoredItemNotification.Builder copyOnly(final MonitoredItemNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoredItemNotification _storedValue; + private Long clientHandle; + private JAXBElement value; + + public Builder(final _B _parentBuilder, final MonitoredItemNotification _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.clientHandle = _other.clientHandle; + this.value = _other.value; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoredItemNotification _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree clientHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientHandlePropertyTree!= null):((clientHandlePropertyTree == null)||(!clientHandlePropertyTree.isLeaf())))) { + this.clientHandle = _other.clientHandle; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoredItemNotification >_P init(final _P _product) { + _product.clientHandle = this.clientHandle; + _product.value = this.value; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientHandle" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param clientHandle + * Neuer Wert der Eigenschaft "clientHandle". + */ + public MonitoredItemNotification.Builder<_B> withClientHandle(final Long clientHandle) { + this.clientHandle = clientHandle; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public MonitoredItemNotification.Builder<_B> withValue(final JAXBElement value) { + this.value = value; + return this; + } + + @Override + public MonitoredItemNotification build() { + if (_storedValue == null) { + return this.init(new MonitoredItemNotification()); + } else { + return ((MonitoredItemNotification) _storedValue); + } + } + + public MonitoredItemNotification.Builder<_B> copyOf(final MonitoredItemNotification _other) { + _other.copyTo(this); + return this; + } + + public MonitoredItemNotification.Builder<_B> copyOf(final MonitoredItemNotification.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoredItemNotification.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoredItemNotification.Select _root() { + return new MonitoredItemNotification.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> clientHandle = null; + private com.kscs.util.jaxb.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.clientHandle!= null) { + products.put("clientHandle", this.clientHandle.init()); + } + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> clientHandle() { + return ((this.clientHandle == null)?this.clientHandle = new com.kscs.util.jaxb.Selector>(this._root, this, "clientHandle"):this.clientHandle); + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilter.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilter.java new file mode 100644 index 000000000..7cf334a69 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilter.java @@ -0,0 +1,203 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoringFilter complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoringFilter">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoringFilter") +@XmlSeeAlso({ + DataChangeFilter.class, + EventFilter.class, + AggregateFilter.class +}) +public class MonitoringFilter { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoringFilter.Builder<_B> _other) { + } + + public<_B >MonitoringFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoringFilter.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoringFilter.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoringFilter.Builder builder() { + return new MonitoringFilter.Builder(null, null, false); + } + + public static<_B >MonitoringFilter.Builder<_B> copyOf(final MonitoringFilter _other) { + final MonitoringFilter.Builder<_B> _newBuilder = new MonitoringFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoringFilter.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >MonitoringFilter.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoringFilter.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoringFilter.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoringFilter.Builder<_B> copyOf(final MonitoringFilter _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoringFilter.Builder<_B> _newBuilder = new MonitoringFilter.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoringFilter.Builder copyExcept(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoringFilter.Builder copyOnly(final MonitoringFilter _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoringFilter _storedValue; + + public Builder(final _B _parentBuilder, final MonitoringFilter _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoringFilter _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoringFilter >_P init(final _P _product) { + return _product; + } + + @Override + public MonitoringFilter build() { + if (_storedValue == null) { + return this.init(new MonitoringFilter()); + } else { + return ((MonitoringFilter) _storedValue); + } + } + + public MonitoringFilter.Builder<_B> copyOf(final MonitoringFilter _other) { + _other.copyTo(this); + return this; + } + + public MonitoringFilter.Builder<_B> copyOf(final MonitoringFilter.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoringFilter.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoringFilter.Select _root() { + return new MonitoringFilter.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilterResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilterResult.java new file mode 100644 index 000000000..6ad9d4cd7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringFilterResult.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoringFilterResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoringFilterResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoringFilterResult") +@XmlSeeAlso({ + EventFilterResult.class, + AggregateFilterResult.class +}) +public class MonitoringFilterResult { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoringFilterResult.Builder<_B> _other) { + } + + public<_B >MonitoringFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoringFilterResult.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoringFilterResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoringFilterResult.Builder builder() { + return new MonitoringFilterResult.Builder(null, null, false); + } + + public static<_B >MonitoringFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other) { + final MonitoringFilterResult.Builder<_B> _newBuilder = new MonitoringFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoringFilterResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >MonitoringFilterResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoringFilterResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoringFilterResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoringFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoringFilterResult.Builder<_B> _newBuilder = new MonitoringFilterResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoringFilterResult.Builder copyExcept(final MonitoringFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoringFilterResult.Builder copyOnly(final MonitoringFilterResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoringFilterResult _storedValue; + + public Builder(final _B _parentBuilder, final MonitoringFilterResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoringFilterResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoringFilterResult >_P init(final _P _product) { + return _product; + } + + @Override + public MonitoringFilterResult build() { + if (_storedValue == null) { + return this.init(new MonitoringFilterResult()); + } else { + return ((MonitoringFilterResult) _storedValue); + } + } + + public MonitoringFilterResult.Builder<_B> copyOf(final MonitoringFilterResult _other) { + _other.copyTo(this); + return this; + } + + public MonitoringFilterResult.Builder<_B> copyOf(final MonitoringFilterResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoringFilterResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoringFilterResult.Select _root() { + return new MonitoringFilterResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringMode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringMode.java new file mode 100644 index 000000000..11fea1dfb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringMode.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für MonitoringMode. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="MonitoringMode">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Disabled_0"/>
+ *     <enumeration value="Sampling_1"/>
+ *     <enumeration value="Reporting_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "MonitoringMode") +@XmlEnum +public enum MonitoringMode { + + @XmlEnumValue("Disabled_0") + DISABLED_0("Disabled_0"), + @XmlEnumValue("Sampling_1") + SAMPLING_1("Sampling_1"), + @XmlEnumValue("Reporting_2") + REPORTING_2("Reporting_2"); + private final String value; + + MonitoringMode(String v) { + value = v; + } + + public String value() { + return value; + } + + public static MonitoringMode fromValue(String v) { + for (MonitoringMode c: MonitoringMode.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringParameters.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringParameters.java new file mode 100644 index 000000000..7136ca160 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/MonitoringParameters.java @@ -0,0 +1,504 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für MonitoringParameters complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MonitoringParameters">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ClientHandle" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SamplingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Filter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="QueueSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DiscardOldest" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MonitoringParameters", propOrder = { + "clientHandle", + "samplingInterval", + "filter", + "queueSize", + "discardOldest" +}) +public class MonitoringParameters { + + @XmlElement(name = "ClientHandle") + @XmlSchemaType(name = "unsignedInt") + protected Long clientHandle; + @XmlElement(name = "SamplingInterval") + protected Double samplingInterval; + @XmlElementRef(name = "Filter", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filter; + @XmlElement(name = "QueueSize") + @XmlSchemaType(name = "unsignedInt") + protected Long queueSize; + @XmlElement(name = "DiscardOldest") + protected Boolean discardOldest; + + /** + * Ruft den Wert der clientHandle-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getClientHandle() { + return clientHandle; + } + + /** + * Legt den Wert der clientHandle-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setClientHandle(Long value) { + this.clientHandle = value; + } + + /** + * Ruft den Wert der samplingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getSamplingInterval() { + return samplingInterval; + } + + /** + * Legt den Wert der samplingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setSamplingInterval(Double value) { + this.samplingInterval = value; + } + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setFilter(JAXBElement value) { + this.filter = value; + } + + /** + * Ruft den Wert der queueSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getQueueSize() { + return queueSize; + } + + /** + * Legt den Wert der queueSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setQueueSize(Long value) { + this.queueSize = value; + } + + /** + * Ruft den Wert der discardOldest-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isDiscardOldest() { + return discardOldest; + } + + /** + * Legt den Wert der discardOldest-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setDiscardOldest(Boolean value) { + this.discardOldest = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoringParameters.Builder<_B> _other) { + _other.clientHandle = this.clientHandle; + _other.samplingInterval = this.samplingInterval; + _other.filter = this.filter; + _other.queueSize = this.queueSize; + _other.discardOldest = this.discardOldest; + } + + public<_B >MonitoringParameters.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new MonitoringParameters.Builder<_B>(_parentBuilder, this, true); + } + + public MonitoringParameters.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static MonitoringParameters.Builder builder() { + return new MonitoringParameters.Builder(null, null, false); + } + + public static<_B >MonitoringParameters.Builder<_B> copyOf(final MonitoringParameters _other) { + final MonitoringParameters.Builder<_B> _newBuilder = new MonitoringParameters.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final MonitoringParameters.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree clientHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientHandlePropertyTree!= null):((clientHandlePropertyTree == null)||(!clientHandlePropertyTree.isLeaf())))) { + _other.clientHandle = this.clientHandle; + } + final PropertyTree samplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalPropertyTree!= null):((samplingIntervalPropertyTree == null)||(!samplingIntervalPropertyTree.isLeaf())))) { + _other.samplingInterval = this.samplingInterval; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + _other.filter = this.filter; + } + final PropertyTree queueSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueSizePropertyTree!= null):((queueSizePropertyTree == null)||(!queueSizePropertyTree.isLeaf())))) { + _other.queueSize = this.queueSize; + } + final PropertyTree discardOldestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discardOldest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discardOldestPropertyTree!= null):((discardOldestPropertyTree == null)||(!discardOldestPropertyTree.isLeaf())))) { + _other.discardOldest = this.discardOldest; + } + } + + public<_B >MonitoringParameters.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new MonitoringParameters.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public MonitoringParameters.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >MonitoringParameters.Builder<_B> copyOf(final MonitoringParameters _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final MonitoringParameters.Builder<_B> _newBuilder = new MonitoringParameters.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static MonitoringParameters.Builder copyExcept(final MonitoringParameters _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static MonitoringParameters.Builder copyOnly(final MonitoringParameters _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final MonitoringParameters _storedValue; + private Long clientHandle; + private Double samplingInterval; + private JAXBElement filter; + private Long queueSize; + private Boolean discardOldest; + + public Builder(final _B _parentBuilder, final MonitoringParameters _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.clientHandle = _other.clientHandle; + this.samplingInterval = _other.samplingInterval; + this.filter = _other.filter; + this.queueSize = _other.queueSize; + this.discardOldest = _other.discardOldest; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final MonitoringParameters _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree clientHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientHandlePropertyTree!= null):((clientHandlePropertyTree == null)||(!clientHandlePropertyTree.isLeaf())))) { + this.clientHandle = _other.clientHandle; + } + final PropertyTree samplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalPropertyTree!= null):((samplingIntervalPropertyTree == null)||(!samplingIntervalPropertyTree.isLeaf())))) { + this.samplingInterval = _other.samplingInterval; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + this.filter = _other.filter; + } + final PropertyTree queueSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queueSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queueSizePropertyTree!= null):((queueSizePropertyTree == null)||(!queueSizePropertyTree.isLeaf())))) { + this.queueSize = _other.queueSize; + } + final PropertyTree discardOldestPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discardOldest")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discardOldestPropertyTree!= null):((discardOldestPropertyTree == null)||(!discardOldestPropertyTree.isLeaf())))) { + this.discardOldest = _other.discardOldest; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends MonitoringParameters >_P init(final _P _product) { + _product.clientHandle = this.clientHandle; + _product.samplingInterval = this.samplingInterval; + _product.filter = this.filter; + _product.queueSize = this.queueSize; + _product.discardOldest = this.discardOldest; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientHandle" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param clientHandle + * Neuer Wert der Eigenschaft "clientHandle". + */ + public MonitoringParameters.Builder<_B> withClientHandle(final Long clientHandle) { + this.clientHandle = clientHandle; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "samplingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param samplingInterval + * Neuer Wert der Eigenschaft "samplingInterval". + */ + public MonitoringParameters.Builder<_B> withSamplingInterval(final Double samplingInterval) { + this.samplingInterval = samplingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filter" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param filter + * Neuer Wert der Eigenschaft "filter". + */ + public MonitoringParameters.Builder<_B> withFilter(final JAXBElement filter) { + this.filter = filter; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queueSize" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param queueSize + * Neuer Wert der Eigenschaft "queueSize". + */ + public MonitoringParameters.Builder<_B> withQueueSize(final Long queueSize) { + this.queueSize = queueSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discardOldest" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param discardOldest + * Neuer Wert der Eigenschaft "discardOldest". + */ + public MonitoringParameters.Builder<_B> withDiscardOldest(final Boolean discardOldest) { + this.discardOldest = discardOldest; + return this; + } + + @Override + public MonitoringParameters build() { + if (_storedValue == null) { + return this.init(new MonitoringParameters()); + } else { + return ((MonitoringParameters) _storedValue); + } + } + + public MonitoringParameters.Builder<_B> copyOf(final MonitoringParameters _other) { + _other.copyTo(this); + return this; + } + + public MonitoringParameters.Builder<_B> copyOf(final MonitoringParameters.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends MonitoringParameters.Selector + { + + + Select() { + super(null, null, null); + } + + public static MonitoringParameters.Select _root() { + return new MonitoringParameters.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> clientHandle = null; + private com.kscs.util.jaxb.Selector> samplingInterval = null; + private com.kscs.util.jaxb.Selector> filter = null; + private com.kscs.util.jaxb.Selector> queueSize = null; + private com.kscs.util.jaxb.Selector> discardOldest = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.clientHandle!= null) { + products.put("clientHandle", this.clientHandle.init()); + } + if (this.samplingInterval!= null) { + products.put("samplingInterval", this.samplingInterval.init()); + } + if (this.filter!= null) { + products.put("filter", this.filter.init()); + } + if (this.queueSize!= null) { + products.put("queueSize", this.queueSize.init()); + } + if (this.discardOldest!= null) { + products.put("discardOldest", this.discardOldest.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> clientHandle() { + return ((this.clientHandle == null)?this.clientHandle = new com.kscs.util.jaxb.Selector>(this._root, this, "clientHandle"):this.clientHandle); + } + + public com.kscs.util.jaxb.Selector> samplingInterval() { + return ((this.samplingInterval == null)?this.samplingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "samplingInterval"):this.samplingInterval); + } + + public com.kscs.util.jaxb.Selector> filter() { + return ((this.filter == null)?this.filter = new com.kscs.util.jaxb.Selector>(this._root, this, "filter"):this.filter); + } + + public com.kscs.util.jaxb.Selector> queueSize() { + return ((this.queueSize == null)?this.queueSize = new com.kscs.util.jaxb.Selector>(this._root, this, "queueSize"):this.queueSize); + } + + public com.kscs.util.jaxb.Selector> discardOldest() { + return ((this.discardOldest == null)?this.discardOldest = new com.kscs.util.jaxb.Selector>(this._root, this, "discardOldest"):this.discardOldest); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressDataType.java new file mode 100644 index 000000000..d156686cf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressDataType.java @@ -0,0 +1,264 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NetworkAddressDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NetworkAddressDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NetworkInterface" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NetworkAddressDataType", propOrder = { + "networkInterface" +}) +@XmlSeeAlso({ + NetworkAddressUrlDataType.class +}) +public class NetworkAddressDataType { + + @XmlElementRef(name = "NetworkInterface", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement networkInterface; + + /** + * Ruft den Wert der networkInterface-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getNetworkInterface() { + return networkInterface; + } + + /** + * Legt den Wert der networkInterface-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setNetworkInterface(JAXBElement value) { + this.networkInterface = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NetworkAddressDataType.Builder<_B> _other) { + _other.networkInterface = this.networkInterface; + } + + public<_B >NetworkAddressDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NetworkAddressDataType.Builder<_B>(_parentBuilder, this, true); + } + + public NetworkAddressDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NetworkAddressDataType.Builder builder() { + return new NetworkAddressDataType.Builder(null, null, false); + } + + public static<_B >NetworkAddressDataType.Builder<_B> copyOf(final NetworkAddressDataType _other) { + final NetworkAddressDataType.Builder<_B> _newBuilder = new NetworkAddressDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NetworkAddressDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree networkInterfacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkInterface")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkInterfacePropertyTree!= null):((networkInterfacePropertyTree == null)||(!networkInterfacePropertyTree.isLeaf())))) { + _other.networkInterface = this.networkInterface; + } + } + + public<_B >NetworkAddressDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NetworkAddressDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NetworkAddressDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NetworkAddressDataType.Builder<_B> copyOf(final NetworkAddressDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NetworkAddressDataType.Builder<_B> _newBuilder = new NetworkAddressDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NetworkAddressDataType.Builder copyExcept(final NetworkAddressDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NetworkAddressDataType.Builder copyOnly(final NetworkAddressDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NetworkAddressDataType _storedValue; + private JAXBElement networkInterface; + + public Builder(final _B _parentBuilder, final NetworkAddressDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.networkInterface = _other.networkInterface; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NetworkAddressDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree networkInterfacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkInterface")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkInterfacePropertyTree!= null):((networkInterfacePropertyTree == null)||(!networkInterfacePropertyTree.isLeaf())))) { + this.networkInterface = _other.networkInterface; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NetworkAddressDataType >_P init(final _P _product) { + _product.networkInterface = this.networkInterface; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkInterface" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param networkInterface + * Neuer Wert der Eigenschaft "networkInterface". + */ + public NetworkAddressDataType.Builder<_B> withNetworkInterface(final JAXBElement networkInterface) { + this.networkInterface = networkInterface; + return this; + } + + @Override + public NetworkAddressDataType build() { + if (_storedValue == null) { + return this.init(new NetworkAddressDataType()); + } else { + return ((NetworkAddressDataType) _storedValue); + } + } + + public NetworkAddressDataType.Builder<_B> copyOf(final NetworkAddressDataType _other) { + _other.copyTo(this); + return this; + } + + public NetworkAddressDataType.Builder<_B> copyOf(final NetworkAddressDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NetworkAddressDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static NetworkAddressDataType.Select _root() { + return new NetworkAddressDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> networkInterface = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.networkInterface!= null) { + products.put("networkInterface", this.networkInterface.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> networkInterface() { + return ((this.networkInterface == null)?this.networkInterface = new com.kscs.util.jaxb.Selector>(this._root, this, "networkInterface"):this.networkInterface); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressUrlDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressUrlDataType.java new file mode 100644 index 000000000..be53ceb01 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkAddressUrlDataType.java @@ -0,0 +1,283 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NetworkAddressUrlDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NetworkAddressUrlDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NetworkAddressDataType">
+ *       <sequence>
+ *         <element name="Url" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NetworkAddressUrlDataType", propOrder = { + "url" +}) +public class NetworkAddressUrlDataType + extends NetworkAddressDataType +{ + + @XmlElementRef(name = "Url", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement url; + + /** + * Ruft den Wert der url-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getUrl() { + return url; + } + + /** + * Legt den Wert der url-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setUrl(JAXBElement value) { + this.url = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NetworkAddressUrlDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.url = this.url; + } + + @Override + public<_B >NetworkAddressUrlDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NetworkAddressUrlDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public NetworkAddressUrlDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NetworkAddressUrlDataType.Builder builder() { + return new NetworkAddressUrlDataType.Builder(null, null, false); + } + + public static<_B >NetworkAddressUrlDataType.Builder<_B> copyOf(final NetworkAddressDataType _other) { + final NetworkAddressUrlDataType.Builder<_B> _newBuilder = new NetworkAddressUrlDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >NetworkAddressUrlDataType.Builder<_B> copyOf(final NetworkAddressUrlDataType _other) { + final NetworkAddressUrlDataType.Builder<_B> _newBuilder = new NetworkAddressUrlDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NetworkAddressUrlDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree urlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("url")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(urlPropertyTree!= null):((urlPropertyTree == null)||(!urlPropertyTree.isLeaf())))) { + _other.url = this.url; + } + } + + @Override + public<_B >NetworkAddressUrlDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NetworkAddressUrlDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public NetworkAddressUrlDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NetworkAddressUrlDataType.Builder<_B> copyOf(final NetworkAddressDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NetworkAddressUrlDataType.Builder<_B> _newBuilder = new NetworkAddressUrlDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >NetworkAddressUrlDataType.Builder<_B> copyOf(final NetworkAddressUrlDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NetworkAddressUrlDataType.Builder<_B> _newBuilder = new NetworkAddressUrlDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NetworkAddressUrlDataType.Builder copyExcept(final NetworkAddressDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NetworkAddressUrlDataType.Builder copyExcept(final NetworkAddressUrlDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NetworkAddressUrlDataType.Builder copyOnly(final NetworkAddressDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static NetworkAddressUrlDataType.Builder copyOnly(final NetworkAddressUrlDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NetworkAddressDataType.Builder<_B> + implements Buildable + { + + private JAXBElement url; + + public Builder(final _B _parentBuilder, final NetworkAddressUrlDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.url = _other.url; + } + } + + public Builder(final _B _parentBuilder, final NetworkAddressUrlDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree urlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("url")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(urlPropertyTree!= null):((urlPropertyTree == null)||(!urlPropertyTree.isLeaf())))) { + this.url = _other.url; + } + } + } + + protected<_P extends NetworkAddressUrlDataType >_P init(final _P _product) { + _product.url = this.url; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "url" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param url + * Neuer Wert der Eigenschaft "url". + */ + public NetworkAddressUrlDataType.Builder<_B> withUrl(final JAXBElement url) { + this.url = url; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkInterface" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param networkInterface + * Neuer Wert der Eigenschaft "networkInterface". + */ + @Override + public NetworkAddressUrlDataType.Builder<_B> withNetworkInterface(final JAXBElement networkInterface) { + super.withNetworkInterface(networkInterface); + return this; + } + + @Override + public NetworkAddressUrlDataType build() { + if (_storedValue == null) { + return this.init(new NetworkAddressUrlDataType()); + } else { + return ((NetworkAddressUrlDataType) _storedValue); + } + } + + public NetworkAddressUrlDataType.Builder<_B> copyOf(final NetworkAddressUrlDataType _other) { + _other.copyTo(this); + return this; + } + + public NetworkAddressUrlDataType.Builder<_B> copyOf(final NetworkAddressUrlDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NetworkAddressUrlDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static NetworkAddressUrlDataType.Select _root() { + return new NetworkAddressUrlDataType.Select(); + } + + } + + public static class Selector , TParent > + extends NetworkAddressDataType.Selector + { + + private com.kscs.util.jaxb.Selector> url = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.url!= null) { + products.put("url", this.url.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> url() { + return ((this.url == null)?this.url = new com.kscs.util.jaxb.Selector>(this._root, this, "url"):this.url); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkGroupDataType.java new file mode 100644 index 000000000..9c3b0b42f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NetworkGroupDataType.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NetworkGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NetworkGroupDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="NetworkPaths" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEndpointUrlListDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NetworkGroupDataType", propOrder = { + "serverUri", + "networkPaths" +}) +public class NetworkGroupDataType { + + @XmlElementRef(name = "ServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUri; + @XmlElementRef(name = "NetworkPaths", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement networkPaths; + + /** + * Ruft den Wert der serverUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getServerUri() { + return serverUri; + } + + /** + * Legt den Wert der serverUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setServerUri(JAXBElement value) { + this.serverUri = value; + } + + /** + * Ruft den Wert der networkPaths-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointUrlListDataType }{@code >} + * + */ + public JAXBElement getNetworkPaths() { + return networkPaths; + } + + /** + * Legt den Wert der networkPaths-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointUrlListDataType }{@code >} + * + */ + public void setNetworkPaths(JAXBElement value) { + this.networkPaths = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NetworkGroupDataType.Builder<_B> _other) { + _other.serverUri = this.serverUri; + _other.networkPaths = this.networkPaths; + } + + public<_B >NetworkGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NetworkGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + public NetworkGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NetworkGroupDataType.Builder builder() { + return new NetworkGroupDataType.Builder(null, null, false); + } + + public static<_B >NetworkGroupDataType.Builder<_B> copyOf(final NetworkGroupDataType _other) { + final NetworkGroupDataType.Builder<_B> _newBuilder = new NetworkGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NetworkGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + _other.serverUri = this.serverUri; + } + final PropertyTree networkPathsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkPaths")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkPathsPropertyTree!= null):((networkPathsPropertyTree == null)||(!networkPathsPropertyTree.isLeaf())))) { + _other.networkPaths = this.networkPaths; + } + } + + public<_B >NetworkGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NetworkGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NetworkGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NetworkGroupDataType.Builder<_B> copyOf(final NetworkGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NetworkGroupDataType.Builder<_B> _newBuilder = new NetworkGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NetworkGroupDataType.Builder copyExcept(final NetworkGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NetworkGroupDataType.Builder copyOnly(final NetworkGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NetworkGroupDataType _storedValue; + private JAXBElement serverUri; + private JAXBElement networkPaths; + + public Builder(final _B _parentBuilder, final NetworkGroupDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.serverUri = _other.serverUri; + this.networkPaths = _other.networkPaths; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NetworkGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + this.serverUri = _other.serverUri; + } + final PropertyTree networkPathsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkPaths")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkPathsPropertyTree!= null):((networkPathsPropertyTree == null)||(!networkPathsPropertyTree.isLeaf())))) { + this.networkPaths = _other.networkPaths; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NetworkGroupDataType >_P init(final _P _product) { + _product.serverUri = this.serverUri; + _product.networkPaths = this.networkPaths; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUri + * Neuer Wert der Eigenschaft "serverUri". + */ + public NetworkGroupDataType.Builder<_B> withServerUri(final JAXBElement serverUri) { + this.serverUri = serverUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkPaths" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param networkPaths + * Neuer Wert der Eigenschaft "networkPaths". + */ + public NetworkGroupDataType.Builder<_B> withNetworkPaths(final JAXBElement networkPaths) { + this.networkPaths = networkPaths; + return this; + } + + @Override + public NetworkGroupDataType build() { + if (_storedValue == null) { + return this.init(new NetworkGroupDataType()); + } else { + return ((NetworkGroupDataType) _storedValue); + } + } + + public NetworkGroupDataType.Builder<_B> copyOf(final NetworkGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public NetworkGroupDataType.Builder<_B> copyOf(final NetworkGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NetworkGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static NetworkGroupDataType.Select _root() { + return new NetworkGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> serverUri = null; + private com.kscs.util.jaxb.Selector> networkPaths = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.serverUri!= null) { + products.put("serverUri", this.serverUri.init()); + } + if (this.networkPaths!= null) { + products.put("networkPaths", this.networkPaths.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> serverUri() { + return ((this.serverUri == null)?this.serverUri = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUri"):this.serverUri); + } + + public com.kscs.util.jaxb.Selector> networkPaths() { + return ((this.networkPaths == null)?this.networkPaths = new com.kscs.util.jaxb.Selector>(this._root, this, "networkPaths"):this.networkPaths); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Node.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Node.java new file mode 100644 index 000000000..5f40ce88f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Node.java @@ -0,0 +1,871 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Node complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Node">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="NodeClass" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeClass" minOccurs="0"/>
+ *         <element name="BrowseName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *         <element name="DisplayName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="WriteMask" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="UserWriteMask" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RolePermissions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfRolePermissionType" minOccurs="0"/>
+ *         <element name="UserRolePermissions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfRolePermissionType" minOccurs="0"/>
+ *         <element name="AccessRestrictions" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="References" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfReferenceNode" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Node", propOrder = { + "nodeId", + "nodeClass", + "browseName", + "displayName", + "description", + "writeMask", + "userWriteMask", + "rolePermissions", + "userRolePermissions", + "accessRestrictions", + "references" +}) +@XmlSeeAlso({ + InstanceNode.class, + TypeNode.class +}) +public class Node { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElement(name = "NodeClass") + @XmlSchemaType(name = "string") + protected NodeClass nodeClass; + @XmlElementRef(name = "BrowseName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browseName; + @XmlElementRef(name = "DisplayName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement displayName; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + @XmlElement(name = "WriteMask") + @XmlSchemaType(name = "unsignedInt") + protected Long writeMask; + @XmlElement(name = "UserWriteMask") + @XmlSchemaType(name = "unsignedInt") + protected Long userWriteMask; + @XmlElementRef(name = "RolePermissions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement rolePermissions; + @XmlElementRef(name = "UserRolePermissions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userRolePermissions; + @XmlElement(name = "AccessRestrictions") + @XmlSchemaType(name = "unsignedShort") + protected Integer accessRestrictions; + @XmlElementRef(name = "References", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement references; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der nodeClass-Eigenschaft ab. + * + * @return + * possible object is + * {@link NodeClass } + * + */ + public NodeClass getNodeClass() { + return nodeClass; + } + + /** + * Legt den Wert der nodeClass-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link NodeClass } + * + */ + public void setNodeClass(NodeClass value) { + this.nodeClass = value; + } + + /** + * Ruft den Wert der browseName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getBrowseName() { + return browseName; + } + + /** + * Legt den Wert der browseName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setBrowseName(JAXBElement value) { + this.browseName = value; + } + + /** + * Ruft den Wert der displayName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDisplayName() { + return displayName; + } + + /** + * Legt den Wert der displayName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDisplayName(JAXBElement value) { + this.displayName = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Ruft den Wert der writeMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getWriteMask() { + return writeMask; + } + + /** + * Legt den Wert der writeMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setWriteMask(Long value) { + this.writeMask = value; + } + + /** + * Ruft den Wert der userWriteMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getUserWriteMask() { + return userWriteMask; + } + + /** + * Legt den Wert der userWriteMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setUserWriteMask(Long value) { + this.userWriteMask = value; + } + + /** + * Ruft den Wert der rolePermissions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + */ + public JAXBElement getRolePermissions() { + return rolePermissions; + } + + /** + * Legt den Wert der rolePermissions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + */ + public void setRolePermissions(JAXBElement value) { + this.rolePermissions = value; + } + + /** + * Ruft den Wert der userRolePermissions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + */ + public JAXBElement getUserRolePermissions() { + return userRolePermissions; + } + + /** + * Legt den Wert der userRolePermissions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + */ + public void setUserRolePermissions(JAXBElement value) { + this.userRolePermissions = value; + } + + /** + * Ruft den Wert der accessRestrictions-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getAccessRestrictions() { + return accessRestrictions; + } + + /** + * Legt den Wert der accessRestrictions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setAccessRestrictions(Integer value) { + this.accessRestrictions = value; + } + + /** + * Ruft den Wert der references-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfReferenceNode }{@code >} + * + */ + public JAXBElement getReferences() { + return references; + } + + /** + * Legt den Wert der references-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfReferenceNode }{@code >} + * + */ + public void setReferences(JAXBElement value) { + this.references = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Node.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.nodeClass = this.nodeClass; + _other.browseName = this.browseName; + _other.displayName = this.displayName; + _other.description = this.description; + _other.writeMask = this.writeMask; + _other.userWriteMask = this.userWriteMask; + _other.rolePermissions = this.rolePermissions; + _other.userRolePermissions = this.userRolePermissions; + _other.accessRestrictions = this.accessRestrictions; + _other.references = this.references; + } + + public<_B >Node.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Node.Builder<_B>(_parentBuilder, this, true); + } + + public Node.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Node.Builder builder() { + return new Node.Builder(null, null, false); + } + + public static<_B >Node.Builder<_B> copyOf(final Node _other) { + final Node.Builder<_B> _newBuilder = new Node.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Node.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree nodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassPropertyTree!= null):((nodeClassPropertyTree == null)||(!nodeClassPropertyTree.isLeaf())))) { + _other.nodeClass = this.nodeClass; + } + final PropertyTree browseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNamePropertyTree!= null):((browseNamePropertyTree == null)||(!browseNamePropertyTree.isLeaf())))) { + _other.browseName = this.browseName; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + _other.displayName = this.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + final PropertyTree writeMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeMaskPropertyTree!= null):((writeMaskPropertyTree == null)||(!writeMaskPropertyTree.isLeaf())))) { + _other.writeMask = this.writeMask; + } + final PropertyTree userWriteMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userWriteMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userWriteMaskPropertyTree!= null):((userWriteMaskPropertyTree == null)||(!userWriteMaskPropertyTree.isLeaf())))) { + _other.userWriteMask = this.userWriteMask; + } + final PropertyTree rolePermissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rolePermissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePermissionsPropertyTree!= null):((rolePermissionsPropertyTree == null)||(!rolePermissionsPropertyTree.isLeaf())))) { + _other.rolePermissions = this.rolePermissions; + } + final PropertyTree userRolePermissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userRolePermissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userRolePermissionsPropertyTree!= null):((userRolePermissionsPropertyTree == null)||(!userRolePermissionsPropertyTree.isLeaf())))) { + _other.userRolePermissions = this.userRolePermissions; + } + final PropertyTree accessRestrictionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessRestrictions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessRestrictionsPropertyTree!= null):((accessRestrictionsPropertyTree == null)||(!accessRestrictionsPropertyTree.isLeaf())))) { + _other.accessRestrictions = this.accessRestrictions; + } + final PropertyTree referencesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("references")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesPropertyTree!= null):((referencesPropertyTree == null)||(!referencesPropertyTree.isLeaf())))) { + _other.references = this.references; + } + } + + public<_B >Node.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Node.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Node.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Node.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Node.Builder<_B> _newBuilder = new Node.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Node.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Node.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Node _storedValue; + private JAXBElement nodeId; + private NodeClass nodeClass; + private JAXBElement browseName; + private JAXBElement displayName; + private JAXBElement description; + private Long writeMask; + private Long userWriteMask; + private JAXBElement rolePermissions; + private JAXBElement userRolePermissions; + private Integer accessRestrictions; + private JAXBElement references; + + public Builder(final _B _parentBuilder, final Node _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.nodeClass = _other.nodeClass; + this.browseName = _other.browseName; + this.displayName = _other.displayName; + this.description = _other.description; + this.writeMask = _other.writeMask; + this.userWriteMask = _other.userWriteMask; + this.rolePermissions = _other.rolePermissions; + this.userRolePermissions = _other.userRolePermissions; + this.accessRestrictions = _other.accessRestrictions; + this.references = _other.references; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Node _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree nodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassPropertyTree!= null):((nodeClassPropertyTree == null)||(!nodeClassPropertyTree.isLeaf())))) { + this.nodeClass = _other.nodeClass; + } + final PropertyTree browseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNamePropertyTree!= null):((browseNamePropertyTree == null)||(!browseNamePropertyTree.isLeaf())))) { + this.browseName = _other.browseName; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + this.displayName = _other.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + final PropertyTree writeMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeMaskPropertyTree!= null):((writeMaskPropertyTree == null)||(!writeMaskPropertyTree.isLeaf())))) { + this.writeMask = _other.writeMask; + } + final PropertyTree userWriteMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userWriteMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userWriteMaskPropertyTree!= null):((userWriteMaskPropertyTree == null)||(!userWriteMaskPropertyTree.isLeaf())))) { + this.userWriteMask = _other.userWriteMask; + } + final PropertyTree rolePermissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rolePermissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePermissionsPropertyTree!= null):((rolePermissionsPropertyTree == null)||(!rolePermissionsPropertyTree.isLeaf())))) { + this.rolePermissions = _other.rolePermissions; + } + final PropertyTree userRolePermissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userRolePermissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userRolePermissionsPropertyTree!= null):((userRolePermissionsPropertyTree == null)||(!userRolePermissionsPropertyTree.isLeaf())))) { + this.userRolePermissions = _other.userRolePermissions; + } + final PropertyTree accessRestrictionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessRestrictions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessRestrictionsPropertyTree!= null):((accessRestrictionsPropertyTree == null)||(!accessRestrictionsPropertyTree.isLeaf())))) { + this.accessRestrictions = _other.accessRestrictions; + } + final PropertyTree referencesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("references")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencesPropertyTree!= null):((referencesPropertyTree == null)||(!referencesPropertyTree.isLeaf())))) { + this.references = _other.references; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Node >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.nodeClass = this.nodeClass; + _product.browseName = this.browseName; + _product.displayName = this.displayName; + _product.description = this.description; + _product.writeMask = this.writeMask; + _product.userWriteMask = this.userWriteMask; + _product.rolePermissions = this.rolePermissions; + _product.userRolePermissions = this.userRolePermissions; + _product.accessRestrictions = this.accessRestrictions; + _product.references = this.references; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public Node.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + public Node.Builder<_B> withNodeClass(final NodeClass nodeClass) { + this.nodeClass = nodeClass; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + public Node.Builder<_B> withBrowseName(final JAXBElement browseName) { + this.browseName = browseName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + public Node.Builder<_B> withDisplayName(final JAXBElement displayName) { + this.displayName = displayName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public Node.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + public Node.Builder<_B> withWriteMask(final Long writeMask) { + this.writeMask = writeMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + public Node.Builder<_B> withUserWriteMask(final Long userWriteMask) { + this.userWriteMask = userWriteMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + public Node.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + this.rolePermissions = rolePermissions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + public Node.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + this.userRolePermissions = userRolePermissions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + public Node.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + this.accessRestrictions = accessRestrictions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + public Node.Builder<_B> withReferences(final JAXBElement references) { + this.references = references; + return this; + } + + @Override + public Node build() { + if (_storedValue == null) { + return this.init(new Node()); + } else { + return ((Node) _storedValue); + } + } + + public Node.Builder<_B> copyOf(final Node _other) { + _other.copyTo(this); + return this; + } + + public Node.Builder<_B> copyOf(final Node.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Node.Selector + { + + + Select() { + super(null, null, null); + } + + public static Node.Select _root() { + return new Node.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> nodeClass = null; + private com.kscs.util.jaxb.Selector> browseName = null; + private com.kscs.util.jaxb.Selector> displayName = null; + private com.kscs.util.jaxb.Selector> description = null; + private com.kscs.util.jaxb.Selector> writeMask = null; + private com.kscs.util.jaxb.Selector> userWriteMask = null; + private com.kscs.util.jaxb.Selector> rolePermissions = null; + private com.kscs.util.jaxb.Selector> userRolePermissions = null; + private com.kscs.util.jaxb.Selector> accessRestrictions = null; + private com.kscs.util.jaxb.Selector> references = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.nodeClass!= null) { + products.put("nodeClass", this.nodeClass.init()); + } + if (this.browseName!= null) { + products.put("browseName", this.browseName.init()); + } + if (this.displayName!= null) { + products.put("displayName", this.displayName.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + if (this.writeMask!= null) { + products.put("writeMask", this.writeMask.init()); + } + if (this.userWriteMask!= null) { + products.put("userWriteMask", this.userWriteMask.init()); + } + if (this.rolePermissions!= null) { + products.put("rolePermissions", this.rolePermissions.init()); + } + if (this.userRolePermissions!= null) { + products.put("userRolePermissions", this.userRolePermissions.init()); + } + if (this.accessRestrictions!= null) { + products.put("accessRestrictions", this.accessRestrictions.init()); + } + if (this.references!= null) { + products.put("references", this.references.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> nodeClass() { + return ((this.nodeClass == null)?this.nodeClass = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeClass"):this.nodeClass); + } + + public com.kscs.util.jaxb.Selector> browseName() { + return ((this.browseName == null)?this.browseName = new com.kscs.util.jaxb.Selector>(this._root, this, "browseName"):this.browseName); + } + + public com.kscs.util.jaxb.Selector> displayName() { + return ((this.displayName == null)?this.displayName = new com.kscs.util.jaxb.Selector>(this._root, this, "displayName"):this.displayName); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + public com.kscs.util.jaxb.Selector> writeMask() { + return ((this.writeMask == null)?this.writeMask = new com.kscs.util.jaxb.Selector>(this._root, this, "writeMask"):this.writeMask); + } + + public com.kscs.util.jaxb.Selector> userWriteMask() { + return ((this.userWriteMask == null)?this.userWriteMask = new com.kscs.util.jaxb.Selector>(this._root, this, "userWriteMask"):this.userWriteMask); + } + + public com.kscs.util.jaxb.Selector> rolePermissions() { + return ((this.rolePermissions == null)?this.rolePermissions = new com.kscs.util.jaxb.Selector>(this._root, this, "rolePermissions"):this.rolePermissions); + } + + public com.kscs.util.jaxb.Selector> userRolePermissions() { + return ((this.userRolePermissions == null)?this.userRolePermissions = new com.kscs.util.jaxb.Selector>(this._root, this, "userRolePermissions"):this.userRolePermissions); + } + + public com.kscs.util.jaxb.Selector> accessRestrictions() { + return ((this.accessRestrictions == null)?this.accessRestrictions = new com.kscs.util.jaxb.Selector>(this._root, this, "accessRestrictions"):this.accessRestrictions); + } + + public com.kscs.util.jaxb.Selector> references() { + return ((this.references == null)?this.references = new com.kscs.util.jaxb.Selector>(this._root, this, "references"):this.references); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributes.java new file mode 100644 index 000000000..04010510d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributes.java @@ -0,0 +1,517 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NodeAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NodeAttributes">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SpecifiedAttributes" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DisplayName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="WriteMask" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="UserWriteMask" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NodeAttributes", propOrder = { + "specifiedAttributes", + "displayName", + "description", + "writeMask", + "userWriteMask" +}) +@XmlSeeAlso({ + ObjectAttributes.class, + VariableAttributes.class, + MethodAttributes.class, + ObjectTypeAttributes.class, + VariableTypeAttributes.class, + ReferenceTypeAttributes.class, + DataTypeAttributes.class, + ViewAttributes.class, + GenericAttributes.class +}) +public class NodeAttributes { + + @XmlElement(name = "SpecifiedAttributes") + @XmlSchemaType(name = "unsignedInt") + protected Long specifiedAttributes; + @XmlElementRef(name = "DisplayName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement displayName; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + @XmlElement(name = "WriteMask") + @XmlSchemaType(name = "unsignedInt") + protected Long writeMask; + @XmlElement(name = "UserWriteMask") + @XmlSchemaType(name = "unsignedInt") + protected Long userWriteMask; + + /** + * Ruft den Wert der specifiedAttributes-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSpecifiedAttributes() { + return specifiedAttributes; + } + + /** + * Legt den Wert der specifiedAttributes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSpecifiedAttributes(Long value) { + this.specifiedAttributes = value; + } + + /** + * Ruft den Wert der displayName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDisplayName() { + return displayName; + } + + /** + * Legt den Wert der displayName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDisplayName(JAXBElement value) { + this.displayName = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Ruft den Wert der writeMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getWriteMask() { + return writeMask; + } + + /** + * Legt den Wert der writeMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setWriteMask(Long value) { + this.writeMask = value; + } + + /** + * Ruft den Wert der userWriteMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getUserWriteMask() { + return userWriteMask; + } + + /** + * Legt den Wert der userWriteMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setUserWriteMask(Long value) { + this.userWriteMask = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeAttributes.Builder<_B> _other) { + _other.specifiedAttributes = this.specifiedAttributes; + _other.displayName = this.displayName; + _other.description = this.description; + _other.writeMask = this.writeMask; + _other.userWriteMask = this.userWriteMask; + } + + public<_B >NodeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NodeAttributes.Builder<_B>(_parentBuilder, this, true); + } + + public NodeAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NodeAttributes.Builder builder() { + return new NodeAttributes.Builder(null, null, false); + } + + public static<_B >NodeAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final NodeAttributes.Builder<_B> _newBuilder = new NodeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree specifiedAttributesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("specifiedAttributes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(specifiedAttributesPropertyTree!= null):((specifiedAttributesPropertyTree == null)||(!specifiedAttributesPropertyTree.isLeaf())))) { + _other.specifiedAttributes = this.specifiedAttributes; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + _other.displayName = this.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + final PropertyTree writeMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeMaskPropertyTree!= null):((writeMaskPropertyTree == null)||(!writeMaskPropertyTree.isLeaf())))) { + _other.writeMask = this.writeMask; + } + final PropertyTree userWriteMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userWriteMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userWriteMaskPropertyTree!= null):((userWriteMaskPropertyTree == null)||(!userWriteMaskPropertyTree.isLeaf())))) { + _other.userWriteMask = this.userWriteMask; + } + } + + public<_B >NodeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NodeAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NodeAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NodeAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NodeAttributes.Builder<_B> _newBuilder = new NodeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NodeAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NodeAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NodeAttributes _storedValue; + private Long specifiedAttributes; + private JAXBElement displayName; + private JAXBElement description; + private Long writeMask; + private Long userWriteMask; + + public Builder(final _B _parentBuilder, final NodeAttributes _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.specifiedAttributes = _other.specifiedAttributes; + this.displayName = _other.displayName; + this.description = _other.description; + this.writeMask = _other.writeMask; + this.userWriteMask = _other.userWriteMask; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NodeAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree specifiedAttributesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("specifiedAttributes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(specifiedAttributesPropertyTree!= null):((specifiedAttributesPropertyTree == null)||(!specifiedAttributesPropertyTree.isLeaf())))) { + this.specifiedAttributes = _other.specifiedAttributes; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + this.displayName = _other.displayName; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + final PropertyTree writeMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeMaskPropertyTree!= null):((writeMaskPropertyTree == null)||(!writeMaskPropertyTree.isLeaf())))) { + this.writeMask = _other.writeMask; + } + final PropertyTree userWriteMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userWriteMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userWriteMaskPropertyTree!= null):((userWriteMaskPropertyTree == null)||(!userWriteMaskPropertyTree.isLeaf())))) { + this.userWriteMask = _other.userWriteMask; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NodeAttributes >_P init(final _P _product) { + _product.specifiedAttributes = this.specifiedAttributes; + _product.displayName = this.displayName; + _product.description = this.description; + _product.writeMask = this.writeMask; + _product.userWriteMask = this.userWriteMask; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + public NodeAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + this.specifiedAttributes = specifiedAttributes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + public NodeAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + this.displayName = displayName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public NodeAttributes.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + public NodeAttributes.Builder<_B> withWriteMask(final Long writeMask) { + this.writeMask = writeMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + public NodeAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + this.userWriteMask = userWriteMask; + return this; + } + + @Override + public NodeAttributes build() { + if (_storedValue == null) { + return this.init(new NodeAttributes()); + } else { + return ((NodeAttributes) _storedValue); + } + } + + public NodeAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + _other.copyTo(this); + return this; + } + + public NodeAttributes.Builder<_B> copyOf(final NodeAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NodeAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static NodeAttributes.Select _root() { + return new NodeAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> specifiedAttributes = null; + private com.kscs.util.jaxb.Selector> displayName = null; + private com.kscs.util.jaxb.Selector> description = null; + private com.kscs.util.jaxb.Selector> writeMask = null; + private com.kscs.util.jaxb.Selector> userWriteMask = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.specifiedAttributes!= null) { + products.put("specifiedAttributes", this.specifiedAttributes.init()); + } + if (this.displayName!= null) { + products.put("displayName", this.displayName.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + if (this.writeMask!= null) { + products.put("writeMask", this.writeMask.init()); + } + if (this.userWriteMask!= null) { + products.put("userWriteMask", this.userWriteMask.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> specifiedAttributes() { + return ((this.specifiedAttributes == null)?this.specifiedAttributes = new com.kscs.util.jaxb.Selector>(this._root, this, "specifiedAttributes"):this.specifiedAttributes); + } + + public com.kscs.util.jaxb.Selector> displayName() { + return ((this.displayName == null)?this.displayName = new com.kscs.util.jaxb.Selector>(this._root, this, "displayName"):this.displayName); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + public com.kscs.util.jaxb.Selector> writeMask() { + return ((this.writeMask == null)?this.writeMask = new com.kscs.util.jaxb.Selector>(this._root, this, "writeMask"):this.writeMask); + } + + public com.kscs.util.jaxb.Selector> userWriteMask() { + return ((this.userWriteMask == null)?this.userWriteMask = new com.kscs.util.jaxb.Selector>(this._root, this, "userWriteMask"):this.userWriteMask); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributesMask.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributesMask.java new file mode 100644 index 000000000..ca9ce83e1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeAttributesMask.java @@ -0,0 +1,157 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für NodeAttributesMask. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="NodeAttributesMask">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="None_0"/>
+ *     <enumeration value="AccessLevel_1"/>
+ *     <enumeration value="ArrayDimensions_2"/>
+ *     <enumeration value="BrowseName_4"/>
+ *     <enumeration value="ContainsNoLoops_8"/>
+ *     <enumeration value="DataType_16"/>
+ *     <enumeration value="Description_32"/>
+ *     <enumeration value="DisplayName_64"/>
+ *     <enumeration value="EventNotifier_128"/>
+ *     <enumeration value="Executable_256"/>
+ *     <enumeration value="Historizing_512"/>
+ *     <enumeration value="InverseName_1024"/>
+ *     <enumeration value="IsAbstract_2048"/>
+ *     <enumeration value="MinimumSamplingInterval_4096"/>
+ *     <enumeration value="NodeClass_8192"/>
+ *     <enumeration value="NodeId_16384"/>
+ *     <enumeration value="Symmetric_32768"/>
+ *     <enumeration value="UserAccessLevel_65536"/>
+ *     <enumeration value="UserExecutable_131072"/>
+ *     <enumeration value="UserWriteMask_262144"/>
+ *     <enumeration value="ValueRank_524288"/>
+ *     <enumeration value="WriteMask_1048576"/>
+ *     <enumeration value="Value_2097152"/>
+ *     <enumeration value="DataTypeDefinition_4194304"/>
+ *     <enumeration value="RolePermissions_8388608"/>
+ *     <enumeration value="AccessRestrictions_16777216"/>
+ *     <enumeration value="All_33554431"/>
+ *     <enumeration value="BaseNode_26501220"/>
+ *     <enumeration value="Object_26501348"/>
+ *     <enumeration value="ObjectType_26503268"/>
+ *     <enumeration value="Variable_26571383"/>
+ *     <enumeration value="VariableType_28600438"/>
+ *     <enumeration value="Method_26632548"/>
+ *     <enumeration value="ReferenceType_26537060"/>
+ *     <enumeration value="View_26501356"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "NodeAttributesMask") +@XmlEnum +public enum NodeAttributesMask { + + @XmlEnumValue("None_0") + NONE_0("None_0"), + @XmlEnumValue("AccessLevel_1") + ACCESS_LEVEL_1("AccessLevel_1"), + @XmlEnumValue("ArrayDimensions_2") + ARRAY_DIMENSIONS_2("ArrayDimensions_2"), + @XmlEnumValue("BrowseName_4") + BROWSE_NAME_4("BrowseName_4"), + @XmlEnumValue("ContainsNoLoops_8") + CONTAINS_NO_LOOPS_8("ContainsNoLoops_8"), + @XmlEnumValue("DataType_16") + DATA_TYPE_16("DataType_16"), + @XmlEnumValue("Description_32") + DESCRIPTION_32("Description_32"), + @XmlEnumValue("DisplayName_64") + DISPLAY_NAME_64("DisplayName_64"), + @XmlEnumValue("EventNotifier_128") + EVENT_NOTIFIER_128("EventNotifier_128"), + @XmlEnumValue("Executable_256") + EXECUTABLE_256("Executable_256"), + @XmlEnumValue("Historizing_512") + HISTORIZING_512("Historizing_512"), + @XmlEnumValue("InverseName_1024") + INVERSE_NAME_1024("InverseName_1024"), + @XmlEnumValue("IsAbstract_2048") + IS_ABSTRACT_2048("IsAbstract_2048"), + @XmlEnumValue("MinimumSamplingInterval_4096") + MINIMUM_SAMPLING_INTERVAL_4096("MinimumSamplingInterval_4096"), + @XmlEnumValue("NodeClass_8192") + NODE_CLASS_8192("NodeClass_8192"), + @XmlEnumValue("NodeId_16384") + NODE_ID_16384("NodeId_16384"), + @XmlEnumValue("Symmetric_32768") + SYMMETRIC_32768("Symmetric_32768"), + @XmlEnumValue("UserAccessLevel_65536") + USER_ACCESS_LEVEL_65536("UserAccessLevel_65536"), + @XmlEnumValue("UserExecutable_131072") + USER_EXECUTABLE_131072("UserExecutable_131072"), + @XmlEnumValue("UserWriteMask_262144") + USER_WRITE_MASK_262144("UserWriteMask_262144"), + @XmlEnumValue("ValueRank_524288") + VALUE_RANK_524288("ValueRank_524288"), + @XmlEnumValue("WriteMask_1048576") + WRITE_MASK_1048576("WriteMask_1048576"), + @XmlEnumValue("Value_2097152") + VALUE_2097152("Value_2097152"), + @XmlEnumValue("DataTypeDefinition_4194304") + DATA_TYPE_DEFINITION_4194304("DataTypeDefinition_4194304"), + @XmlEnumValue("RolePermissions_8388608") + ROLE_PERMISSIONS_8388608("RolePermissions_8388608"), + @XmlEnumValue("AccessRestrictions_16777216") + ACCESS_RESTRICTIONS_16777216("AccessRestrictions_16777216"), + @XmlEnumValue("All_33554431") + ALL_33554431("All_33554431"), + @XmlEnumValue("BaseNode_26501220") + BASE_NODE_26501220("BaseNode_26501220"), + @XmlEnumValue("Object_26501348") + OBJECT_26501348("Object_26501348"), + @XmlEnumValue("ObjectType_26503268") + OBJECT_TYPE_26503268("ObjectType_26503268"), + @XmlEnumValue("Variable_26571383") + VARIABLE_26571383("Variable_26571383"), + @XmlEnumValue("VariableType_28600438") + VARIABLE_TYPE_28600438("VariableType_28600438"), + @XmlEnumValue("Method_26632548") + METHOD_26632548("Method_26632548"), + @XmlEnumValue("ReferenceType_26537060") + REFERENCE_TYPE_26537060("ReferenceType_26537060"), + @XmlEnumValue("View_26501356") + VIEW_26501356("View_26501356"); + private final String value; + + NodeAttributesMask(String v) { + value = v; + } + + public String value() { + return value; + } + + public static NodeAttributesMask fromValue(String v) { + for (NodeAttributesMask c: NodeAttributesMask.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeClass.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeClass.java new file mode 100644 index 000000000..240c7b16d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeClass.java @@ -0,0 +1,79 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für NodeClass. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="NodeClass">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Unspecified_0"/>
+ *     <enumeration value="Object_1"/>
+ *     <enumeration value="Variable_2"/>
+ *     <enumeration value="Method_4"/>
+ *     <enumeration value="ObjectType_8"/>
+ *     <enumeration value="VariableType_16"/>
+ *     <enumeration value="ReferenceType_32"/>
+ *     <enumeration value="DataType_64"/>
+ *     <enumeration value="View_128"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "NodeClass") +@XmlEnum +public enum NodeClass { + + @XmlEnumValue("Unspecified_0") + UNSPECIFIED_0("Unspecified_0"), + @XmlEnumValue("Object_1") + OBJECT_1("Object_1"), + @XmlEnumValue("Variable_2") + VARIABLE_2("Variable_2"), + @XmlEnumValue("Method_4") + METHOD_4("Method_4"), + @XmlEnumValue("ObjectType_8") + OBJECT_TYPE_8("ObjectType_8"), + @XmlEnumValue("VariableType_16") + VARIABLE_TYPE_16("VariableType_16"), + @XmlEnumValue("ReferenceType_32") + REFERENCE_TYPE_32("ReferenceType_32"), + @XmlEnumValue("DataType_64") + DATA_TYPE_64("DataType_64"), + @XmlEnumValue("View_128") + VIEW_128("View_128"); + private final String value; + + NodeClass(String v) { + value = v; + } + + public String value() { + return value; + } + + public static NodeClass fromValue(String v) { + for (NodeClass c: NodeClass.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeId.java new file mode 100644 index 000000000..b9d23b634 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeId.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NodeId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NodeId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Identifier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NodeId", propOrder = { + "identifier" +}) +public class NodeId { + + @XmlElementRef(name = "Identifier", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement identifier; + + /** + * Ruft den Wert der identifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIdentifier() { + return identifier; + } + + /** + * Legt den Wert der identifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIdentifier(JAXBElement value) { + this.identifier = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeId.Builder<_B> _other) { + _other.identifier = this.identifier; + } + + public<_B >NodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NodeId.Builder<_B>(_parentBuilder, this, true); + } + + public NodeId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NodeId.Builder builder() { + return new NodeId.Builder(null, null, false); + } + + public static<_B >NodeId.Builder<_B> copyOf(final NodeId _other) { + final NodeId.Builder<_B> _newBuilder = new NodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree identifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identifierPropertyTree!= null):((identifierPropertyTree == null)||(!identifierPropertyTree.isLeaf())))) { + _other.identifier = this.identifier; + } + } + + public<_B >NodeId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NodeId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NodeId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NodeId.Builder<_B> copyOf(final NodeId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NodeId.Builder<_B> _newBuilder = new NodeId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NodeId.Builder copyExcept(final NodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NodeId.Builder copyOnly(final NodeId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NodeId _storedValue; + private JAXBElement identifier; + + public Builder(final _B _parentBuilder, final NodeId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.identifier = _other.identifier; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NodeId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree identifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("identifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(identifierPropertyTree!= null):((identifierPropertyTree == null)||(!identifierPropertyTree.isLeaf())))) { + this.identifier = _other.identifier; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NodeId >_P init(final _P _product) { + _product.identifier = this.identifier; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "identifier" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param identifier + * Neuer Wert der Eigenschaft "identifier". + */ + public NodeId.Builder<_B> withIdentifier(final JAXBElement identifier) { + this.identifier = identifier; + return this; + } + + @Override + public NodeId build() { + if (_storedValue == null) { + return this.init(new NodeId()); + } else { + return ((NodeId) _storedValue); + } + } + + public NodeId.Builder<_B> copyOf(final NodeId _other) { + _other.copyTo(this); + return this; + } + + public NodeId.Builder<_B> copyOf(final NodeId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NodeId.Selector + { + + + Select() { + super(null, null, null); + } + + public static NodeId.Select _root() { + return new NodeId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> identifier = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.identifier!= null) { + products.put("identifier", this.identifier.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> identifier() { + return ((this.identifier == null)?this.identifier = new com.kscs.util.jaxb.Selector>(this._root, this, "identifier"):this.identifier); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeReference.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeReference.java new file mode 100644 index 000000000..204e30547 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeReference.java @@ -0,0 +1,441 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NodeReference complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NodeReference">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IsForward" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="ReferencedNodeIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NodeReference", propOrder = { + "nodeId", + "referenceTypeId", + "isForward", + "referencedNodeIds" +}) +public class NodeReference { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IsForward") + protected Boolean isForward; + @XmlElementRef(name = "ReferencedNodeIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referencedNodeIds; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der isForward-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsForward() { + return isForward; + } + + /** + * Legt den Wert der isForward-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsForward(Boolean value) { + this.isForward = value; + } + + /** + * Ruft den Wert der referencedNodeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public JAXBElement getReferencedNodeIds() { + return referencedNodeIds; + } + + /** + * Legt den Wert der referencedNodeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public void setReferencedNodeIds(JAXBElement value) { + this.referencedNodeIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeReference.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.referenceTypeId = this.referenceTypeId; + _other.isForward = this.isForward; + _other.referencedNodeIds = this.referencedNodeIds; + } + + public<_B >NodeReference.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NodeReference.Builder<_B>(_parentBuilder, this, true); + } + + public NodeReference.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NodeReference.Builder builder() { + return new NodeReference.Builder(null, null, false); + } + + public static<_B >NodeReference.Builder<_B> copyOf(final NodeReference _other) { + final NodeReference.Builder<_B> _newBuilder = new NodeReference.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeReference.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + _other.isForward = this.isForward; + } + final PropertyTree referencedNodeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencedNodeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencedNodeIdsPropertyTree!= null):((referencedNodeIdsPropertyTree == null)||(!referencedNodeIdsPropertyTree.isLeaf())))) { + _other.referencedNodeIds = this.referencedNodeIds; + } + } + + public<_B >NodeReference.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NodeReference.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NodeReference.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NodeReference.Builder<_B> copyOf(final NodeReference _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NodeReference.Builder<_B> _newBuilder = new NodeReference.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NodeReference.Builder copyExcept(final NodeReference _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NodeReference.Builder copyOnly(final NodeReference _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NodeReference _storedValue; + private JAXBElement nodeId; + private JAXBElement referenceTypeId; + private Boolean isForward; + private JAXBElement referencedNodeIds; + + public Builder(final _B _parentBuilder, final NodeReference _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.referenceTypeId = _other.referenceTypeId; + this.isForward = _other.isForward; + this.referencedNodeIds = _other.referencedNodeIds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NodeReference _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + this.isForward = _other.isForward; + } + final PropertyTree referencedNodeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referencedNodeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referencedNodeIdsPropertyTree!= null):((referencedNodeIdsPropertyTree == null)||(!referencedNodeIdsPropertyTree.isLeaf())))) { + this.referencedNodeIds = _other.referencedNodeIds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NodeReference >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.referenceTypeId = this.referenceTypeId; + _product.isForward = this.isForward; + _product.referencedNodeIds = this.referencedNodeIds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public NodeReference.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public NodeReference.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isForward" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isForward + * Neuer Wert der Eigenschaft "isForward". + */ + public NodeReference.Builder<_B> withIsForward(final Boolean isForward) { + this.isForward = isForward; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referencedNodeIds" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param referencedNodeIds + * Neuer Wert der Eigenschaft "referencedNodeIds". + */ + public NodeReference.Builder<_B> withReferencedNodeIds(final JAXBElement referencedNodeIds) { + this.referencedNodeIds = referencedNodeIds; + return this; + } + + @Override + public NodeReference build() { + if (_storedValue == null) { + return this.init(new NodeReference()); + } else { + return ((NodeReference) _storedValue); + } + } + + public NodeReference.Builder<_B> copyOf(final NodeReference _other) { + _other.copyTo(this); + return this; + } + + public NodeReference.Builder<_B> copyOf(final NodeReference.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NodeReference.Selector + { + + + Select() { + super(null, null, null); + } + + public static NodeReference.Select _root() { + return new NodeReference.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> isForward = null; + private com.kscs.util.jaxb.Selector> referencedNodeIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.isForward!= null) { + products.put("isForward", this.isForward.init()); + } + if (this.referencedNodeIds!= null) { + products.put("referencedNodeIds", this.referencedNodeIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> isForward() { + return ((this.isForward == null)?this.isForward = new com.kscs.util.jaxb.Selector>(this._root, this, "isForward"):this.isForward); + } + + public com.kscs.util.jaxb.Selector> referencedNodeIds() { + return ((this.referencedNodeIds == null)?this.referencedNodeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "referencedNodeIds"):this.referencedNodeIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeTypeDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeTypeDescription.java new file mode 100644 index 000000000..6a34c165d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NodeTypeDescription.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NodeTypeDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NodeTypeDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TypeDefinitionNode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="IncludeSubTypes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="DataToReturn" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfQueryDataDescription" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NodeTypeDescription", propOrder = { + "typeDefinitionNode", + "includeSubTypes", + "dataToReturn" +}) +public class NodeTypeDescription { + + @XmlElementRef(name = "TypeDefinitionNode", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement typeDefinitionNode; + @XmlElement(name = "IncludeSubTypes") + protected Boolean includeSubTypes; + @XmlElementRef(name = "DataToReturn", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataToReturn; + + /** + * Ruft den Wert der typeDefinitionNode-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTypeDefinitionNode() { + return typeDefinitionNode; + } + + /** + * Legt den Wert der typeDefinitionNode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTypeDefinitionNode(JAXBElement value) { + this.typeDefinitionNode = value; + } + + /** + * Ruft den Wert der includeSubTypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIncludeSubTypes() { + return includeSubTypes; + } + + /** + * Legt den Wert der includeSubTypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIncludeSubTypes(Boolean value) { + this.includeSubTypes = value; + } + + /** + * Ruft den Wert der dataToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfQueryDataDescription }{@code >} + * + */ + public JAXBElement getDataToReturn() { + return dataToReturn; + } + + /** + * Legt den Wert der dataToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfQueryDataDescription }{@code >} + * + */ + public void setDataToReturn(JAXBElement value) { + this.dataToReturn = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeTypeDescription.Builder<_B> _other) { + _other.typeDefinitionNode = this.typeDefinitionNode; + _other.includeSubTypes = this.includeSubTypes; + _other.dataToReturn = this.dataToReturn; + } + + public<_B >NodeTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NodeTypeDescription.Builder<_B>(_parentBuilder, this, true); + } + + public NodeTypeDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NodeTypeDescription.Builder builder() { + return new NodeTypeDescription.Builder(null, null, false); + } + + public static<_B >NodeTypeDescription.Builder<_B> copyOf(final NodeTypeDescription _other) { + final NodeTypeDescription.Builder<_B> _newBuilder = new NodeTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NodeTypeDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree typeDefinitionNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinitionNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionNodePropertyTree!= null):((typeDefinitionNodePropertyTree == null)||(!typeDefinitionNodePropertyTree.isLeaf())))) { + _other.typeDefinitionNode = this.typeDefinitionNode; + } + final PropertyTree includeSubTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("includeSubTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(includeSubTypesPropertyTree!= null):((includeSubTypesPropertyTree == null)||(!includeSubTypesPropertyTree.isLeaf())))) { + _other.includeSubTypes = this.includeSubTypes; + } + final PropertyTree dataToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataToReturnPropertyTree!= null):((dataToReturnPropertyTree == null)||(!dataToReturnPropertyTree.isLeaf())))) { + _other.dataToReturn = this.dataToReturn; + } + } + + public<_B >NodeTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NodeTypeDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NodeTypeDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NodeTypeDescription.Builder<_B> copyOf(final NodeTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NodeTypeDescription.Builder<_B> _newBuilder = new NodeTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NodeTypeDescription.Builder copyExcept(final NodeTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NodeTypeDescription.Builder copyOnly(final NodeTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NodeTypeDescription _storedValue; + private JAXBElement typeDefinitionNode; + private Boolean includeSubTypes; + private JAXBElement dataToReturn; + + public Builder(final _B _parentBuilder, final NodeTypeDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.typeDefinitionNode = _other.typeDefinitionNode; + this.includeSubTypes = _other.includeSubTypes; + this.dataToReturn = _other.dataToReturn; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NodeTypeDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree typeDefinitionNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinitionNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionNodePropertyTree!= null):((typeDefinitionNodePropertyTree == null)||(!typeDefinitionNodePropertyTree.isLeaf())))) { + this.typeDefinitionNode = _other.typeDefinitionNode; + } + final PropertyTree includeSubTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("includeSubTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(includeSubTypesPropertyTree!= null):((includeSubTypesPropertyTree == null)||(!includeSubTypesPropertyTree.isLeaf())))) { + this.includeSubTypes = _other.includeSubTypes; + } + final PropertyTree dataToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataToReturnPropertyTree!= null):((dataToReturnPropertyTree == null)||(!dataToReturnPropertyTree.isLeaf())))) { + this.dataToReturn = _other.dataToReturn; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NodeTypeDescription >_P init(final _P _product) { + _product.typeDefinitionNode = this.typeDefinitionNode; + _product.includeSubTypes = this.includeSubTypes; + _product.dataToReturn = this.dataToReturn; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "typeDefinitionNode" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param typeDefinitionNode + * Neuer Wert der Eigenschaft "typeDefinitionNode". + */ + public NodeTypeDescription.Builder<_B> withTypeDefinitionNode(final JAXBElement typeDefinitionNode) { + this.typeDefinitionNode = typeDefinitionNode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "includeSubTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param includeSubTypes + * Neuer Wert der Eigenschaft "includeSubTypes". + */ + public NodeTypeDescription.Builder<_B> withIncludeSubTypes(final Boolean includeSubTypes) { + this.includeSubTypes = includeSubTypes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataToReturn" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataToReturn + * Neuer Wert der Eigenschaft "dataToReturn". + */ + public NodeTypeDescription.Builder<_B> withDataToReturn(final JAXBElement dataToReturn) { + this.dataToReturn = dataToReturn; + return this; + } + + @Override + public NodeTypeDescription build() { + if (_storedValue == null) { + return this.init(new NodeTypeDescription()); + } else { + return ((NodeTypeDescription) _storedValue); + } + } + + public NodeTypeDescription.Builder<_B> copyOf(final NodeTypeDescription _other) { + _other.copyTo(this); + return this; + } + + public NodeTypeDescription.Builder<_B> copyOf(final NodeTypeDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NodeTypeDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static NodeTypeDescription.Select _root() { + return new NodeTypeDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> typeDefinitionNode = null; + private com.kscs.util.jaxb.Selector> includeSubTypes = null; + private com.kscs.util.jaxb.Selector> dataToReturn = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.typeDefinitionNode!= null) { + products.put("typeDefinitionNode", this.typeDefinitionNode.init()); + } + if (this.includeSubTypes!= null) { + products.put("includeSubTypes", this.includeSubTypes.init()); + } + if (this.dataToReturn!= null) { + products.put("dataToReturn", this.dataToReturn.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> typeDefinitionNode() { + return ((this.typeDefinitionNode == null)?this.typeDefinitionNode = new com.kscs.util.jaxb.Selector>(this._root, this, "typeDefinitionNode"):this.typeDefinitionNode); + } + + public com.kscs.util.jaxb.Selector> includeSubTypes() { + return ((this.includeSubTypes == null)?this.includeSubTypes = new com.kscs.util.jaxb.Selector>(this._root, this, "includeSubTypes"):this.includeSubTypes); + } + + public com.kscs.util.jaxb.Selector> dataToReturn() { + return ((this.dataToReturn == null)?this.dataToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "dataToReturn"):this.dataToReturn); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationData.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationData.java new file mode 100644 index 000000000..78148e8e3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationData.java @@ -0,0 +1,203 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NotificationData complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NotificationData">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NotificationData") +@XmlSeeAlso({ + DataChangeNotification.class, + EventNotificationList.class, + StatusChangeNotification.class +}) +public class NotificationData { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NotificationData.Builder<_B> _other) { + } + + public<_B >NotificationData.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NotificationData.Builder<_B>(_parentBuilder, this, true); + } + + public NotificationData.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NotificationData.Builder builder() { + return new NotificationData.Builder(null, null, false); + } + + public static<_B >NotificationData.Builder<_B> copyOf(final NotificationData _other) { + final NotificationData.Builder<_B> _newBuilder = new NotificationData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NotificationData.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >NotificationData.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NotificationData.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NotificationData.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NotificationData.Builder<_B> copyOf(final NotificationData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NotificationData.Builder<_B> _newBuilder = new NotificationData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NotificationData.Builder copyExcept(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NotificationData.Builder copyOnly(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NotificationData _storedValue; + + public Builder(final _B _parentBuilder, final NotificationData _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NotificationData _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NotificationData >_P init(final _P _product) { + return _product; + } + + @Override + public NotificationData build() { + if (_storedValue == null) { + return this.init(new NotificationData()); + } else { + return ((NotificationData) _storedValue); + } + } + + public NotificationData.Builder<_B> copyOf(final NotificationData _other) { + _other.copyTo(this); + return this; + } + + public NotificationData.Builder<_B> copyOf(final NotificationData.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NotificationData.Selector + { + + + Select() { + super(null, null, null); + } + + public static NotificationData.Select _root() { + return new NotificationData.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationMessage.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationMessage.java new file mode 100644 index 000000000..4ffd6de43 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/NotificationMessage.java @@ -0,0 +1,385 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für NotificationMessage complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NotificationMessage">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SequenceNumber" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="PublishTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="NotificationData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NotificationMessage", propOrder = { + "sequenceNumber", + "publishTime", + "notificationData" +}) +public class NotificationMessage { + + @XmlElement(name = "SequenceNumber") + @XmlSchemaType(name = "unsignedInt") + protected Long sequenceNumber; + @XmlElement(name = "PublishTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar publishTime; + @XmlElementRef(name = "NotificationData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement notificationData; + + /** + * Ruft den Wert der sequenceNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSequenceNumber() { + return sequenceNumber; + } + + /** + * Legt den Wert der sequenceNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSequenceNumber(Long value) { + this.sequenceNumber = value; + } + + /** + * Ruft den Wert der publishTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getPublishTime() { + return publishTime; + } + + /** + * Legt den Wert der publishTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setPublishTime(XMLGregorianCalendar value) { + this.publishTime = value; + } + + /** + * Ruft den Wert der notificationData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public JAXBElement getNotificationData() { + return notificationData; + } + + /** + * Legt den Wert der notificationData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public void setNotificationData(JAXBElement value) { + this.notificationData = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NotificationMessage.Builder<_B> _other) { + _other.sequenceNumber = this.sequenceNumber; + _other.publishTime = ((this.publishTime == null)?null:((XMLGregorianCalendar) this.publishTime.clone())); + _other.notificationData = this.notificationData; + } + + public<_B >NotificationMessage.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new NotificationMessage.Builder<_B>(_parentBuilder, this, true); + } + + public NotificationMessage.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static NotificationMessage.Builder builder() { + return new NotificationMessage.Builder(null, null, false); + } + + public static<_B >NotificationMessage.Builder<_B> copyOf(final NotificationMessage _other) { + final NotificationMessage.Builder<_B> _newBuilder = new NotificationMessage.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final NotificationMessage.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sequenceNumberPropertyTree!= null):((sequenceNumberPropertyTree == null)||(!sequenceNumberPropertyTree.isLeaf())))) { + _other.sequenceNumber = this.sequenceNumber; + } + final PropertyTree publishTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishTimePropertyTree!= null):((publishTimePropertyTree == null)||(!publishTimePropertyTree.isLeaf())))) { + _other.publishTime = ((this.publishTime == null)?null:((XMLGregorianCalendar) this.publishTime.clone())); + } + final PropertyTree notificationDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationDataPropertyTree!= null):((notificationDataPropertyTree == null)||(!notificationDataPropertyTree.isLeaf())))) { + _other.notificationData = this.notificationData; + } + } + + public<_B >NotificationMessage.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new NotificationMessage.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public NotificationMessage.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >NotificationMessage.Builder<_B> copyOf(final NotificationMessage _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final NotificationMessage.Builder<_B> _newBuilder = new NotificationMessage.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static NotificationMessage.Builder copyExcept(final NotificationMessage _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static NotificationMessage.Builder copyOnly(final NotificationMessage _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final NotificationMessage _storedValue; + private Long sequenceNumber; + private XMLGregorianCalendar publishTime; + private JAXBElement notificationData; + + public Builder(final _B _parentBuilder, final NotificationMessage _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.sequenceNumber = _other.sequenceNumber; + this.publishTime = ((_other.publishTime == null)?null:((XMLGregorianCalendar) _other.publishTime.clone())); + this.notificationData = _other.notificationData; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final NotificationMessage _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sequenceNumberPropertyTree!= null):((sequenceNumberPropertyTree == null)||(!sequenceNumberPropertyTree.isLeaf())))) { + this.sequenceNumber = _other.sequenceNumber; + } + final PropertyTree publishTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishTimePropertyTree!= null):((publishTimePropertyTree == null)||(!publishTimePropertyTree.isLeaf())))) { + this.publishTime = ((_other.publishTime == null)?null:((XMLGregorianCalendar) _other.publishTime.clone())); + } + final PropertyTree notificationDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationDataPropertyTree!= null):((notificationDataPropertyTree == null)||(!notificationDataPropertyTree.isLeaf())))) { + this.notificationData = _other.notificationData; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends NotificationMessage >_P init(final _P _product) { + _product.sequenceNumber = this.sequenceNumber; + _product.publishTime = this.publishTime; + _product.notificationData = this.notificationData; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sequenceNumber" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sequenceNumber + * Neuer Wert der Eigenschaft "sequenceNumber". + */ + public NotificationMessage.Builder<_B> withSequenceNumber(final Long sequenceNumber) { + this.sequenceNumber = sequenceNumber; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishTime" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param publishTime + * Neuer Wert der Eigenschaft "publishTime". + */ + public NotificationMessage.Builder<_B> withPublishTime(final XMLGregorianCalendar publishTime) { + this.publishTime = publishTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "notificationData" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param notificationData + * Neuer Wert der Eigenschaft "notificationData". + */ + public NotificationMessage.Builder<_B> withNotificationData(final JAXBElement notificationData) { + this.notificationData = notificationData; + return this; + } + + @Override + public NotificationMessage build() { + if (_storedValue == null) { + return this.init(new NotificationMessage()); + } else { + return ((NotificationMessage) _storedValue); + } + } + + public NotificationMessage.Builder<_B> copyOf(final NotificationMessage _other) { + _other.copyTo(this); + return this; + } + + public NotificationMessage.Builder<_B> copyOf(final NotificationMessage.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends NotificationMessage.Selector + { + + + Select() { + super(null, null, null); + } + + public static NotificationMessage.Select _root() { + return new NotificationMessage.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sequenceNumber = null; + private com.kscs.util.jaxb.Selector> publishTime = null; + private com.kscs.util.jaxb.Selector> notificationData = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sequenceNumber!= null) { + products.put("sequenceNumber", this.sequenceNumber.init()); + } + if (this.publishTime!= null) { + products.put("publishTime", this.publishTime.init()); + } + if (this.notificationData!= null) { + products.put("notificationData", this.notificationData.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sequenceNumber() { + return ((this.sequenceNumber == null)?this.sequenceNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "sequenceNumber"):this.sequenceNumber); + } + + public com.kscs.util.jaxb.Selector> publishTime() { + return ((this.publishTime == null)?this.publishTime = new com.kscs.util.jaxb.Selector>(this._root, this, "publishTime"):this.publishTime); + } + + public com.kscs.util.jaxb.Selector> notificationData() { + return ((this.notificationData == null)?this.notificationData = new com.kscs.util.jaxb.Selector>(this._root, this, "notificationData"):this.notificationData); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectAttributes.java new file mode 100644 index 000000000..945f56d4f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectAttributes.java @@ -0,0 +1,337 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ObjectAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ObjectAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="EventNotifier" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ObjectAttributes", propOrder = { + "eventNotifier" +}) +public class ObjectAttributes + extends NodeAttributes +{ + + @XmlElement(name = "EventNotifier") + @XmlSchemaType(name = "unsignedByte") + protected Short eventNotifier; + + /** + * Ruft den Wert der eventNotifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getEventNotifier() { + return eventNotifier; + } + + /** + * Legt den Wert der eventNotifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setEventNotifier(Short value) { + this.eventNotifier = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.eventNotifier = this.eventNotifier; + } + + @Override + public<_B >ObjectAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ObjectAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ObjectAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ObjectAttributes.Builder builder() { + return new ObjectAttributes.Builder(null, null, false); + } + + public static<_B >ObjectAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final ObjectAttributes.Builder<_B> _newBuilder = new ObjectAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ObjectAttributes.Builder<_B> copyOf(final ObjectAttributes _other) { + final ObjectAttributes.Builder<_B> _newBuilder = new ObjectAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + _other.eventNotifier = this.eventNotifier; + } + } + + @Override + public<_B >ObjectAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ObjectAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ObjectAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ObjectAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectAttributes.Builder<_B> _newBuilder = new ObjectAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ObjectAttributes.Builder<_B> copyOf(final ObjectAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectAttributes.Builder<_B> _newBuilder = new ObjectAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ObjectAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectAttributes.Builder copyExcept(final ObjectAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ObjectAttributes.Builder copyOnly(final ObjectAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Short eventNotifier; + + public Builder(final _B _parentBuilder, final ObjectAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.eventNotifier = _other.eventNotifier; + } + } + + public Builder(final _B _parentBuilder, final ObjectAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + this.eventNotifier = _other.eventNotifier; + } + } + } + + protected<_P extends ObjectAttributes >_P init(final _P _product) { + _product.eventNotifier = this.eventNotifier; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventNotifier" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventNotifier + * Neuer Wert der Eigenschaft "eventNotifier". + */ + public ObjectAttributes.Builder<_B> withEventNotifier(final Short eventNotifier) { + this.eventNotifier = eventNotifier; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public ObjectAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ObjectAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ObjectAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ObjectAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ObjectAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public ObjectAttributes build() { + if (_storedValue == null) { + return this.init(new ObjectAttributes()); + } else { + return ((ObjectAttributes) _storedValue); + } + } + + public ObjectAttributes.Builder<_B> copyOf(final ObjectAttributes _other) { + _other.copyTo(this); + return this; + } + + public ObjectAttributes.Builder<_B> copyOf(final ObjectAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ObjectAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static ObjectAttributes.Select _root() { + return new ObjectAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> eventNotifier = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.eventNotifier!= null) { + products.put("eventNotifier", this.eventNotifier.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> eventNotifier() { + return ((this.eventNotifier == null)?this.eventNotifier = new com.kscs.util.jaxb.Selector>(this._root, this, "eventNotifier"):this.eventNotifier); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectFactory.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectFactory.java new file mode 100644 index 000000000..af84c11ea --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectFactory.java @@ -0,0 +1,19975 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.math.BigInteger; +import java.util.Base64; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the org.opcfoundation.ua._2008._02.types package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _Boolean_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Boolean"); + private final static QName _ListOfBoolean_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBoolean"); + private final static QName _SByte_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SByte"); + private final static QName _ListOfSByte_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSByte"); + private final static QName _Byte_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Byte"); + private final static QName _ListOfByte_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfByte"); + private final static QName _Int16_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Int16"); + private final static QName _ListOfInt16_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfInt16"); + private final static QName _UInt16_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UInt16"); + private final static QName _ListOfUInt16_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUInt16"); + private final static QName _Int32_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Int32"); + private final static QName _ListOfInt32_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfInt32"); + private final static QName _UInt32_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UInt32"); + private final static QName _ListOfUInt32_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUInt32"); + private final static QName _Int64_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Int64"); + private final static QName _ListOfInt64_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfInt64"); + private final static QName _UInt64_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UInt64"); + private final static QName _ListOfUInt64_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUInt64"); + private final static QName _Float_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Float"); + private final static QName _ListOfFloat_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfFloat"); + private final static QName _Double_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Double"); + private final static QName _ListOfDouble_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDouble"); + private final static QName _String_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "String"); + private final static QName _ListOfString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfString"); + private final static QName _DateTime_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DateTime"); + private final static QName _ListOfDateTime_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDateTime"); + private final static QName _Guid_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Guid"); + private final static QName _ListOfGuid_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfGuid"); + private final static QName _ByteString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ByteString"); + private final static QName _ListOfByteString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfByteString"); + private final static QName _ListOfXmlElement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfXmlElement"); + private final static QName _NodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeId"); + private final static QName _ListOfNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNodeId"); + private final static QName _ExpandedNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ExpandedNodeId"); + private final static QName _ListOfExpandedNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfExpandedNodeId"); + private final static QName _StatusCode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StatusCode"); + private final static QName _ListOfStatusCode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfStatusCode"); + private final static QName _DiagnosticInfo_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiagnosticInfo"); + private final static QName _ListOfDiagnosticInfo_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDiagnosticInfo"); + private final static QName _LocalizedText_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LocalizedText"); + private final static QName _ListOfLocalizedText_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfLocalizedText"); + private final static QName _QualifiedName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QualifiedName"); + private final static QName _ListOfQualifiedName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfQualifiedName"); + private final static QName _ExtensionObject_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ExtensionObject"); + private final static QName _ListOfExtensionObject_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfExtensionObject"); + private final static QName _Variant_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Variant"); + private final static QName _ListOfVariant_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfVariant"); + private final static QName _DataValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataValue"); + private final static QName _ListOfDataValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataValue"); + private final static QName _InvokeServiceRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InvokeServiceRequest"); + private final static QName _InvokeServiceResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InvokeServiceResponse"); + private final static QName _ImageBMP_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ImageBMP"); + private final static QName _ImageGIF_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ImageGIF"); + private final static QName _ImageJPG_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ImageJPG"); + private final static QName _ImagePNG_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ImagePNG"); + private final static QName _AudioDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AudioDataType"); + private final static QName _BitFieldMaskDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BitFieldMaskDataType"); + private final static QName _KeyValuePair_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "KeyValuePair"); + private final static QName _ListOfKeyValuePair_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfKeyValuePair"); + private final static QName _AdditionalParametersType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AdditionalParametersType"); + private final static QName _EphemeralKeyType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EphemeralKeyType"); + private final static QName _EndpointType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EndpointType"); + private final static QName _ListOfEndpointType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEndpointType"); + private final static QName _RationalNumber_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RationalNumber"); + private final static QName _ListOfRationalNumber_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfRationalNumber"); + private final static QName _Vector_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Vector"); + private final static QName _ListOfVector_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfVector"); + private final static QName _ThreeDVector_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ThreeDVector"); + private final static QName _ListOfThreeDVector_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfThreeDVector"); + private final static QName _CartesianCoordinates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CartesianCoordinates"); + private final static QName _ListOfCartesianCoordinates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfCartesianCoordinates"); + private final static QName _ThreeDCartesianCoordinates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ThreeDCartesianCoordinates"); + private final static QName _ListOfThreeDCartesianCoordinates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfThreeDCartesianCoordinates"); + private final static QName _Orientation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Orientation"); + private final static QName _ListOfOrientation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfOrientation"); + private final static QName _ThreeDOrientation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ThreeDOrientation"); + private final static QName _ListOfThreeDOrientation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfThreeDOrientation"); + private final static QName _Frame_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Frame"); + private final static QName _ListOfFrame_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfFrame"); + private final static QName _ThreeDFrame_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ThreeDFrame"); + private final static QName _ListOfThreeDFrame_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfThreeDFrame"); + private final static QName _OpenFileMode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OpenFileMode"); + private final static QName _ListOfOpenFileMode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfOpenFileMode"); + private final static QName _IdentityCriteriaType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IdentityCriteriaType"); + private final static QName _ListOfIdentityCriteriaType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfIdentityCriteriaType"); + private final static QName _IdentityMappingRuleType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IdentityMappingRuleType"); + private final static QName _ListOfIdentityMappingRuleType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfIdentityMappingRuleType"); + private final static QName _CurrencyUnitType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CurrencyUnitType"); + private final static QName _ListOfCurrencyUnitType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfCurrencyUnitType"); + private final static QName _TrustListMasks_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TrustListMasks"); + private final static QName _TrustListDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TrustListDataType"); + private final static QName _ListOfTrustListDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfTrustListDataType"); + private final static QName _DecimalDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DecimalDataType"); + private final static QName _DataTypeSchemaHeader_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataTypeSchemaHeader"); + private final static QName _ListOfDataTypeSchemaHeader_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataTypeSchemaHeader"); + private final static QName _DataTypeDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataTypeDescription"); + private final static QName _ListOfDataTypeDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataTypeDescription"); + private final static QName _StructureDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StructureDescription"); + private final static QName _ListOfStructureDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfStructureDescription"); + private final static QName _EnumDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EnumDescription"); + private final static QName _ListOfEnumDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEnumDescription"); + private final static QName _SimpleTypeDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SimpleTypeDescription"); + private final static QName _ListOfSimpleTypeDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSimpleTypeDescription"); + private final static QName _UABinaryFileDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UABinaryFileDataType"); + private final static QName _ListOfUABinaryFileDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUABinaryFileDataType"); + private final static QName _PubSubState_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PubSubState"); + private final static QName _ListOfPubSubState_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPubSubState"); + private final static QName _DataSetMetaDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetMetaDataType"); + private final static QName _ListOfDataSetMetaDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetMetaDataType"); + private final static QName _FieldMetaData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FieldMetaData"); + private final static QName _ListOfFieldMetaData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfFieldMetaData"); + private final static QName _DataSetFieldFlags_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetFieldFlags"); + private final static QName _ConfigurationVersionDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ConfigurationVersionDataType"); + private final static QName _ListOfConfigurationVersionDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfConfigurationVersionDataType"); + private final static QName _PublishedDataSetDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedDataSetDataType"); + private final static QName _ListOfPublishedDataSetDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPublishedDataSetDataType"); + private final static QName _PublishedDataSetSourceDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedDataSetSourceDataType"); + private final static QName _ListOfPublishedDataSetSourceDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPublishedDataSetSourceDataType"); + private final static QName _PublishedVariableDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedVariableDataType"); + private final static QName _ListOfPublishedVariableDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPublishedVariableDataType"); + private final static QName _PublishedDataItemsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedDataItemsDataType"); + private final static QName _ListOfPublishedDataItemsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPublishedDataItemsDataType"); + private final static QName _PublishedEventsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedEventsDataType"); + private final static QName _ListOfPublishedEventsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPublishedEventsDataType"); + private final static QName _DataSetFieldContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetFieldContentMask"); + private final static QName _ListOfDataSetFieldContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetFieldContentMask"); + private final static QName _DataSetWriterDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetWriterDataType"); + private final static QName _ListOfDataSetWriterDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetWriterDataType"); + private final static QName _DataSetWriterTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetWriterTransportDataType"); + private final static QName _ListOfDataSetWriterTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetWriterTransportDataType"); + private final static QName _DataSetWriterMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetWriterMessageDataType"); + private final static QName _ListOfDataSetWriterMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetWriterMessageDataType"); + private final static QName _PubSubGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PubSubGroupDataType"); + private final static QName _ListOfPubSubGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPubSubGroupDataType"); + private final static QName _WriterGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriterGroupDataType"); + private final static QName _ListOfWriterGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfWriterGroupDataType"); + private final static QName _WriterGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriterGroupTransportDataType"); + private final static QName _ListOfWriterGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfWriterGroupTransportDataType"); + private final static QName _WriterGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriterGroupMessageDataType"); + private final static QName _ListOfWriterGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfWriterGroupMessageDataType"); + private final static QName _PubSubConnectionDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PubSubConnectionDataType"); + private final static QName _ListOfPubSubConnectionDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPubSubConnectionDataType"); + private final static QName _ConnectionTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ConnectionTransportDataType"); + private final static QName _ListOfConnectionTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfConnectionTransportDataType"); + private final static QName _NetworkAddressDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NetworkAddressDataType"); + private final static QName _ListOfNetworkAddressDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNetworkAddressDataType"); + private final static QName _NetworkAddressUrlDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NetworkAddressUrlDataType"); + private final static QName _ListOfNetworkAddressUrlDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNetworkAddressUrlDataType"); + private final static QName _ReaderGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReaderGroupDataType"); + private final static QName _ListOfReaderGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfReaderGroupDataType"); + private final static QName _ReaderGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReaderGroupTransportDataType"); + private final static QName _ListOfReaderGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfReaderGroupTransportDataType"); + private final static QName _ReaderGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReaderGroupMessageDataType"); + private final static QName _ListOfReaderGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfReaderGroupMessageDataType"); + private final static QName _DataSetReaderDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetReaderDataType"); + private final static QName _ListOfDataSetReaderDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetReaderDataType"); + private final static QName _DataSetReaderTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetReaderTransportDataType"); + private final static QName _ListOfDataSetReaderTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetReaderTransportDataType"); + private final static QName _DataSetReaderMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetReaderMessageDataType"); + private final static QName _ListOfDataSetReaderMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetReaderMessageDataType"); + private final static QName _SubscribedDataSetDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscribedDataSetDataType"); + private final static QName _ListOfSubscribedDataSetDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSubscribedDataSetDataType"); + private final static QName _TargetVariablesDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TargetVariablesDataType"); + private final static QName _ListOfTargetVariablesDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfTargetVariablesDataType"); + private final static QName _FieldTargetDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FieldTargetDataType"); + private final static QName _ListOfFieldTargetDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfFieldTargetDataType"); + private final static QName _OverrideValueHandling_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OverrideValueHandling"); + private final static QName _ListOfOverrideValueHandling_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfOverrideValueHandling"); + private final static QName _SubscribedDataSetMirrorDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscribedDataSetMirrorDataType"); + private final static QName _ListOfSubscribedDataSetMirrorDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSubscribedDataSetMirrorDataType"); + private final static QName _PubSubConfigurationDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PubSubConfigurationDataType"); + private final static QName _ListOfPubSubConfigurationDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPubSubConfigurationDataType"); + private final static QName _DataSetOrderingType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetOrderingType"); + private final static QName _ListOfDataSetOrderingType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataSetOrderingType"); + private final static QName _UadpNetworkMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UadpNetworkMessageContentMask"); + private final static QName _ListOfUadpNetworkMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUadpNetworkMessageContentMask"); + private final static QName _UadpWriterGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UadpWriterGroupMessageDataType"); + private final static QName _ListOfUadpWriterGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUadpWriterGroupMessageDataType"); + private final static QName _UadpDataSetMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UadpDataSetMessageContentMask"); + private final static QName _ListOfUadpDataSetMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUadpDataSetMessageContentMask"); + private final static QName _UadpDataSetWriterMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UadpDataSetWriterMessageDataType"); + private final static QName _ListOfUadpDataSetWriterMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUadpDataSetWriterMessageDataType"); + private final static QName _UadpDataSetReaderMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UadpDataSetReaderMessageDataType"); + private final static QName _ListOfUadpDataSetReaderMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUadpDataSetReaderMessageDataType"); + private final static QName _JsonNetworkMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "JsonNetworkMessageContentMask"); + private final static QName _ListOfJsonNetworkMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfJsonNetworkMessageContentMask"); + private final static QName _JsonWriterGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "JsonWriterGroupMessageDataType"); + private final static QName _ListOfJsonWriterGroupMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfJsonWriterGroupMessageDataType"); + private final static QName _JsonDataSetMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "JsonDataSetMessageContentMask"); + private final static QName _ListOfJsonDataSetMessageContentMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfJsonDataSetMessageContentMask"); + private final static QName _JsonDataSetWriterMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "JsonDataSetWriterMessageDataType"); + private final static QName _ListOfJsonDataSetWriterMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfJsonDataSetWriterMessageDataType"); + private final static QName _JsonDataSetReaderMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "JsonDataSetReaderMessageDataType"); + private final static QName _ListOfJsonDataSetReaderMessageDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfJsonDataSetReaderMessageDataType"); + private final static QName _DatagramConnectionTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DatagramConnectionTransportDataType"); + private final static QName _ListOfDatagramConnectionTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDatagramConnectionTransportDataType"); + private final static QName _DatagramWriterGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DatagramWriterGroupTransportDataType"); + private final static QName _ListOfDatagramWriterGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDatagramWriterGroupTransportDataType"); + private final static QName _BrokerConnectionTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrokerConnectionTransportDataType"); + private final static QName _ListOfBrokerConnectionTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrokerConnectionTransportDataType"); + private final static QName _BrokerTransportQualityOfService_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrokerTransportQualityOfService"); + private final static QName _ListOfBrokerTransportQualityOfService_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrokerTransportQualityOfService"); + private final static QName _BrokerWriterGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrokerWriterGroupTransportDataType"); + private final static QName _ListOfBrokerWriterGroupTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrokerWriterGroupTransportDataType"); + private final static QName _BrokerDataSetWriterTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrokerDataSetWriterTransportDataType"); + private final static QName _ListOfBrokerDataSetWriterTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrokerDataSetWriterTransportDataType"); + private final static QName _BrokerDataSetReaderTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrokerDataSetReaderTransportDataType"); + private final static QName _ListOfBrokerDataSetReaderTransportDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrokerDataSetReaderTransportDataType"); + private final static QName _DiagnosticsLevel_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiagnosticsLevel"); + private final static QName _ListOfDiagnosticsLevel_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDiagnosticsLevel"); + private final static QName _PubSubDiagnosticsCounterClassification_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PubSubDiagnosticsCounterClassification"); + private final static QName _ListOfPubSubDiagnosticsCounterClassification_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfPubSubDiagnosticsCounterClassification"); + private final static QName _AliasNameDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AliasNameDataType"); + private final static QName _ListOfAliasNameDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfAliasNameDataType"); + private final static QName _IdType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IdType"); + private final static QName _ListOfIdType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfIdType"); + private final static QName _NodeClass_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeClass"); + private final static QName _PermissionType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PermissionType"); + private final static QName _AccessLevelType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AccessLevelType"); + private final static QName _AccessLevelExType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AccessLevelExType"); + private final static QName _EventNotifierType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventNotifierType"); + private final static QName _RolePermissionType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RolePermissionType"); + private final static QName _ListOfRolePermissionType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfRolePermissionType"); + private final static QName _DataTypeDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataTypeDefinition"); + private final static QName _ListOfDataTypeDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDataTypeDefinition"); + private final static QName _StructureType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StructureType"); + private final static QName _StructureField_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StructureField"); + private final static QName _ListOfStructureField_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfStructureField"); + private final static QName _StructureDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StructureDefinition"); + private final static QName _ListOfStructureDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfStructureDefinition"); + private final static QName _EnumDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EnumDefinition"); + private final static QName _ListOfEnumDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEnumDefinition"); + private final static QName _Node_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Node"); + private final static QName _ListOfNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNode"); + private final static QName _InstanceNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InstanceNode"); + private final static QName _TypeNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TypeNode"); + private final static QName _ObjectNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ObjectNode"); + private final static QName _ObjectTypeNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ObjectTypeNode"); + private final static QName _VariableNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "VariableNode"); + private final static QName _VariableTypeNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "VariableTypeNode"); + private final static QName _ReferenceTypeNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferenceTypeNode"); + private final static QName _MethodNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MethodNode"); + private final static QName _ViewNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ViewNode"); + private final static QName _DataTypeNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataTypeNode"); + private final static QName _ReferenceNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferenceNode"); + private final static QName _ListOfReferenceNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfReferenceNode"); + private final static QName _Argument_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Argument"); + private final static QName _ListOfArgument_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfArgument"); + private final static QName _EnumValueType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EnumValueType"); + private final static QName _ListOfEnumValueType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEnumValueType"); + private final static QName _EnumField_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EnumField"); + private final static QName _ListOfEnumField_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEnumField"); + private final static QName _OptionSet_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OptionSet"); + private final static QName _ListOfOptionSet_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfOptionSet"); + private final static QName _Union_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Union"); + private final static QName _ListOfUnion_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUnion"); + private final static QName _NormalizedString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NormalizedString"); + private final static QName _DecimalString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DecimalString"); + private final static QName _DurationString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DurationString"); + private final static QName _TimeString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TimeString"); + private final static QName _DateString_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DateString"); + private final static QName _Duration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Duration"); + private final static QName _UtcTime_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UtcTime"); + private final static QName _LocaleId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LocaleId"); + private final static QName _TimeZoneDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TimeZoneDataType"); + private final static QName _ListOfTimeZoneDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfTimeZoneDataType"); + private final static QName _Index_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Index"); + private final static QName _IntegerId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IntegerId"); + private final static QName _ApplicationType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ApplicationType"); + private final static QName _ApplicationDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ApplicationDescription"); + private final static QName _ListOfApplicationDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfApplicationDescription"); + private final static QName _RequestHeader_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RequestHeader"); + private final static QName _ResponseHeader_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ResponseHeader"); + private final static QName _VersionTime_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "VersionTime"); + private final static QName _ServiceFault_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServiceFault"); + private final static QName _SessionlessInvokeRequestType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionlessInvokeRequestType"); + private final static QName _SessionlessInvokeResponseType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionlessInvokeResponseType"); + private final static QName _FindServersRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FindServersRequest"); + private final static QName _FindServersResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FindServersResponse"); + private final static QName _ServerOnNetwork_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerOnNetwork"); + private final static QName _ListOfServerOnNetwork_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfServerOnNetwork"); + private final static QName _FindServersOnNetworkRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FindServersOnNetworkRequest"); + private final static QName _FindServersOnNetworkResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FindServersOnNetworkResponse"); + private final static QName _ApplicationInstanceCertificate_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ApplicationInstanceCertificate"); + private final static QName _MessageSecurityMode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MessageSecurityMode"); + private final static QName _UserTokenType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserTokenType"); + private final static QName _UserTokenPolicy_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserTokenPolicy"); + private final static QName _ListOfUserTokenPolicy_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfUserTokenPolicy"); + private final static QName _EndpointDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EndpointDescription"); + private final static QName _ListOfEndpointDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEndpointDescription"); + private final static QName _GetEndpointsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "GetEndpointsRequest"); + private final static QName _GetEndpointsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "GetEndpointsResponse"); + private final static QName _RegisteredServer_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisteredServer"); + private final static QName _ListOfRegisteredServer_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfRegisteredServer"); + private final static QName _RegisterServerRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterServerRequest"); + private final static QName _RegisterServerResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterServerResponse"); + private final static QName _DiscoveryConfiguration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiscoveryConfiguration"); + private final static QName _MdnsDiscoveryConfiguration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MdnsDiscoveryConfiguration"); + private final static QName _RegisterServer2Request_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterServer2Request"); + private final static QName _RegisterServer2Response_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterServer2Response"); + private final static QName _SecurityTokenRequestType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SecurityTokenRequestType"); + private final static QName _ChannelSecurityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ChannelSecurityToken"); + private final static QName _OpenSecureChannelRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OpenSecureChannelRequest"); + private final static QName _OpenSecureChannelResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OpenSecureChannelResponse"); + private final static QName _CloseSecureChannelRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CloseSecureChannelRequest"); + private final static QName _CloseSecureChannelResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CloseSecureChannelResponse"); + private final static QName _SignedSoftwareCertificate_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SignedSoftwareCertificate"); + private final static QName _ListOfSignedSoftwareCertificate_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSignedSoftwareCertificate"); + private final static QName _SessionAuthenticationToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionAuthenticationToken"); + private final static QName _SignatureData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SignatureData"); + private final static QName _CreateSessionRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateSessionRequest"); + private final static QName _CreateSessionResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateSessionResponse"); + private final static QName _UserIdentityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserIdentityToken"); + private final static QName _AnonymousIdentityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AnonymousIdentityToken"); + private final static QName _UserNameIdentityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserNameIdentityToken"); + private final static QName _X509IdentityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "X509IdentityToken"); + private final static QName _IssuedIdentityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IssuedIdentityToken"); + private final static QName _RsaEncryptedSecret_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RsaEncryptedSecret"); + private final static QName _EccEncryptedSecret_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EccEncryptedSecret"); + private final static QName _ActivateSessionRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ActivateSessionRequest"); + private final static QName _ActivateSessionResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ActivateSessionResponse"); + private final static QName _CloseSessionRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CloseSessionRequest"); + private final static QName _CloseSessionResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CloseSessionResponse"); + private final static QName _CancelRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CancelRequest"); + private final static QName _CancelResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CancelResponse"); + private final static QName _NodeAttributesMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeAttributesMask"); + private final static QName _NodeAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeAttributes"); + private final static QName _ObjectAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ObjectAttributes"); + private final static QName _VariableAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "VariableAttributes"); + private final static QName _MethodAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MethodAttributes"); + private final static QName _ObjectTypeAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ObjectTypeAttributes"); + private final static QName _VariableTypeAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "VariableTypeAttributes"); + private final static QName _ReferenceTypeAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferenceTypeAttributes"); + private final static QName _DataTypeAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataTypeAttributes"); + private final static QName _ViewAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ViewAttributes"); + private final static QName _GenericAttributeValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "GenericAttributeValue"); + private final static QName _ListOfGenericAttributeValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfGenericAttributeValue"); + private final static QName _GenericAttributes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "GenericAttributes"); + private final static QName _AddNodesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddNodesItem"); + private final static QName _ListOfAddNodesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfAddNodesItem"); + private final static QName _AddNodesResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddNodesResult"); + private final static QName _ListOfAddNodesResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfAddNodesResult"); + private final static QName _AddNodesRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddNodesRequest"); + private final static QName _AddNodesResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddNodesResponse"); + private final static QName _AddReferencesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddReferencesItem"); + private final static QName _ListOfAddReferencesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfAddReferencesItem"); + private final static QName _AddReferencesRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddReferencesRequest"); + private final static QName _AddReferencesResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddReferencesResponse"); + private final static QName _DeleteNodesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteNodesItem"); + private final static QName _ListOfDeleteNodesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDeleteNodesItem"); + private final static QName _DeleteNodesRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteNodesRequest"); + private final static QName _DeleteNodesResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteNodesResponse"); + private final static QName _DeleteReferencesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteReferencesItem"); + private final static QName _ListOfDeleteReferencesItem_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfDeleteReferencesItem"); + private final static QName _DeleteReferencesRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteReferencesRequest"); + private final static QName _DeleteReferencesResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteReferencesResponse"); + private final static QName _AttributeWriteMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AttributeWriteMask"); + private final static QName _BrowseDirection_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseDirection"); + private final static QName _ViewDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ViewDescription"); + private final static QName _BrowseDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseDescription"); + private final static QName _ListOfBrowseDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrowseDescription"); + private final static QName _BrowseResultMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseResultMask"); + private final static QName _ReferenceDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferenceDescription"); + private final static QName _ListOfReferenceDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfReferenceDescription"); + private final static QName _ContinuationPoint_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ContinuationPoint"); + private final static QName _BrowseResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseResult"); + private final static QName _ListOfBrowseResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrowseResult"); + private final static QName _BrowseRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseRequest"); + private final static QName _BrowseResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseResponse"); + private final static QName _BrowseNextRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseNextRequest"); + private final static QName _BrowseNextResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseNextResponse"); + private final static QName _RelativePathElement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RelativePathElement"); + private final static QName _ListOfRelativePathElement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfRelativePathElement"); + private final static QName _RelativePath_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RelativePath"); + private final static QName _BrowsePath_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowsePath"); + private final static QName _ListOfBrowsePath_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrowsePath"); + private final static QName _BrowsePathTarget_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowsePathTarget"); + private final static QName _ListOfBrowsePathTarget_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrowsePathTarget"); + private final static QName _BrowsePathResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowsePathResult"); + private final static QName _ListOfBrowsePathResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfBrowsePathResult"); + private final static QName _TranslateBrowsePathsToNodeIdsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TranslateBrowsePathsToNodeIdsRequest"); + private final static QName _TranslateBrowsePathsToNodeIdsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TranslateBrowsePathsToNodeIdsResponse"); + private final static QName _RegisterNodesRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterNodesRequest"); + private final static QName _RegisterNodesResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterNodesResponse"); + private final static QName _UnregisterNodesRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UnregisterNodesRequest"); + private final static QName _UnregisterNodesResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UnregisterNodesResponse"); + private final static QName _Counter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Counter"); + private final static QName _NumericRange_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NumericRange"); + private final static QName _EndpointConfiguration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EndpointConfiguration"); + private final static QName _ListOfEndpointConfiguration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEndpointConfiguration"); + private final static QName _QueryDataDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryDataDescription"); + private final static QName _ListOfQueryDataDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfQueryDataDescription"); + private final static QName _NodeTypeDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeTypeDescription"); + private final static QName _ListOfNodeTypeDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNodeTypeDescription"); + private final static QName _FilterOperator_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FilterOperator"); + private final static QName _QueryDataSet_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryDataSet"); + private final static QName _ListOfQueryDataSet_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfQueryDataSet"); + private final static QName _NodeReference_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeReference"); + private final static QName _ListOfNodeReference_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNodeReference"); + private final static QName _ContentFilterElement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ContentFilterElement"); + private final static QName _ListOfContentFilterElement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfContentFilterElement"); + private final static QName _ContentFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ContentFilter"); + private final static QName _ListOfContentFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfContentFilter"); + private final static QName _FilterOperand_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FilterOperand"); + private final static QName _ElementOperand_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ElementOperand"); + private final static QName _LiteralOperand_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LiteralOperand"); + private final static QName _AttributeOperand_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AttributeOperand"); + private final static QName _SimpleAttributeOperand_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SimpleAttributeOperand"); + private final static QName _ListOfSimpleAttributeOperand_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSimpleAttributeOperand"); + private final static QName _ContentFilterElementResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ContentFilterElementResult"); + private final static QName _ListOfContentFilterElementResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfContentFilterElementResult"); + private final static QName _ContentFilterResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ContentFilterResult"); + private final static QName _ParsingResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ParsingResult"); + private final static QName _ListOfParsingResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfParsingResult"); + private final static QName _QueryFirstRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryFirstRequest"); + private final static QName _QueryFirstResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryFirstResponse"); + private final static QName _QueryNextRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryNextRequest"); + private final static QName _QueryNextResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryNextResponse"); + private final static QName _TimestampsToReturn_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TimestampsToReturn"); + private final static QName _ReadValueId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadValueId"); + private final static QName _ListOfReadValueId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfReadValueId"); + private final static QName _ReadRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadRequest"); + private final static QName _ReadResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadResponse"); + private final static QName _HistoryReadValueId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryReadValueId"); + private final static QName _ListOfHistoryReadValueId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfHistoryReadValueId"); + private final static QName _HistoryReadResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryReadResult"); + private final static QName _ListOfHistoryReadResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfHistoryReadResult"); + private final static QName _HistoryReadDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryReadDetails"); + private final static QName _ReadEventDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadEventDetails"); + private final static QName _ReadRawModifiedDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadRawModifiedDetails"); + private final static QName _ReadProcessedDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadProcessedDetails"); + private final static QName _ReadAtTimeDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadAtTimeDetails"); + private final static QName _ReadAnnotationDataDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadAnnotationDataDetails"); + private final static QName _HistoryData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryData"); + private final static QName _ModificationInfo_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModificationInfo"); + private final static QName _ListOfModificationInfo_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfModificationInfo"); + private final static QName _HistoryModifiedData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryModifiedData"); + private final static QName _HistoryEvent_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryEvent"); + private final static QName _HistoryReadRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryReadRequest"); + private final static QName _HistoryReadResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryReadResponse"); + private final static QName _WriteValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriteValue"); + private final static QName _ListOfWriteValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfWriteValue"); + private final static QName _WriteRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriteRequest"); + private final static QName _WriteResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriteResponse"); + private final static QName _HistoryUpdateDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryUpdateDetails"); + private final static QName _HistoryUpdateType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryUpdateType"); + private final static QName _PerformUpdateType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PerformUpdateType"); + private final static QName _UpdateDataDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UpdateDataDetails"); + private final static QName _UpdateStructureDataDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UpdateStructureDataDetails"); + private final static QName _UpdateEventDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UpdateEventDetails"); + private final static QName _DeleteRawModifiedDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteRawModifiedDetails"); + private final static QName _DeleteAtTimeDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteAtTimeDetails"); + private final static QName _DeleteEventDetails_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteEventDetails"); + private final static QName _HistoryUpdateResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryUpdateResult"); + private final static QName _ListOfHistoryUpdateResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfHistoryUpdateResult"); + private final static QName _HistoryUpdateRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryUpdateRequest"); + private final static QName _HistoryUpdateResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryUpdateResponse"); + private final static QName _CallMethodRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CallMethodRequest"); + private final static QName _ListOfCallMethodRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfCallMethodRequest"); + private final static QName _CallMethodResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CallMethodResult"); + private final static QName _ListOfCallMethodResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfCallMethodResult"); + private final static QName _CallRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CallRequest"); + private final static QName _CallResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CallResponse"); + private final static QName _MonitoringMode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoringMode"); + private final static QName _DataChangeTrigger_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataChangeTrigger"); + private final static QName _DeadbandType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeadbandType"); + private final static QName _MonitoringFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoringFilter"); + private final static QName _DataChangeFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataChangeFilter"); + private final static QName _EventFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventFilter"); + private final static QName _AggregateConfiguration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AggregateConfiguration"); + private final static QName _AggregateFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AggregateFilter"); + private final static QName _MonitoringFilterResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoringFilterResult"); + private final static QName _EventFilterResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventFilterResult"); + private final static QName _AggregateFilterResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AggregateFilterResult"); + private final static QName _MonitoringParameters_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoringParameters"); + private final static QName _MonitoredItemCreateRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItemCreateRequest"); + private final static QName _ListOfMonitoredItemCreateRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfMonitoredItemCreateRequest"); + private final static QName _MonitoredItemCreateResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItemCreateResult"); + private final static QName _ListOfMonitoredItemCreateResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfMonitoredItemCreateResult"); + private final static QName _CreateMonitoredItemsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateMonitoredItemsRequest"); + private final static QName _CreateMonitoredItemsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateMonitoredItemsResponse"); + private final static QName _MonitoredItemModifyRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItemModifyRequest"); + private final static QName _ListOfMonitoredItemModifyRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfMonitoredItemModifyRequest"); + private final static QName _MonitoredItemModifyResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItemModifyResult"); + private final static QName _ListOfMonitoredItemModifyResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfMonitoredItemModifyResult"); + private final static QName _ModifyMonitoredItemsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModifyMonitoredItemsRequest"); + private final static QName _ModifyMonitoredItemsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModifyMonitoredItemsResponse"); + private final static QName _SetMonitoringModeRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetMonitoringModeRequest"); + private final static QName _SetMonitoringModeResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetMonitoringModeResponse"); + private final static QName _SetTriggeringRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetTriggeringRequest"); + private final static QName _SetTriggeringResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetTriggeringResponse"); + private final static QName _DeleteMonitoredItemsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteMonitoredItemsRequest"); + private final static QName _DeleteMonitoredItemsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteMonitoredItemsResponse"); + private final static QName _CreateSubscriptionRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateSubscriptionRequest"); + private final static QName _CreateSubscriptionResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateSubscriptionResponse"); + private final static QName _ModifySubscriptionRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModifySubscriptionRequest"); + private final static QName _ModifySubscriptionResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModifySubscriptionResponse"); + private final static QName _SetPublishingModeRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetPublishingModeRequest"); + private final static QName _SetPublishingModeResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetPublishingModeResponse"); + private final static QName _NotificationMessage_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NotificationMessage"); + private final static QName _NotificationData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NotificationData"); + private final static QName _DataChangeNotification_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataChangeNotification"); + private final static QName _MonitoredItemNotification_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItemNotification"); + private final static QName _ListOfMonitoredItemNotification_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfMonitoredItemNotification"); + private final static QName _EventNotificationList_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventNotificationList"); + private final static QName _EventFieldList_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventFieldList"); + private final static QName _ListOfEventFieldList_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEventFieldList"); + private final static QName _HistoryEventFieldList_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryEventFieldList"); + private final static QName _ListOfHistoryEventFieldList_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfHistoryEventFieldList"); + private final static QName _StatusChangeNotification_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StatusChangeNotification"); + private final static QName _SubscriptionAcknowledgement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscriptionAcknowledgement"); + private final static QName _ListOfSubscriptionAcknowledgement_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSubscriptionAcknowledgement"); + private final static QName _PublishRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishRequest"); + private final static QName _PublishResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishResponse"); + private final static QName _RepublishRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RepublishRequest"); + private final static QName _RepublishResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RepublishResponse"); + private final static QName _TransferResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransferResult"); + private final static QName _ListOfTransferResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfTransferResult"); + private final static QName _TransferSubscriptionsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransferSubscriptionsRequest"); + private final static QName _TransferSubscriptionsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransferSubscriptionsResponse"); + private final static QName _DeleteSubscriptionsRequest_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteSubscriptionsRequest"); + private final static QName _DeleteSubscriptionsResponse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteSubscriptionsResponse"); + private final static QName _BuildInfo_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BuildInfo"); + private final static QName _RedundancySupport_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RedundancySupport"); + private final static QName _ServerState_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerState"); + private final static QName _RedundantServerDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RedundantServerDataType"); + private final static QName _ListOfRedundantServerDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfRedundantServerDataType"); + private final static QName _EndpointUrlListDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EndpointUrlListDataType"); + private final static QName _ListOfEndpointUrlListDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfEndpointUrlListDataType"); + private final static QName _NetworkGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NetworkGroupDataType"); + private final static QName _ListOfNetworkGroupDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfNetworkGroupDataType"); + private final static QName _SamplingIntervalDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SamplingIntervalDiagnosticsDataType"); + private final static QName _ListOfSamplingIntervalDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSamplingIntervalDiagnosticsDataType"); + private final static QName _ServerDiagnosticsSummaryDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerDiagnosticsSummaryDataType"); + private final static QName _ServerStatusDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerStatusDataType"); + private final static QName _SessionDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionDiagnosticsDataType"); + private final static QName _ListOfSessionDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSessionDiagnosticsDataType"); + private final static QName _SessionSecurityDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionSecurityDiagnosticsDataType"); + private final static QName _ListOfSessionSecurityDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSessionSecurityDiagnosticsDataType"); + private final static QName _ServiceCounterDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServiceCounterDataType"); + private final static QName _StatusResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StatusResult"); + private final static QName _ListOfStatusResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfStatusResult"); + private final static QName _SubscriptionDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscriptionDiagnosticsDataType"); + private final static QName _ListOfSubscriptionDiagnosticsDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSubscriptionDiagnosticsDataType"); + private final static QName _ModelChangeStructureVerbMask_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModelChangeStructureVerbMask"); + private final static QName _ModelChangeStructureDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModelChangeStructureDataType"); + private final static QName _ListOfModelChangeStructureDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfModelChangeStructureDataType"); + private final static QName _SemanticChangeStructureDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SemanticChangeStructureDataType"); + private final static QName _ListOfSemanticChangeStructureDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ListOfSemanticChangeStructureDataType"); + private final static QName _Range_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Range"); + private final static QName _EUInformation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EUInformation"); + private final static QName _AxisScaleEnumeration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AxisScaleEnumeration"); + private final static QName _ComplexNumberType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ComplexNumberType"); + private final static QName _DoubleComplexNumberType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DoubleComplexNumberType"); + private final static QName _AxisInformation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AxisInformation"); + private final static QName _XVType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "XVType"); + private final static QName _ProgramDiagnosticDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ProgramDiagnosticDataType"); + private final static QName _ProgramDiagnostic2DataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ProgramDiagnostic2DataType"); + private final static QName _Annotation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Annotation"); + private final static QName _ExceptionDeviationFormat_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ExceptionDeviationFormat"); + private final static QName _AnnotationMessage_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Message"); + private final static QName _AnnotationUserName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserName"); + private final static QName _ProgramDiagnostic2DataTypeCreateSessionId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateSessionId"); + private final static QName _ProgramDiagnostic2DataTypeCreateClientName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateClientName"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodCall_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodCall"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodSessionId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodSessionId"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodInputArguments_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodInputArguments"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodOutputArguments_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodOutputArguments"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodInputValues_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodInputValues"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodOutputValues_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodOutputValues"); + private final static QName _ProgramDiagnostic2DataTypeLastMethodReturnStatus_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LastMethodReturnStatus"); + private final static QName _AxisInformationEngineeringUnits_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EngineeringUnits"); + private final static QName _AxisInformationEURange_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EURange"); + private final static QName _AxisInformationTitle_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Title"); + private final static QName _AxisInformationAxisSteps_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AxisSteps"); + private final static QName _EUInformationNamespaceUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NamespaceUri"); + private final static QName _EUInformationDisplayName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DisplayName"); + private final static QName _EUInformationDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Description"); + private final static QName _SemanticChangeStructureDataTypeAffected_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Affected"); + private final static QName _SemanticChangeStructureDataTypeAffectedType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AffectedType"); + private final static QName _SubscriptionDiagnosticsDataTypeSessionId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionId"); + private final static QName _SessionSecurityDiagnosticsDataTypeClientUserIdOfSession_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientUserIdOfSession"); + private final static QName _SessionSecurityDiagnosticsDataTypeClientUserIdHistory_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientUserIdHistory"); + private final static QName _SessionSecurityDiagnosticsDataTypeAuthenticationMechanism_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AuthenticationMechanism"); + private final static QName _SessionSecurityDiagnosticsDataTypeEncoding_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Encoding"); + private final static QName _SessionSecurityDiagnosticsDataTypeTransportProtocol_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransportProtocol"); + private final static QName _SessionSecurityDiagnosticsDataTypeSecurityPolicyUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SecurityPolicyUri"); + private final static QName _SessionSecurityDiagnosticsDataTypeClientCertificate_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientCertificate"); + private final static QName _SessionDiagnosticsDataTypeSessionName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SessionName"); + private final static QName _SessionDiagnosticsDataTypeClientDescription_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientDescription"); + private final static QName _SessionDiagnosticsDataTypeServerUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerUri"); + private final static QName _SessionDiagnosticsDataTypeEndpointUrl_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EndpointUrl"); + private final static QName _SessionDiagnosticsDataTypeLocaleIds_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LocaleIds"); + private final static QName _SessionDiagnosticsDataTypeTotalRequestCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TotalRequestCount"); + private final static QName _SessionDiagnosticsDataTypeReadCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReadCount"); + private final static QName _SessionDiagnosticsDataTypeHistoryReadCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryReadCount"); + private final static QName _SessionDiagnosticsDataTypeWriteCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriteCount"); + private final static QName _SessionDiagnosticsDataTypeHistoryUpdateCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HistoryUpdateCount"); + private final static QName _SessionDiagnosticsDataTypeCallCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CallCount"); + private final static QName _SessionDiagnosticsDataTypeCreateMonitoredItemsCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateMonitoredItemsCount"); + private final static QName _SessionDiagnosticsDataTypeModifyMonitoredItemsCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModifyMonitoredItemsCount"); + private final static QName _SessionDiagnosticsDataTypeSetMonitoringModeCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetMonitoringModeCount"); + private final static QName _SessionDiagnosticsDataTypeSetTriggeringCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetTriggeringCount"); + private final static QName _SessionDiagnosticsDataTypeDeleteMonitoredItemsCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteMonitoredItemsCount"); + private final static QName _SessionDiagnosticsDataTypeCreateSubscriptionCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CreateSubscriptionCount"); + private final static QName _SessionDiagnosticsDataTypeModifySubscriptionCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModifySubscriptionCount"); + private final static QName _SessionDiagnosticsDataTypeSetPublishingModeCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SetPublishingModeCount"); + private final static QName _SessionDiagnosticsDataTypePublishCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishCount"); + private final static QName _SessionDiagnosticsDataTypeRepublishCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RepublishCount"); + private final static QName _SessionDiagnosticsDataTypeTransferSubscriptionsCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransferSubscriptionsCount"); + private final static QName _SessionDiagnosticsDataTypeDeleteSubscriptionsCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteSubscriptionsCount"); + private final static QName _SessionDiagnosticsDataTypeAddNodesCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddNodesCount"); + private final static QName _SessionDiagnosticsDataTypeAddReferencesCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddReferencesCount"); + private final static QName _SessionDiagnosticsDataTypeDeleteNodesCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteNodesCount"); + private final static QName _SessionDiagnosticsDataTypeDeleteReferencesCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DeleteReferencesCount"); + private final static QName _SessionDiagnosticsDataTypeBrowseCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseCount"); + private final static QName _SessionDiagnosticsDataTypeBrowseNextCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseNextCount"); + private final static QName _SessionDiagnosticsDataTypeTranslateBrowsePathsToNodeIdsCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TranslateBrowsePathsToNodeIdsCount"); + private final static QName _SessionDiagnosticsDataTypeQueryFirstCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryFirstCount"); + private final static QName _SessionDiagnosticsDataTypeQueryNextCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryNextCount"); + private final static QName _SessionDiagnosticsDataTypeRegisterNodesCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisterNodesCount"); + private final static QName _SessionDiagnosticsDataTypeUnregisterNodesCount_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UnregisterNodesCount"); + private final static QName _ServerStatusDataTypeShutdownReason_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ShutdownReason"); + private final static QName _NetworkGroupDataTypeNetworkPaths_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NetworkPaths"); + private final static QName _EndpointUrlListDataTypeEndpointUrlList_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EndpointUrlList"); + private final static QName _RedundantServerDataTypeServerId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerId"); + private final static QName _BuildInfoProductUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ProductUri"); + private final static QName _BuildInfoManufacturerName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ManufacturerName"); + private final static QName _BuildInfoProductName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ProductName"); + private final static QName _BuildInfoSoftwareVersion_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SoftwareVersion"); + private final static QName _BuildInfoBuildNumber_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BuildNumber"); + private final static QName _DeleteSubscriptionsResponseResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Results"); + private final static QName _DeleteSubscriptionsResponseDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiagnosticInfos"); + private final static QName _DeleteSubscriptionsRequestSubscriptionIds_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscriptionIds"); + private final static QName _TransferResultAvailableSequenceNumbers_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AvailableSequenceNumbers"); + private final static QName _PublishRequestSubscriptionAcknowledgements_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscriptionAcknowledgements"); + private final static QName _HistoryEventFieldListEventFields_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventFields"); + private final static QName _EventNotificationListEvents_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Events"); + private final static QName _MonitoredItemNotificationValue_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Value"); + private final static QName _DataChangeNotificationMonitoredItems_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItems"); + private final static QName _DeleteMonitoredItemsRequestMonitoredItemIds_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MonitoredItemIds"); + private final static QName _SetTriggeringResponseAddResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddResults"); + private final static QName _SetTriggeringResponseAddDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddDiagnosticInfos"); + private final static QName _SetTriggeringResponseRemoveResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RemoveResults"); + private final static QName _SetTriggeringResponseRemoveDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RemoveDiagnosticInfos"); + private final static QName _SetTriggeringRequestLinksToAdd_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LinksToAdd"); + private final static QName _SetTriggeringRequestLinksToRemove_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "LinksToRemove"); + private final static QName _ModifyMonitoredItemsRequestItemsToModify_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ItemsToModify"); + private final static QName _MonitoredItemModifyResultFilterResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FilterResult"); + private final static QName _MonitoredItemModifyRequestRequestedParameters_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RequestedParameters"); + private final static QName _CreateMonitoredItemsRequestItemsToCreate_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ItemsToCreate"); + private final static QName _MonitoredItemCreateRequestItemToMonitor_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ItemToMonitor"); + private final static QName _MonitoringParametersFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Filter"); + private final static QName _AggregateFilterResultRevisedAggregateConfiguration_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RevisedAggregateConfiguration"); + private final static QName _EventFilterResultSelectClauseResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SelectClauseResults"); + private final static QName _EventFilterResultSelectClauseDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SelectClauseDiagnosticInfos"); + private final static QName _EventFilterResultWhereClauseResult_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WhereClauseResult"); + private final static QName _AggregateFilterAggregateType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AggregateType"); + private final static QName _EventFilterSelectClauses_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SelectClauses"); + private final static QName _EventFilterWhereClause_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WhereClause"); + private final static QName _CallRequestMethodsToCall_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MethodsToCall"); + private final static QName _CallMethodResultInputArgumentResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InputArgumentResults"); + private final static QName _CallMethodResultInputArgumentDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InputArgumentDiagnosticInfos"); + private final static QName _CallMethodResultOutputArguments_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OutputArguments"); + private final static QName _CallMethodRequestObjectId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ObjectId"); + private final static QName _CallMethodRequestMethodId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MethodId"); + private final static QName _CallMethodRequestInputArguments_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InputArguments"); + private final static QName _HistoryUpdateResultOperationResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OperationResults"); + private final static QName _DeleteEventDetailsEventIds_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventIds"); + private final static QName _DeleteAtTimeDetailsReqTimes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReqTimes"); + private final static QName _UpdateEventDetailsEventData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventData"); + private final static QName _UpdateStructureDataDetailsUpdateValues_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UpdateValues"); + private final static QName _WriteRequestNodesToWrite_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToWrite"); + private final static QName _WriteValueIndexRange_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IndexRange"); + private final static QName _HistoryReadRequestNodesToRead_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToRead"); + private final static QName _HistoryDataDataValues_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataValues"); + private final static QName _HistoryModifiedDataModificationInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ModificationInfos"); + private final static QName _HistoryReadValueIdDataEncoding_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataEncoding"); + private final static QName _QueryNextResponseQueryDataSets_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueryDataSets"); + private final static QName _QueryNextResponseRevisedContinuationPoint_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RevisedContinuationPoint"); + private final static QName _QueryFirstResponseParsingResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ParsingResults"); + private final static QName _QueryFirstRequestView_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "View"); + private final static QName _QueryFirstRequestNodeTypes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodeTypes"); + private final static QName _ParsingResultDataStatusCodes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataStatusCodes"); + private final static QName _ParsingResultDataDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataDiagnosticInfos"); + private final static QName _ContentFilterResultElementResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ElementResults"); + private final static QName _ContentFilterResultElementDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ElementDiagnosticInfos"); + private final static QName _ContentFilterElementResultOperandStatusCodes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OperandStatusCodes"); + private final static QName _ContentFilterElementResultOperandDiagnosticInfos_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "OperandDiagnosticInfos"); + private final static QName _SimpleAttributeOperandTypeDefinitionId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TypeDefinitionId"); + private final static QName _AttributeOperandAlias_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Alias"); + private final static QName _ContentFilterElements_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Elements"); + private final static QName _ContentFilterElementFilterOperands_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FilterOperands"); + private final static QName _NodeReferenceReferenceTypeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferenceTypeId"); + private final static QName _NodeReferenceReferencedNodeIds_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferencedNodeIds"); + private final static QName _QueryDataSetTypeDefinitionNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TypeDefinitionNode"); + private final static QName _QueryDataSetValues_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Values"); + private final static QName _NodeTypeDescriptionDataToReturn_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataToReturn"); + private final static QName _UnregisterNodesRequestNodesToUnregister_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToUnregister"); + private final static QName _RegisterNodesResponseRegisteredNodeIds_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RegisteredNodeIds"); + private final static QName _RegisterNodesRequestNodesToRegister_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToRegister"); + private final static QName _TranslateBrowsePathsToNodeIdsRequestBrowsePaths_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowsePaths"); + private final static QName _BrowsePathResultTargets_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Targets"); + private final static QName _BrowsePathTargetTargetId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TargetId"); + private final static QName _BrowsePathStartingNode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StartingNode"); + private final static QName _RelativePathElementTargetName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TargetName"); + private final static QName _BrowseNextRequestContinuationPoints_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ContinuationPoints"); + private final static QName _BrowseRequestNodesToBrowse_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToBrowse"); + private final static QName _BrowseResultReferences_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "References"); + private final static QName _ReferenceDescriptionBrowseName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BrowseName"); + private final static QName _ReferenceDescriptionTypeDefinition_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TypeDefinition"); + private final static QName _ViewDescriptionViewId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ViewId"); + private final static QName _DeleteReferencesRequestReferencesToDelete_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferencesToDelete"); + private final static QName _DeleteReferencesItemSourceNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SourceNodeId"); + private final static QName _DeleteReferencesItemTargetNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TargetNodeId"); + private final static QName _DeleteNodesRequestNodesToDelete_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToDelete"); + private final static QName _AddReferencesRequestReferencesToAdd_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferencesToAdd"); + private final static QName _AddReferencesItemTargetServerUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TargetServerUri"); + private final static QName _AddNodesRequestNodesToAdd_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NodesToAdd"); + private final static QName _AddNodesResultAddedNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AddedNodeId"); + private final static QName _AddNodesItemParentNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ParentNodeId"); + private final static QName _AddNodesItemRequestedNewNodeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RequestedNewNodeId"); + private final static QName _GenericAttributesAttributeValues_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AttributeValues"); + private final static QName _ReferenceTypeAttributesInverseName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "InverseName"); + private final static QName _VariableTypeAttributesDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataType"); + private final static QName _VariableTypeAttributesArrayDimensions_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ArrayDimensions"); + private final static QName _ActivateSessionResponseServerNonce_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerNonce"); + private final static QName _ActivateSessionRequestClientSignature_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientSignature"); + private final static QName _ActivateSessionRequestClientSoftwareCertificates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientSoftwareCertificates"); + private final static QName _ActivateSessionRequestUserTokenSignature_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserTokenSignature"); + private final static QName _UserIdentityTokenPolicyId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PolicyId"); + private final static QName _IssuedIdentityTokenTokenData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TokenData"); + private final static QName _IssuedIdentityTokenEncryptionAlgorithm_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EncryptionAlgorithm"); + private final static QName _X509IdentityTokenCertificateData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "CertificateData"); + private final static QName _UserNameIdentityTokenPassword_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Password"); + private final static QName _CreateSessionResponseAuthenticationToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AuthenticationToken"); + private final static QName _CreateSessionResponseServerCertificate_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerCertificate"); + private final static QName _CreateSessionResponseServerEndpoints_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerEndpoints"); + private final static QName _CreateSessionResponseServerSoftwareCertificates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerSoftwareCertificates"); + private final static QName _CreateSessionResponseServerSignature_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerSignature"); + private final static QName _CreateSessionRequestClientNonce_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ClientNonce"); + private final static QName _SignatureDataAlgorithm_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Algorithm"); + private final static QName _SignatureDataSignature_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Signature"); + private final static QName _OpenSecureChannelResponseSecurityToken_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SecurityToken"); + private final static QName _RegisterServer2ResponseConfigurationResults_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ConfigurationResults"); + private final static QName _RegisterServer2RequestServer_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Server"); + private final static QName _MdnsDiscoveryConfigurationMdnsServerName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MdnsServerName"); + private final static QName _MdnsDiscoveryConfigurationServerCapabilities_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerCapabilities"); + private final static QName _RegisteredServerServerNames_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerNames"); + private final static QName _RegisteredServerGatewayServerUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "GatewayServerUri"); + private final static QName _RegisteredServerDiscoveryUrls_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiscoveryUrls"); + private final static QName _RegisteredServerSemaphoreFilePath_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SemaphoreFilePath"); + private final static QName _GetEndpointsResponseEndpoints_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Endpoints"); + private final static QName _GetEndpointsRequestProfileUris_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ProfileUris"); + private final static QName _EndpointDescriptionUserIdentityTokens_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserIdentityTokens"); + private final static QName _EndpointDescriptionTransportProfileUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransportProfileUri"); + private final static QName _UserTokenPolicyIssuedTokenType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IssuedTokenType"); + private final static QName _UserTokenPolicyIssuerEndpointUrl_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IssuerEndpointUrl"); + private final static QName _FindServersOnNetworkResponseServers_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Servers"); + private final static QName _FindServersOnNetworkRequestServerCapabilityFilter_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerCapabilityFilter"); + private final static QName _ServerOnNetworkServerName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerName"); + private final static QName _ServerOnNetworkDiscoveryUrl_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiscoveryUrl"); + private final static QName _FindServersRequestServerUris_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServerUris"); + private final static QName _SessionlessInvokeResponseTypeNamespaceUris_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NamespaceUris"); + private final static QName _ResponseHeaderServiceDiagnostics_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ServiceDiagnostics"); + private final static QName _ResponseHeaderStringTable_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StringTable"); + private final static QName _ResponseHeaderAdditionalHeader_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AdditionalHeader"); + private final static QName _RequestHeaderAuditEntryId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AuditEntryId"); + private final static QName _ApplicationDescriptionApplicationUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ApplicationUri"); + private final static QName _ApplicationDescriptionApplicationName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ApplicationName"); + private final static QName _ApplicationDescriptionDiscoveryProfileUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiscoveryProfileUri"); + private final static QName _OptionSetValidBits_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ValidBits"); + private final static QName _EnumFieldName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Name"); + private final static QName _NodeRolePermissions_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RolePermissions"); + private final static QName _NodeUserRolePermissions_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "UserRolePermissions"); + private final static QName _EnumDefinitionFields_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Fields"); + private final static QName _StructureDefinitionDefaultEncodingId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DefaultEncodingId"); + private final static QName _StructureDefinitionBaseDataType_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "BaseDataType"); + private final static QName _RolePermissionTypeRoleId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "RoleId"); + private final static QName _AliasNameDataTypeAliasName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AliasName"); + private final static QName _AliasNameDataTypeReferencedNodes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReferencedNodes"); + private final static QName _BrokerDataSetReaderTransportDataTypeQueueName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "QueueName"); + private final static QName _BrokerDataSetReaderTransportDataTypeResourceUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ResourceUri"); + private final static QName _BrokerDataSetReaderTransportDataTypeAuthenticationProfileUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AuthenticationProfileUri"); + private final static QName _BrokerDataSetReaderTransportDataTypeMetaDataQueueName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MetaDataQueueName"); + private final static QName _DatagramConnectionTransportDataTypeDiscoveryAddress_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DiscoveryAddress"); + private final static QName _UadpWriterGroupMessageDataTypePublishingOffset_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishingOffset"); + private final static QName _PubSubConfigurationDataTypePublishedDataSets_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedDataSets"); + private final static QName _PubSubConfigurationDataTypeConnections_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Connections"); + private final static QName _SubscribedDataSetMirrorDataTypeParentNodeName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ParentNodeName"); + private final static QName _FieldTargetDataTypeReceiverIndexRange_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReceiverIndexRange"); + private final static QName _FieldTargetDataTypeWriteIndexRange_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriteIndexRange"); + private final static QName _TargetVariablesDataTypeTargetVariables_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TargetVariables"); + private final static QName _DataSetReaderDataTypeDataSetMetaData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetMetaData"); + private final static QName _DataSetReaderDataTypeHeaderLayoutUri_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "HeaderLayoutUri"); + private final static QName _DataSetReaderDataTypeSecurityGroupId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SecurityGroupId"); + private final static QName _DataSetReaderDataTypeSecurityKeyServices_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SecurityKeyServices"); + private final static QName _DataSetReaderDataTypeDataSetReaderProperties_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetReaderProperties"); + private final static QName _DataSetReaderDataTypeTransportSettings_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TransportSettings"); + private final static QName _DataSetReaderDataTypeMessageSettings_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MessageSettings"); + private final static QName _DataSetReaderDataTypeSubscribedDataSet_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SubscribedDataSet"); + private final static QName _PubSubGroupDataTypeGroupProperties_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "GroupProperties"); + private final static QName _ReaderGroupDataTypeDataSetReaders_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetReaders"); + private final static QName _NetworkAddressDataTypeNetworkInterface_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "NetworkInterface"); + private final static QName _NetworkAddressUrlDataTypeUrl_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Url"); + private final static QName _PubSubConnectionDataTypeAddress_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Address"); + private final static QName _PubSubConnectionDataTypeConnectionProperties_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ConnectionProperties"); + private final static QName _PubSubConnectionDataTypeWriterGroups_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "WriterGroups"); + private final static QName _PubSubConnectionDataTypeReaderGroups_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ReaderGroups"); + private final static QName _WriterGroupDataTypeDataSetWriters_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetWriters"); + private final static QName _DataSetWriterDataTypeDataSetName_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetName"); + private final static QName _DataSetWriterDataTypeDataSetWriterProperties_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetWriterProperties"); + private final static QName _PublishedEventsDataTypeEventNotifier_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EventNotifier"); + private final static QName _PublishedEventsDataTypeSelectedFields_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SelectedFields"); + private final static QName _PublishedDataItemsDataTypePublishedData_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedData"); + private final static QName _PublishedVariableDataTypePublishedVariable_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublishedVariable"); + private final static QName _PublishedVariableDataTypeMetaDataProperties_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "MetaDataProperties"); + private final static QName _PublishedDataSetDataTypeDataSetFolder_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetFolder"); + private final static QName _PublishedDataSetDataTypeExtensionFields_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ExtensionFields"); + private final static QName _PublishedDataSetDataTypeDataSetSource_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataSetSource"); + private final static QName _FieldMetaDataProperties_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Properties"); + private final static QName _DataTypeSchemaHeaderNamespaces_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Namespaces"); + private final static QName _DataTypeSchemaHeaderStructureDataTypes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "StructureDataTypes"); + private final static QName _DataTypeSchemaHeaderEnumDataTypes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "EnumDataTypes"); + private final static QName _DataTypeSchemaHeaderSimpleDataTypes_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SimpleDataTypes"); + private final static QName _DataSetMetaDataTypeConfigurationVersion_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "ConfigurationVersion"); + private final static QName _UABinaryFileDataTypeSchemaLocation_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "SchemaLocation"); + private final static QName _UABinaryFileDataTypeFileHeader_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "FileHeader"); + private final static QName _DataTypeDescriptionDataTypeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "DataTypeId"); + private final static QName _TrustListDataTypeTrustedCertificates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TrustedCertificates"); + private final static QName _TrustListDataTypeTrustedCrls_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TrustedCrls"); + private final static QName _TrustListDataTypeIssuerCertificates_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IssuerCertificates"); + private final static QName _TrustListDataTypeIssuerCrls_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "IssuerCrls"); + private final static QName _CurrencyUnitTypeAlphabeticCode_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "AlphabeticCode"); + private final static QName _CurrencyUnitTypeCurrency_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Currency"); + private final static QName _IdentityMappingRuleTypeCriteria_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Criteria"); + private final static QName _EphemeralKeyTypePublicKey_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "PublicKey"); + private final static QName _AdditionalParametersTypeParameters_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Parameters"); + private final static QName _KeyValuePairKey_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Key"); + private final static QName _ExtensionObjectTypeId_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "TypeId"); + private final static QName _ExtensionObjectBody_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Body"); + private final static QName _LocalizedTextLocale_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Locale"); + private final static QName _LocalizedTextText_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Text"); + private final static QName _ExpandedNodeIdIdentifier_QNAME = new QName("http://opcfoundation.org/UA/2008/02/Types.xsd", "Identifier"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.opcfoundation.ua._2008._02.types + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link Variant } + * + */ + public Variant createVariant() { + return new Variant(); + } + + /** + * Create an instance of {@link ExtensionObject } + * + */ + public ExtensionObject createExtensionObject() { + return new ExtensionObject(); + } + + /** + * Create an instance of {@link ListOfXmlElement } + * + */ + public ListOfXmlElement createListOfXmlElement() { + return new ListOfXmlElement(); + } + + /** + * Create an instance of {@link ListOfBoolean } + * + */ + public ListOfBoolean createListOfBoolean() { + return new ListOfBoolean(); + } + + /** + * Create an instance of {@link ListOfSByte } + * + */ + public ListOfSByte createListOfSByte() { + return new ListOfSByte(); + } + + /** + * Create an instance of {@link ListOfByte } + * + */ + public ListOfByte createListOfByte() { + return new ListOfByte(); + } + + /** + * Create an instance of {@link ListOfInt16 } + * + */ + public ListOfInt16 createListOfInt16() { + return new ListOfInt16(); + } + + /** + * Create an instance of {@link ListOfUInt16 } + * + */ + public ListOfUInt16 createListOfUInt16() { + return new ListOfUInt16(); + } + + /** + * Create an instance of {@link ListOfInt32 } + * + */ + public ListOfInt32 createListOfInt32() { + return new ListOfInt32(); + } + + /** + * Create an instance of {@link ListOfUInt32 } + * + */ + public ListOfUInt32 createListOfUInt32() { + return new ListOfUInt32(); + } + + /** + * Create an instance of {@link ListOfInt64 } + * + */ + public ListOfInt64 createListOfInt64() { + return new ListOfInt64(); + } + + /** + * Create an instance of {@link ListOfUInt64 } + * + */ + public ListOfUInt64 createListOfUInt64() { + return new ListOfUInt64(); + } + + /** + * Create an instance of {@link ListOfFloat } + * + */ + public ListOfFloat createListOfFloat() { + return new ListOfFloat(); + } + + /** + * Create an instance of {@link ListOfDouble } + * + */ + public ListOfDouble createListOfDouble() { + return new ListOfDouble(); + } + + /** + * Create an instance of {@link ListOfString } + * + */ + public ListOfString createListOfString() { + return new ListOfString(); + } + + /** + * Create an instance of {@link ListOfDateTime } + * + */ + public ListOfDateTime createListOfDateTime() { + return new ListOfDateTime(); + } + + /** + * Create an instance of {@link Guid } + * + */ + public Guid createGuid() { + return new Guid(); + } + + /** + * Create an instance of {@link ListOfGuid } + * + */ + public ListOfGuid createListOfGuid() { + return new ListOfGuid(); + } + + /** + * Create an instance of {@link ListOfByteString } + * + */ + public ListOfByteString createListOfByteString() { + return new ListOfByteString(); + } + + /** + * Create an instance of {@link NodeId } + * + */ + public NodeId createNodeId() { + return new NodeId(); + } + + /** + * Create an instance of {@link ListOfNodeId } + * + */ + public ListOfNodeId createListOfNodeId() { + return new ListOfNodeId(); + } + + /** + * Create an instance of {@link ExpandedNodeId } + * + */ + public ExpandedNodeId createExpandedNodeId() { + return new ExpandedNodeId(); + } + + /** + * Create an instance of {@link ListOfExpandedNodeId } + * + */ + public ListOfExpandedNodeId createListOfExpandedNodeId() { + return new ListOfExpandedNodeId(); + } + + /** + * Create an instance of {@link StatusCode } + * + */ + public StatusCode createStatusCode() { + return new StatusCode(); + } + + /** + * Create an instance of {@link ListOfStatusCode } + * + */ + public ListOfStatusCode createListOfStatusCode() { + return new ListOfStatusCode(); + } + + /** + * Create an instance of {@link DiagnosticInfo } + * + */ + public DiagnosticInfo createDiagnosticInfo() { + return new DiagnosticInfo(); + } + + /** + * Create an instance of {@link ListOfDiagnosticInfo } + * + */ + public ListOfDiagnosticInfo createListOfDiagnosticInfo() { + return new ListOfDiagnosticInfo(); + } + + /** + * Create an instance of {@link LocalizedText } + * + */ + public LocalizedText createLocalizedText() { + return new LocalizedText(); + } + + /** + * Create an instance of {@link ListOfLocalizedText } + * + */ + public ListOfLocalizedText createListOfLocalizedText() { + return new ListOfLocalizedText(); + } + + /** + * Create an instance of {@link QualifiedName } + * + */ + public QualifiedName createQualifiedName() { + return new QualifiedName(); + } + + /** + * Create an instance of {@link ListOfQualifiedName } + * + */ + public ListOfQualifiedName createListOfQualifiedName() { + return new ListOfQualifiedName(); + } + + /** + * Create an instance of {@link ListOfExtensionObject } + * + */ + public ListOfExtensionObject createListOfExtensionObject() { + return new ListOfExtensionObject(); + } + + /** + * Create an instance of {@link ListOfVariant } + * + */ + public ListOfVariant createListOfVariant() { + return new ListOfVariant(); + } + + /** + * Create an instance of {@link DataValue } + * + */ + public DataValue createDataValue() { + return new DataValue(); + } + + /** + * Create an instance of {@link ListOfDataValue } + * + */ + public ListOfDataValue createListOfDataValue() { + return new ListOfDataValue(); + } + + /** + * Create an instance of {@link KeyValuePair } + * + */ + public KeyValuePair createKeyValuePair() { + return new KeyValuePair(); + } + + /** + * Create an instance of {@link ListOfKeyValuePair } + * + */ + public ListOfKeyValuePair createListOfKeyValuePair() { + return new ListOfKeyValuePair(); + } + + /** + * Create an instance of {@link AdditionalParametersType } + * + */ + public AdditionalParametersType createAdditionalParametersType() { + return new AdditionalParametersType(); + } + + /** + * Create an instance of {@link EphemeralKeyType } + * + */ + public EphemeralKeyType createEphemeralKeyType() { + return new EphemeralKeyType(); + } + + /** + * Create an instance of {@link EndpointType } + * + */ + public EndpointType createEndpointType() { + return new EndpointType(); + } + + /** + * Create an instance of {@link ListOfEndpointType } + * + */ + public ListOfEndpointType createListOfEndpointType() { + return new ListOfEndpointType(); + } + + /** + * Create an instance of {@link RationalNumber } + * + */ + public RationalNumber createRationalNumber() { + return new RationalNumber(); + } + + /** + * Create an instance of {@link ListOfRationalNumber } + * + */ + public ListOfRationalNumber createListOfRationalNumber() { + return new ListOfRationalNumber(); + } + + /** + * Create an instance of {@link Vector } + * + */ + public Vector createVector() { + return new Vector(); + } + + /** + * Create an instance of {@link ListOfVector } + * + */ + public ListOfVector createListOfVector() { + return new ListOfVector(); + } + + /** + * Create an instance of {@link ThreeDVector } + * + */ + public ThreeDVector createThreeDVector() { + return new ThreeDVector(); + } + + /** + * Create an instance of {@link ListOfThreeDVector } + * + */ + public ListOfThreeDVector createListOfThreeDVector() { + return new ListOfThreeDVector(); + } + + /** + * Create an instance of {@link CartesianCoordinates } + * + */ + public CartesianCoordinates createCartesianCoordinates() { + return new CartesianCoordinates(); + } + + /** + * Create an instance of {@link ListOfCartesianCoordinates } + * + */ + public ListOfCartesianCoordinates createListOfCartesianCoordinates() { + return new ListOfCartesianCoordinates(); + } + + /** + * Create an instance of {@link ThreeDCartesianCoordinates } + * + */ + public ThreeDCartesianCoordinates createThreeDCartesianCoordinates() { + return new ThreeDCartesianCoordinates(); + } + + /** + * Create an instance of {@link ListOfThreeDCartesianCoordinates } + * + */ + public ListOfThreeDCartesianCoordinates createListOfThreeDCartesianCoordinates() { + return new ListOfThreeDCartesianCoordinates(); + } + + /** + * Create an instance of {@link Orientation } + * + */ + public Orientation createOrientation() { + return new Orientation(); + } + + /** + * Create an instance of {@link ListOfOrientation } + * + */ + public ListOfOrientation createListOfOrientation() { + return new ListOfOrientation(); + } + + /** + * Create an instance of {@link ThreeDOrientation } + * + */ + public ThreeDOrientation createThreeDOrientation() { + return new ThreeDOrientation(); + } + + /** + * Create an instance of {@link ListOfThreeDOrientation } + * + */ + public ListOfThreeDOrientation createListOfThreeDOrientation() { + return new ListOfThreeDOrientation(); + } + + /** + * Create an instance of {@link Frame } + * + */ + public Frame createFrame() { + return new Frame(); + } + + /** + * Create an instance of {@link ListOfFrame } + * + */ + public ListOfFrame createListOfFrame() { + return new ListOfFrame(); + } + + /** + * Create an instance of {@link ThreeDFrame } + * + */ + public ThreeDFrame createThreeDFrame() { + return new ThreeDFrame(); + } + + /** + * Create an instance of {@link ListOfThreeDFrame } + * + */ + public ListOfThreeDFrame createListOfThreeDFrame() { + return new ListOfThreeDFrame(); + } + + /** + * Create an instance of {@link ListOfOpenFileMode } + * + */ + public ListOfOpenFileMode createListOfOpenFileMode() { + return new ListOfOpenFileMode(); + } + + /** + * Create an instance of {@link ListOfIdentityCriteriaType } + * + */ + public ListOfIdentityCriteriaType createListOfIdentityCriteriaType() { + return new ListOfIdentityCriteriaType(); + } + + /** + * Create an instance of {@link IdentityMappingRuleType } + * + */ + public IdentityMappingRuleType createIdentityMappingRuleType() { + return new IdentityMappingRuleType(); + } + + /** + * Create an instance of {@link ListOfIdentityMappingRuleType } + * + */ + public ListOfIdentityMappingRuleType createListOfIdentityMappingRuleType() { + return new ListOfIdentityMappingRuleType(); + } + + /** + * Create an instance of {@link CurrencyUnitType } + * + */ + public CurrencyUnitType createCurrencyUnitType() { + return new CurrencyUnitType(); + } + + /** + * Create an instance of {@link ListOfCurrencyUnitType } + * + */ + public ListOfCurrencyUnitType createListOfCurrencyUnitType() { + return new ListOfCurrencyUnitType(); + } + + /** + * Create an instance of {@link TrustListDataType } + * + */ + public TrustListDataType createTrustListDataType() { + return new TrustListDataType(); + } + + /** + * Create an instance of {@link ListOfTrustListDataType } + * + */ + public ListOfTrustListDataType createListOfTrustListDataType() { + return new ListOfTrustListDataType(); + } + + /** + * Create an instance of {@link DecimalDataType } + * + */ + public DecimalDataType createDecimalDataType() { + return new DecimalDataType(); + } + + /** + * Create an instance of {@link DataTypeSchemaHeader } + * + */ + public DataTypeSchemaHeader createDataTypeSchemaHeader() { + return new DataTypeSchemaHeader(); + } + + /** + * Create an instance of {@link ListOfDataTypeSchemaHeader } + * + */ + public ListOfDataTypeSchemaHeader createListOfDataTypeSchemaHeader() { + return new ListOfDataTypeSchemaHeader(); + } + + /** + * Create an instance of {@link DataTypeDescription } + * + */ + public DataTypeDescription createDataTypeDescription() { + return new DataTypeDescription(); + } + + /** + * Create an instance of {@link ListOfDataTypeDescription } + * + */ + public ListOfDataTypeDescription createListOfDataTypeDescription() { + return new ListOfDataTypeDescription(); + } + + /** + * Create an instance of {@link StructureDescription } + * + */ + public StructureDescription createStructureDescription() { + return new StructureDescription(); + } + + /** + * Create an instance of {@link ListOfStructureDescription } + * + */ + public ListOfStructureDescription createListOfStructureDescription() { + return new ListOfStructureDescription(); + } + + /** + * Create an instance of {@link EnumDescription } + * + */ + public EnumDescription createEnumDescription() { + return new EnumDescription(); + } + + /** + * Create an instance of {@link ListOfEnumDescription } + * + */ + public ListOfEnumDescription createListOfEnumDescription() { + return new ListOfEnumDescription(); + } + + /** + * Create an instance of {@link SimpleTypeDescription } + * + */ + public SimpleTypeDescription createSimpleTypeDescription() { + return new SimpleTypeDescription(); + } + + /** + * Create an instance of {@link ListOfSimpleTypeDescription } + * + */ + public ListOfSimpleTypeDescription createListOfSimpleTypeDescription() { + return new ListOfSimpleTypeDescription(); + } + + /** + * Create an instance of {@link UABinaryFileDataType } + * + */ + public UABinaryFileDataType createUABinaryFileDataType() { + return new UABinaryFileDataType(); + } + + /** + * Create an instance of {@link ListOfUABinaryFileDataType } + * + */ + public ListOfUABinaryFileDataType createListOfUABinaryFileDataType() { + return new ListOfUABinaryFileDataType(); + } + + /** + * Create an instance of {@link ListOfPubSubState } + * + */ + public ListOfPubSubState createListOfPubSubState() { + return new ListOfPubSubState(); + } + + /** + * Create an instance of {@link DataSetMetaDataType } + * + */ + public DataSetMetaDataType createDataSetMetaDataType() { + return new DataSetMetaDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetMetaDataType } + * + */ + public ListOfDataSetMetaDataType createListOfDataSetMetaDataType() { + return new ListOfDataSetMetaDataType(); + } + + /** + * Create an instance of {@link FieldMetaData } + * + */ + public FieldMetaData createFieldMetaData() { + return new FieldMetaData(); + } + + /** + * Create an instance of {@link ListOfFieldMetaData } + * + */ + public ListOfFieldMetaData createListOfFieldMetaData() { + return new ListOfFieldMetaData(); + } + + /** + * Create an instance of {@link ConfigurationVersionDataType } + * + */ + public ConfigurationVersionDataType createConfigurationVersionDataType() { + return new ConfigurationVersionDataType(); + } + + /** + * Create an instance of {@link ListOfConfigurationVersionDataType } + * + */ + public ListOfConfigurationVersionDataType createListOfConfigurationVersionDataType() { + return new ListOfConfigurationVersionDataType(); + } + + /** + * Create an instance of {@link PublishedDataSetDataType } + * + */ + public PublishedDataSetDataType createPublishedDataSetDataType() { + return new PublishedDataSetDataType(); + } + + /** + * Create an instance of {@link ListOfPublishedDataSetDataType } + * + */ + public ListOfPublishedDataSetDataType createListOfPublishedDataSetDataType() { + return new ListOfPublishedDataSetDataType(); + } + + /** + * Create an instance of {@link PublishedDataSetSourceDataType } + * + */ + public PublishedDataSetSourceDataType createPublishedDataSetSourceDataType() { + return new PublishedDataSetSourceDataType(); + } + + /** + * Create an instance of {@link ListOfPublishedDataSetSourceDataType } + * + */ + public ListOfPublishedDataSetSourceDataType createListOfPublishedDataSetSourceDataType() { + return new ListOfPublishedDataSetSourceDataType(); + } + + /** + * Create an instance of {@link PublishedVariableDataType } + * + */ + public PublishedVariableDataType createPublishedVariableDataType() { + return new PublishedVariableDataType(); + } + + /** + * Create an instance of {@link ListOfPublishedVariableDataType } + * + */ + public ListOfPublishedVariableDataType createListOfPublishedVariableDataType() { + return new ListOfPublishedVariableDataType(); + } + + /** + * Create an instance of {@link PublishedDataItemsDataType } + * + */ + public PublishedDataItemsDataType createPublishedDataItemsDataType() { + return new PublishedDataItemsDataType(); + } + + /** + * Create an instance of {@link ListOfPublishedDataItemsDataType } + * + */ + public ListOfPublishedDataItemsDataType createListOfPublishedDataItemsDataType() { + return new ListOfPublishedDataItemsDataType(); + } + + /** + * Create an instance of {@link PublishedEventsDataType } + * + */ + public PublishedEventsDataType createPublishedEventsDataType() { + return new PublishedEventsDataType(); + } + + /** + * Create an instance of {@link ListOfPublishedEventsDataType } + * + */ + public ListOfPublishedEventsDataType createListOfPublishedEventsDataType() { + return new ListOfPublishedEventsDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetFieldContentMask } + * + */ + public ListOfDataSetFieldContentMask createListOfDataSetFieldContentMask() { + return new ListOfDataSetFieldContentMask(); + } + + /** + * Create an instance of {@link DataSetWriterDataType } + * + */ + public DataSetWriterDataType createDataSetWriterDataType() { + return new DataSetWriterDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetWriterDataType } + * + */ + public ListOfDataSetWriterDataType createListOfDataSetWriterDataType() { + return new ListOfDataSetWriterDataType(); + } + + /** + * Create an instance of {@link DataSetWriterTransportDataType } + * + */ + public DataSetWriterTransportDataType createDataSetWriterTransportDataType() { + return new DataSetWriterTransportDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetWriterTransportDataType } + * + */ + public ListOfDataSetWriterTransportDataType createListOfDataSetWriterTransportDataType() { + return new ListOfDataSetWriterTransportDataType(); + } + + /** + * Create an instance of {@link DataSetWriterMessageDataType } + * + */ + public DataSetWriterMessageDataType createDataSetWriterMessageDataType() { + return new DataSetWriterMessageDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetWriterMessageDataType } + * + */ + public ListOfDataSetWriterMessageDataType createListOfDataSetWriterMessageDataType() { + return new ListOfDataSetWriterMessageDataType(); + } + + /** + * Create an instance of {@link PubSubGroupDataType } + * + */ + public PubSubGroupDataType createPubSubGroupDataType() { + return new PubSubGroupDataType(); + } + + /** + * Create an instance of {@link ListOfPubSubGroupDataType } + * + */ + public ListOfPubSubGroupDataType createListOfPubSubGroupDataType() { + return new ListOfPubSubGroupDataType(); + } + + /** + * Create an instance of {@link WriterGroupDataType } + * + */ + public WriterGroupDataType createWriterGroupDataType() { + return new WriterGroupDataType(); + } + + /** + * Create an instance of {@link ListOfWriterGroupDataType } + * + */ + public ListOfWriterGroupDataType createListOfWriterGroupDataType() { + return new ListOfWriterGroupDataType(); + } + + /** + * Create an instance of {@link WriterGroupTransportDataType } + * + */ + public WriterGroupTransportDataType createWriterGroupTransportDataType() { + return new WriterGroupTransportDataType(); + } + + /** + * Create an instance of {@link ListOfWriterGroupTransportDataType } + * + */ + public ListOfWriterGroupTransportDataType createListOfWriterGroupTransportDataType() { + return new ListOfWriterGroupTransportDataType(); + } + + /** + * Create an instance of {@link WriterGroupMessageDataType } + * + */ + public WriterGroupMessageDataType createWriterGroupMessageDataType() { + return new WriterGroupMessageDataType(); + } + + /** + * Create an instance of {@link ListOfWriterGroupMessageDataType } + * + */ + public ListOfWriterGroupMessageDataType createListOfWriterGroupMessageDataType() { + return new ListOfWriterGroupMessageDataType(); + } + + /** + * Create an instance of {@link PubSubConnectionDataType } + * + */ + public PubSubConnectionDataType createPubSubConnectionDataType() { + return new PubSubConnectionDataType(); + } + + /** + * Create an instance of {@link ListOfPubSubConnectionDataType } + * + */ + public ListOfPubSubConnectionDataType createListOfPubSubConnectionDataType() { + return new ListOfPubSubConnectionDataType(); + } + + /** + * Create an instance of {@link ConnectionTransportDataType } + * + */ + public ConnectionTransportDataType createConnectionTransportDataType() { + return new ConnectionTransportDataType(); + } + + /** + * Create an instance of {@link ListOfConnectionTransportDataType } + * + */ + public ListOfConnectionTransportDataType createListOfConnectionTransportDataType() { + return new ListOfConnectionTransportDataType(); + } + + /** + * Create an instance of {@link NetworkAddressDataType } + * + */ + public NetworkAddressDataType createNetworkAddressDataType() { + return new NetworkAddressDataType(); + } + + /** + * Create an instance of {@link ListOfNetworkAddressDataType } + * + */ + public ListOfNetworkAddressDataType createListOfNetworkAddressDataType() { + return new ListOfNetworkAddressDataType(); + } + + /** + * Create an instance of {@link NetworkAddressUrlDataType } + * + */ + public NetworkAddressUrlDataType createNetworkAddressUrlDataType() { + return new NetworkAddressUrlDataType(); + } + + /** + * Create an instance of {@link ListOfNetworkAddressUrlDataType } + * + */ + public ListOfNetworkAddressUrlDataType createListOfNetworkAddressUrlDataType() { + return new ListOfNetworkAddressUrlDataType(); + } + + /** + * Create an instance of {@link ReaderGroupDataType } + * + */ + public ReaderGroupDataType createReaderGroupDataType() { + return new ReaderGroupDataType(); + } + + /** + * Create an instance of {@link ListOfReaderGroupDataType } + * + */ + public ListOfReaderGroupDataType createListOfReaderGroupDataType() { + return new ListOfReaderGroupDataType(); + } + + /** + * Create an instance of {@link ReaderGroupTransportDataType } + * + */ + public ReaderGroupTransportDataType createReaderGroupTransportDataType() { + return new ReaderGroupTransportDataType(); + } + + /** + * Create an instance of {@link ListOfReaderGroupTransportDataType } + * + */ + public ListOfReaderGroupTransportDataType createListOfReaderGroupTransportDataType() { + return new ListOfReaderGroupTransportDataType(); + } + + /** + * Create an instance of {@link ReaderGroupMessageDataType } + * + */ + public ReaderGroupMessageDataType createReaderGroupMessageDataType() { + return new ReaderGroupMessageDataType(); + } + + /** + * Create an instance of {@link ListOfReaderGroupMessageDataType } + * + */ + public ListOfReaderGroupMessageDataType createListOfReaderGroupMessageDataType() { + return new ListOfReaderGroupMessageDataType(); + } + + /** + * Create an instance of {@link DataSetReaderDataType } + * + */ + public DataSetReaderDataType createDataSetReaderDataType() { + return new DataSetReaderDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetReaderDataType } + * + */ + public ListOfDataSetReaderDataType createListOfDataSetReaderDataType() { + return new ListOfDataSetReaderDataType(); + } + + /** + * Create an instance of {@link DataSetReaderTransportDataType } + * + */ + public DataSetReaderTransportDataType createDataSetReaderTransportDataType() { + return new DataSetReaderTransportDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetReaderTransportDataType } + * + */ + public ListOfDataSetReaderTransportDataType createListOfDataSetReaderTransportDataType() { + return new ListOfDataSetReaderTransportDataType(); + } + + /** + * Create an instance of {@link DataSetReaderMessageDataType } + * + */ + public DataSetReaderMessageDataType createDataSetReaderMessageDataType() { + return new DataSetReaderMessageDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetReaderMessageDataType } + * + */ + public ListOfDataSetReaderMessageDataType createListOfDataSetReaderMessageDataType() { + return new ListOfDataSetReaderMessageDataType(); + } + + /** + * Create an instance of {@link SubscribedDataSetDataType } + * + */ + public SubscribedDataSetDataType createSubscribedDataSetDataType() { + return new SubscribedDataSetDataType(); + } + + /** + * Create an instance of {@link ListOfSubscribedDataSetDataType } + * + */ + public ListOfSubscribedDataSetDataType createListOfSubscribedDataSetDataType() { + return new ListOfSubscribedDataSetDataType(); + } + + /** + * Create an instance of {@link TargetVariablesDataType } + * + */ + public TargetVariablesDataType createTargetVariablesDataType() { + return new TargetVariablesDataType(); + } + + /** + * Create an instance of {@link ListOfTargetVariablesDataType } + * + */ + public ListOfTargetVariablesDataType createListOfTargetVariablesDataType() { + return new ListOfTargetVariablesDataType(); + } + + /** + * Create an instance of {@link FieldTargetDataType } + * + */ + public FieldTargetDataType createFieldTargetDataType() { + return new FieldTargetDataType(); + } + + /** + * Create an instance of {@link ListOfFieldTargetDataType } + * + */ + public ListOfFieldTargetDataType createListOfFieldTargetDataType() { + return new ListOfFieldTargetDataType(); + } + + /** + * Create an instance of {@link ListOfOverrideValueHandling } + * + */ + public ListOfOverrideValueHandling createListOfOverrideValueHandling() { + return new ListOfOverrideValueHandling(); + } + + /** + * Create an instance of {@link SubscribedDataSetMirrorDataType } + * + */ + public SubscribedDataSetMirrorDataType createSubscribedDataSetMirrorDataType() { + return new SubscribedDataSetMirrorDataType(); + } + + /** + * Create an instance of {@link ListOfSubscribedDataSetMirrorDataType } + * + */ + public ListOfSubscribedDataSetMirrorDataType createListOfSubscribedDataSetMirrorDataType() { + return new ListOfSubscribedDataSetMirrorDataType(); + } + + /** + * Create an instance of {@link PubSubConfigurationDataType } + * + */ + public PubSubConfigurationDataType createPubSubConfigurationDataType() { + return new PubSubConfigurationDataType(); + } + + /** + * Create an instance of {@link ListOfPubSubConfigurationDataType } + * + */ + public ListOfPubSubConfigurationDataType createListOfPubSubConfigurationDataType() { + return new ListOfPubSubConfigurationDataType(); + } + + /** + * Create an instance of {@link ListOfDataSetOrderingType } + * + */ + public ListOfDataSetOrderingType createListOfDataSetOrderingType() { + return new ListOfDataSetOrderingType(); + } + + /** + * Create an instance of {@link ListOfUadpNetworkMessageContentMask } + * + */ + public ListOfUadpNetworkMessageContentMask createListOfUadpNetworkMessageContentMask() { + return new ListOfUadpNetworkMessageContentMask(); + } + + /** + * Create an instance of {@link UadpWriterGroupMessageDataType } + * + */ + public UadpWriterGroupMessageDataType createUadpWriterGroupMessageDataType() { + return new UadpWriterGroupMessageDataType(); + } + + /** + * Create an instance of {@link ListOfUadpWriterGroupMessageDataType } + * + */ + public ListOfUadpWriterGroupMessageDataType createListOfUadpWriterGroupMessageDataType() { + return new ListOfUadpWriterGroupMessageDataType(); + } + + /** + * Create an instance of {@link ListOfUadpDataSetMessageContentMask } + * + */ + public ListOfUadpDataSetMessageContentMask createListOfUadpDataSetMessageContentMask() { + return new ListOfUadpDataSetMessageContentMask(); + } + + /** + * Create an instance of {@link UadpDataSetWriterMessageDataType } + * + */ + public UadpDataSetWriterMessageDataType createUadpDataSetWriterMessageDataType() { + return new UadpDataSetWriterMessageDataType(); + } + + /** + * Create an instance of {@link ListOfUadpDataSetWriterMessageDataType } + * + */ + public ListOfUadpDataSetWriterMessageDataType createListOfUadpDataSetWriterMessageDataType() { + return new ListOfUadpDataSetWriterMessageDataType(); + } + + /** + * Create an instance of {@link UadpDataSetReaderMessageDataType } + * + */ + public UadpDataSetReaderMessageDataType createUadpDataSetReaderMessageDataType() { + return new UadpDataSetReaderMessageDataType(); + } + + /** + * Create an instance of {@link ListOfUadpDataSetReaderMessageDataType } + * + */ + public ListOfUadpDataSetReaderMessageDataType createListOfUadpDataSetReaderMessageDataType() { + return new ListOfUadpDataSetReaderMessageDataType(); + } + + /** + * Create an instance of {@link ListOfJsonNetworkMessageContentMask } + * + */ + public ListOfJsonNetworkMessageContentMask createListOfJsonNetworkMessageContentMask() { + return new ListOfJsonNetworkMessageContentMask(); + } + + /** + * Create an instance of {@link JsonWriterGroupMessageDataType } + * + */ + public JsonWriterGroupMessageDataType createJsonWriterGroupMessageDataType() { + return new JsonWriterGroupMessageDataType(); + } + + /** + * Create an instance of {@link ListOfJsonWriterGroupMessageDataType } + * + */ + public ListOfJsonWriterGroupMessageDataType createListOfJsonWriterGroupMessageDataType() { + return new ListOfJsonWriterGroupMessageDataType(); + } + + /** + * Create an instance of {@link ListOfJsonDataSetMessageContentMask } + * + */ + public ListOfJsonDataSetMessageContentMask createListOfJsonDataSetMessageContentMask() { + return new ListOfJsonDataSetMessageContentMask(); + } + + /** + * Create an instance of {@link JsonDataSetWriterMessageDataType } + * + */ + public JsonDataSetWriterMessageDataType createJsonDataSetWriterMessageDataType() { + return new JsonDataSetWriterMessageDataType(); + } + + /** + * Create an instance of {@link ListOfJsonDataSetWriterMessageDataType } + * + */ + public ListOfJsonDataSetWriterMessageDataType createListOfJsonDataSetWriterMessageDataType() { + return new ListOfJsonDataSetWriterMessageDataType(); + } + + /** + * Create an instance of {@link JsonDataSetReaderMessageDataType } + * + */ + public JsonDataSetReaderMessageDataType createJsonDataSetReaderMessageDataType() { + return new JsonDataSetReaderMessageDataType(); + } + + /** + * Create an instance of {@link ListOfJsonDataSetReaderMessageDataType } + * + */ + public ListOfJsonDataSetReaderMessageDataType createListOfJsonDataSetReaderMessageDataType() { + return new ListOfJsonDataSetReaderMessageDataType(); + } + + /** + * Create an instance of {@link DatagramConnectionTransportDataType } + * + */ + public DatagramConnectionTransportDataType createDatagramConnectionTransportDataType() { + return new DatagramConnectionTransportDataType(); + } + + /** + * Create an instance of {@link ListOfDatagramConnectionTransportDataType } + * + */ + public ListOfDatagramConnectionTransportDataType createListOfDatagramConnectionTransportDataType() { + return new ListOfDatagramConnectionTransportDataType(); + } + + /** + * Create an instance of {@link DatagramWriterGroupTransportDataType } + * + */ + public DatagramWriterGroupTransportDataType createDatagramWriterGroupTransportDataType() { + return new DatagramWriterGroupTransportDataType(); + } + + /** + * Create an instance of {@link ListOfDatagramWriterGroupTransportDataType } + * + */ + public ListOfDatagramWriterGroupTransportDataType createListOfDatagramWriterGroupTransportDataType() { + return new ListOfDatagramWriterGroupTransportDataType(); + } + + /** + * Create an instance of {@link BrokerConnectionTransportDataType } + * + */ + public BrokerConnectionTransportDataType createBrokerConnectionTransportDataType() { + return new BrokerConnectionTransportDataType(); + } + + /** + * Create an instance of {@link ListOfBrokerConnectionTransportDataType } + * + */ + public ListOfBrokerConnectionTransportDataType createListOfBrokerConnectionTransportDataType() { + return new ListOfBrokerConnectionTransportDataType(); + } + + /** + * Create an instance of {@link ListOfBrokerTransportQualityOfService } + * + */ + public ListOfBrokerTransportQualityOfService createListOfBrokerTransportQualityOfService() { + return new ListOfBrokerTransportQualityOfService(); + } + + /** + * Create an instance of {@link BrokerWriterGroupTransportDataType } + * + */ + public BrokerWriterGroupTransportDataType createBrokerWriterGroupTransportDataType() { + return new BrokerWriterGroupTransportDataType(); + } + + /** + * Create an instance of {@link ListOfBrokerWriterGroupTransportDataType } + * + */ + public ListOfBrokerWriterGroupTransportDataType createListOfBrokerWriterGroupTransportDataType() { + return new ListOfBrokerWriterGroupTransportDataType(); + } + + /** + * Create an instance of {@link BrokerDataSetWriterTransportDataType } + * + */ + public BrokerDataSetWriterTransportDataType createBrokerDataSetWriterTransportDataType() { + return new BrokerDataSetWriterTransportDataType(); + } + + /** + * Create an instance of {@link ListOfBrokerDataSetWriterTransportDataType } + * + */ + public ListOfBrokerDataSetWriterTransportDataType createListOfBrokerDataSetWriterTransportDataType() { + return new ListOfBrokerDataSetWriterTransportDataType(); + } + + /** + * Create an instance of {@link BrokerDataSetReaderTransportDataType } + * + */ + public BrokerDataSetReaderTransportDataType createBrokerDataSetReaderTransportDataType() { + return new BrokerDataSetReaderTransportDataType(); + } + + /** + * Create an instance of {@link ListOfBrokerDataSetReaderTransportDataType } + * + */ + public ListOfBrokerDataSetReaderTransportDataType createListOfBrokerDataSetReaderTransportDataType() { + return new ListOfBrokerDataSetReaderTransportDataType(); + } + + /** + * Create an instance of {@link ListOfDiagnosticsLevel } + * + */ + public ListOfDiagnosticsLevel createListOfDiagnosticsLevel() { + return new ListOfDiagnosticsLevel(); + } + + /** + * Create an instance of {@link ListOfPubSubDiagnosticsCounterClassification } + * + */ + public ListOfPubSubDiagnosticsCounterClassification createListOfPubSubDiagnosticsCounterClassification() { + return new ListOfPubSubDiagnosticsCounterClassification(); + } + + /** + * Create an instance of {@link AliasNameDataType } + * + */ + public AliasNameDataType createAliasNameDataType() { + return new AliasNameDataType(); + } + + /** + * Create an instance of {@link ListOfAliasNameDataType } + * + */ + public ListOfAliasNameDataType createListOfAliasNameDataType() { + return new ListOfAliasNameDataType(); + } + + /** + * Create an instance of {@link ListOfIdType } + * + */ + public ListOfIdType createListOfIdType() { + return new ListOfIdType(); + } + + /** + * Create an instance of {@link RolePermissionType } + * + */ + public RolePermissionType createRolePermissionType() { + return new RolePermissionType(); + } + + /** + * Create an instance of {@link ListOfRolePermissionType } + * + */ + public ListOfRolePermissionType createListOfRolePermissionType() { + return new ListOfRolePermissionType(); + } + + /** + * Create an instance of {@link DataTypeDefinition } + * + */ + public DataTypeDefinition createDataTypeDefinition() { + return new DataTypeDefinition(); + } + + /** + * Create an instance of {@link ListOfDataTypeDefinition } + * + */ + public ListOfDataTypeDefinition createListOfDataTypeDefinition() { + return new ListOfDataTypeDefinition(); + } + + /** + * Create an instance of {@link StructureField } + * + */ + public StructureField createStructureField() { + return new StructureField(); + } + + /** + * Create an instance of {@link ListOfStructureField } + * + */ + public ListOfStructureField createListOfStructureField() { + return new ListOfStructureField(); + } + + /** + * Create an instance of {@link StructureDefinition } + * + */ + public StructureDefinition createStructureDefinition() { + return new StructureDefinition(); + } + + /** + * Create an instance of {@link ListOfStructureDefinition } + * + */ + public ListOfStructureDefinition createListOfStructureDefinition() { + return new ListOfStructureDefinition(); + } + + /** + * Create an instance of {@link EnumDefinition } + * + */ + public EnumDefinition createEnumDefinition() { + return new EnumDefinition(); + } + + /** + * Create an instance of {@link ListOfEnumDefinition } + * + */ + public ListOfEnumDefinition createListOfEnumDefinition() { + return new ListOfEnumDefinition(); + } + + /** + * Create an instance of {@link Node } + * + */ + public Node createNode() { + return new Node(); + } + + /** + * Create an instance of {@link ListOfNode } + * + */ + public ListOfNode createListOfNode() { + return new ListOfNode(); + } + + /** + * Create an instance of {@link InstanceNode } + * + */ + public InstanceNode createInstanceNode() { + return new InstanceNode(); + } + + /** + * Create an instance of {@link TypeNode } + * + */ + public TypeNode createTypeNode() { + return new TypeNode(); + } + + /** + * Create an instance of {@link ObjectNode } + * + */ + public ObjectNode createObjectNode() { + return new ObjectNode(); + } + + /** + * Create an instance of {@link ObjectTypeNode } + * + */ + public ObjectTypeNode createObjectTypeNode() { + return new ObjectTypeNode(); + } + + /** + * Create an instance of {@link VariableNode } + * + */ + public VariableNode createVariableNode() { + return new VariableNode(); + } + + /** + * Create an instance of {@link VariableTypeNode } + * + */ + public VariableTypeNode createVariableTypeNode() { + return new VariableTypeNode(); + } + + /** + * Create an instance of {@link ReferenceTypeNode } + * + */ + public ReferenceTypeNode createReferenceTypeNode() { + return new ReferenceTypeNode(); + } + + /** + * Create an instance of {@link MethodNode } + * + */ + public MethodNode createMethodNode() { + return new MethodNode(); + } + + /** + * Create an instance of {@link ViewNode } + * + */ + public ViewNode createViewNode() { + return new ViewNode(); + } + + /** + * Create an instance of {@link DataTypeNode } + * + */ + public DataTypeNode createDataTypeNode() { + return new DataTypeNode(); + } + + /** + * Create an instance of {@link ReferenceNode } + * + */ + public ReferenceNode createReferenceNode() { + return new ReferenceNode(); + } + + /** + * Create an instance of {@link ListOfReferenceNode } + * + */ + public ListOfReferenceNode createListOfReferenceNode() { + return new ListOfReferenceNode(); + } + + /** + * Create an instance of {@link Argument } + * + */ + public Argument createArgument() { + return new Argument(); + } + + /** + * Create an instance of {@link ListOfArgument } + * + */ + public ListOfArgument createListOfArgument() { + return new ListOfArgument(); + } + + /** + * Create an instance of {@link EnumValueType } + * + */ + public EnumValueType createEnumValueType() { + return new EnumValueType(); + } + + /** + * Create an instance of {@link ListOfEnumValueType } + * + */ + public ListOfEnumValueType createListOfEnumValueType() { + return new ListOfEnumValueType(); + } + + /** + * Create an instance of {@link EnumField } + * + */ + public EnumField createEnumField() { + return new EnumField(); + } + + /** + * Create an instance of {@link ListOfEnumField } + * + */ + public ListOfEnumField createListOfEnumField() { + return new ListOfEnumField(); + } + + /** + * Create an instance of {@link OptionSet } + * + */ + public OptionSet createOptionSet() { + return new OptionSet(); + } + + /** + * Create an instance of {@link ListOfOptionSet } + * + */ + public ListOfOptionSet createListOfOptionSet() { + return new ListOfOptionSet(); + } + + /** + * Create an instance of {@link Union } + * + */ + public Union createUnion() { + return new Union(); + } + + /** + * Create an instance of {@link ListOfUnion } + * + */ + public ListOfUnion createListOfUnion() { + return new ListOfUnion(); + } + + /** + * Create an instance of {@link TimeZoneDataType } + * + */ + public TimeZoneDataType createTimeZoneDataType() { + return new TimeZoneDataType(); + } + + /** + * Create an instance of {@link ListOfTimeZoneDataType } + * + */ + public ListOfTimeZoneDataType createListOfTimeZoneDataType() { + return new ListOfTimeZoneDataType(); + } + + /** + * Create an instance of {@link ApplicationDescription } + * + */ + public ApplicationDescription createApplicationDescription() { + return new ApplicationDescription(); + } + + /** + * Create an instance of {@link ListOfApplicationDescription } + * + */ + public ListOfApplicationDescription createListOfApplicationDescription() { + return new ListOfApplicationDescription(); + } + + /** + * Create an instance of {@link RequestHeader } + * + */ + public RequestHeader createRequestHeader() { + return new RequestHeader(); + } + + /** + * Create an instance of {@link ResponseHeader } + * + */ + public ResponseHeader createResponseHeader() { + return new ResponseHeader(); + } + + /** + * Create an instance of {@link ServiceFault } + * + */ + public ServiceFault createServiceFault() { + return new ServiceFault(); + } + + /** + * Create an instance of {@link SessionlessInvokeRequestType } + * + */ + public SessionlessInvokeRequestType createSessionlessInvokeRequestType() { + return new SessionlessInvokeRequestType(); + } + + /** + * Create an instance of {@link SessionlessInvokeResponseType } + * + */ + public SessionlessInvokeResponseType createSessionlessInvokeResponseType() { + return new SessionlessInvokeResponseType(); + } + + /** + * Create an instance of {@link FindServersRequest } + * + */ + public FindServersRequest createFindServersRequest() { + return new FindServersRequest(); + } + + /** + * Create an instance of {@link FindServersResponse } + * + */ + public FindServersResponse createFindServersResponse() { + return new FindServersResponse(); + } + + /** + * Create an instance of {@link ServerOnNetwork } + * + */ + public ServerOnNetwork createServerOnNetwork() { + return new ServerOnNetwork(); + } + + /** + * Create an instance of {@link ListOfServerOnNetwork } + * + */ + public ListOfServerOnNetwork createListOfServerOnNetwork() { + return new ListOfServerOnNetwork(); + } + + /** + * Create an instance of {@link FindServersOnNetworkRequest } + * + */ + public FindServersOnNetworkRequest createFindServersOnNetworkRequest() { + return new FindServersOnNetworkRequest(); + } + + /** + * Create an instance of {@link FindServersOnNetworkResponse } + * + */ + public FindServersOnNetworkResponse createFindServersOnNetworkResponse() { + return new FindServersOnNetworkResponse(); + } + + /** + * Create an instance of {@link UserTokenPolicy } + * + */ + public UserTokenPolicy createUserTokenPolicy() { + return new UserTokenPolicy(); + } + + /** + * Create an instance of {@link ListOfUserTokenPolicy } + * + */ + public ListOfUserTokenPolicy createListOfUserTokenPolicy() { + return new ListOfUserTokenPolicy(); + } + + /** + * Create an instance of {@link EndpointDescription } + * + */ + public EndpointDescription createEndpointDescription() { + return new EndpointDescription(); + } + + /** + * Create an instance of {@link ListOfEndpointDescription } + * + */ + public ListOfEndpointDescription createListOfEndpointDescription() { + return new ListOfEndpointDescription(); + } + + /** + * Create an instance of {@link GetEndpointsRequest } + * + */ + public GetEndpointsRequest createGetEndpointsRequest() { + return new GetEndpointsRequest(); + } + + /** + * Create an instance of {@link GetEndpointsResponse } + * + */ + public GetEndpointsResponse createGetEndpointsResponse() { + return new GetEndpointsResponse(); + } + + /** + * Create an instance of {@link RegisteredServer } + * + */ + public RegisteredServer createRegisteredServer() { + return new RegisteredServer(); + } + + /** + * Create an instance of {@link ListOfRegisteredServer } + * + */ + public ListOfRegisteredServer createListOfRegisteredServer() { + return new ListOfRegisteredServer(); + } + + /** + * Create an instance of {@link RegisterServerRequest } + * + */ + public RegisterServerRequest createRegisterServerRequest() { + return new RegisterServerRequest(); + } + + /** + * Create an instance of {@link RegisterServerResponse } + * + */ + public RegisterServerResponse createRegisterServerResponse() { + return new RegisterServerResponse(); + } + + /** + * Create an instance of {@link DiscoveryConfiguration } + * + */ + public DiscoveryConfiguration createDiscoveryConfiguration() { + return new DiscoveryConfiguration(); + } + + /** + * Create an instance of {@link MdnsDiscoveryConfiguration } + * + */ + public MdnsDiscoveryConfiguration createMdnsDiscoveryConfiguration() { + return new MdnsDiscoveryConfiguration(); + } + + /** + * Create an instance of {@link RegisterServer2Request } + * + */ + public RegisterServer2Request createRegisterServer2Request() { + return new RegisterServer2Request(); + } + + /** + * Create an instance of {@link RegisterServer2Response } + * + */ + public RegisterServer2Response createRegisterServer2Response() { + return new RegisterServer2Response(); + } + + /** + * Create an instance of {@link ChannelSecurityToken } + * + */ + public ChannelSecurityToken createChannelSecurityToken() { + return new ChannelSecurityToken(); + } + + /** + * Create an instance of {@link OpenSecureChannelRequest } + * + */ + public OpenSecureChannelRequest createOpenSecureChannelRequest() { + return new OpenSecureChannelRequest(); + } + + /** + * Create an instance of {@link OpenSecureChannelResponse } + * + */ + public OpenSecureChannelResponse createOpenSecureChannelResponse() { + return new OpenSecureChannelResponse(); + } + + /** + * Create an instance of {@link CloseSecureChannelRequest } + * + */ + public CloseSecureChannelRequest createCloseSecureChannelRequest() { + return new CloseSecureChannelRequest(); + } + + /** + * Create an instance of {@link CloseSecureChannelResponse } + * + */ + public CloseSecureChannelResponse createCloseSecureChannelResponse() { + return new CloseSecureChannelResponse(); + } + + /** + * Create an instance of {@link SignedSoftwareCertificate } + * + */ + public SignedSoftwareCertificate createSignedSoftwareCertificate() { + return new SignedSoftwareCertificate(); + } + + /** + * Create an instance of {@link ListOfSignedSoftwareCertificate } + * + */ + public ListOfSignedSoftwareCertificate createListOfSignedSoftwareCertificate() { + return new ListOfSignedSoftwareCertificate(); + } + + /** + * Create an instance of {@link SignatureData } + * + */ + public SignatureData createSignatureData() { + return new SignatureData(); + } + + /** + * Create an instance of {@link CreateSessionRequest } + * + */ + public CreateSessionRequest createCreateSessionRequest() { + return new CreateSessionRequest(); + } + + /** + * Create an instance of {@link CreateSessionResponse } + * + */ + public CreateSessionResponse createCreateSessionResponse() { + return new CreateSessionResponse(); + } + + /** + * Create an instance of {@link UserIdentityToken } + * + */ + public UserIdentityToken createUserIdentityToken() { + return new UserIdentityToken(); + } + + /** + * Create an instance of {@link AnonymousIdentityToken } + * + */ + public AnonymousIdentityToken createAnonymousIdentityToken() { + return new AnonymousIdentityToken(); + } + + /** + * Create an instance of {@link UserNameIdentityToken } + * + */ + public UserNameIdentityToken createUserNameIdentityToken() { + return new UserNameIdentityToken(); + } + + /** + * Create an instance of {@link X509IdentityToken } + * + */ + public X509IdentityToken createX509IdentityToken() { + return new X509IdentityToken(); + } + + /** + * Create an instance of {@link IssuedIdentityToken } + * + */ + public IssuedIdentityToken createIssuedIdentityToken() { + return new IssuedIdentityToken(); + } + + /** + * Create an instance of {@link ActivateSessionRequest } + * + */ + public ActivateSessionRequest createActivateSessionRequest() { + return new ActivateSessionRequest(); + } + + /** + * Create an instance of {@link ActivateSessionResponse } + * + */ + public ActivateSessionResponse createActivateSessionResponse() { + return new ActivateSessionResponse(); + } + + /** + * Create an instance of {@link CloseSessionRequest } + * + */ + public CloseSessionRequest createCloseSessionRequest() { + return new CloseSessionRequest(); + } + + /** + * Create an instance of {@link CloseSessionResponse } + * + */ + public CloseSessionResponse createCloseSessionResponse() { + return new CloseSessionResponse(); + } + + /** + * Create an instance of {@link CancelRequest } + * + */ + public CancelRequest createCancelRequest() { + return new CancelRequest(); + } + + /** + * Create an instance of {@link CancelResponse } + * + */ + public CancelResponse createCancelResponse() { + return new CancelResponse(); + } + + /** + * Create an instance of {@link NodeAttributes } + * + */ + public NodeAttributes createNodeAttributes() { + return new NodeAttributes(); + } + + /** + * Create an instance of {@link ObjectAttributes } + * + */ + public ObjectAttributes createObjectAttributes() { + return new ObjectAttributes(); + } + + /** + * Create an instance of {@link VariableAttributes } + * + */ + public VariableAttributes createVariableAttributes() { + return new VariableAttributes(); + } + + /** + * Create an instance of {@link MethodAttributes } + * + */ + public MethodAttributes createMethodAttributes() { + return new MethodAttributes(); + } + + /** + * Create an instance of {@link ObjectTypeAttributes } + * + */ + public ObjectTypeAttributes createObjectTypeAttributes() { + return new ObjectTypeAttributes(); + } + + /** + * Create an instance of {@link VariableTypeAttributes } + * + */ + public VariableTypeAttributes createVariableTypeAttributes() { + return new VariableTypeAttributes(); + } + + /** + * Create an instance of {@link ReferenceTypeAttributes } + * + */ + public ReferenceTypeAttributes createReferenceTypeAttributes() { + return new ReferenceTypeAttributes(); + } + + /** + * Create an instance of {@link DataTypeAttributes } + * + */ + public DataTypeAttributes createDataTypeAttributes() { + return new DataTypeAttributes(); + } + + /** + * Create an instance of {@link ViewAttributes } + * + */ + public ViewAttributes createViewAttributes() { + return new ViewAttributes(); + } + + /** + * Create an instance of {@link GenericAttributeValue } + * + */ + public GenericAttributeValue createGenericAttributeValue() { + return new GenericAttributeValue(); + } + + /** + * Create an instance of {@link ListOfGenericAttributeValue } + * + */ + public ListOfGenericAttributeValue createListOfGenericAttributeValue() { + return new ListOfGenericAttributeValue(); + } + + /** + * Create an instance of {@link GenericAttributes } + * + */ + public GenericAttributes createGenericAttributes() { + return new GenericAttributes(); + } + + /** + * Create an instance of {@link AddNodesItem } + * + */ + public AddNodesItem createAddNodesItem() { + return new AddNodesItem(); + } + + /** + * Create an instance of {@link ListOfAddNodesItem } + * + */ + public ListOfAddNodesItem createListOfAddNodesItem() { + return new ListOfAddNodesItem(); + } + + /** + * Create an instance of {@link AddNodesResult } + * + */ + public AddNodesResult createAddNodesResult() { + return new AddNodesResult(); + } + + /** + * Create an instance of {@link ListOfAddNodesResult } + * + */ + public ListOfAddNodesResult createListOfAddNodesResult() { + return new ListOfAddNodesResult(); + } + + /** + * Create an instance of {@link AddNodesRequest } + * + */ + public AddNodesRequest createAddNodesRequest() { + return new AddNodesRequest(); + } + + /** + * Create an instance of {@link AddNodesResponse } + * + */ + public AddNodesResponse createAddNodesResponse() { + return new AddNodesResponse(); + } + + /** + * Create an instance of {@link AddReferencesItem } + * + */ + public AddReferencesItem createAddReferencesItem() { + return new AddReferencesItem(); + } + + /** + * Create an instance of {@link ListOfAddReferencesItem } + * + */ + public ListOfAddReferencesItem createListOfAddReferencesItem() { + return new ListOfAddReferencesItem(); + } + + /** + * Create an instance of {@link AddReferencesRequest } + * + */ + public AddReferencesRequest createAddReferencesRequest() { + return new AddReferencesRequest(); + } + + /** + * Create an instance of {@link AddReferencesResponse } + * + */ + public AddReferencesResponse createAddReferencesResponse() { + return new AddReferencesResponse(); + } + + /** + * Create an instance of {@link DeleteNodesItem } + * + */ + public DeleteNodesItem createDeleteNodesItem() { + return new DeleteNodesItem(); + } + + /** + * Create an instance of {@link ListOfDeleteNodesItem } + * + */ + public ListOfDeleteNodesItem createListOfDeleteNodesItem() { + return new ListOfDeleteNodesItem(); + } + + /** + * Create an instance of {@link DeleteNodesRequest } + * + */ + public DeleteNodesRequest createDeleteNodesRequest() { + return new DeleteNodesRequest(); + } + + /** + * Create an instance of {@link DeleteNodesResponse } + * + */ + public DeleteNodesResponse createDeleteNodesResponse() { + return new DeleteNodesResponse(); + } + + /** + * Create an instance of {@link DeleteReferencesItem } + * + */ + public DeleteReferencesItem createDeleteReferencesItem() { + return new DeleteReferencesItem(); + } + + /** + * Create an instance of {@link ListOfDeleteReferencesItem } + * + */ + public ListOfDeleteReferencesItem createListOfDeleteReferencesItem() { + return new ListOfDeleteReferencesItem(); + } + + /** + * Create an instance of {@link DeleteReferencesRequest } + * + */ + public DeleteReferencesRequest createDeleteReferencesRequest() { + return new DeleteReferencesRequest(); + } + + /** + * Create an instance of {@link DeleteReferencesResponse } + * + */ + public DeleteReferencesResponse createDeleteReferencesResponse() { + return new DeleteReferencesResponse(); + } + + /** + * Create an instance of {@link ViewDescription } + * + */ + public ViewDescription createViewDescription() { + return new ViewDescription(); + } + + /** + * Create an instance of {@link BrowseDescription } + * + */ + public BrowseDescription createBrowseDescription() { + return new BrowseDescription(); + } + + /** + * Create an instance of {@link ListOfBrowseDescription } + * + */ + public ListOfBrowseDescription createListOfBrowseDescription() { + return new ListOfBrowseDescription(); + } + + /** + * Create an instance of {@link ReferenceDescription } + * + */ + public ReferenceDescription createReferenceDescription() { + return new ReferenceDescription(); + } + + /** + * Create an instance of {@link ListOfReferenceDescription } + * + */ + public ListOfReferenceDescription createListOfReferenceDescription() { + return new ListOfReferenceDescription(); + } + + /** + * Create an instance of {@link BrowseResult } + * + */ + public BrowseResult createBrowseResult() { + return new BrowseResult(); + } + + /** + * Create an instance of {@link ListOfBrowseResult } + * + */ + public ListOfBrowseResult createListOfBrowseResult() { + return new ListOfBrowseResult(); + } + + /** + * Create an instance of {@link BrowseRequest } + * + */ + public BrowseRequest createBrowseRequest() { + return new BrowseRequest(); + } + + /** + * Create an instance of {@link BrowseResponse } + * + */ + public BrowseResponse createBrowseResponse() { + return new BrowseResponse(); + } + + /** + * Create an instance of {@link BrowseNextRequest } + * + */ + public BrowseNextRequest createBrowseNextRequest() { + return new BrowseNextRequest(); + } + + /** + * Create an instance of {@link BrowseNextResponse } + * + */ + public BrowseNextResponse createBrowseNextResponse() { + return new BrowseNextResponse(); + } + + /** + * Create an instance of {@link RelativePathElement } + * + */ + public RelativePathElement createRelativePathElement() { + return new RelativePathElement(); + } + + /** + * Create an instance of {@link ListOfRelativePathElement } + * + */ + public ListOfRelativePathElement createListOfRelativePathElement() { + return new ListOfRelativePathElement(); + } + + /** + * Create an instance of {@link RelativePath } + * + */ + public RelativePath createRelativePath() { + return new RelativePath(); + } + + /** + * Create an instance of {@link BrowsePath } + * + */ + public BrowsePath createBrowsePath() { + return new BrowsePath(); + } + + /** + * Create an instance of {@link ListOfBrowsePath } + * + */ + public ListOfBrowsePath createListOfBrowsePath() { + return new ListOfBrowsePath(); + } + + /** + * Create an instance of {@link BrowsePathTarget } + * + */ + public BrowsePathTarget createBrowsePathTarget() { + return new BrowsePathTarget(); + } + + /** + * Create an instance of {@link ListOfBrowsePathTarget } + * + */ + public ListOfBrowsePathTarget createListOfBrowsePathTarget() { + return new ListOfBrowsePathTarget(); + } + + /** + * Create an instance of {@link BrowsePathResult } + * + */ + public BrowsePathResult createBrowsePathResult() { + return new BrowsePathResult(); + } + + /** + * Create an instance of {@link ListOfBrowsePathResult } + * + */ + public ListOfBrowsePathResult createListOfBrowsePathResult() { + return new ListOfBrowsePathResult(); + } + + /** + * Create an instance of {@link TranslateBrowsePathsToNodeIdsRequest } + * + */ + public TranslateBrowsePathsToNodeIdsRequest createTranslateBrowsePathsToNodeIdsRequest() { + return new TranslateBrowsePathsToNodeIdsRequest(); + } + + /** + * Create an instance of {@link TranslateBrowsePathsToNodeIdsResponse } + * + */ + public TranslateBrowsePathsToNodeIdsResponse createTranslateBrowsePathsToNodeIdsResponse() { + return new TranslateBrowsePathsToNodeIdsResponse(); + } + + /** + * Create an instance of {@link RegisterNodesRequest } + * + */ + public RegisterNodesRequest createRegisterNodesRequest() { + return new RegisterNodesRequest(); + } + + /** + * Create an instance of {@link RegisterNodesResponse } + * + */ + public RegisterNodesResponse createRegisterNodesResponse() { + return new RegisterNodesResponse(); + } + + /** + * Create an instance of {@link UnregisterNodesRequest } + * + */ + public UnregisterNodesRequest createUnregisterNodesRequest() { + return new UnregisterNodesRequest(); + } + + /** + * Create an instance of {@link UnregisterNodesResponse } + * + */ + public UnregisterNodesResponse createUnregisterNodesResponse() { + return new UnregisterNodesResponse(); + } + + /** + * Create an instance of {@link EndpointConfiguration } + * + */ + public EndpointConfiguration createEndpointConfiguration() { + return new EndpointConfiguration(); + } + + /** + * Create an instance of {@link ListOfEndpointConfiguration } + * + */ + public ListOfEndpointConfiguration createListOfEndpointConfiguration() { + return new ListOfEndpointConfiguration(); + } + + /** + * Create an instance of {@link QueryDataDescription } + * + */ + public QueryDataDescription createQueryDataDescription() { + return new QueryDataDescription(); + } + + /** + * Create an instance of {@link ListOfQueryDataDescription } + * + */ + public ListOfQueryDataDescription createListOfQueryDataDescription() { + return new ListOfQueryDataDescription(); + } + + /** + * Create an instance of {@link NodeTypeDescription } + * + */ + public NodeTypeDescription createNodeTypeDescription() { + return new NodeTypeDescription(); + } + + /** + * Create an instance of {@link ListOfNodeTypeDescription } + * + */ + public ListOfNodeTypeDescription createListOfNodeTypeDescription() { + return new ListOfNodeTypeDescription(); + } + + /** + * Create an instance of {@link QueryDataSet } + * + */ + public QueryDataSet createQueryDataSet() { + return new QueryDataSet(); + } + + /** + * Create an instance of {@link ListOfQueryDataSet } + * + */ + public ListOfQueryDataSet createListOfQueryDataSet() { + return new ListOfQueryDataSet(); + } + + /** + * Create an instance of {@link NodeReference } + * + */ + public NodeReference createNodeReference() { + return new NodeReference(); + } + + /** + * Create an instance of {@link ListOfNodeReference } + * + */ + public ListOfNodeReference createListOfNodeReference() { + return new ListOfNodeReference(); + } + + /** + * Create an instance of {@link ContentFilterElement } + * + */ + public ContentFilterElement createContentFilterElement() { + return new ContentFilterElement(); + } + + /** + * Create an instance of {@link ListOfContentFilterElement } + * + */ + public ListOfContentFilterElement createListOfContentFilterElement() { + return new ListOfContentFilterElement(); + } + + /** + * Create an instance of {@link ContentFilter } + * + */ + public ContentFilter createContentFilter() { + return new ContentFilter(); + } + + /** + * Create an instance of {@link ListOfContentFilter } + * + */ + public ListOfContentFilter createListOfContentFilter() { + return new ListOfContentFilter(); + } + + /** + * Create an instance of {@link FilterOperand } + * + */ + public FilterOperand createFilterOperand() { + return new FilterOperand(); + } + + /** + * Create an instance of {@link ElementOperand } + * + */ + public ElementOperand createElementOperand() { + return new ElementOperand(); + } + + /** + * Create an instance of {@link LiteralOperand } + * + */ + public LiteralOperand createLiteralOperand() { + return new LiteralOperand(); + } + + /** + * Create an instance of {@link AttributeOperand } + * + */ + public AttributeOperand createAttributeOperand() { + return new AttributeOperand(); + } + + /** + * Create an instance of {@link SimpleAttributeOperand } + * + */ + public SimpleAttributeOperand createSimpleAttributeOperand() { + return new SimpleAttributeOperand(); + } + + /** + * Create an instance of {@link ListOfSimpleAttributeOperand } + * + */ + public ListOfSimpleAttributeOperand createListOfSimpleAttributeOperand() { + return new ListOfSimpleAttributeOperand(); + } + + /** + * Create an instance of {@link ContentFilterElementResult } + * + */ + public ContentFilterElementResult createContentFilterElementResult() { + return new ContentFilterElementResult(); + } + + /** + * Create an instance of {@link ListOfContentFilterElementResult } + * + */ + public ListOfContentFilterElementResult createListOfContentFilterElementResult() { + return new ListOfContentFilterElementResult(); + } + + /** + * Create an instance of {@link ContentFilterResult } + * + */ + public ContentFilterResult createContentFilterResult() { + return new ContentFilterResult(); + } + + /** + * Create an instance of {@link ParsingResult } + * + */ + public ParsingResult createParsingResult() { + return new ParsingResult(); + } + + /** + * Create an instance of {@link ListOfParsingResult } + * + */ + public ListOfParsingResult createListOfParsingResult() { + return new ListOfParsingResult(); + } + + /** + * Create an instance of {@link QueryFirstRequest } + * + */ + public QueryFirstRequest createQueryFirstRequest() { + return new QueryFirstRequest(); + } + + /** + * Create an instance of {@link QueryFirstResponse } + * + */ + public QueryFirstResponse createQueryFirstResponse() { + return new QueryFirstResponse(); + } + + /** + * Create an instance of {@link QueryNextRequest } + * + */ + public QueryNextRequest createQueryNextRequest() { + return new QueryNextRequest(); + } + + /** + * Create an instance of {@link QueryNextResponse } + * + */ + public QueryNextResponse createQueryNextResponse() { + return new QueryNextResponse(); + } + + /** + * Create an instance of {@link ReadValueId } + * + */ + public ReadValueId createReadValueId() { + return new ReadValueId(); + } + + /** + * Create an instance of {@link ListOfReadValueId } + * + */ + public ListOfReadValueId createListOfReadValueId() { + return new ListOfReadValueId(); + } + + /** + * Create an instance of {@link ReadRequest } + * + */ + public ReadRequest createReadRequest() { + return new ReadRequest(); + } + + /** + * Create an instance of {@link ReadResponse } + * + */ + public ReadResponse createReadResponse() { + return new ReadResponse(); + } + + /** + * Create an instance of {@link HistoryReadValueId } + * + */ + public HistoryReadValueId createHistoryReadValueId() { + return new HistoryReadValueId(); + } + + /** + * Create an instance of {@link ListOfHistoryReadValueId } + * + */ + public ListOfHistoryReadValueId createListOfHistoryReadValueId() { + return new ListOfHistoryReadValueId(); + } + + /** + * Create an instance of {@link HistoryReadResult } + * + */ + public HistoryReadResult createHistoryReadResult() { + return new HistoryReadResult(); + } + + /** + * Create an instance of {@link ListOfHistoryReadResult } + * + */ + public ListOfHistoryReadResult createListOfHistoryReadResult() { + return new ListOfHistoryReadResult(); + } + + /** + * Create an instance of {@link HistoryReadDetails } + * + */ + public HistoryReadDetails createHistoryReadDetails() { + return new HistoryReadDetails(); + } + + /** + * Create an instance of {@link ReadEventDetails } + * + */ + public ReadEventDetails createReadEventDetails() { + return new ReadEventDetails(); + } + + /** + * Create an instance of {@link ReadRawModifiedDetails } + * + */ + public ReadRawModifiedDetails createReadRawModifiedDetails() { + return new ReadRawModifiedDetails(); + } + + /** + * Create an instance of {@link ReadProcessedDetails } + * + */ + public ReadProcessedDetails createReadProcessedDetails() { + return new ReadProcessedDetails(); + } + + /** + * Create an instance of {@link ReadAtTimeDetails } + * + */ + public ReadAtTimeDetails createReadAtTimeDetails() { + return new ReadAtTimeDetails(); + } + + /** + * Create an instance of {@link ReadAnnotationDataDetails } + * + */ + public ReadAnnotationDataDetails createReadAnnotationDataDetails() { + return new ReadAnnotationDataDetails(); + } + + /** + * Create an instance of {@link HistoryData } + * + */ + public HistoryData createHistoryData() { + return new HistoryData(); + } + + /** + * Create an instance of {@link ModificationInfo } + * + */ + public ModificationInfo createModificationInfo() { + return new ModificationInfo(); + } + + /** + * Create an instance of {@link ListOfModificationInfo } + * + */ + public ListOfModificationInfo createListOfModificationInfo() { + return new ListOfModificationInfo(); + } + + /** + * Create an instance of {@link HistoryModifiedData } + * + */ + public HistoryModifiedData createHistoryModifiedData() { + return new HistoryModifiedData(); + } + + /** + * Create an instance of {@link HistoryEvent } + * + */ + public HistoryEvent createHistoryEvent() { + return new HistoryEvent(); + } + + /** + * Create an instance of {@link HistoryReadRequest } + * + */ + public HistoryReadRequest createHistoryReadRequest() { + return new HistoryReadRequest(); + } + + /** + * Create an instance of {@link HistoryReadResponse } + * + */ + public HistoryReadResponse createHistoryReadResponse() { + return new HistoryReadResponse(); + } + + /** + * Create an instance of {@link WriteValue } + * + */ + public WriteValue createWriteValue() { + return new WriteValue(); + } + + /** + * Create an instance of {@link ListOfWriteValue } + * + */ + public ListOfWriteValue createListOfWriteValue() { + return new ListOfWriteValue(); + } + + /** + * Create an instance of {@link WriteRequest } + * + */ + public WriteRequest createWriteRequest() { + return new WriteRequest(); + } + + /** + * Create an instance of {@link WriteResponse } + * + */ + public WriteResponse createWriteResponse() { + return new WriteResponse(); + } + + /** + * Create an instance of {@link HistoryUpdateDetails } + * + */ + public HistoryUpdateDetails createHistoryUpdateDetails() { + return new HistoryUpdateDetails(); + } + + /** + * Create an instance of {@link UpdateDataDetails } + * + */ + public UpdateDataDetails createUpdateDataDetails() { + return new UpdateDataDetails(); + } + + /** + * Create an instance of {@link UpdateStructureDataDetails } + * + */ + public UpdateStructureDataDetails createUpdateStructureDataDetails() { + return new UpdateStructureDataDetails(); + } + + /** + * Create an instance of {@link UpdateEventDetails } + * + */ + public UpdateEventDetails createUpdateEventDetails() { + return new UpdateEventDetails(); + } + + /** + * Create an instance of {@link DeleteRawModifiedDetails } + * + */ + public DeleteRawModifiedDetails createDeleteRawModifiedDetails() { + return new DeleteRawModifiedDetails(); + } + + /** + * Create an instance of {@link DeleteAtTimeDetails } + * + */ + public DeleteAtTimeDetails createDeleteAtTimeDetails() { + return new DeleteAtTimeDetails(); + } + + /** + * Create an instance of {@link DeleteEventDetails } + * + */ + public DeleteEventDetails createDeleteEventDetails() { + return new DeleteEventDetails(); + } + + /** + * Create an instance of {@link HistoryUpdateResult } + * + */ + public HistoryUpdateResult createHistoryUpdateResult() { + return new HistoryUpdateResult(); + } + + /** + * Create an instance of {@link ListOfHistoryUpdateResult } + * + */ + public ListOfHistoryUpdateResult createListOfHistoryUpdateResult() { + return new ListOfHistoryUpdateResult(); + } + + /** + * Create an instance of {@link HistoryUpdateRequest } + * + */ + public HistoryUpdateRequest createHistoryUpdateRequest() { + return new HistoryUpdateRequest(); + } + + /** + * Create an instance of {@link HistoryUpdateResponse } + * + */ + public HistoryUpdateResponse createHistoryUpdateResponse() { + return new HistoryUpdateResponse(); + } + + /** + * Create an instance of {@link CallMethodRequest } + * + */ + public CallMethodRequest createCallMethodRequest() { + return new CallMethodRequest(); + } + + /** + * Create an instance of {@link ListOfCallMethodRequest } + * + */ + public ListOfCallMethodRequest createListOfCallMethodRequest() { + return new ListOfCallMethodRequest(); + } + + /** + * Create an instance of {@link CallMethodResult } + * + */ + public CallMethodResult createCallMethodResult() { + return new CallMethodResult(); + } + + /** + * Create an instance of {@link ListOfCallMethodResult } + * + */ + public ListOfCallMethodResult createListOfCallMethodResult() { + return new ListOfCallMethodResult(); + } + + /** + * Create an instance of {@link CallRequest } + * + */ + public CallRequest createCallRequest() { + return new CallRequest(); + } + + /** + * Create an instance of {@link CallResponse } + * + */ + public CallResponse createCallResponse() { + return new CallResponse(); + } + + /** + * Create an instance of {@link MonitoringFilter } + * + */ + public MonitoringFilter createMonitoringFilter() { + return new MonitoringFilter(); + } + + /** + * Create an instance of {@link DataChangeFilter } + * + */ + public DataChangeFilter createDataChangeFilter() { + return new DataChangeFilter(); + } + + /** + * Create an instance of {@link EventFilter } + * + */ + public EventFilter createEventFilter() { + return new EventFilter(); + } + + /** + * Create an instance of {@link AggregateConfiguration } + * + */ + public AggregateConfiguration createAggregateConfiguration() { + return new AggregateConfiguration(); + } + + /** + * Create an instance of {@link AggregateFilter } + * + */ + public AggregateFilter createAggregateFilter() { + return new AggregateFilter(); + } + + /** + * Create an instance of {@link MonitoringFilterResult } + * + */ + public MonitoringFilterResult createMonitoringFilterResult() { + return new MonitoringFilterResult(); + } + + /** + * Create an instance of {@link EventFilterResult } + * + */ + public EventFilterResult createEventFilterResult() { + return new EventFilterResult(); + } + + /** + * Create an instance of {@link AggregateFilterResult } + * + */ + public AggregateFilterResult createAggregateFilterResult() { + return new AggregateFilterResult(); + } + + /** + * Create an instance of {@link MonitoringParameters } + * + */ + public MonitoringParameters createMonitoringParameters() { + return new MonitoringParameters(); + } + + /** + * Create an instance of {@link MonitoredItemCreateRequest } + * + */ + public MonitoredItemCreateRequest createMonitoredItemCreateRequest() { + return new MonitoredItemCreateRequest(); + } + + /** + * Create an instance of {@link ListOfMonitoredItemCreateRequest } + * + */ + public ListOfMonitoredItemCreateRequest createListOfMonitoredItemCreateRequest() { + return new ListOfMonitoredItemCreateRequest(); + } + + /** + * Create an instance of {@link MonitoredItemCreateResult } + * + */ + public MonitoredItemCreateResult createMonitoredItemCreateResult() { + return new MonitoredItemCreateResult(); + } + + /** + * Create an instance of {@link ListOfMonitoredItemCreateResult } + * + */ + public ListOfMonitoredItemCreateResult createListOfMonitoredItemCreateResult() { + return new ListOfMonitoredItemCreateResult(); + } + + /** + * Create an instance of {@link CreateMonitoredItemsRequest } + * + */ + public CreateMonitoredItemsRequest createCreateMonitoredItemsRequest() { + return new CreateMonitoredItemsRequest(); + } + + /** + * Create an instance of {@link CreateMonitoredItemsResponse } + * + */ + public CreateMonitoredItemsResponse createCreateMonitoredItemsResponse() { + return new CreateMonitoredItemsResponse(); + } + + /** + * Create an instance of {@link MonitoredItemModifyRequest } + * + */ + public MonitoredItemModifyRequest createMonitoredItemModifyRequest() { + return new MonitoredItemModifyRequest(); + } + + /** + * Create an instance of {@link ListOfMonitoredItemModifyRequest } + * + */ + public ListOfMonitoredItemModifyRequest createListOfMonitoredItemModifyRequest() { + return new ListOfMonitoredItemModifyRequest(); + } + + /** + * Create an instance of {@link MonitoredItemModifyResult } + * + */ + public MonitoredItemModifyResult createMonitoredItemModifyResult() { + return new MonitoredItemModifyResult(); + } + + /** + * Create an instance of {@link ListOfMonitoredItemModifyResult } + * + */ + public ListOfMonitoredItemModifyResult createListOfMonitoredItemModifyResult() { + return new ListOfMonitoredItemModifyResult(); + } + + /** + * Create an instance of {@link ModifyMonitoredItemsRequest } + * + */ + public ModifyMonitoredItemsRequest createModifyMonitoredItemsRequest() { + return new ModifyMonitoredItemsRequest(); + } + + /** + * Create an instance of {@link ModifyMonitoredItemsResponse } + * + */ + public ModifyMonitoredItemsResponse createModifyMonitoredItemsResponse() { + return new ModifyMonitoredItemsResponse(); + } + + /** + * Create an instance of {@link SetMonitoringModeRequest } + * + */ + public SetMonitoringModeRequest createSetMonitoringModeRequest() { + return new SetMonitoringModeRequest(); + } + + /** + * Create an instance of {@link SetMonitoringModeResponse } + * + */ + public SetMonitoringModeResponse createSetMonitoringModeResponse() { + return new SetMonitoringModeResponse(); + } + + /** + * Create an instance of {@link SetTriggeringRequest } + * + */ + public SetTriggeringRequest createSetTriggeringRequest() { + return new SetTriggeringRequest(); + } + + /** + * Create an instance of {@link SetTriggeringResponse } + * + */ + public SetTriggeringResponse createSetTriggeringResponse() { + return new SetTriggeringResponse(); + } + + /** + * Create an instance of {@link DeleteMonitoredItemsRequest } + * + */ + public DeleteMonitoredItemsRequest createDeleteMonitoredItemsRequest() { + return new DeleteMonitoredItemsRequest(); + } + + /** + * Create an instance of {@link DeleteMonitoredItemsResponse } + * + */ + public DeleteMonitoredItemsResponse createDeleteMonitoredItemsResponse() { + return new DeleteMonitoredItemsResponse(); + } + + /** + * Create an instance of {@link CreateSubscriptionRequest } + * + */ + public CreateSubscriptionRequest createCreateSubscriptionRequest() { + return new CreateSubscriptionRequest(); + } + + /** + * Create an instance of {@link CreateSubscriptionResponse } + * + */ + public CreateSubscriptionResponse createCreateSubscriptionResponse() { + return new CreateSubscriptionResponse(); + } + + /** + * Create an instance of {@link ModifySubscriptionRequest } + * + */ + public ModifySubscriptionRequest createModifySubscriptionRequest() { + return new ModifySubscriptionRequest(); + } + + /** + * Create an instance of {@link ModifySubscriptionResponse } + * + */ + public ModifySubscriptionResponse createModifySubscriptionResponse() { + return new ModifySubscriptionResponse(); + } + + /** + * Create an instance of {@link SetPublishingModeRequest } + * + */ + public SetPublishingModeRequest createSetPublishingModeRequest() { + return new SetPublishingModeRequest(); + } + + /** + * Create an instance of {@link SetPublishingModeResponse } + * + */ + public SetPublishingModeResponse createSetPublishingModeResponse() { + return new SetPublishingModeResponse(); + } + + /** + * Create an instance of {@link NotificationMessage } + * + */ + public NotificationMessage createNotificationMessage() { + return new NotificationMessage(); + } + + /** + * Create an instance of {@link NotificationData } + * + */ + public NotificationData createNotificationData() { + return new NotificationData(); + } + + /** + * Create an instance of {@link DataChangeNotification } + * + */ + public DataChangeNotification createDataChangeNotification() { + return new DataChangeNotification(); + } + + /** + * Create an instance of {@link MonitoredItemNotification } + * + */ + public MonitoredItemNotification createMonitoredItemNotification() { + return new MonitoredItemNotification(); + } + + /** + * Create an instance of {@link ListOfMonitoredItemNotification } + * + */ + public ListOfMonitoredItemNotification createListOfMonitoredItemNotification() { + return new ListOfMonitoredItemNotification(); + } + + /** + * Create an instance of {@link EventNotificationList } + * + */ + public EventNotificationList createEventNotificationList() { + return new EventNotificationList(); + } + + /** + * Create an instance of {@link EventFieldList } + * + */ + public EventFieldList createEventFieldList() { + return new EventFieldList(); + } + + /** + * Create an instance of {@link ListOfEventFieldList } + * + */ + public ListOfEventFieldList createListOfEventFieldList() { + return new ListOfEventFieldList(); + } + + /** + * Create an instance of {@link HistoryEventFieldList } + * + */ + public HistoryEventFieldList createHistoryEventFieldList() { + return new HistoryEventFieldList(); + } + + /** + * Create an instance of {@link ListOfHistoryEventFieldList } + * + */ + public ListOfHistoryEventFieldList createListOfHistoryEventFieldList() { + return new ListOfHistoryEventFieldList(); + } + + /** + * Create an instance of {@link StatusChangeNotification } + * + */ + public StatusChangeNotification createStatusChangeNotification() { + return new StatusChangeNotification(); + } + + /** + * Create an instance of {@link SubscriptionAcknowledgement } + * + */ + public SubscriptionAcknowledgement createSubscriptionAcknowledgement() { + return new SubscriptionAcknowledgement(); + } + + /** + * Create an instance of {@link ListOfSubscriptionAcknowledgement } + * + */ + public ListOfSubscriptionAcknowledgement createListOfSubscriptionAcknowledgement() { + return new ListOfSubscriptionAcknowledgement(); + } + + /** + * Create an instance of {@link PublishRequest } + * + */ + public PublishRequest createPublishRequest() { + return new PublishRequest(); + } + + /** + * Create an instance of {@link PublishResponse } + * + */ + public PublishResponse createPublishResponse() { + return new PublishResponse(); + } + + /** + * Create an instance of {@link RepublishRequest } + * + */ + public RepublishRequest createRepublishRequest() { + return new RepublishRequest(); + } + + /** + * Create an instance of {@link RepublishResponse } + * + */ + public RepublishResponse createRepublishResponse() { + return new RepublishResponse(); + } + + /** + * Create an instance of {@link TransferResult } + * + */ + public TransferResult createTransferResult() { + return new TransferResult(); + } + + /** + * Create an instance of {@link ListOfTransferResult } + * + */ + public ListOfTransferResult createListOfTransferResult() { + return new ListOfTransferResult(); + } + + /** + * Create an instance of {@link TransferSubscriptionsRequest } + * + */ + public TransferSubscriptionsRequest createTransferSubscriptionsRequest() { + return new TransferSubscriptionsRequest(); + } + + /** + * Create an instance of {@link TransferSubscriptionsResponse } + * + */ + public TransferSubscriptionsResponse createTransferSubscriptionsResponse() { + return new TransferSubscriptionsResponse(); + } + + /** + * Create an instance of {@link DeleteSubscriptionsRequest } + * + */ + public DeleteSubscriptionsRequest createDeleteSubscriptionsRequest() { + return new DeleteSubscriptionsRequest(); + } + + /** + * Create an instance of {@link DeleteSubscriptionsResponse } + * + */ + public DeleteSubscriptionsResponse createDeleteSubscriptionsResponse() { + return new DeleteSubscriptionsResponse(); + } + + /** + * Create an instance of {@link BuildInfo } + * + */ + public BuildInfo createBuildInfo() { + return new BuildInfo(); + } + + /** + * Create an instance of {@link RedundantServerDataType } + * + */ + public RedundantServerDataType createRedundantServerDataType() { + return new RedundantServerDataType(); + } + + /** + * Create an instance of {@link ListOfRedundantServerDataType } + * + */ + public ListOfRedundantServerDataType createListOfRedundantServerDataType() { + return new ListOfRedundantServerDataType(); + } + + /** + * Create an instance of {@link EndpointUrlListDataType } + * + */ + public EndpointUrlListDataType createEndpointUrlListDataType() { + return new EndpointUrlListDataType(); + } + + /** + * Create an instance of {@link ListOfEndpointUrlListDataType } + * + */ + public ListOfEndpointUrlListDataType createListOfEndpointUrlListDataType() { + return new ListOfEndpointUrlListDataType(); + } + + /** + * Create an instance of {@link NetworkGroupDataType } + * + */ + public NetworkGroupDataType createNetworkGroupDataType() { + return new NetworkGroupDataType(); + } + + /** + * Create an instance of {@link ListOfNetworkGroupDataType } + * + */ + public ListOfNetworkGroupDataType createListOfNetworkGroupDataType() { + return new ListOfNetworkGroupDataType(); + } + + /** + * Create an instance of {@link SamplingIntervalDiagnosticsDataType } + * + */ + public SamplingIntervalDiagnosticsDataType createSamplingIntervalDiagnosticsDataType() { + return new SamplingIntervalDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ListOfSamplingIntervalDiagnosticsDataType } + * + */ + public ListOfSamplingIntervalDiagnosticsDataType createListOfSamplingIntervalDiagnosticsDataType() { + return new ListOfSamplingIntervalDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ServerDiagnosticsSummaryDataType } + * + */ + public ServerDiagnosticsSummaryDataType createServerDiagnosticsSummaryDataType() { + return new ServerDiagnosticsSummaryDataType(); + } + + /** + * Create an instance of {@link ServerStatusDataType } + * + */ + public ServerStatusDataType createServerStatusDataType() { + return new ServerStatusDataType(); + } + + /** + * Create an instance of {@link SessionDiagnosticsDataType } + * + */ + public SessionDiagnosticsDataType createSessionDiagnosticsDataType() { + return new SessionDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ListOfSessionDiagnosticsDataType } + * + */ + public ListOfSessionDiagnosticsDataType createListOfSessionDiagnosticsDataType() { + return new ListOfSessionDiagnosticsDataType(); + } + + /** + * Create an instance of {@link SessionSecurityDiagnosticsDataType } + * + */ + public SessionSecurityDiagnosticsDataType createSessionSecurityDiagnosticsDataType() { + return new SessionSecurityDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ListOfSessionSecurityDiagnosticsDataType } + * + */ + public ListOfSessionSecurityDiagnosticsDataType createListOfSessionSecurityDiagnosticsDataType() { + return new ListOfSessionSecurityDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ServiceCounterDataType } + * + */ + public ServiceCounterDataType createServiceCounterDataType() { + return new ServiceCounterDataType(); + } + + /** + * Create an instance of {@link StatusResult } + * + */ + public StatusResult createStatusResult() { + return new StatusResult(); + } + + /** + * Create an instance of {@link ListOfStatusResult } + * + */ + public ListOfStatusResult createListOfStatusResult() { + return new ListOfStatusResult(); + } + + /** + * Create an instance of {@link SubscriptionDiagnosticsDataType } + * + */ + public SubscriptionDiagnosticsDataType createSubscriptionDiagnosticsDataType() { + return new SubscriptionDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ListOfSubscriptionDiagnosticsDataType } + * + */ + public ListOfSubscriptionDiagnosticsDataType createListOfSubscriptionDiagnosticsDataType() { + return new ListOfSubscriptionDiagnosticsDataType(); + } + + /** + * Create an instance of {@link ModelChangeStructureDataType } + * + */ + public ModelChangeStructureDataType createModelChangeStructureDataType() { + return new ModelChangeStructureDataType(); + } + + /** + * Create an instance of {@link ListOfModelChangeStructureDataType } + * + */ + public ListOfModelChangeStructureDataType createListOfModelChangeStructureDataType() { + return new ListOfModelChangeStructureDataType(); + } + + /** + * Create an instance of {@link SemanticChangeStructureDataType } + * + */ + public SemanticChangeStructureDataType createSemanticChangeStructureDataType() { + return new SemanticChangeStructureDataType(); + } + + /** + * Create an instance of {@link ListOfSemanticChangeStructureDataType } + * + */ + public ListOfSemanticChangeStructureDataType createListOfSemanticChangeStructureDataType() { + return new ListOfSemanticChangeStructureDataType(); + } + + /** + * Create an instance of {@link Range } + * + */ + public Range createRange() { + return new Range(); + } + + /** + * Create an instance of {@link EUInformation } + * + */ + public EUInformation createEUInformation() { + return new EUInformation(); + } + + /** + * Create an instance of {@link ComplexNumberType } + * + */ + public ComplexNumberType createComplexNumberType() { + return new ComplexNumberType(); + } + + /** + * Create an instance of {@link DoubleComplexNumberType } + * + */ + public DoubleComplexNumberType createDoubleComplexNumberType() { + return new DoubleComplexNumberType(); + } + + /** + * Create an instance of {@link AxisInformation } + * + */ + public AxisInformation createAxisInformation() { + return new AxisInformation(); + } + + /** + * Create an instance of {@link XVType } + * + */ + public XVType createXVType() { + return new XVType(); + } + + /** + * Create an instance of {@link ProgramDiagnosticDataType } + * + */ + public ProgramDiagnosticDataType createProgramDiagnosticDataType() { + return new ProgramDiagnosticDataType(); + } + + /** + * Create an instance of {@link ProgramDiagnostic2DataType } + * + */ + public ProgramDiagnostic2DataType createProgramDiagnostic2DataType() { + return new ProgramDiagnostic2DataType(); + } + + /** + * Create an instance of {@link Annotation } + * + */ + public Annotation createAnnotation() { + return new Annotation(); + } + + /** + * Create an instance of {@link Variant.Value } + * + */ + public Variant.Value createVariantValue() { + return new Variant.Value(); + } + + /** + * Create an instance of {@link ExtensionObject.Body } + * + */ + public ExtensionObject.Body createExtensionObjectBody() { + return new ExtensionObject.Body(); + } + + /** + * Create an instance of {@link ListOfXmlElement.XmlElement } + * + */ + public ListOfXmlElement.XmlElement createListOfXmlElementXmlElement() { + return new ListOfXmlElement.XmlElement(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Boolean") + public JAXBElement createBoolean(Boolean value) { + return new JAXBElement(_Boolean_QNAME, Boolean.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBoolean }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBoolean }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBoolean") + public JAXBElement createListOfBoolean(ListOfBoolean value) { + return new JAXBElement(_ListOfBoolean_QNAME, ListOfBoolean.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Byte }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Byte }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SByte") + public JAXBElement createSByte(Byte value) { + return new JAXBElement(_SByte_QNAME, Byte.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSByte }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSByte }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSByte") + public JAXBElement createListOfSByte(ListOfSByte value) { + return new JAXBElement(_ListOfSByte_QNAME, ListOfSByte.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Byte") + public JAXBElement createByte(Short value) { + return new JAXBElement(_Byte_QNAME, Short.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByte }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByte }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfByte") + public JAXBElement createListOfByte(ListOfByte value) { + return new JAXBElement(_ListOfByte_QNAME, ListOfByte.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Int16") + public JAXBElement createInt16(Short value) { + return new JAXBElement(_Int16_QNAME, Short.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfInt16 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfInt16 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfInt16") + public JAXBElement createListOfInt16(ListOfInt16 value) { + return new JAXBElement(_ListOfInt16_QNAME, ListOfInt16 .class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Integer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UInt16") + public JAXBElement createUInt16(Integer value) { + return new JAXBElement(_UInt16_QNAME, Integer.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt16 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt16 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUInt16") + public JAXBElement createListOfUInt16(ListOfUInt16 value) { + return new JAXBElement(_ListOfUInt16_QNAME, ListOfUInt16 .class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Integer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Int32") + public JAXBElement createInt32(Integer value) { + return new JAXBElement(_Int32_QNAME, Integer.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfInt32") + public JAXBElement createListOfInt32(ListOfInt32 value) { + return new JAXBElement(_ListOfInt32_QNAME, ListOfInt32 .class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UInt32") + public JAXBElement createUInt32(Long value) { + return new JAXBElement(_UInt32_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUInt32") + public JAXBElement createListOfUInt32(ListOfUInt32 value) { + return new JAXBElement(_ListOfUInt32_QNAME, ListOfUInt32 .class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Int64") + public JAXBElement createInt64(Long value) { + return new JAXBElement(_Int64_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfInt64 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfInt64 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfInt64") + public JAXBElement createListOfInt64(ListOfInt64 value) { + return new JAXBElement(_ListOfInt64_QNAME, ListOfInt64 .class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UInt64") + public JAXBElement createUInt64(BigInteger value) { + return new JAXBElement(_UInt64_QNAME, BigInteger.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt64 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt64 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUInt64") + public JAXBElement createListOfUInt64(ListOfUInt64 value) { + return new JAXBElement(_ListOfUInt64_QNAME, ListOfUInt64 .class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Float }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Float }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Float") + public JAXBElement createFloat(Float value) { + return new JAXBElement(_Float_QNAME, Float.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfFloat }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfFloat }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfFloat") + public JAXBElement createListOfFloat(ListOfFloat value) { + return new JAXBElement(_ListOfFloat_QNAME, ListOfFloat.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Double }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Double") + public JAXBElement createDouble(Double value) { + return new JAXBElement(_Double_QNAME, Double.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDouble") + public JAXBElement createListOfDouble(ListOfDouble value) { + return new JAXBElement(_ListOfDouble_QNAME, ListOfDouble.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "String") + public JAXBElement createString(String value) { + return new JAXBElement(_String_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfString") + public JAXBElement createListOfString(ListOfString value) { + return new JAXBElement(_ListOfString_QNAME, ListOfString.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DateTime") + public JAXBElement createDateTime(XMLGregorianCalendar value) { + return new JAXBElement(_DateTime_QNAME, XMLGregorianCalendar.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDateTime") + public JAXBElement createListOfDateTime(ListOfDateTime value) { + return new JAXBElement(_ListOfDateTime_QNAME, ListOfDateTime.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Guid }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Guid }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Guid") + public JAXBElement createGuid(Guid value) { + return new JAXBElement(_Guid_QNAME, Guid.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfGuid }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfGuid }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfGuid") + public JAXBElement createListOfGuid(ListOfGuid value) { + return new JAXBElement(_ListOfGuid_QNAME, ListOfGuid.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ByteString") + public JAXBElement createByteString(byte[] value) { + String encodeToString = Base64.getEncoder().encodeToString(value); + return new JAXBElement(_ByteString_QNAME, String.class, null, encodeToString); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfByteString") + public JAXBElement createListOfByteString(ListOfByteString value) { + return new JAXBElement(_ListOfByteString_QNAME, ListOfByteString.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfXmlElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfXmlElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfXmlElement") + public JAXBElement createListOfXmlElement(ListOfXmlElement value) { + return new JAXBElement(_ListOfXmlElement_QNAME, ListOfXmlElement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId") + public JAXBElement createNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNodeId") + public JAXBElement createListOfNodeId(ListOfNodeId value) { + return new JAXBElement(_ListOfNodeId_QNAME, ListOfNodeId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ExpandedNodeId") + public JAXBElement createExpandedNodeId(ExpandedNodeId value) { + return new JAXBElement(_ExpandedNodeId_QNAME, ExpandedNodeId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfExpandedNodeId") + public JAXBElement createListOfExpandedNodeId(ListOfExpandedNodeId value) { + return new JAXBElement(_ListOfExpandedNodeId_QNAME, ListOfExpandedNodeId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StatusCode") + public JAXBElement createStatusCode(StatusCode value) { + return new JAXBElement(_StatusCode_QNAME, StatusCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfStatusCode") + public JAXBElement createListOfStatusCode(ListOfStatusCode value) { + return new JAXBElement(_ListOfStatusCode_QNAME, ListOfStatusCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfo") + public JAXBElement createDiagnosticInfo(DiagnosticInfo value) { + return new JAXBElement(_DiagnosticInfo_QNAME, DiagnosticInfo.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDiagnosticInfo") + public JAXBElement createListOfDiagnosticInfo(ListOfDiagnosticInfo value) { + return new JAXBElement(_ListOfDiagnosticInfo_QNAME, ListOfDiagnosticInfo.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocalizedText") + public JAXBElement createLocalizedText(LocalizedText value) { + return new JAXBElement(_LocalizedText_QNAME, LocalizedText.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfLocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfLocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfLocalizedText") + public JAXBElement createListOfLocalizedText(ListOfLocalizedText value) { + return new JAXBElement(_ListOfLocalizedText_QNAME, ListOfLocalizedText.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QualifiedName") + public JAXBElement createQualifiedName(QualifiedName value) { + return new JAXBElement(_QualifiedName_QNAME, QualifiedName.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfQualifiedName") + public JAXBElement createListOfQualifiedName(ListOfQualifiedName value) { + return new JAXBElement(_ListOfQualifiedName_QNAME, ListOfQualifiedName.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ExtensionObject") + public JAXBElement createExtensionObject(ExtensionObject value) { + return new JAXBElement(_ExtensionObject_QNAME, ExtensionObject.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfExtensionObject") + public JAXBElement createListOfExtensionObject(ListOfExtensionObject value) { + return new JAXBElement(_ListOfExtensionObject_QNAME, ListOfExtensionObject.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Variant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Variant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Variant") + public JAXBElement createVariant(Variant value) { + return new JAXBElement(_Variant_QNAME, Variant.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfVariant") + public JAXBElement createListOfVariant(ListOfVariant value) { + return new JAXBElement(_ListOfVariant_QNAME, ListOfVariant.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataValue") + public JAXBElement createDataValue(DataValue value) { + return new JAXBElement(_DataValue_QNAME, DataValue.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataValue") + public JAXBElement createListOfDataValue(ListOfDataValue value) { + return new JAXBElement(_ListOfDataValue_QNAME, ListOfDataValue.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InvokeServiceRequest") + public JAXBElement createInvokeServiceRequest(byte[] value) { + return new JAXBElement(_InvokeServiceRequest_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InvokeServiceResponse") + public JAXBElement createInvokeServiceResponse(byte[] value) { + return new JAXBElement(_InvokeServiceResponse_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ImageBMP") + public JAXBElement createImageBMP(byte[] value) { + return new JAXBElement(_ImageBMP_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ImageGIF") + public JAXBElement createImageGIF(byte[] value) { + return new JAXBElement(_ImageGIF_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ImageJPG") + public JAXBElement createImageJPG(byte[] value) { + return new JAXBElement(_ImageJPG_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ImagePNG") + public JAXBElement createImagePNG(byte[] value) { + return new JAXBElement(_ImagePNG_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AudioDataType") + public JAXBElement createAudioDataType(byte[] value) { + return new JAXBElement(_AudioDataType_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BitFieldMaskDataType") + public JAXBElement createBitFieldMaskDataType(BigInteger value) { + return new JAXBElement(_BitFieldMaskDataType_QNAME, BigInteger.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link KeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link KeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "KeyValuePair") + public JAXBElement createKeyValuePair(KeyValuePair value) { + return new JAXBElement(_KeyValuePair_QNAME, KeyValuePair.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfKeyValuePair") + public JAXBElement createListOfKeyValuePair(ListOfKeyValuePair value) { + return new JAXBElement(_ListOfKeyValuePair_QNAME, ListOfKeyValuePair.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AdditionalParametersType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AdditionalParametersType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AdditionalParametersType") + public JAXBElement createAdditionalParametersType(AdditionalParametersType value) { + return new JAXBElement(_AdditionalParametersType_QNAME, AdditionalParametersType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EphemeralKeyType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EphemeralKeyType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EphemeralKeyType") + public JAXBElement createEphemeralKeyType(EphemeralKeyType value) { + return new JAXBElement(_EphemeralKeyType_QNAME, EphemeralKeyType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EndpointType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EndpointType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointType") + public JAXBElement createEndpointType(EndpointType value) { + return new JAXBElement(_EndpointType_QNAME, EndpointType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEndpointType") + public JAXBElement createListOfEndpointType(ListOfEndpointType value) { + return new JAXBElement(_ListOfEndpointType_QNAME, ListOfEndpointType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RationalNumber }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RationalNumber }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RationalNumber") + public JAXBElement createRationalNumber(RationalNumber value) { + return new JAXBElement(_RationalNumber_QNAME, RationalNumber.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRationalNumber }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRationalNumber }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfRationalNumber") + public JAXBElement createListOfRationalNumber(ListOfRationalNumber value) { + return new JAXBElement(_ListOfRationalNumber_QNAME, ListOfRationalNumber.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Vector }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Vector }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Vector") + public JAXBElement createVector(Vector value) { + return new JAXBElement(_Vector_QNAME, Vector.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVector }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVector }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfVector") + public JAXBElement createListOfVector(ListOfVector value) { + return new JAXBElement(_ListOfVector_QNAME, ListOfVector.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ThreeDVector }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ThreeDVector }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ThreeDVector") + public JAXBElement createThreeDVector(ThreeDVector value) { + return new JAXBElement(_ThreeDVector_QNAME, ThreeDVector.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfThreeDVector }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfThreeDVector }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfThreeDVector") + public JAXBElement createListOfThreeDVector(ListOfThreeDVector value) { + return new JAXBElement(_ListOfThreeDVector_QNAME, ListOfThreeDVector.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CartesianCoordinates }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CartesianCoordinates }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CartesianCoordinates") + public JAXBElement createCartesianCoordinates(CartesianCoordinates value) { + return new JAXBElement(_CartesianCoordinates_QNAME, CartesianCoordinates.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfCartesianCoordinates }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfCartesianCoordinates }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfCartesianCoordinates") + public JAXBElement createListOfCartesianCoordinates(ListOfCartesianCoordinates value) { + return new JAXBElement(_ListOfCartesianCoordinates_QNAME, ListOfCartesianCoordinates.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ThreeDCartesianCoordinates }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ThreeDCartesianCoordinates }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ThreeDCartesianCoordinates") + public JAXBElement createThreeDCartesianCoordinates(ThreeDCartesianCoordinates value) { + return new JAXBElement(_ThreeDCartesianCoordinates_QNAME, ThreeDCartesianCoordinates.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfThreeDCartesianCoordinates }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfThreeDCartesianCoordinates }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfThreeDCartesianCoordinates") + public JAXBElement createListOfThreeDCartesianCoordinates(ListOfThreeDCartesianCoordinates value) { + return new JAXBElement(_ListOfThreeDCartesianCoordinates_QNAME, ListOfThreeDCartesianCoordinates.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Orientation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Orientation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Orientation") + public JAXBElement createOrientation(Orientation value) { + return new JAXBElement(_Orientation_QNAME, Orientation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfOrientation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfOrientation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfOrientation") + public JAXBElement createListOfOrientation(ListOfOrientation value) { + return new JAXBElement(_ListOfOrientation_QNAME, ListOfOrientation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ThreeDOrientation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ThreeDOrientation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ThreeDOrientation") + public JAXBElement createThreeDOrientation(ThreeDOrientation value) { + return new JAXBElement(_ThreeDOrientation_QNAME, ThreeDOrientation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfThreeDOrientation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfThreeDOrientation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfThreeDOrientation") + public JAXBElement createListOfThreeDOrientation(ListOfThreeDOrientation value) { + return new JAXBElement(_ListOfThreeDOrientation_QNAME, ListOfThreeDOrientation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Frame }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Frame }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Frame") + public JAXBElement createFrame(Frame value) { + return new JAXBElement(_Frame_QNAME, Frame.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfFrame }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfFrame }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfFrame") + public JAXBElement createListOfFrame(ListOfFrame value) { + return new JAXBElement(_ListOfFrame_QNAME, ListOfFrame.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ThreeDFrame }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ThreeDFrame }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ThreeDFrame") + public JAXBElement createThreeDFrame(ThreeDFrame value) { + return new JAXBElement(_ThreeDFrame_QNAME, ThreeDFrame.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfThreeDFrame }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfThreeDFrame }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfThreeDFrame") + public JAXBElement createListOfThreeDFrame(ListOfThreeDFrame value) { + return new JAXBElement(_ListOfThreeDFrame_QNAME, ListOfThreeDFrame.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link OpenFileMode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link OpenFileMode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OpenFileMode") + public JAXBElement createOpenFileMode(OpenFileMode value) { + return new JAXBElement(_OpenFileMode_QNAME, OpenFileMode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfOpenFileMode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfOpenFileMode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfOpenFileMode") + public JAXBElement createListOfOpenFileMode(ListOfOpenFileMode value) { + return new JAXBElement(_ListOfOpenFileMode_QNAME, ListOfOpenFileMode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link IdentityCriteriaType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link IdentityCriteriaType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IdentityCriteriaType") + public JAXBElement createIdentityCriteriaType(IdentityCriteriaType value) { + return new JAXBElement(_IdentityCriteriaType_QNAME, IdentityCriteriaType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfIdentityCriteriaType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfIdentityCriteriaType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfIdentityCriteriaType") + public JAXBElement createListOfIdentityCriteriaType(ListOfIdentityCriteriaType value) { + return new JAXBElement(_ListOfIdentityCriteriaType_QNAME, ListOfIdentityCriteriaType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link IdentityMappingRuleType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link IdentityMappingRuleType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IdentityMappingRuleType") + public JAXBElement createIdentityMappingRuleType(IdentityMappingRuleType value) { + return new JAXBElement(_IdentityMappingRuleType_QNAME, IdentityMappingRuleType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfIdentityMappingRuleType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfIdentityMappingRuleType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfIdentityMappingRuleType") + public JAXBElement createListOfIdentityMappingRuleType(ListOfIdentityMappingRuleType value) { + return new JAXBElement(_ListOfIdentityMappingRuleType_QNAME, ListOfIdentityMappingRuleType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CurrencyUnitType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CurrencyUnitType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CurrencyUnitType") + public JAXBElement createCurrencyUnitType(CurrencyUnitType value) { + return new JAXBElement(_CurrencyUnitType_QNAME, CurrencyUnitType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfCurrencyUnitType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfCurrencyUnitType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfCurrencyUnitType") + public JAXBElement createListOfCurrencyUnitType(ListOfCurrencyUnitType value) { + return new JAXBElement(_ListOfCurrencyUnitType_QNAME, ListOfCurrencyUnitType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TrustListMasks }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TrustListMasks }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TrustListMasks") + public JAXBElement createTrustListMasks(TrustListMasks value) { + return new JAXBElement(_TrustListMasks_QNAME, TrustListMasks.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TrustListDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TrustListDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TrustListDataType") + public JAXBElement createTrustListDataType(TrustListDataType value) { + return new JAXBElement(_TrustListDataType_QNAME, TrustListDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfTrustListDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfTrustListDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfTrustListDataType") + public JAXBElement createListOfTrustListDataType(ListOfTrustListDataType value) { + return new JAXBElement(_ListOfTrustListDataType_QNAME, ListOfTrustListDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DecimalDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DecimalDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DecimalDataType") + public JAXBElement createDecimalDataType(DecimalDataType value) { + return new JAXBElement(_DecimalDataType_QNAME, DecimalDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataTypeSchemaHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataTypeSchemaHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeSchemaHeader") + public JAXBElement createDataTypeSchemaHeader(DataTypeSchemaHeader value) { + return new JAXBElement(_DataTypeSchemaHeader_QNAME, DataTypeSchemaHeader.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataTypeSchemaHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataTypeSchemaHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataTypeSchemaHeader") + public JAXBElement createListOfDataTypeSchemaHeader(ListOfDataTypeSchemaHeader value) { + return new JAXBElement(_ListOfDataTypeSchemaHeader_QNAME, ListOfDataTypeSchemaHeader.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeDescription") + public JAXBElement createDataTypeDescription(DataTypeDescription value) { + return new JAXBElement(_DataTypeDescription_QNAME, DataTypeDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataTypeDescription") + public JAXBElement createListOfDataTypeDescription(ListOfDataTypeDescription value) { + return new JAXBElement(_ListOfDataTypeDescription_QNAME, ListOfDataTypeDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StructureDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StructureDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StructureDescription") + public JAXBElement createStructureDescription(StructureDescription value) { + return new JAXBElement(_StructureDescription_QNAME, StructureDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStructureDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStructureDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfStructureDescription") + public JAXBElement createListOfStructureDescription(ListOfStructureDescription value) { + return new JAXBElement(_ListOfStructureDescription_QNAME, ListOfStructureDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EnumDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EnumDescription") + public JAXBElement createEnumDescription(EnumDescription value) { + return new JAXBElement(_EnumDescription_QNAME, EnumDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEnumDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEnumDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEnumDescription") + public JAXBElement createListOfEnumDescription(ListOfEnumDescription value) { + return new JAXBElement(_ListOfEnumDescription_QNAME, ListOfEnumDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SimpleTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SimpleTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SimpleTypeDescription") + public JAXBElement createSimpleTypeDescription(SimpleTypeDescription value) { + return new JAXBElement(_SimpleTypeDescription_QNAME, SimpleTypeDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSimpleTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSimpleTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSimpleTypeDescription") + public JAXBElement createListOfSimpleTypeDescription(ListOfSimpleTypeDescription value) { + return new JAXBElement(_ListOfSimpleTypeDescription_QNAME, ListOfSimpleTypeDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UABinaryFileDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UABinaryFileDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UABinaryFileDataType") + public JAXBElement createUABinaryFileDataType(UABinaryFileDataType value) { + return new JAXBElement(_UABinaryFileDataType_QNAME, UABinaryFileDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUABinaryFileDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUABinaryFileDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUABinaryFileDataType") + public JAXBElement createListOfUABinaryFileDataType(ListOfUABinaryFileDataType value) { + return new JAXBElement(_ListOfUABinaryFileDataType_QNAME, ListOfUABinaryFileDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PubSubState }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PubSubState }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PubSubState") + public JAXBElement createPubSubState(PubSubState value) { + return new JAXBElement(_PubSubState_QNAME, PubSubState.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPubSubState }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPubSubState }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPubSubState") + public JAXBElement createListOfPubSubState(ListOfPubSubState value) { + return new JAXBElement(_ListOfPubSubState_QNAME, ListOfPubSubState.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetMetaDataType") + public JAXBElement createDataSetMetaDataType(DataSetMetaDataType value) { + return new JAXBElement(_DataSetMetaDataType_QNAME, DataSetMetaDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetMetaDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetMetaDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetMetaDataType") + public JAXBElement createListOfDataSetMetaDataType(ListOfDataSetMetaDataType value) { + return new JAXBElement(_ListOfDataSetMetaDataType_QNAME, ListOfDataSetMetaDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FieldMetaData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FieldMetaData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FieldMetaData") + public JAXBElement createFieldMetaData(FieldMetaData value) { + return new JAXBElement(_FieldMetaData_QNAME, FieldMetaData.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfFieldMetaData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfFieldMetaData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfFieldMetaData") + public JAXBElement createListOfFieldMetaData(ListOfFieldMetaData value) { + return new JAXBElement(_ListOfFieldMetaData_QNAME, ListOfFieldMetaData.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Integer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetFieldFlags") + public JAXBElement createDataSetFieldFlags(Integer value) { + return new JAXBElement(_DataSetFieldFlags_QNAME, Integer.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ConfigurationVersionDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ConfigurationVersionDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ConfigurationVersionDataType") + public JAXBElement createConfigurationVersionDataType(ConfigurationVersionDataType value) { + return new JAXBElement(_ConfigurationVersionDataType_QNAME, ConfigurationVersionDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfConfigurationVersionDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfConfigurationVersionDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfConfigurationVersionDataType") + public JAXBElement createListOfConfigurationVersionDataType(ListOfConfigurationVersionDataType value) { + return new JAXBElement(_ListOfConfigurationVersionDataType_QNAME, ListOfConfigurationVersionDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishedDataSetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishedDataSetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedDataSetDataType") + public JAXBElement createPublishedDataSetDataType(PublishedDataSetDataType value) { + return new JAXBElement(_PublishedDataSetDataType_QNAME, PublishedDataSetDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPublishedDataSetDataType") + public JAXBElement createListOfPublishedDataSetDataType(ListOfPublishedDataSetDataType value) { + return new JAXBElement(_ListOfPublishedDataSetDataType_QNAME, ListOfPublishedDataSetDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishedDataSetSourceDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishedDataSetSourceDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedDataSetSourceDataType") + public JAXBElement createPublishedDataSetSourceDataType(PublishedDataSetSourceDataType value) { + return new JAXBElement(_PublishedDataSetSourceDataType_QNAME, PublishedDataSetSourceDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetSourceDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetSourceDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPublishedDataSetSourceDataType") + public JAXBElement createListOfPublishedDataSetSourceDataType(ListOfPublishedDataSetSourceDataType value) { + return new JAXBElement(_ListOfPublishedDataSetSourceDataType_QNAME, ListOfPublishedDataSetSourceDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishedVariableDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishedVariableDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedVariableDataType") + public JAXBElement createPublishedVariableDataType(PublishedVariableDataType value) { + return new JAXBElement(_PublishedVariableDataType_QNAME, PublishedVariableDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedVariableDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedVariableDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPublishedVariableDataType") + public JAXBElement createListOfPublishedVariableDataType(ListOfPublishedVariableDataType value) { + return new JAXBElement(_ListOfPublishedVariableDataType_QNAME, ListOfPublishedVariableDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishedDataItemsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishedDataItemsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedDataItemsDataType") + public JAXBElement createPublishedDataItemsDataType(PublishedDataItemsDataType value) { + return new JAXBElement(_PublishedDataItemsDataType_QNAME, PublishedDataItemsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataItemsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataItemsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPublishedDataItemsDataType") + public JAXBElement createListOfPublishedDataItemsDataType(ListOfPublishedDataItemsDataType value) { + return new JAXBElement(_ListOfPublishedDataItemsDataType_QNAME, ListOfPublishedDataItemsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishedEventsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishedEventsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedEventsDataType") + public JAXBElement createPublishedEventsDataType(PublishedEventsDataType value) { + return new JAXBElement(_PublishedEventsDataType_QNAME, PublishedEventsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedEventsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedEventsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPublishedEventsDataType") + public JAXBElement createListOfPublishedEventsDataType(ListOfPublishedEventsDataType value) { + return new JAXBElement(_ListOfPublishedEventsDataType_QNAME, ListOfPublishedEventsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetFieldContentMask") + public JAXBElement createDataSetFieldContentMask(Long value) { + return new JAXBElement(_DataSetFieldContentMask_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetFieldContentMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetFieldContentMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetFieldContentMask") + public JAXBElement createListOfDataSetFieldContentMask(ListOfDataSetFieldContentMask value) { + return new JAXBElement(_ListOfDataSetFieldContentMask_QNAME, ListOfDataSetFieldContentMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetWriterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetWriterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetWriterDataType") + public JAXBElement createDataSetWriterDataType(DataSetWriterDataType value) { + return new JAXBElement(_DataSetWriterDataType_QNAME, DataSetWriterDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetWriterDataType") + public JAXBElement createListOfDataSetWriterDataType(ListOfDataSetWriterDataType value) { + return new JAXBElement(_ListOfDataSetWriterDataType_QNAME, ListOfDataSetWriterDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetWriterTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetWriterTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetWriterTransportDataType") + public JAXBElement createDataSetWriterTransportDataType(DataSetWriterTransportDataType value) { + return new JAXBElement(_DataSetWriterTransportDataType_QNAME, DataSetWriterTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetWriterTransportDataType") + public JAXBElement createListOfDataSetWriterTransportDataType(ListOfDataSetWriterTransportDataType value) { + return new JAXBElement(_ListOfDataSetWriterTransportDataType_QNAME, ListOfDataSetWriterTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetWriterMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetWriterMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetWriterMessageDataType") + public JAXBElement createDataSetWriterMessageDataType(DataSetWriterMessageDataType value) { + return new JAXBElement(_DataSetWriterMessageDataType_QNAME, DataSetWriterMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetWriterMessageDataType") + public JAXBElement createListOfDataSetWriterMessageDataType(ListOfDataSetWriterMessageDataType value) { + return new JAXBElement(_ListOfDataSetWriterMessageDataType_QNAME, ListOfDataSetWriterMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PubSubGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PubSubGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PubSubGroupDataType") + public JAXBElement createPubSubGroupDataType(PubSubGroupDataType value) { + return new JAXBElement(_PubSubGroupDataType_QNAME, PubSubGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPubSubGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPubSubGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPubSubGroupDataType") + public JAXBElement createListOfPubSubGroupDataType(ListOfPubSubGroupDataType value) { + return new JAXBElement(_ListOfPubSubGroupDataType_QNAME, ListOfPubSubGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WriterGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link WriterGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriterGroupDataType") + public JAXBElement createWriterGroupDataType(WriterGroupDataType value) { + return new JAXBElement(_WriterGroupDataType_QNAME, WriterGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfWriterGroupDataType") + public JAXBElement createListOfWriterGroupDataType(ListOfWriterGroupDataType value) { + return new JAXBElement(_ListOfWriterGroupDataType_QNAME, ListOfWriterGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WriterGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link WriterGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriterGroupTransportDataType") + public JAXBElement createWriterGroupTransportDataType(WriterGroupTransportDataType value) { + return new JAXBElement(_WriterGroupTransportDataType_QNAME, WriterGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfWriterGroupTransportDataType") + public JAXBElement createListOfWriterGroupTransportDataType(ListOfWriterGroupTransportDataType value) { + return new JAXBElement(_ListOfWriterGroupTransportDataType_QNAME, ListOfWriterGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WriterGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link WriterGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriterGroupMessageDataType") + public JAXBElement createWriterGroupMessageDataType(WriterGroupMessageDataType value) { + return new JAXBElement(_WriterGroupMessageDataType_QNAME, WriterGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfWriterGroupMessageDataType") + public JAXBElement createListOfWriterGroupMessageDataType(ListOfWriterGroupMessageDataType value) { + return new JAXBElement(_ListOfWriterGroupMessageDataType_QNAME, ListOfWriterGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PubSubConnectionDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PubSubConnectionDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PubSubConnectionDataType") + public JAXBElement createPubSubConnectionDataType(PubSubConnectionDataType value) { + return new JAXBElement(_PubSubConnectionDataType_QNAME, PubSubConnectionDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPubSubConnectionDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPubSubConnectionDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPubSubConnectionDataType") + public JAXBElement createListOfPubSubConnectionDataType(ListOfPubSubConnectionDataType value) { + return new JAXBElement(_ListOfPubSubConnectionDataType_QNAME, ListOfPubSubConnectionDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ConnectionTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ConnectionTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ConnectionTransportDataType") + public JAXBElement createConnectionTransportDataType(ConnectionTransportDataType value) { + return new JAXBElement(_ConnectionTransportDataType_QNAME, ConnectionTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfConnectionTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfConnectionTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfConnectionTransportDataType") + public JAXBElement createListOfConnectionTransportDataType(ListOfConnectionTransportDataType value) { + return new JAXBElement(_ListOfConnectionTransportDataType_QNAME, ListOfConnectionTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NetworkAddressDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NetworkAddressDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NetworkAddressDataType") + public JAXBElement createNetworkAddressDataType(NetworkAddressDataType value) { + return new JAXBElement(_NetworkAddressDataType_QNAME, NetworkAddressDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNetworkAddressDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNetworkAddressDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNetworkAddressDataType") + public JAXBElement createListOfNetworkAddressDataType(ListOfNetworkAddressDataType value) { + return new JAXBElement(_ListOfNetworkAddressDataType_QNAME, ListOfNetworkAddressDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NetworkAddressUrlDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NetworkAddressUrlDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NetworkAddressUrlDataType") + public JAXBElement createNetworkAddressUrlDataType(NetworkAddressUrlDataType value) { + return new JAXBElement(_NetworkAddressUrlDataType_QNAME, NetworkAddressUrlDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNetworkAddressUrlDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNetworkAddressUrlDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNetworkAddressUrlDataType") + public JAXBElement createListOfNetworkAddressUrlDataType(ListOfNetworkAddressUrlDataType value) { + return new JAXBElement(_ListOfNetworkAddressUrlDataType_QNAME, ListOfNetworkAddressUrlDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReaderGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReaderGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReaderGroupDataType") + public JAXBElement createReaderGroupDataType(ReaderGroupDataType value) { + return new JAXBElement(_ReaderGroupDataType_QNAME, ReaderGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfReaderGroupDataType") + public JAXBElement createListOfReaderGroupDataType(ListOfReaderGroupDataType value) { + return new JAXBElement(_ListOfReaderGroupDataType_QNAME, ListOfReaderGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReaderGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReaderGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReaderGroupTransportDataType") + public JAXBElement createReaderGroupTransportDataType(ReaderGroupTransportDataType value) { + return new JAXBElement(_ReaderGroupTransportDataType_QNAME, ReaderGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfReaderGroupTransportDataType") + public JAXBElement createListOfReaderGroupTransportDataType(ListOfReaderGroupTransportDataType value) { + return new JAXBElement(_ListOfReaderGroupTransportDataType_QNAME, ListOfReaderGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReaderGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReaderGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReaderGroupMessageDataType") + public JAXBElement createReaderGroupMessageDataType(ReaderGroupMessageDataType value) { + return new JAXBElement(_ReaderGroupMessageDataType_QNAME, ReaderGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfReaderGroupMessageDataType") + public JAXBElement createListOfReaderGroupMessageDataType(ListOfReaderGroupMessageDataType value) { + return new JAXBElement(_ListOfReaderGroupMessageDataType_QNAME, ListOfReaderGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetReaderDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetReaderDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetReaderDataType") + public JAXBElement createDataSetReaderDataType(DataSetReaderDataType value) { + return new JAXBElement(_DataSetReaderDataType_QNAME, DataSetReaderDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetReaderDataType") + public JAXBElement createListOfDataSetReaderDataType(ListOfDataSetReaderDataType value) { + return new JAXBElement(_ListOfDataSetReaderDataType_QNAME, ListOfDataSetReaderDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetReaderTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetReaderTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetReaderTransportDataType") + public JAXBElement createDataSetReaderTransportDataType(DataSetReaderTransportDataType value) { + return new JAXBElement(_DataSetReaderTransportDataType_QNAME, DataSetReaderTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetReaderTransportDataType") + public JAXBElement createListOfDataSetReaderTransportDataType(ListOfDataSetReaderTransportDataType value) { + return new JAXBElement(_ListOfDataSetReaderTransportDataType_QNAME, ListOfDataSetReaderTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetReaderMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetReaderMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetReaderMessageDataType") + public JAXBElement createDataSetReaderMessageDataType(DataSetReaderMessageDataType value) { + return new JAXBElement(_DataSetReaderMessageDataType_QNAME, DataSetReaderMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetReaderMessageDataType") + public JAXBElement createListOfDataSetReaderMessageDataType(ListOfDataSetReaderMessageDataType value) { + return new JAXBElement(_ListOfDataSetReaderMessageDataType_QNAME, ListOfDataSetReaderMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SubscribedDataSetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SubscribedDataSetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscribedDataSetDataType") + public JAXBElement createSubscribedDataSetDataType(SubscribedDataSetDataType value) { + return new JAXBElement(_SubscribedDataSetDataType_QNAME, SubscribedDataSetDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSubscribedDataSetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSubscribedDataSetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSubscribedDataSetDataType") + public JAXBElement createListOfSubscribedDataSetDataType(ListOfSubscribedDataSetDataType value) { + return new JAXBElement(_ListOfSubscribedDataSetDataType_QNAME, ListOfSubscribedDataSetDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TargetVariablesDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TargetVariablesDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetVariablesDataType") + public JAXBElement createTargetVariablesDataType(TargetVariablesDataType value) { + return new JAXBElement(_TargetVariablesDataType_QNAME, TargetVariablesDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfTargetVariablesDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfTargetVariablesDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfTargetVariablesDataType") + public JAXBElement createListOfTargetVariablesDataType(ListOfTargetVariablesDataType value) { + return new JAXBElement(_ListOfTargetVariablesDataType_QNAME, ListOfTargetVariablesDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FieldTargetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FieldTargetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FieldTargetDataType") + public JAXBElement createFieldTargetDataType(FieldTargetDataType value) { + return new JAXBElement(_FieldTargetDataType_QNAME, FieldTargetDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfFieldTargetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfFieldTargetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfFieldTargetDataType") + public JAXBElement createListOfFieldTargetDataType(ListOfFieldTargetDataType value) { + return new JAXBElement(_ListOfFieldTargetDataType_QNAME, ListOfFieldTargetDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link OverrideValueHandling }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link OverrideValueHandling }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OverrideValueHandling") + public JAXBElement createOverrideValueHandling(OverrideValueHandling value) { + return new JAXBElement(_OverrideValueHandling_QNAME, OverrideValueHandling.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfOverrideValueHandling }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfOverrideValueHandling }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfOverrideValueHandling") + public JAXBElement createListOfOverrideValueHandling(ListOfOverrideValueHandling value) { + return new JAXBElement(_ListOfOverrideValueHandling_QNAME, ListOfOverrideValueHandling.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SubscribedDataSetMirrorDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SubscribedDataSetMirrorDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscribedDataSetMirrorDataType") + public JAXBElement createSubscribedDataSetMirrorDataType(SubscribedDataSetMirrorDataType value) { + return new JAXBElement(_SubscribedDataSetMirrorDataType_QNAME, SubscribedDataSetMirrorDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSubscribedDataSetMirrorDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSubscribedDataSetMirrorDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSubscribedDataSetMirrorDataType") + public JAXBElement createListOfSubscribedDataSetMirrorDataType(ListOfSubscribedDataSetMirrorDataType value) { + return new JAXBElement(_ListOfSubscribedDataSetMirrorDataType_QNAME, ListOfSubscribedDataSetMirrorDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PubSubConfigurationDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PubSubConfigurationDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PubSubConfigurationDataType") + public JAXBElement createPubSubConfigurationDataType(PubSubConfigurationDataType value) { + return new JAXBElement(_PubSubConfigurationDataType_QNAME, PubSubConfigurationDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPubSubConfigurationDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPubSubConfigurationDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPubSubConfigurationDataType") + public JAXBElement createListOfPubSubConfigurationDataType(ListOfPubSubConfigurationDataType value) { + return new JAXBElement(_ListOfPubSubConfigurationDataType_QNAME, ListOfPubSubConfigurationDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetOrderingType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetOrderingType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetOrderingType") + public JAXBElement createDataSetOrderingType(DataSetOrderingType value) { + return new JAXBElement(_DataSetOrderingType_QNAME, DataSetOrderingType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetOrderingType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetOrderingType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataSetOrderingType") + public JAXBElement createListOfDataSetOrderingType(ListOfDataSetOrderingType value) { + return new JAXBElement(_ListOfDataSetOrderingType_QNAME, ListOfDataSetOrderingType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UadpNetworkMessageContentMask") + public JAXBElement createUadpNetworkMessageContentMask(Long value) { + return new JAXBElement(_UadpNetworkMessageContentMask_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUadpNetworkMessageContentMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUadpNetworkMessageContentMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUadpNetworkMessageContentMask") + public JAXBElement createListOfUadpNetworkMessageContentMask(ListOfUadpNetworkMessageContentMask value) { + return new JAXBElement(_ListOfUadpNetworkMessageContentMask_QNAME, ListOfUadpNetworkMessageContentMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UadpWriterGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UadpWriterGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UadpWriterGroupMessageDataType") + public JAXBElement createUadpWriterGroupMessageDataType(UadpWriterGroupMessageDataType value) { + return new JAXBElement(_UadpWriterGroupMessageDataType_QNAME, UadpWriterGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUadpWriterGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUadpWriterGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUadpWriterGroupMessageDataType") + public JAXBElement createListOfUadpWriterGroupMessageDataType(ListOfUadpWriterGroupMessageDataType value) { + return new JAXBElement(_ListOfUadpWriterGroupMessageDataType_QNAME, ListOfUadpWriterGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UadpDataSetMessageContentMask") + public JAXBElement createUadpDataSetMessageContentMask(Long value) { + return new JAXBElement(_UadpDataSetMessageContentMask_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUadpDataSetMessageContentMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUadpDataSetMessageContentMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUadpDataSetMessageContentMask") + public JAXBElement createListOfUadpDataSetMessageContentMask(ListOfUadpDataSetMessageContentMask value) { + return new JAXBElement(_ListOfUadpDataSetMessageContentMask_QNAME, ListOfUadpDataSetMessageContentMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UadpDataSetWriterMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UadpDataSetWriterMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UadpDataSetWriterMessageDataType") + public JAXBElement createUadpDataSetWriterMessageDataType(UadpDataSetWriterMessageDataType value) { + return new JAXBElement(_UadpDataSetWriterMessageDataType_QNAME, UadpDataSetWriterMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUadpDataSetWriterMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUadpDataSetWriterMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUadpDataSetWriterMessageDataType") + public JAXBElement createListOfUadpDataSetWriterMessageDataType(ListOfUadpDataSetWriterMessageDataType value) { + return new JAXBElement(_ListOfUadpDataSetWriterMessageDataType_QNAME, ListOfUadpDataSetWriterMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UadpDataSetReaderMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UadpDataSetReaderMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UadpDataSetReaderMessageDataType") + public JAXBElement createUadpDataSetReaderMessageDataType(UadpDataSetReaderMessageDataType value) { + return new JAXBElement(_UadpDataSetReaderMessageDataType_QNAME, UadpDataSetReaderMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUadpDataSetReaderMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUadpDataSetReaderMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUadpDataSetReaderMessageDataType") + public JAXBElement createListOfUadpDataSetReaderMessageDataType(ListOfUadpDataSetReaderMessageDataType value) { + return new JAXBElement(_ListOfUadpDataSetReaderMessageDataType_QNAME, ListOfUadpDataSetReaderMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "JsonNetworkMessageContentMask") + public JAXBElement createJsonNetworkMessageContentMask(Long value) { + return new JAXBElement(_JsonNetworkMessageContentMask_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfJsonNetworkMessageContentMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfJsonNetworkMessageContentMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfJsonNetworkMessageContentMask") + public JAXBElement createListOfJsonNetworkMessageContentMask(ListOfJsonNetworkMessageContentMask value) { + return new JAXBElement(_ListOfJsonNetworkMessageContentMask_QNAME, ListOfJsonNetworkMessageContentMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link JsonWriterGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link JsonWriterGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "JsonWriterGroupMessageDataType") + public JAXBElement createJsonWriterGroupMessageDataType(JsonWriterGroupMessageDataType value) { + return new JAXBElement(_JsonWriterGroupMessageDataType_QNAME, JsonWriterGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfJsonWriterGroupMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfJsonWriterGroupMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfJsonWriterGroupMessageDataType") + public JAXBElement createListOfJsonWriterGroupMessageDataType(ListOfJsonWriterGroupMessageDataType value) { + return new JAXBElement(_ListOfJsonWriterGroupMessageDataType_QNAME, ListOfJsonWriterGroupMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "JsonDataSetMessageContentMask") + public JAXBElement createJsonDataSetMessageContentMask(Long value) { + return new JAXBElement(_JsonDataSetMessageContentMask_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfJsonDataSetMessageContentMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfJsonDataSetMessageContentMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfJsonDataSetMessageContentMask") + public JAXBElement createListOfJsonDataSetMessageContentMask(ListOfJsonDataSetMessageContentMask value) { + return new JAXBElement(_ListOfJsonDataSetMessageContentMask_QNAME, ListOfJsonDataSetMessageContentMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link JsonDataSetWriterMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link JsonDataSetWriterMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "JsonDataSetWriterMessageDataType") + public JAXBElement createJsonDataSetWriterMessageDataType(JsonDataSetWriterMessageDataType value) { + return new JAXBElement(_JsonDataSetWriterMessageDataType_QNAME, JsonDataSetWriterMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfJsonDataSetWriterMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfJsonDataSetWriterMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfJsonDataSetWriterMessageDataType") + public JAXBElement createListOfJsonDataSetWriterMessageDataType(ListOfJsonDataSetWriterMessageDataType value) { + return new JAXBElement(_ListOfJsonDataSetWriterMessageDataType_QNAME, ListOfJsonDataSetWriterMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link JsonDataSetReaderMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link JsonDataSetReaderMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "JsonDataSetReaderMessageDataType") + public JAXBElement createJsonDataSetReaderMessageDataType(JsonDataSetReaderMessageDataType value) { + return new JAXBElement(_JsonDataSetReaderMessageDataType_QNAME, JsonDataSetReaderMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfJsonDataSetReaderMessageDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfJsonDataSetReaderMessageDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfJsonDataSetReaderMessageDataType") + public JAXBElement createListOfJsonDataSetReaderMessageDataType(ListOfJsonDataSetReaderMessageDataType value) { + return new JAXBElement(_ListOfJsonDataSetReaderMessageDataType_QNAME, ListOfJsonDataSetReaderMessageDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DatagramConnectionTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DatagramConnectionTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DatagramConnectionTransportDataType") + public JAXBElement createDatagramConnectionTransportDataType(DatagramConnectionTransportDataType value) { + return new JAXBElement(_DatagramConnectionTransportDataType_QNAME, DatagramConnectionTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDatagramConnectionTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDatagramConnectionTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDatagramConnectionTransportDataType") + public JAXBElement createListOfDatagramConnectionTransportDataType(ListOfDatagramConnectionTransportDataType value) { + return new JAXBElement(_ListOfDatagramConnectionTransportDataType_QNAME, ListOfDatagramConnectionTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DatagramWriterGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DatagramWriterGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DatagramWriterGroupTransportDataType") + public JAXBElement createDatagramWriterGroupTransportDataType(DatagramWriterGroupTransportDataType value) { + return new JAXBElement(_DatagramWriterGroupTransportDataType_QNAME, DatagramWriterGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDatagramWriterGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDatagramWriterGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDatagramWriterGroupTransportDataType") + public JAXBElement createListOfDatagramWriterGroupTransportDataType(ListOfDatagramWriterGroupTransportDataType value) { + return new JAXBElement(_ListOfDatagramWriterGroupTransportDataType_QNAME, ListOfDatagramWriterGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrokerConnectionTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrokerConnectionTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrokerConnectionTransportDataType") + public JAXBElement createBrokerConnectionTransportDataType(BrokerConnectionTransportDataType value) { + return new JAXBElement(_BrokerConnectionTransportDataType_QNAME, BrokerConnectionTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrokerConnectionTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrokerConnectionTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrokerConnectionTransportDataType") + public JAXBElement createListOfBrokerConnectionTransportDataType(ListOfBrokerConnectionTransportDataType value) { + return new JAXBElement(_ListOfBrokerConnectionTransportDataType_QNAME, ListOfBrokerConnectionTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrokerTransportQualityOfService }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrokerTransportQualityOfService }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrokerTransportQualityOfService") + public JAXBElement createBrokerTransportQualityOfService(BrokerTransportQualityOfService value) { + return new JAXBElement(_BrokerTransportQualityOfService_QNAME, BrokerTransportQualityOfService.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrokerTransportQualityOfService }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrokerTransportQualityOfService }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrokerTransportQualityOfService") + public JAXBElement createListOfBrokerTransportQualityOfService(ListOfBrokerTransportQualityOfService value) { + return new JAXBElement(_ListOfBrokerTransportQualityOfService_QNAME, ListOfBrokerTransportQualityOfService.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrokerWriterGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrokerWriterGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrokerWriterGroupTransportDataType") + public JAXBElement createBrokerWriterGroupTransportDataType(BrokerWriterGroupTransportDataType value) { + return new JAXBElement(_BrokerWriterGroupTransportDataType_QNAME, BrokerWriterGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrokerWriterGroupTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrokerWriterGroupTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrokerWriterGroupTransportDataType") + public JAXBElement createListOfBrokerWriterGroupTransportDataType(ListOfBrokerWriterGroupTransportDataType value) { + return new JAXBElement(_ListOfBrokerWriterGroupTransportDataType_QNAME, ListOfBrokerWriterGroupTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrokerDataSetWriterTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrokerDataSetWriterTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrokerDataSetWriterTransportDataType") + public JAXBElement createBrokerDataSetWriterTransportDataType(BrokerDataSetWriterTransportDataType value) { + return new JAXBElement(_BrokerDataSetWriterTransportDataType_QNAME, BrokerDataSetWriterTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrokerDataSetWriterTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrokerDataSetWriterTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrokerDataSetWriterTransportDataType") + public JAXBElement createListOfBrokerDataSetWriterTransportDataType(ListOfBrokerDataSetWriterTransportDataType value) { + return new JAXBElement(_ListOfBrokerDataSetWriterTransportDataType_QNAME, ListOfBrokerDataSetWriterTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrokerDataSetReaderTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrokerDataSetReaderTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrokerDataSetReaderTransportDataType") + public JAXBElement createBrokerDataSetReaderTransportDataType(BrokerDataSetReaderTransportDataType value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataType_QNAME, BrokerDataSetReaderTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrokerDataSetReaderTransportDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrokerDataSetReaderTransportDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrokerDataSetReaderTransportDataType") + public JAXBElement createListOfBrokerDataSetReaderTransportDataType(ListOfBrokerDataSetReaderTransportDataType value) { + return new JAXBElement(_ListOfBrokerDataSetReaderTransportDataType_QNAME, ListOfBrokerDataSetReaderTransportDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DiagnosticsLevel }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DiagnosticsLevel }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticsLevel") + public JAXBElement createDiagnosticsLevel(DiagnosticsLevel value) { + return new JAXBElement(_DiagnosticsLevel_QNAME, DiagnosticsLevel.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticsLevel }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticsLevel }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDiagnosticsLevel") + public JAXBElement createListOfDiagnosticsLevel(ListOfDiagnosticsLevel value) { + return new JAXBElement(_ListOfDiagnosticsLevel_QNAME, ListOfDiagnosticsLevel.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PubSubDiagnosticsCounterClassification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PubSubDiagnosticsCounterClassification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PubSubDiagnosticsCounterClassification") + public JAXBElement createPubSubDiagnosticsCounterClassification(PubSubDiagnosticsCounterClassification value) { + return new JAXBElement(_PubSubDiagnosticsCounterClassification_QNAME, PubSubDiagnosticsCounterClassification.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPubSubDiagnosticsCounterClassification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPubSubDiagnosticsCounterClassification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfPubSubDiagnosticsCounterClassification") + public JAXBElement createListOfPubSubDiagnosticsCounterClassification(ListOfPubSubDiagnosticsCounterClassification value) { + return new JAXBElement(_ListOfPubSubDiagnosticsCounterClassification_QNAME, ListOfPubSubDiagnosticsCounterClassification.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AliasNameDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AliasNameDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AliasNameDataType") + public JAXBElement createAliasNameDataType(AliasNameDataType value) { + return new JAXBElement(_AliasNameDataType_QNAME, AliasNameDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAliasNameDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAliasNameDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfAliasNameDataType") + public JAXBElement createListOfAliasNameDataType(ListOfAliasNameDataType value) { + return new JAXBElement(_ListOfAliasNameDataType_QNAME, ListOfAliasNameDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link IdType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link IdType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IdType") + public JAXBElement createIdType(IdType value) { + return new JAXBElement(_IdType_QNAME, IdType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfIdType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfIdType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfIdType") + public JAXBElement createListOfIdType(ListOfIdType value) { + return new JAXBElement(_ListOfIdType_QNAME, ListOfIdType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeClass }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeClass }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeClass") + public JAXBElement createNodeClass(NodeClass value) { + return new JAXBElement(_NodeClass_QNAME, NodeClass.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PermissionType") + public JAXBElement createPermissionType(Long value) { + return new JAXBElement(_PermissionType_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AccessLevelType") + public JAXBElement createAccessLevelType(Short value) { + return new JAXBElement(_AccessLevelType_QNAME, Short.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AccessLevelExType") + public JAXBElement createAccessLevelExType(Long value) { + return new JAXBElement(_AccessLevelExType_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Short }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventNotifierType") + public JAXBElement createEventNotifierType(Short value) { + return new JAXBElement(_EventNotifierType_QNAME, Short.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RolePermissionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RolePermissionType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RolePermissionType") + public JAXBElement createRolePermissionType(RolePermissionType value) { + return new JAXBElement(_RolePermissionType_QNAME, RolePermissionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfRolePermissionType") + public JAXBElement createListOfRolePermissionType(ListOfRolePermissionType value) { + return new JAXBElement(_ListOfRolePermissionType_QNAME, ListOfRolePermissionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataTypeDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataTypeDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeDefinition") + public JAXBElement createDataTypeDefinition(DataTypeDefinition value) { + return new JAXBElement(_DataTypeDefinition_QNAME, DataTypeDefinition.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataTypeDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataTypeDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDataTypeDefinition") + public JAXBElement createListOfDataTypeDefinition(ListOfDataTypeDefinition value) { + return new JAXBElement(_ListOfDataTypeDefinition_QNAME, ListOfDataTypeDefinition.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StructureType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StructureType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StructureType") + public JAXBElement createStructureType(StructureType value) { + return new JAXBElement(_StructureType_QNAME, StructureType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StructureField }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StructureField }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StructureField") + public JAXBElement createStructureField(StructureField value) { + return new JAXBElement(_StructureField_QNAME, StructureField.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStructureField }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStructureField }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfStructureField") + public JAXBElement createListOfStructureField(ListOfStructureField value) { + return new JAXBElement(_ListOfStructureField_QNAME, ListOfStructureField.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StructureDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StructureDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StructureDefinition") + public JAXBElement createStructureDefinition(StructureDefinition value) { + return new JAXBElement(_StructureDefinition_QNAME, StructureDefinition.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStructureDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStructureDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfStructureDefinition") + public JAXBElement createListOfStructureDefinition(ListOfStructureDefinition value) { + return new JAXBElement(_ListOfStructureDefinition_QNAME, ListOfStructureDefinition.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EnumDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EnumDefinition") + public JAXBElement createEnumDefinition(EnumDefinition value) { + return new JAXBElement(_EnumDefinition_QNAME, EnumDefinition.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEnumDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEnumDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEnumDefinition") + public JAXBElement createListOfEnumDefinition(ListOfEnumDefinition value) { + return new JAXBElement(_ListOfEnumDefinition_QNAME, ListOfEnumDefinition.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Node }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Node }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Node") + public JAXBElement createNode(Node value) { + return new JAXBElement(_Node_QNAME, Node.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNode") + public JAXBElement createListOfNode(ListOfNode value) { + return new JAXBElement(_ListOfNode_QNAME, ListOfNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link InstanceNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link InstanceNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InstanceNode") + public JAXBElement createInstanceNode(InstanceNode value) { + return new JAXBElement(_InstanceNode_QNAME, InstanceNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TypeNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TypeNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeNode") + public JAXBElement createTypeNode(TypeNode value) { + return new JAXBElement(_TypeNode_QNAME, TypeNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ObjectNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ObjectNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ObjectNode") + public JAXBElement createObjectNode(ObjectNode value) { + return new JAXBElement(_ObjectNode_QNAME, ObjectNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ObjectTypeNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ObjectTypeNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ObjectTypeNode") + public JAXBElement createObjectTypeNode(ObjectTypeNode value) { + return new JAXBElement(_ObjectTypeNode_QNAME, ObjectTypeNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link VariableNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link VariableNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "VariableNode") + public JAXBElement createVariableNode(VariableNode value) { + return new JAXBElement(_VariableNode_QNAME, VariableNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link VariableTypeNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link VariableTypeNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "VariableTypeNode") + public JAXBElement createVariableTypeNode(VariableTypeNode value) { + return new JAXBElement(_VariableTypeNode_QNAME, VariableTypeNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceTypeNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReferenceTypeNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeNode") + public JAXBElement createReferenceTypeNode(ReferenceTypeNode value) { + return new JAXBElement(_ReferenceTypeNode_QNAME, ReferenceTypeNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MethodNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MethodNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MethodNode") + public JAXBElement createMethodNode(MethodNode value) { + return new JAXBElement(_MethodNode_QNAME, MethodNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ViewNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ViewNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ViewNode") + public JAXBElement createViewNode(ViewNode value) { + return new JAXBElement(_ViewNode_QNAME, ViewNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataTypeNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataTypeNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeNode") + public JAXBElement createDataTypeNode(DataTypeNode value) { + return new JAXBElement(_DataTypeNode_QNAME, DataTypeNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReferenceNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceNode") + public JAXBElement createReferenceNode(ReferenceNode value) { + return new JAXBElement(_ReferenceNode_QNAME, ReferenceNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReferenceNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReferenceNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfReferenceNode") + public JAXBElement createListOfReferenceNode(ListOfReferenceNode value) { + return new JAXBElement(_ListOfReferenceNode_QNAME, ListOfReferenceNode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Argument }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Argument }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Argument") + public JAXBElement createArgument(Argument value) { + return new JAXBElement(_Argument_QNAME, Argument.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfArgument") + public JAXBElement createListOfArgument(ListOfArgument value) { + return new JAXBElement(_ListOfArgument_QNAME, ListOfArgument.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumValueType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EnumValueType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EnumValueType") + public JAXBElement createEnumValueType(EnumValueType value) { + return new JAXBElement(_EnumValueType_QNAME, EnumValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEnumValueType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEnumValueType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEnumValueType") + public JAXBElement createListOfEnumValueType(ListOfEnumValueType value) { + return new JAXBElement(_ListOfEnumValueType_QNAME, ListOfEnumValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumField }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EnumField }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EnumField") + public JAXBElement createEnumField(EnumField value) { + return new JAXBElement(_EnumField_QNAME, EnumField.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEnumField }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEnumField }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEnumField") + public JAXBElement createListOfEnumField(ListOfEnumField value) { + return new JAXBElement(_ListOfEnumField_QNAME, ListOfEnumField.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link OptionSet }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link OptionSet }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OptionSet") + public JAXBElement createOptionSet(OptionSet value) { + return new JAXBElement(_OptionSet_QNAME, OptionSet.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfOptionSet }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfOptionSet }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfOptionSet") + public JAXBElement createListOfOptionSet(ListOfOptionSet value) { + return new JAXBElement(_ListOfOptionSet_QNAME, ListOfOptionSet.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Union }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Union }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Union") + public JAXBElement createUnion(Union value) { + return new JAXBElement(_Union_QNAME, Union.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUnion }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUnion }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUnion") + public JAXBElement createListOfUnion(ListOfUnion value) { + return new JAXBElement(_ListOfUnion_QNAME, ListOfUnion.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NormalizedString") + public JAXBElement createNormalizedString(String value) { + return new JAXBElement(_NormalizedString_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DecimalString") + public JAXBElement createDecimalString(String value) { + return new JAXBElement(_DecimalString_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DurationString") + public JAXBElement createDurationString(String value) { + return new JAXBElement(_DurationString_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TimeString") + public JAXBElement createTimeString(String value) { + return new JAXBElement(_TimeString_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DateString") + public JAXBElement createDateString(String value) { + return new JAXBElement(_DateString_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Double }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Duration") + public JAXBElement createDuration(Double value) { + return new JAXBElement(_Duration_QNAME, Double.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UtcTime") + public JAXBElement createUtcTime(XMLGregorianCalendar value) { + return new JAXBElement(_UtcTime_QNAME, XMLGregorianCalendar.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleId") + public JAXBElement createLocaleId(String value) { + return new JAXBElement(_LocaleId_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TimeZoneDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TimeZoneDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TimeZoneDataType") + public JAXBElement createTimeZoneDataType(TimeZoneDataType value) { + return new JAXBElement(_TimeZoneDataType_QNAME, TimeZoneDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfTimeZoneDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfTimeZoneDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfTimeZoneDataType") + public JAXBElement createListOfTimeZoneDataType(ListOfTimeZoneDataType value) { + return new JAXBElement(_ListOfTimeZoneDataType_QNAME, ListOfTimeZoneDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Index") + public JAXBElement createIndex(Long value) { + return new JAXBElement(_Index_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IntegerId") + public JAXBElement createIntegerId(Long value) { + return new JAXBElement(_IntegerId_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ApplicationType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ApplicationType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ApplicationType") + public JAXBElement createApplicationType(ApplicationType value) { + return new JAXBElement(_ApplicationType_QNAME, ApplicationType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ApplicationDescription") + public JAXBElement createApplicationDescription(ApplicationDescription value) { + return new JAXBElement(_ApplicationDescription_QNAME, ApplicationDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfApplicationDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfApplicationDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfApplicationDescription") + public JAXBElement createListOfApplicationDescription(ListOfApplicationDescription value) { + return new JAXBElement(_ListOfApplicationDescription_QNAME, ListOfApplicationDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader") + public JAXBElement createRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader") + public JAXBElement createResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "VersionTime") + public JAXBElement createVersionTime(Long value) { + return new JAXBElement(_VersionTime_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceFault }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceFault }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServiceFault") + public JAXBElement createServiceFault(ServiceFault value) { + return new JAXBElement(_ServiceFault_QNAME, ServiceFault.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SessionlessInvokeRequestType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SessionlessInvokeRequestType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionlessInvokeRequestType") + public JAXBElement createSessionlessInvokeRequestType(SessionlessInvokeRequestType value) { + return new JAXBElement(_SessionlessInvokeRequestType_QNAME, SessionlessInvokeRequestType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SessionlessInvokeResponseType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SessionlessInvokeResponseType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionlessInvokeResponseType") + public JAXBElement createSessionlessInvokeResponseType(SessionlessInvokeResponseType value) { + return new JAXBElement(_SessionlessInvokeResponseType_QNAME, SessionlessInvokeResponseType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FindServersRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FindServersRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FindServersRequest") + public JAXBElement createFindServersRequest(FindServersRequest value) { + return new JAXBElement(_FindServersRequest_QNAME, FindServersRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FindServersResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FindServersResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FindServersResponse") + public JAXBElement createFindServersResponse(FindServersResponse value) { + return new JAXBElement(_FindServersResponse_QNAME, FindServersResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServerOnNetwork }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServerOnNetwork }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerOnNetwork") + public JAXBElement createServerOnNetwork(ServerOnNetwork value) { + return new JAXBElement(_ServerOnNetwork_QNAME, ServerOnNetwork.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfServerOnNetwork }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfServerOnNetwork }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfServerOnNetwork") + public JAXBElement createListOfServerOnNetwork(ListOfServerOnNetwork value) { + return new JAXBElement(_ListOfServerOnNetwork_QNAME, ListOfServerOnNetwork.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FindServersOnNetworkRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FindServersOnNetworkRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FindServersOnNetworkRequest") + public JAXBElement createFindServersOnNetworkRequest(FindServersOnNetworkRequest value) { + return new JAXBElement(_FindServersOnNetworkRequest_QNAME, FindServersOnNetworkRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FindServersOnNetworkResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FindServersOnNetworkResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FindServersOnNetworkResponse") + public JAXBElement createFindServersOnNetworkResponse(FindServersOnNetworkResponse value) { + return new JAXBElement(_FindServersOnNetworkResponse_QNAME, FindServersOnNetworkResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ApplicationInstanceCertificate") + public JAXBElement createApplicationInstanceCertificate(byte[] value) { + return new JAXBElement(_ApplicationInstanceCertificate_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MessageSecurityMode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MessageSecurityMode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MessageSecurityMode") + public JAXBElement createMessageSecurityMode(MessageSecurityMode value) { + return new JAXBElement(_MessageSecurityMode_QNAME, MessageSecurityMode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UserTokenType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UserTokenType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserTokenType") + public JAXBElement createUserTokenType(UserTokenType value) { + return new JAXBElement(_UserTokenType_QNAME, UserTokenType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UserTokenPolicy }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UserTokenPolicy }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserTokenPolicy") + public JAXBElement createUserTokenPolicy(UserTokenPolicy value) { + return new JAXBElement(_UserTokenPolicy_QNAME, UserTokenPolicy.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUserTokenPolicy }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUserTokenPolicy }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfUserTokenPolicy") + public JAXBElement createListOfUserTokenPolicy(ListOfUserTokenPolicy value) { + return new JAXBElement(_ListOfUserTokenPolicy_QNAME, ListOfUserTokenPolicy.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EndpointDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EndpointDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointDescription") + public JAXBElement createEndpointDescription(EndpointDescription value) { + return new JAXBElement(_EndpointDescription_QNAME, EndpointDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEndpointDescription") + public JAXBElement createListOfEndpointDescription(ListOfEndpointDescription value) { + return new JAXBElement(_ListOfEndpointDescription_QNAME, ListOfEndpointDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link GetEndpointsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link GetEndpointsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GetEndpointsRequest") + public JAXBElement createGetEndpointsRequest(GetEndpointsRequest value) { + return new JAXBElement(_GetEndpointsRequest_QNAME, GetEndpointsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link GetEndpointsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link GetEndpointsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GetEndpointsResponse") + public JAXBElement createGetEndpointsResponse(GetEndpointsResponse value) { + return new JAXBElement(_GetEndpointsResponse_QNAME, GetEndpointsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisteredServer") + public JAXBElement createRegisteredServer(RegisteredServer value) { + return new JAXBElement(_RegisteredServer_QNAME, RegisteredServer.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRegisteredServer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRegisteredServer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfRegisteredServer") + public JAXBElement createListOfRegisteredServer(ListOfRegisteredServer value) { + return new JAXBElement(_ListOfRegisteredServer_QNAME, ListOfRegisteredServer.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisterServerRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisterServerRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterServerRequest") + public JAXBElement createRegisterServerRequest(RegisterServerRequest value) { + return new JAXBElement(_RegisterServerRequest_QNAME, RegisterServerRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisterServerResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisterServerResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterServerResponse") + public JAXBElement createRegisterServerResponse(RegisterServerResponse value) { + return new JAXBElement(_RegisterServerResponse_QNAME, RegisterServerResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DiscoveryConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DiscoveryConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryConfiguration") + public JAXBElement createDiscoveryConfiguration(DiscoveryConfiguration value) { + return new JAXBElement(_DiscoveryConfiguration_QNAME, DiscoveryConfiguration.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MdnsDiscoveryConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MdnsDiscoveryConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MdnsDiscoveryConfiguration") + public JAXBElement createMdnsDiscoveryConfiguration(MdnsDiscoveryConfiguration value) { + return new JAXBElement(_MdnsDiscoveryConfiguration_QNAME, MdnsDiscoveryConfiguration.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisterServer2Request }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisterServer2Request }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterServer2Request") + public JAXBElement createRegisterServer2Request(RegisterServer2Request value) { + return new JAXBElement(_RegisterServer2Request_QNAME, RegisterServer2Request.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisterServer2Response }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisterServer2Response }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterServer2Response") + public JAXBElement createRegisterServer2Response(RegisterServer2Response value) { + return new JAXBElement(_RegisterServer2Response_QNAME, RegisterServer2Response.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SecurityTokenRequestType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SecurityTokenRequestType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityTokenRequestType") + public JAXBElement createSecurityTokenRequestType(SecurityTokenRequestType value) { + return new JAXBElement(_SecurityTokenRequestType_QNAME, SecurityTokenRequestType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ChannelSecurityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ChannelSecurityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ChannelSecurityToken") + public JAXBElement createChannelSecurityToken(ChannelSecurityToken value) { + return new JAXBElement(_ChannelSecurityToken_QNAME, ChannelSecurityToken.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link OpenSecureChannelRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link OpenSecureChannelRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OpenSecureChannelRequest") + public JAXBElement createOpenSecureChannelRequest(OpenSecureChannelRequest value) { + return new JAXBElement(_OpenSecureChannelRequest_QNAME, OpenSecureChannelRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link OpenSecureChannelResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link OpenSecureChannelResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OpenSecureChannelResponse") + public JAXBElement createOpenSecureChannelResponse(OpenSecureChannelResponse value) { + return new JAXBElement(_OpenSecureChannelResponse_QNAME, OpenSecureChannelResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CloseSecureChannelRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CloseSecureChannelRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CloseSecureChannelRequest") + public JAXBElement createCloseSecureChannelRequest(CloseSecureChannelRequest value) { + return new JAXBElement(_CloseSecureChannelRequest_QNAME, CloseSecureChannelRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CloseSecureChannelResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CloseSecureChannelResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CloseSecureChannelResponse") + public JAXBElement createCloseSecureChannelResponse(CloseSecureChannelResponse value) { + return new JAXBElement(_CloseSecureChannelResponse_QNAME, CloseSecureChannelResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignedSoftwareCertificate }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SignedSoftwareCertificate }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SignedSoftwareCertificate") + public JAXBElement createSignedSoftwareCertificate(SignedSoftwareCertificate value) { + return new JAXBElement(_SignedSoftwareCertificate_QNAME, SignedSoftwareCertificate.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSignedSoftwareCertificate") + public JAXBElement createListOfSignedSoftwareCertificate(ListOfSignedSoftwareCertificate value) { + return new JAXBElement(_ListOfSignedSoftwareCertificate_QNAME, ListOfSignedSoftwareCertificate.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionAuthenticationToken") + public JAXBElement createSessionAuthenticationToken(NodeId value) { + return new JAXBElement(_SessionAuthenticationToken_QNAME, NodeId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SignatureData") + public JAXBElement createSignatureData(SignatureData value) { + return new JAXBElement(_SignatureData_QNAME, SignatureData.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CreateSessionRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CreateSessionRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSessionRequest") + public JAXBElement createCreateSessionRequest(CreateSessionRequest value) { + return new JAXBElement(_CreateSessionRequest_QNAME, CreateSessionRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CreateSessionResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CreateSessionResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSessionResponse") + public JAXBElement createCreateSessionResponse(CreateSessionResponse value) { + return new JAXBElement(_CreateSessionResponse_QNAME, CreateSessionResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UserIdentityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UserIdentityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserIdentityToken") + public JAXBElement createUserIdentityToken(UserIdentityToken value) { + return new JAXBElement(_UserIdentityToken_QNAME, UserIdentityToken.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AnonymousIdentityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AnonymousIdentityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AnonymousIdentityToken") + public JAXBElement createAnonymousIdentityToken(AnonymousIdentityToken value) { + return new JAXBElement(_AnonymousIdentityToken_QNAME, AnonymousIdentityToken.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UserNameIdentityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UserNameIdentityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserNameIdentityToken") + public JAXBElement createUserNameIdentityToken(UserNameIdentityToken value) { + return new JAXBElement(_UserNameIdentityToken_QNAME, UserNameIdentityToken.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link X509IdentityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link X509IdentityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "X509IdentityToken") + public JAXBElement createX509IdentityToken(X509IdentityToken value) { + return new JAXBElement(_X509IdentityToken_QNAME, X509IdentityToken.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link IssuedIdentityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link IssuedIdentityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IssuedIdentityToken") + public JAXBElement createIssuedIdentityToken(IssuedIdentityToken value) { + return new JAXBElement(_IssuedIdentityToken_QNAME, IssuedIdentityToken.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Variant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Variant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RsaEncryptedSecret") + public JAXBElement createRsaEncryptedSecret(Variant value) { + return new JAXBElement(_RsaEncryptedSecret_QNAME, Variant.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Variant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Variant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EccEncryptedSecret") + public JAXBElement createEccEncryptedSecret(Variant value) { + return new JAXBElement(_EccEncryptedSecret_QNAME, Variant.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ActivateSessionRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ActivateSessionRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ActivateSessionRequest") + public JAXBElement createActivateSessionRequest(ActivateSessionRequest value) { + return new JAXBElement(_ActivateSessionRequest_QNAME, ActivateSessionRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ActivateSessionResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ActivateSessionResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ActivateSessionResponse") + public JAXBElement createActivateSessionResponse(ActivateSessionResponse value) { + return new JAXBElement(_ActivateSessionResponse_QNAME, ActivateSessionResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CloseSessionRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CloseSessionRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CloseSessionRequest") + public JAXBElement createCloseSessionRequest(CloseSessionRequest value) { + return new JAXBElement(_CloseSessionRequest_QNAME, CloseSessionRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CloseSessionResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CloseSessionResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CloseSessionResponse") + public JAXBElement createCloseSessionResponse(CloseSessionResponse value) { + return new JAXBElement(_CloseSessionResponse_QNAME, CloseSessionResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CancelRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CancelRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CancelRequest") + public JAXBElement createCancelRequest(CancelRequest value) { + return new JAXBElement(_CancelRequest_QNAME, CancelRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CancelResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CancelResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CancelResponse") + public JAXBElement createCancelResponse(CancelResponse value) { + return new JAXBElement(_CancelResponse_QNAME, CancelResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeAttributesMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeAttributesMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeAttributesMask") + public JAXBElement createNodeAttributesMask(NodeAttributesMask value) { + return new JAXBElement(_NodeAttributesMask_QNAME, NodeAttributesMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeAttributes") + public JAXBElement createNodeAttributes(NodeAttributes value) { + return new JAXBElement(_NodeAttributes_QNAME, NodeAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ObjectAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ObjectAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ObjectAttributes") + public JAXBElement createObjectAttributes(ObjectAttributes value) { + return new JAXBElement(_ObjectAttributes_QNAME, ObjectAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link VariableAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link VariableAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "VariableAttributes") + public JAXBElement createVariableAttributes(VariableAttributes value) { + return new JAXBElement(_VariableAttributes_QNAME, VariableAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MethodAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MethodAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MethodAttributes") + public JAXBElement createMethodAttributes(MethodAttributes value) { + return new JAXBElement(_MethodAttributes_QNAME, MethodAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ObjectTypeAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ObjectTypeAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ObjectTypeAttributes") + public JAXBElement createObjectTypeAttributes(ObjectTypeAttributes value) { + return new JAXBElement(_ObjectTypeAttributes_QNAME, ObjectTypeAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link VariableTypeAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link VariableTypeAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "VariableTypeAttributes") + public JAXBElement createVariableTypeAttributes(VariableTypeAttributes value) { + return new JAXBElement(_VariableTypeAttributes_QNAME, VariableTypeAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceTypeAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReferenceTypeAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeAttributes") + public JAXBElement createReferenceTypeAttributes(ReferenceTypeAttributes value) { + return new JAXBElement(_ReferenceTypeAttributes_QNAME, ReferenceTypeAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataTypeAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataTypeAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeAttributes") + public JAXBElement createDataTypeAttributes(DataTypeAttributes value) { + return new JAXBElement(_DataTypeAttributes_QNAME, DataTypeAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ViewAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ViewAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ViewAttributes") + public JAXBElement createViewAttributes(ViewAttributes value) { + return new JAXBElement(_ViewAttributes_QNAME, ViewAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link GenericAttributeValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link GenericAttributeValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GenericAttributeValue") + public JAXBElement createGenericAttributeValue(GenericAttributeValue value) { + return new JAXBElement(_GenericAttributeValue_QNAME, GenericAttributeValue.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfGenericAttributeValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfGenericAttributeValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfGenericAttributeValue") + public JAXBElement createListOfGenericAttributeValue(ListOfGenericAttributeValue value) { + return new JAXBElement(_ListOfGenericAttributeValue_QNAME, ListOfGenericAttributeValue.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link GenericAttributes }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link GenericAttributes }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GenericAttributes") + public JAXBElement createGenericAttributes(GenericAttributes value) { + return new JAXBElement(_GenericAttributes_QNAME, GenericAttributes.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddNodesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddNodesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddNodesItem") + public JAXBElement createAddNodesItem(AddNodesItem value) { + return new JAXBElement(_AddNodesItem_QNAME, AddNodesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfAddNodesItem") + public JAXBElement createListOfAddNodesItem(ListOfAddNodesItem value) { + return new JAXBElement(_ListOfAddNodesItem_QNAME, ListOfAddNodesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddNodesResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddNodesResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddNodesResult") + public JAXBElement createAddNodesResult(AddNodesResult value) { + return new JAXBElement(_AddNodesResult_QNAME, AddNodesResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfAddNodesResult") + public JAXBElement createListOfAddNodesResult(ListOfAddNodesResult value) { + return new JAXBElement(_ListOfAddNodesResult_QNAME, ListOfAddNodesResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddNodesRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddNodesRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddNodesRequest") + public JAXBElement createAddNodesRequest(AddNodesRequest value) { + return new JAXBElement(_AddNodesRequest_QNAME, AddNodesRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddNodesResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddNodesResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddNodesResponse") + public JAXBElement createAddNodesResponse(AddNodesResponse value) { + return new JAXBElement(_AddNodesResponse_QNAME, AddNodesResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddReferencesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddReferencesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddReferencesItem") + public JAXBElement createAddReferencesItem(AddReferencesItem value) { + return new JAXBElement(_AddReferencesItem_QNAME, AddReferencesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAddReferencesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAddReferencesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfAddReferencesItem") + public JAXBElement createListOfAddReferencesItem(ListOfAddReferencesItem value) { + return new JAXBElement(_ListOfAddReferencesItem_QNAME, ListOfAddReferencesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddReferencesRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddReferencesRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddReferencesRequest") + public JAXBElement createAddReferencesRequest(AddReferencesRequest value) { + return new JAXBElement(_AddReferencesRequest_QNAME, AddReferencesRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AddReferencesResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AddReferencesResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddReferencesResponse") + public JAXBElement createAddReferencesResponse(AddReferencesResponse value) { + return new JAXBElement(_AddReferencesResponse_QNAME, AddReferencesResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteNodesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteNodesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteNodesItem") + public JAXBElement createDeleteNodesItem(DeleteNodesItem value) { + return new JAXBElement(_DeleteNodesItem_QNAME, DeleteNodesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDeleteNodesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDeleteNodesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDeleteNodesItem") + public JAXBElement createListOfDeleteNodesItem(ListOfDeleteNodesItem value) { + return new JAXBElement(_ListOfDeleteNodesItem_QNAME, ListOfDeleteNodesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteNodesRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteNodesRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteNodesRequest") + public JAXBElement createDeleteNodesRequest(DeleteNodesRequest value) { + return new JAXBElement(_DeleteNodesRequest_QNAME, DeleteNodesRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteNodesResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteNodesResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteNodesResponse") + public JAXBElement createDeleteNodesResponse(DeleteNodesResponse value) { + return new JAXBElement(_DeleteNodesResponse_QNAME, DeleteNodesResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteReferencesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteReferencesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteReferencesItem") + public JAXBElement createDeleteReferencesItem(DeleteReferencesItem value) { + return new JAXBElement(_DeleteReferencesItem_QNAME, DeleteReferencesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDeleteReferencesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDeleteReferencesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfDeleteReferencesItem") + public JAXBElement createListOfDeleteReferencesItem(ListOfDeleteReferencesItem value) { + return new JAXBElement(_ListOfDeleteReferencesItem_QNAME, ListOfDeleteReferencesItem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteReferencesRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteReferencesRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteReferencesRequest") + public JAXBElement createDeleteReferencesRequest(DeleteReferencesRequest value) { + return new JAXBElement(_DeleteReferencesRequest_QNAME, DeleteReferencesRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteReferencesResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteReferencesResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteReferencesResponse") + public JAXBElement createDeleteReferencesResponse(DeleteReferencesResponse value) { + return new JAXBElement(_DeleteReferencesResponse_QNAME, DeleteReferencesResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AttributeWriteMask") + public JAXBElement createAttributeWriteMask(Long value) { + return new JAXBElement(_AttributeWriteMask_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseDirection }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseDirection }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseDirection") + public JAXBElement createBrowseDirection(BrowseDirection value) { + return new JAXBElement(_BrowseDirection_QNAME, BrowseDirection.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ViewDescription") + public JAXBElement createViewDescription(ViewDescription value) { + return new JAXBElement(_ViewDescription_QNAME, ViewDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseDescription") + public JAXBElement createBrowseDescription(BrowseDescription value) { + return new JAXBElement(_BrowseDescription_QNAME, BrowseDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowseDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowseDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrowseDescription") + public JAXBElement createListOfBrowseDescription(ListOfBrowseDescription value) { + return new JAXBElement(_ListOfBrowseDescription_QNAME, ListOfBrowseDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseResultMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseResultMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseResultMask") + public JAXBElement createBrowseResultMask(BrowseResultMask value) { + return new JAXBElement(_BrowseResultMask_QNAME, BrowseResultMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReferenceDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceDescription") + public JAXBElement createReferenceDescription(ReferenceDescription value) { + return new JAXBElement(_ReferenceDescription_QNAME, ReferenceDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReferenceDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReferenceDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfReferenceDescription") + public JAXBElement createListOfReferenceDescription(ListOfReferenceDescription value) { + return new JAXBElement(_ListOfReferenceDescription_QNAME, ListOfReferenceDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoint") + public JAXBElement createContinuationPoint(byte[] value) { + return new JAXBElement(_ContinuationPoint_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseResult") + public JAXBElement createBrowseResult(BrowseResult value) { + return new JAXBElement(_BrowseResult_QNAME, BrowseResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrowseResult") + public JAXBElement createListOfBrowseResult(ListOfBrowseResult value) { + return new JAXBElement(_ListOfBrowseResult_QNAME, ListOfBrowseResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseRequest") + public JAXBElement createBrowseRequest(BrowseRequest value) { + return new JAXBElement(_BrowseRequest_QNAME, BrowseRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseResponse") + public JAXBElement createBrowseResponse(BrowseResponse value) { + return new JAXBElement(_BrowseResponse_QNAME, BrowseResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseNextRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseNextRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseNextRequest") + public JAXBElement createBrowseNextRequest(BrowseNextRequest value) { + return new JAXBElement(_BrowseNextRequest_QNAME, BrowseNextRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowseNextResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowseNextResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseNextResponse") + public JAXBElement createBrowseNextResponse(BrowseNextResponse value) { + return new JAXBElement(_BrowseNextResponse_QNAME, BrowseNextResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RelativePathElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RelativePathElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RelativePathElement") + public JAXBElement createRelativePathElement(RelativePathElement value) { + return new JAXBElement(_RelativePathElement_QNAME, RelativePathElement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRelativePathElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRelativePathElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfRelativePathElement") + public JAXBElement createListOfRelativePathElement(ListOfRelativePathElement value) { + return new JAXBElement(_ListOfRelativePathElement_QNAME, ListOfRelativePathElement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RelativePath") + public JAXBElement createRelativePath(RelativePath value) { + return new JAXBElement(_RelativePath_QNAME, RelativePath.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowsePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowsePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowsePath") + public JAXBElement createBrowsePath(BrowsePath value) { + return new JAXBElement(_BrowsePath_QNAME, BrowsePath.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrowsePath") + public JAXBElement createListOfBrowsePath(ListOfBrowsePath value) { + return new JAXBElement(_ListOfBrowsePath_QNAME, ListOfBrowsePath.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowsePathTarget }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowsePathTarget }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowsePathTarget") + public JAXBElement createBrowsePathTarget(BrowsePathTarget value) { + return new JAXBElement(_BrowsePathTarget_QNAME, BrowsePathTarget.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathTarget }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathTarget }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrowsePathTarget") + public JAXBElement createListOfBrowsePathTarget(ListOfBrowsePathTarget value) { + return new JAXBElement(_ListOfBrowsePathTarget_QNAME, ListOfBrowsePathTarget.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BrowsePathResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BrowsePathResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowsePathResult") + public JAXBElement createBrowsePathResult(BrowsePathResult value) { + return new JAXBElement(_BrowsePathResult_QNAME, BrowsePathResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfBrowsePathResult") + public JAXBElement createListOfBrowsePathResult(ListOfBrowsePathResult value) { + return new JAXBElement(_ListOfBrowsePathResult_QNAME, ListOfBrowsePathResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TranslateBrowsePathsToNodeIdsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TranslateBrowsePathsToNodeIdsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TranslateBrowsePathsToNodeIdsRequest") + public JAXBElement createTranslateBrowsePathsToNodeIdsRequest(TranslateBrowsePathsToNodeIdsRequest value) { + return new JAXBElement(_TranslateBrowsePathsToNodeIdsRequest_QNAME, TranslateBrowsePathsToNodeIdsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TranslateBrowsePathsToNodeIdsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TranslateBrowsePathsToNodeIdsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TranslateBrowsePathsToNodeIdsResponse") + public JAXBElement createTranslateBrowsePathsToNodeIdsResponse(TranslateBrowsePathsToNodeIdsResponse value) { + return new JAXBElement(_TranslateBrowsePathsToNodeIdsResponse_QNAME, TranslateBrowsePathsToNodeIdsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisterNodesRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisterNodesRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterNodesRequest") + public JAXBElement createRegisterNodesRequest(RegisterNodesRequest value) { + return new JAXBElement(_RegisterNodesRequest_QNAME, RegisterNodesRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisterNodesResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisterNodesResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterNodesResponse") + public JAXBElement createRegisterNodesResponse(RegisterNodesResponse value) { + return new JAXBElement(_RegisterNodesResponse_QNAME, RegisterNodesResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UnregisterNodesRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UnregisterNodesRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UnregisterNodesRequest") + public JAXBElement createUnregisterNodesRequest(UnregisterNodesRequest value) { + return new JAXBElement(_UnregisterNodesRequest_QNAME, UnregisterNodesRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UnregisterNodesResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UnregisterNodesResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UnregisterNodesResponse") + public JAXBElement createUnregisterNodesResponse(UnregisterNodesResponse value) { + return new JAXBElement(_UnregisterNodesResponse_QNAME, UnregisterNodesResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Long }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Counter") + public JAXBElement createCounter(Long value) { + return new JAXBElement(_Counter_QNAME, Long.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NumericRange") + public JAXBElement createNumericRange(String value) { + return new JAXBElement(_NumericRange_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EndpointConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EndpointConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointConfiguration") + public JAXBElement createEndpointConfiguration(EndpointConfiguration value) { + return new JAXBElement(_EndpointConfiguration_QNAME, EndpointConfiguration.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEndpointConfiguration") + public JAXBElement createListOfEndpointConfiguration(ListOfEndpointConfiguration value) { + return new JAXBElement(_ListOfEndpointConfiguration_QNAME, ListOfEndpointConfiguration.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QueryDataDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QueryDataDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryDataDescription") + public JAXBElement createQueryDataDescription(QueryDataDescription value) { + return new JAXBElement(_QueryDataDescription_QNAME, QueryDataDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfQueryDataDescription") + public JAXBElement createListOfQueryDataDescription(ListOfQueryDataDescription value) { + return new JAXBElement(_ListOfQueryDataDescription_QNAME, ListOfQueryDataDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeTypeDescription") + public JAXBElement createNodeTypeDescription(NodeTypeDescription value) { + return new JAXBElement(_NodeTypeDescription_QNAME, NodeTypeDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNodeTypeDescription") + public JAXBElement createListOfNodeTypeDescription(ListOfNodeTypeDescription value) { + return new JAXBElement(_ListOfNodeTypeDescription_QNAME, ListOfNodeTypeDescription.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FilterOperator }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FilterOperator }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FilterOperator") + public JAXBElement createFilterOperator(FilterOperator value) { + return new JAXBElement(_FilterOperator_QNAME, FilterOperator.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QueryDataSet }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QueryDataSet }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryDataSet") + public JAXBElement createQueryDataSet(QueryDataSet value) { + return new JAXBElement(_QueryDataSet_QNAME, QueryDataSet.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfQueryDataSet") + public JAXBElement createListOfQueryDataSet(ListOfQueryDataSet value) { + return new JAXBElement(_ListOfQueryDataSet_QNAME, ListOfQueryDataSet.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeReference }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeReference }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeReference") + public JAXBElement createNodeReference(NodeReference value) { + return new JAXBElement(_NodeReference_QNAME, NodeReference.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeReference }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeReference }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNodeReference") + public JAXBElement createListOfNodeReference(ListOfNodeReference value) { + return new JAXBElement(_ListOfNodeReference_QNAME, ListOfNodeReference.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilterElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilterElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContentFilterElement") + public JAXBElement createContentFilterElement(ContentFilterElement value) { + return new JAXBElement(_ContentFilterElement_QNAME, ContentFilterElement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfContentFilterElement") + public JAXBElement createListOfContentFilterElement(ListOfContentFilterElement value) { + return new JAXBElement(_ListOfContentFilterElement_QNAME, ListOfContentFilterElement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContentFilter") + public JAXBElement createContentFilter(ContentFilter value) { + return new JAXBElement(_ContentFilter_QNAME, ContentFilter.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfContentFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfContentFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfContentFilter") + public JAXBElement createListOfContentFilter(ListOfContentFilter value) { + return new JAXBElement(_ListOfContentFilter_QNAME, ListOfContentFilter.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FilterOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FilterOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FilterOperand") + public JAXBElement createFilterOperand(FilterOperand value) { + return new JAXBElement(_FilterOperand_QNAME, FilterOperand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ElementOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ElementOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ElementOperand") + public JAXBElement createElementOperand(ElementOperand value) { + return new JAXBElement(_ElementOperand_QNAME, ElementOperand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LiteralOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LiteralOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LiteralOperand") + public JAXBElement createLiteralOperand(LiteralOperand value) { + return new JAXBElement(_LiteralOperand_QNAME, LiteralOperand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AttributeOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AttributeOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AttributeOperand") + public JAXBElement createAttributeOperand(AttributeOperand value) { + return new JAXBElement(_AttributeOperand_QNAME, AttributeOperand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SimpleAttributeOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SimpleAttributeOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SimpleAttributeOperand") + public JAXBElement createSimpleAttributeOperand(SimpleAttributeOperand value) { + return new JAXBElement(_SimpleAttributeOperand_QNAME, SimpleAttributeOperand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSimpleAttributeOperand") + public JAXBElement createListOfSimpleAttributeOperand(ListOfSimpleAttributeOperand value) { + return new JAXBElement(_ListOfSimpleAttributeOperand_QNAME, ListOfSimpleAttributeOperand.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilterElementResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilterElementResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContentFilterElementResult") + public JAXBElement createContentFilterElementResult(ContentFilterElementResult value) { + return new JAXBElement(_ContentFilterElementResult_QNAME, ContentFilterElementResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElementResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElementResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfContentFilterElementResult") + public JAXBElement createListOfContentFilterElementResult(ListOfContentFilterElementResult value) { + return new JAXBElement(_ListOfContentFilterElementResult_QNAME, ListOfContentFilterElementResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContentFilterResult") + public JAXBElement createContentFilterResult(ContentFilterResult value) { + return new JAXBElement(_ContentFilterResult_QNAME, ContentFilterResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ParsingResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ParsingResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ParsingResult") + public JAXBElement createParsingResult(ParsingResult value) { + return new JAXBElement(_ParsingResult_QNAME, ParsingResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfParsingResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfParsingResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfParsingResult") + public JAXBElement createListOfParsingResult(ListOfParsingResult value) { + return new JAXBElement(_ListOfParsingResult_QNAME, ListOfParsingResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QueryFirstRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QueryFirstRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryFirstRequest") + public JAXBElement createQueryFirstRequest(QueryFirstRequest value) { + return new JAXBElement(_QueryFirstRequest_QNAME, QueryFirstRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QueryFirstResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QueryFirstResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryFirstResponse") + public JAXBElement createQueryFirstResponse(QueryFirstResponse value) { + return new JAXBElement(_QueryFirstResponse_QNAME, QueryFirstResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QueryNextRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QueryNextRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryNextRequest") + public JAXBElement createQueryNextRequest(QueryNextRequest value) { + return new JAXBElement(_QueryNextRequest_QNAME, QueryNextRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QueryNextResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QueryNextResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryNextResponse") + public JAXBElement createQueryNextResponse(QueryNextResponse value) { + return new JAXBElement(_QueryNextResponse_QNAME, QueryNextResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TimestampsToReturn }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TimestampsToReturn }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TimestampsToReturn") + public JAXBElement createTimestampsToReturn(TimestampsToReturn value) { + return new JAXBElement(_TimestampsToReturn_QNAME, TimestampsToReturn.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadValueId") + public JAXBElement createReadValueId(ReadValueId value) { + return new JAXBElement(_ReadValueId_QNAME, ReadValueId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfReadValueId") + public JAXBElement createListOfReadValueId(ListOfReadValueId value) { + return new JAXBElement(_ListOfReadValueId_QNAME, ListOfReadValueId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadRequest") + public JAXBElement createReadRequest(ReadRequest value) { + return new JAXBElement(_ReadRequest_QNAME, ReadRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadResponse") + public JAXBElement createReadResponse(ReadResponse value) { + return new JAXBElement(_ReadResponse_QNAME, ReadResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadValueId") + public JAXBElement createHistoryReadValueId(HistoryReadValueId value) { + return new JAXBElement(_HistoryReadValueId_QNAME, HistoryReadValueId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfHistoryReadValueId") + public JAXBElement createListOfHistoryReadValueId(ListOfHistoryReadValueId value) { + return new JAXBElement(_ListOfHistoryReadValueId_QNAME, ListOfHistoryReadValueId.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryReadResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryReadResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadResult") + public JAXBElement createHistoryReadResult(HistoryReadResult value) { + return new JAXBElement(_HistoryReadResult_QNAME, HistoryReadResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfHistoryReadResult") + public JAXBElement createListOfHistoryReadResult(ListOfHistoryReadResult value) { + return new JAXBElement(_ListOfHistoryReadResult_QNAME, ListOfHistoryReadResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryReadDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryReadDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadDetails") + public JAXBElement createHistoryReadDetails(HistoryReadDetails value) { + return new JAXBElement(_HistoryReadDetails_QNAME, HistoryReadDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadEventDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadEventDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadEventDetails") + public JAXBElement createReadEventDetails(ReadEventDetails value) { + return new JAXBElement(_ReadEventDetails_QNAME, ReadEventDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadRawModifiedDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadRawModifiedDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadRawModifiedDetails") + public JAXBElement createReadRawModifiedDetails(ReadRawModifiedDetails value) { + return new JAXBElement(_ReadRawModifiedDetails_QNAME, ReadRawModifiedDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadProcessedDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadProcessedDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadProcessedDetails") + public JAXBElement createReadProcessedDetails(ReadProcessedDetails value) { + return new JAXBElement(_ReadProcessedDetails_QNAME, ReadProcessedDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadAtTimeDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadAtTimeDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadAtTimeDetails") + public JAXBElement createReadAtTimeDetails(ReadAtTimeDetails value) { + return new JAXBElement(_ReadAtTimeDetails_QNAME, ReadAtTimeDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadAnnotationDataDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadAnnotationDataDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadAnnotationDataDetails") + public JAXBElement createReadAnnotationDataDetails(ReadAnnotationDataDetails value) { + return new JAXBElement(_ReadAnnotationDataDetails_QNAME, ReadAnnotationDataDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryData") + public JAXBElement createHistoryData(HistoryData value) { + return new JAXBElement(_HistoryData_QNAME, HistoryData.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModificationInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModificationInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModificationInfo") + public JAXBElement createModificationInfo(ModificationInfo value) { + return new JAXBElement(_ModificationInfo_QNAME, ModificationInfo.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfModificationInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfModificationInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfModificationInfo") + public JAXBElement createListOfModificationInfo(ListOfModificationInfo value) { + return new JAXBElement(_ListOfModificationInfo_QNAME, ListOfModificationInfo.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryModifiedData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryModifiedData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryModifiedData") + public JAXBElement createHistoryModifiedData(HistoryModifiedData value) { + return new JAXBElement(_HistoryModifiedData_QNAME, HistoryModifiedData.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryEvent }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryEvent }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryEvent") + public JAXBElement createHistoryEvent(HistoryEvent value) { + return new JAXBElement(_HistoryEvent_QNAME, HistoryEvent.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryReadRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryReadRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadRequest") + public JAXBElement createHistoryReadRequest(HistoryReadRequest value) { + return new JAXBElement(_HistoryReadRequest_QNAME, HistoryReadRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryReadResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryReadResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadResponse") + public JAXBElement createHistoryReadResponse(HistoryReadResponse value) { + return new JAXBElement(_HistoryReadResponse_QNAME, HistoryReadResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WriteValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link WriteValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriteValue") + public JAXBElement createWriteValue(WriteValue value) { + return new JAXBElement(_WriteValue_QNAME, WriteValue.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfWriteValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfWriteValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfWriteValue") + public JAXBElement createListOfWriteValue(ListOfWriteValue value) { + return new JAXBElement(_ListOfWriteValue_QNAME, ListOfWriteValue.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WriteRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link WriteRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriteRequest") + public JAXBElement createWriteRequest(WriteRequest value) { + return new JAXBElement(_WriteRequest_QNAME, WriteRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WriteResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link WriteResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriteResponse") + public JAXBElement createWriteResponse(WriteResponse value) { + return new JAXBElement(_WriteResponse_QNAME, WriteResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryUpdateDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryUpdateDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateDetails") + public JAXBElement createHistoryUpdateDetails(HistoryUpdateDetails value) { + return new JAXBElement(_HistoryUpdateDetails_QNAME, HistoryUpdateDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryUpdateType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryUpdateType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateType") + public JAXBElement createHistoryUpdateType(HistoryUpdateType value) { + return new JAXBElement(_HistoryUpdateType_QNAME, HistoryUpdateType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PerformUpdateType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PerformUpdateType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PerformUpdateType") + public JAXBElement createPerformUpdateType(PerformUpdateType value) { + return new JAXBElement(_PerformUpdateType_QNAME, PerformUpdateType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UpdateDataDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UpdateDataDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UpdateDataDetails") + public JAXBElement createUpdateDataDetails(UpdateDataDetails value) { + return new JAXBElement(_UpdateDataDetails_QNAME, UpdateDataDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UpdateStructureDataDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UpdateStructureDataDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UpdateStructureDataDetails") + public JAXBElement createUpdateStructureDataDetails(UpdateStructureDataDetails value) { + return new JAXBElement(_UpdateStructureDataDetails_QNAME, UpdateStructureDataDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link UpdateEventDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link UpdateEventDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UpdateEventDetails") + public JAXBElement createUpdateEventDetails(UpdateEventDetails value) { + return new JAXBElement(_UpdateEventDetails_QNAME, UpdateEventDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteRawModifiedDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteRawModifiedDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteRawModifiedDetails") + public JAXBElement createDeleteRawModifiedDetails(DeleteRawModifiedDetails value) { + return new JAXBElement(_DeleteRawModifiedDetails_QNAME, DeleteRawModifiedDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteAtTimeDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteAtTimeDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteAtTimeDetails") + public JAXBElement createDeleteAtTimeDetails(DeleteAtTimeDetails value) { + return new JAXBElement(_DeleteAtTimeDetails_QNAME, DeleteAtTimeDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteEventDetails }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteEventDetails }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteEventDetails") + public JAXBElement createDeleteEventDetails(DeleteEventDetails value) { + return new JAXBElement(_DeleteEventDetails_QNAME, DeleteEventDetails.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryUpdateResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryUpdateResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateResult") + public JAXBElement createHistoryUpdateResult(HistoryUpdateResult value) { + return new JAXBElement(_HistoryUpdateResult_QNAME, HistoryUpdateResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryUpdateResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryUpdateResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfHistoryUpdateResult") + public JAXBElement createListOfHistoryUpdateResult(ListOfHistoryUpdateResult value) { + return new JAXBElement(_ListOfHistoryUpdateResult_QNAME, ListOfHistoryUpdateResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryUpdateRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryUpdateRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateRequest") + public JAXBElement createHistoryUpdateRequest(HistoryUpdateRequest value) { + return new JAXBElement(_HistoryUpdateRequest_QNAME, HistoryUpdateRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryUpdateResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryUpdateResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateResponse") + public JAXBElement createHistoryUpdateResponse(HistoryUpdateResponse value) { + return new JAXBElement(_HistoryUpdateResponse_QNAME, HistoryUpdateResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CallMethodRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CallMethodRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CallMethodRequest") + public JAXBElement createCallMethodRequest(CallMethodRequest value) { + return new JAXBElement(_CallMethodRequest_QNAME, CallMethodRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfCallMethodRequest") + public JAXBElement createListOfCallMethodRequest(ListOfCallMethodRequest value) { + return new JAXBElement(_ListOfCallMethodRequest_QNAME, ListOfCallMethodRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CallMethodResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CallMethodResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CallMethodResult") + public JAXBElement createCallMethodResult(CallMethodResult value) { + return new JAXBElement(_CallMethodResult_QNAME, CallMethodResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfCallMethodResult") + public JAXBElement createListOfCallMethodResult(ListOfCallMethodResult value) { + return new JAXBElement(_ListOfCallMethodResult_QNAME, ListOfCallMethodResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CallRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CallRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CallRequest") + public JAXBElement createCallRequest(CallRequest value) { + return new JAXBElement(_CallRequest_QNAME, CallRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CallResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CallResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CallResponse") + public JAXBElement createCallResponse(CallResponse value) { + return new JAXBElement(_CallResponse_QNAME, CallResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringMode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoringMode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoringMode") + public JAXBElement createMonitoringMode(MonitoringMode value) { + return new JAXBElement(_MonitoringMode_QNAME, MonitoringMode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataChangeTrigger }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataChangeTrigger }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataChangeTrigger") + public JAXBElement createDataChangeTrigger(DataChangeTrigger value) { + return new JAXBElement(_DataChangeTrigger_QNAME, DataChangeTrigger.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeadbandType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeadbandType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeadbandType") + public JAXBElement createDeadbandType(DeadbandType value) { + return new JAXBElement(_DeadbandType_QNAME, DeadbandType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoringFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoringFilter") + public JAXBElement createMonitoringFilter(MonitoringFilter value) { + return new JAXBElement(_MonitoringFilter_QNAME, MonitoringFilter.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataChangeFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataChangeFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataChangeFilter") + public JAXBElement createDataChangeFilter(DataChangeFilter value) { + return new JAXBElement(_DataChangeFilter_QNAME, DataChangeFilter.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventFilter") + public JAXBElement createEventFilter(EventFilter value) { + return new JAXBElement(_EventFilter_QNAME, EventFilter.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateConfiguration") + public JAXBElement createAggregateConfiguration(AggregateConfiguration value) { + return new JAXBElement(_AggregateConfiguration_QNAME, AggregateConfiguration.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AggregateFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AggregateFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateFilter") + public JAXBElement createAggregateFilter(AggregateFilter value) { + return new JAXBElement(_AggregateFilter_QNAME, AggregateFilter.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringFilterResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoringFilterResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoringFilterResult") + public JAXBElement createMonitoringFilterResult(MonitoringFilterResult value) { + return new JAXBElement(_MonitoringFilterResult_QNAME, MonitoringFilterResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EventFilterResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EventFilterResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventFilterResult") + public JAXBElement createEventFilterResult(EventFilterResult value) { + return new JAXBElement(_EventFilterResult_QNAME, EventFilterResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AggregateFilterResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AggregateFilterResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateFilterResult") + public JAXBElement createAggregateFilterResult(AggregateFilterResult value) { + return new JAXBElement(_AggregateFilterResult_QNAME, AggregateFilterResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoringParameters") + public JAXBElement createMonitoringParameters(MonitoringParameters value) { + return new JAXBElement(_MonitoringParameters_QNAME, MonitoringParameters.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoredItemCreateRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoredItemCreateRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemCreateRequest") + public JAXBElement createMonitoredItemCreateRequest(MonitoredItemCreateRequest value) { + return new JAXBElement(_MonitoredItemCreateRequest_QNAME, MonitoredItemCreateRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfMonitoredItemCreateRequest") + public JAXBElement createListOfMonitoredItemCreateRequest(ListOfMonitoredItemCreateRequest value) { + return new JAXBElement(_ListOfMonitoredItemCreateRequest_QNAME, ListOfMonitoredItemCreateRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoredItemCreateResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoredItemCreateResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemCreateResult") + public JAXBElement createMonitoredItemCreateResult(MonitoredItemCreateResult value) { + return new JAXBElement(_MonitoredItemCreateResult_QNAME, MonitoredItemCreateResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfMonitoredItemCreateResult") + public JAXBElement createListOfMonitoredItemCreateResult(ListOfMonitoredItemCreateResult value) { + return new JAXBElement(_ListOfMonitoredItemCreateResult_QNAME, ListOfMonitoredItemCreateResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CreateMonitoredItemsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CreateMonitoredItemsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateMonitoredItemsRequest") + public JAXBElement createCreateMonitoredItemsRequest(CreateMonitoredItemsRequest value) { + return new JAXBElement(_CreateMonitoredItemsRequest_QNAME, CreateMonitoredItemsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CreateMonitoredItemsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CreateMonitoredItemsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateMonitoredItemsResponse") + public JAXBElement createCreateMonitoredItemsResponse(CreateMonitoredItemsResponse value) { + return new JAXBElement(_CreateMonitoredItemsResponse_QNAME, CreateMonitoredItemsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoredItemModifyRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoredItemModifyRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemModifyRequest") + public JAXBElement createMonitoredItemModifyRequest(MonitoredItemModifyRequest value) { + return new JAXBElement(_MonitoredItemModifyRequest_QNAME, MonitoredItemModifyRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfMonitoredItemModifyRequest") + public JAXBElement createListOfMonitoredItemModifyRequest(ListOfMonitoredItemModifyRequest value) { + return new JAXBElement(_ListOfMonitoredItemModifyRequest_QNAME, ListOfMonitoredItemModifyRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoredItemModifyResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoredItemModifyResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemModifyResult") + public JAXBElement createMonitoredItemModifyResult(MonitoredItemModifyResult value) { + return new JAXBElement(_MonitoredItemModifyResult_QNAME, MonitoredItemModifyResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfMonitoredItemModifyResult") + public JAXBElement createListOfMonitoredItemModifyResult(ListOfMonitoredItemModifyResult value) { + return new JAXBElement(_ListOfMonitoredItemModifyResult_QNAME, ListOfMonitoredItemModifyResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModifyMonitoredItemsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModifyMonitoredItemsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModifyMonitoredItemsRequest") + public JAXBElement createModifyMonitoredItemsRequest(ModifyMonitoredItemsRequest value) { + return new JAXBElement(_ModifyMonitoredItemsRequest_QNAME, ModifyMonitoredItemsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModifyMonitoredItemsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModifyMonitoredItemsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModifyMonitoredItemsResponse") + public JAXBElement createModifyMonitoredItemsResponse(ModifyMonitoredItemsResponse value) { + return new JAXBElement(_ModifyMonitoredItemsResponse_QNAME, ModifyMonitoredItemsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SetMonitoringModeRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SetMonitoringModeRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetMonitoringModeRequest") + public JAXBElement createSetMonitoringModeRequest(SetMonitoringModeRequest value) { + return new JAXBElement(_SetMonitoringModeRequest_QNAME, SetMonitoringModeRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SetMonitoringModeResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SetMonitoringModeResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetMonitoringModeResponse") + public JAXBElement createSetMonitoringModeResponse(SetMonitoringModeResponse value) { + return new JAXBElement(_SetMonitoringModeResponse_QNAME, SetMonitoringModeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SetTriggeringRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SetTriggeringRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetTriggeringRequest") + public JAXBElement createSetTriggeringRequest(SetTriggeringRequest value) { + return new JAXBElement(_SetTriggeringRequest_QNAME, SetTriggeringRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SetTriggeringResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SetTriggeringResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetTriggeringResponse") + public JAXBElement createSetTriggeringResponse(SetTriggeringResponse value) { + return new JAXBElement(_SetTriggeringResponse_QNAME, SetTriggeringResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteMonitoredItemsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteMonitoredItemsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteMonitoredItemsRequest") + public JAXBElement createDeleteMonitoredItemsRequest(DeleteMonitoredItemsRequest value) { + return new JAXBElement(_DeleteMonitoredItemsRequest_QNAME, DeleteMonitoredItemsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteMonitoredItemsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteMonitoredItemsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteMonitoredItemsResponse") + public JAXBElement createDeleteMonitoredItemsResponse(DeleteMonitoredItemsResponse value) { + return new JAXBElement(_DeleteMonitoredItemsResponse_QNAME, DeleteMonitoredItemsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CreateSubscriptionRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CreateSubscriptionRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSubscriptionRequest") + public JAXBElement createCreateSubscriptionRequest(CreateSubscriptionRequest value) { + return new JAXBElement(_CreateSubscriptionRequest_QNAME, CreateSubscriptionRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CreateSubscriptionResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CreateSubscriptionResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSubscriptionResponse") + public JAXBElement createCreateSubscriptionResponse(CreateSubscriptionResponse value) { + return new JAXBElement(_CreateSubscriptionResponse_QNAME, CreateSubscriptionResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModifySubscriptionRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModifySubscriptionRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModifySubscriptionRequest") + public JAXBElement createModifySubscriptionRequest(ModifySubscriptionRequest value) { + return new JAXBElement(_ModifySubscriptionRequest_QNAME, ModifySubscriptionRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModifySubscriptionResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModifySubscriptionResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModifySubscriptionResponse") + public JAXBElement createModifySubscriptionResponse(ModifySubscriptionResponse value) { + return new JAXBElement(_ModifySubscriptionResponse_QNAME, ModifySubscriptionResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SetPublishingModeRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SetPublishingModeRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetPublishingModeRequest") + public JAXBElement createSetPublishingModeRequest(SetPublishingModeRequest value) { + return new JAXBElement(_SetPublishingModeRequest_QNAME, SetPublishingModeRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SetPublishingModeResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SetPublishingModeResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetPublishingModeResponse") + public JAXBElement createSetPublishingModeResponse(SetPublishingModeResponse value) { + return new JAXBElement(_SetPublishingModeResponse_QNAME, SetPublishingModeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NotificationMessage") + public JAXBElement createNotificationMessage(NotificationMessage value) { + return new JAXBElement(_NotificationMessage_QNAME, NotificationMessage.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NotificationData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NotificationData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NotificationData") + public JAXBElement createNotificationData(NotificationData value) { + return new JAXBElement(_NotificationData_QNAME, NotificationData.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataChangeNotification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataChangeNotification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataChangeNotification") + public JAXBElement createDataChangeNotification(DataChangeNotification value) { + return new JAXBElement(_DataChangeNotification_QNAME, DataChangeNotification.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoredItemNotification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoredItemNotification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemNotification") + public JAXBElement createMonitoredItemNotification(MonitoredItemNotification value) { + return new JAXBElement(_MonitoredItemNotification_QNAME, MonitoredItemNotification.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemNotification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemNotification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfMonitoredItemNotification") + public JAXBElement createListOfMonitoredItemNotification(ListOfMonitoredItemNotification value) { + return new JAXBElement(_ListOfMonitoredItemNotification_QNAME, ListOfMonitoredItemNotification.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EventNotificationList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EventNotificationList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventNotificationList") + public JAXBElement createEventNotificationList(EventNotificationList value) { + return new JAXBElement(_EventNotificationList_QNAME, EventNotificationList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventFieldList") + public JAXBElement createEventFieldList(EventFieldList value) { + return new JAXBElement(_EventFieldList_QNAME, EventFieldList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEventFieldList") + public JAXBElement createListOfEventFieldList(ListOfEventFieldList value) { + return new JAXBElement(_ListOfEventFieldList_QNAME, ListOfEventFieldList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link HistoryEventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link HistoryEventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryEventFieldList") + public JAXBElement createHistoryEventFieldList(HistoryEventFieldList value) { + return new JAXBElement(_HistoryEventFieldList_QNAME, HistoryEventFieldList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfHistoryEventFieldList") + public JAXBElement createListOfHistoryEventFieldList(ListOfHistoryEventFieldList value) { + return new JAXBElement(_ListOfHistoryEventFieldList_QNAME, ListOfHistoryEventFieldList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StatusChangeNotification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StatusChangeNotification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StatusChangeNotification") + public JAXBElement createStatusChangeNotification(StatusChangeNotification value) { + return new JAXBElement(_StatusChangeNotification_QNAME, StatusChangeNotification.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SubscriptionAcknowledgement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SubscriptionAcknowledgement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscriptionAcknowledgement") + public JAXBElement createSubscriptionAcknowledgement(SubscriptionAcknowledgement value) { + return new JAXBElement(_SubscriptionAcknowledgement_QNAME, SubscriptionAcknowledgement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSubscriptionAcknowledgement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSubscriptionAcknowledgement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSubscriptionAcknowledgement") + public JAXBElement createListOfSubscriptionAcknowledgement(ListOfSubscriptionAcknowledgement value) { + return new JAXBElement(_ListOfSubscriptionAcknowledgement_QNAME, ListOfSubscriptionAcknowledgement.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishRequest") + public JAXBElement createPublishRequest(PublishRequest value) { + return new JAXBElement(_PublishRequest_QNAME, PublishRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PublishResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PublishResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishResponse") + public JAXBElement createPublishResponse(PublishResponse value) { + return new JAXBElement(_PublishResponse_QNAME, PublishResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RepublishRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RepublishRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RepublishRequest") + public JAXBElement createRepublishRequest(RepublishRequest value) { + return new JAXBElement(_RepublishRequest_QNAME, RepublishRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RepublishResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RepublishResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RepublishResponse") + public JAXBElement createRepublishResponse(RepublishResponse value) { + return new JAXBElement(_RepublishResponse_QNAME, RepublishResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TransferResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TransferResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransferResult") + public JAXBElement createTransferResult(TransferResult value) { + return new JAXBElement(_TransferResult_QNAME, TransferResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfTransferResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfTransferResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfTransferResult") + public JAXBElement createListOfTransferResult(ListOfTransferResult value) { + return new JAXBElement(_ListOfTransferResult_QNAME, ListOfTransferResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TransferSubscriptionsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TransferSubscriptionsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransferSubscriptionsRequest") + public JAXBElement createTransferSubscriptionsRequest(TransferSubscriptionsRequest value) { + return new JAXBElement(_TransferSubscriptionsRequest_QNAME, TransferSubscriptionsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TransferSubscriptionsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link TransferSubscriptionsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransferSubscriptionsResponse") + public JAXBElement createTransferSubscriptionsResponse(TransferSubscriptionsResponse value) { + return new JAXBElement(_TransferSubscriptionsResponse_QNAME, TransferSubscriptionsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteSubscriptionsRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteSubscriptionsRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteSubscriptionsRequest") + public JAXBElement createDeleteSubscriptionsRequest(DeleteSubscriptionsRequest value) { + return new JAXBElement(_DeleteSubscriptionsRequest_QNAME, DeleteSubscriptionsRequest.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DeleteSubscriptionsResponse }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DeleteSubscriptionsResponse }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteSubscriptionsResponse") + public JAXBElement createDeleteSubscriptionsResponse(DeleteSubscriptionsResponse value) { + return new JAXBElement(_DeleteSubscriptionsResponse_QNAME, DeleteSubscriptionsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BuildInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BuildInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BuildInfo") + public JAXBElement createBuildInfo(BuildInfo value) { + return new JAXBElement(_BuildInfo_QNAME, BuildInfo.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RedundancySupport }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RedundancySupport }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RedundancySupport") + public JAXBElement createRedundancySupport(RedundancySupport value) { + return new JAXBElement(_RedundancySupport_QNAME, RedundancySupport.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServerState }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServerState }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerState") + public JAXBElement createServerState(ServerState value) { + return new JAXBElement(_ServerState_QNAME, ServerState.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RedundantServerDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RedundantServerDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RedundantServerDataType") + public JAXBElement createRedundantServerDataType(RedundantServerDataType value) { + return new JAXBElement(_RedundantServerDataType_QNAME, RedundantServerDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRedundantServerDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRedundantServerDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfRedundantServerDataType") + public JAXBElement createListOfRedundantServerDataType(ListOfRedundantServerDataType value) { + return new JAXBElement(_ListOfRedundantServerDataType_QNAME, ListOfRedundantServerDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EndpointUrlListDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EndpointUrlListDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrlListDataType") + public JAXBElement createEndpointUrlListDataType(EndpointUrlListDataType value) { + return new JAXBElement(_EndpointUrlListDataType_QNAME, EndpointUrlListDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointUrlListDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointUrlListDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfEndpointUrlListDataType") + public JAXBElement createListOfEndpointUrlListDataType(ListOfEndpointUrlListDataType value) { + return new JAXBElement(_ListOfEndpointUrlListDataType_QNAME, ListOfEndpointUrlListDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NetworkGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NetworkGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NetworkGroupDataType") + public JAXBElement createNetworkGroupDataType(NetworkGroupDataType value) { + return new JAXBElement(_NetworkGroupDataType_QNAME, NetworkGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNetworkGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNetworkGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfNetworkGroupDataType") + public JAXBElement createListOfNetworkGroupDataType(ListOfNetworkGroupDataType value) { + return new JAXBElement(_ListOfNetworkGroupDataType_QNAME, ListOfNetworkGroupDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SamplingIntervalDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SamplingIntervalDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SamplingIntervalDiagnosticsDataType") + public JAXBElement createSamplingIntervalDiagnosticsDataType(SamplingIntervalDiagnosticsDataType value) { + return new JAXBElement(_SamplingIntervalDiagnosticsDataType_QNAME, SamplingIntervalDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSamplingIntervalDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSamplingIntervalDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSamplingIntervalDiagnosticsDataType") + public JAXBElement createListOfSamplingIntervalDiagnosticsDataType(ListOfSamplingIntervalDiagnosticsDataType value) { + return new JAXBElement(_ListOfSamplingIntervalDiagnosticsDataType_QNAME, ListOfSamplingIntervalDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServerDiagnosticsSummaryDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServerDiagnosticsSummaryDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerDiagnosticsSummaryDataType") + public JAXBElement createServerDiagnosticsSummaryDataType(ServerDiagnosticsSummaryDataType value) { + return new JAXBElement(_ServerDiagnosticsSummaryDataType_QNAME, ServerDiagnosticsSummaryDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServerStatusDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServerStatusDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerStatusDataType") + public JAXBElement createServerStatusDataType(ServerStatusDataType value) { + return new JAXBElement(_ServerStatusDataType_QNAME, ServerStatusDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SessionDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SessionDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionDiagnosticsDataType") + public JAXBElement createSessionDiagnosticsDataType(SessionDiagnosticsDataType value) { + return new JAXBElement(_SessionDiagnosticsDataType_QNAME, SessionDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSessionDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSessionDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSessionDiagnosticsDataType") + public JAXBElement createListOfSessionDiagnosticsDataType(ListOfSessionDiagnosticsDataType value) { + return new JAXBElement(_ListOfSessionDiagnosticsDataType_QNAME, ListOfSessionDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SessionSecurityDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SessionSecurityDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionSecurityDiagnosticsDataType") + public JAXBElement createSessionSecurityDiagnosticsDataType(SessionSecurityDiagnosticsDataType value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataType_QNAME, SessionSecurityDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSessionSecurityDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSessionSecurityDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSessionSecurityDiagnosticsDataType") + public JAXBElement createListOfSessionSecurityDiagnosticsDataType(ListOfSessionSecurityDiagnosticsDataType value) { + return new JAXBElement(_ListOfSessionSecurityDiagnosticsDataType_QNAME, ListOfSessionSecurityDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServiceCounterDataType") + public JAXBElement createServiceCounterDataType(ServiceCounterDataType value) { + return new JAXBElement(_ServiceCounterDataType_QNAME, ServiceCounterDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StatusResult") + public JAXBElement createStatusResult(StatusResult value) { + return new JAXBElement(_StatusResult_QNAME, StatusResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfStatusResult") + public JAXBElement createListOfStatusResult(ListOfStatusResult value) { + return new JAXBElement(_ListOfStatusResult_QNAME, ListOfStatusResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SubscriptionDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SubscriptionDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscriptionDiagnosticsDataType") + public JAXBElement createSubscriptionDiagnosticsDataType(SubscriptionDiagnosticsDataType value) { + return new JAXBElement(_SubscriptionDiagnosticsDataType_QNAME, SubscriptionDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSubscriptionDiagnosticsDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSubscriptionDiagnosticsDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSubscriptionDiagnosticsDataType") + public JAXBElement createListOfSubscriptionDiagnosticsDataType(ListOfSubscriptionDiagnosticsDataType value) { + return new JAXBElement(_ListOfSubscriptionDiagnosticsDataType_QNAME, ListOfSubscriptionDiagnosticsDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModelChangeStructureVerbMask }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModelChangeStructureVerbMask }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModelChangeStructureVerbMask") + public JAXBElement createModelChangeStructureVerbMask(ModelChangeStructureVerbMask value) { + return new JAXBElement(_ModelChangeStructureVerbMask_QNAME, ModelChangeStructureVerbMask.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ModelChangeStructureDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ModelChangeStructureDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModelChangeStructureDataType") + public JAXBElement createModelChangeStructureDataType(ModelChangeStructureDataType value) { + return new JAXBElement(_ModelChangeStructureDataType_QNAME, ModelChangeStructureDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfModelChangeStructureDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfModelChangeStructureDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfModelChangeStructureDataType") + public JAXBElement createListOfModelChangeStructureDataType(ListOfModelChangeStructureDataType value) { + return new JAXBElement(_ListOfModelChangeStructureDataType_QNAME, ListOfModelChangeStructureDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SemanticChangeStructureDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SemanticChangeStructureDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SemanticChangeStructureDataType") + public JAXBElement createSemanticChangeStructureDataType(SemanticChangeStructureDataType value) { + return new JAXBElement(_SemanticChangeStructureDataType_QNAME, SemanticChangeStructureDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSemanticChangeStructureDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSemanticChangeStructureDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ListOfSemanticChangeStructureDataType") + public JAXBElement createListOfSemanticChangeStructureDataType(ListOfSemanticChangeStructureDataType value) { + return new JAXBElement(_ListOfSemanticChangeStructureDataType_QNAME, ListOfSemanticChangeStructureDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Range }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Range }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Range") + public JAXBElement createRange(Range value) { + return new JAXBElement(_Range_QNAME, Range.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EUInformation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EUInformation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EUInformation") + public JAXBElement createEUInformation(EUInformation value) { + return new JAXBElement(_EUInformation_QNAME, EUInformation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AxisScaleEnumeration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AxisScaleEnumeration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AxisScaleEnumeration") + public JAXBElement createAxisScaleEnumeration(AxisScaleEnumeration value) { + return new JAXBElement(_AxisScaleEnumeration_QNAME, AxisScaleEnumeration.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ComplexNumberType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ComplexNumberType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ComplexNumberType") + public JAXBElement createComplexNumberType(ComplexNumberType value) { + return new JAXBElement(_ComplexNumberType_QNAME, ComplexNumberType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DoubleComplexNumberType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DoubleComplexNumberType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DoubleComplexNumberType") + public JAXBElement createDoubleComplexNumberType(DoubleComplexNumberType value) { + return new JAXBElement(_DoubleComplexNumberType_QNAME, DoubleComplexNumberType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AxisInformation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AxisInformation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AxisInformation") + public JAXBElement createAxisInformation(AxisInformation value) { + return new JAXBElement(_AxisInformation_QNAME, AxisInformation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link XVType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link XVType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "XVType") + public JAXBElement createXVType(XVType value) { + return new JAXBElement(_XVType_QNAME, XVType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ProgramDiagnosticDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ProgramDiagnosticDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProgramDiagnosticDataType") + public JAXBElement createProgramDiagnosticDataType(ProgramDiagnosticDataType value) { + return new JAXBElement(_ProgramDiagnosticDataType_QNAME, ProgramDiagnosticDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ProgramDiagnostic2DataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ProgramDiagnostic2DataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProgramDiagnostic2DataType") + public JAXBElement createProgramDiagnostic2DataType(ProgramDiagnostic2DataType value) { + return new JAXBElement(_ProgramDiagnostic2DataType_QNAME, ProgramDiagnostic2DataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Annotation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Annotation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Annotation") + public JAXBElement createAnnotation(Annotation value) { + return new JAXBElement(_Annotation_QNAME, Annotation.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExceptionDeviationFormat }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExceptionDeviationFormat }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ExceptionDeviationFormat") + public JAXBElement createExceptionDeviationFormat(ExceptionDeviationFormat value) { + return new JAXBElement(_ExceptionDeviationFormat_QNAME, ExceptionDeviationFormat.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Message", scope = Annotation.class) + public JAXBElement createAnnotationMessage(String value) { + return new JAXBElement(_AnnotationMessage_QNAME, String.class, Annotation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserName", scope = Annotation.class) + public JAXBElement createAnnotationUserName(String value) { + return new JAXBElement(_AnnotationUserName_QNAME, String.class, Annotation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSessionId", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeCreateSessionId(NodeId value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeCreateSessionId_QNAME, NodeId.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateClientName", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeCreateClientName(String value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeCreateClientName_QNAME, String.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodCall", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodCall(String value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodCall_QNAME, String.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodSessionId", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodSessionId(NodeId value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodSessionId_QNAME, NodeId.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodInputArguments", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodInputArguments(ListOfArgument value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodInputArguments_QNAME, ListOfArgument.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodOutputArguments", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodOutputArguments(ListOfArgument value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodOutputArguments_QNAME, ListOfArgument.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodInputValues", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodInputValues(ListOfVariant value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodInputValues_QNAME, ListOfVariant.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodOutputValues", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodOutputValues(ListOfVariant value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodOutputValues_QNAME, ListOfVariant.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodReturnStatus", scope = ProgramDiagnostic2DataType.class) + public JAXBElement createProgramDiagnostic2DataTypeLastMethodReturnStatus(StatusResult value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodReturnStatus_QNAME, StatusResult.class, ProgramDiagnostic2DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSessionId", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeCreateSessionId(NodeId value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeCreateSessionId_QNAME, NodeId.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateClientName", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeCreateClientName(String value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeCreateClientName_QNAME, String.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodCall", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeLastMethodCall(String value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodCall_QNAME, String.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodSessionId", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeLastMethodSessionId(NodeId value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodSessionId_QNAME, NodeId.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodInputArguments", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeLastMethodInputArguments(ListOfArgument value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodInputArguments_QNAME, ListOfArgument.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodOutputArguments", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeLastMethodOutputArguments(ListOfArgument value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodOutputArguments_QNAME, ListOfArgument.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LastMethodReturnStatus", scope = ProgramDiagnosticDataType.class) + public JAXBElement createProgramDiagnosticDataTypeLastMethodReturnStatus(StatusResult value) { + return new JAXBElement(_ProgramDiagnostic2DataTypeLastMethodReturnStatus_QNAME, StatusResult.class, ProgramDiagnosticDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EUInformation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EUInformation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EngineeringUnits", scope = AxisInformation.class) + public JAXBElement createAxisInformationEngineeringUnits(EUInformation value) { + return new JAXBElement(_AxisInformationEngineeringUnits_QNAME, EUInformation.class, AxisInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Range }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Range }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EURange", scope = AxisInformation.class) + public JAXBElement createAxisInformationEURange(Range value) { + return new JAXBElement(_AxisInformationEURange_QNAME, Range.class, AxisInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Title", scope = AxisInformation.class) + public JAXBElement createAxisInformationTitle(LocalizedText value) { + return new JAXBElement(_AxisInformationTitle_QNAME, LocalizedText.class, AxisInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AxisSteps", scope = AxisInformation.class) + public JAXBElement createAxisInformationAxisSteps(ListOfDouble value) { + return new JAXBElement(_AxisInformationAxisSteps_QNAME, ListOfDouble.class, AxisInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NamespaceUri", scope = EUInformation.class) + public JAXBElement createEUInformationNamespaceUri(String value) { + return new JAXBElement(_EUInformationNamespaceUri_QNAME, String.class, EUInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DisplayName", scope = EUInformation.class) + public JAXBElement createEUInformationDisplayName(LocalizedText value) { + return new JAXBElement(_EUInformationDisplayName_QNAME, LocalizedText.class, EUInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = EUInformation.class) + public JAXBElement createEUInformationDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, EUInformation.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Affected", scope = SemanticChangeStructureDataType.class) + public JAXBElement createSemanticChangeStructureDataTypeAffected(NodeId value) { + return new JAXBElement(_SemanticChangeStructureDataTypeAffected_QNAME, NodeId.class, SemanticChangeStructureDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AffectedType", scope = SemanticChangeStructureDataType.class) + public JAXBElement createSemanticChangeStructureDataTypeAffectedType(NodeId value) { + return new JAXBElement(_SemanticChangeStructureDataTypeAffectedType_QNAME, NodeId.class, SemanticChangeStructureDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Affected", scope = ModelChangeStructureDataType.class) + public JAXBElement createModelChangeStructureDataTypeAffected(NodeId value) { + return new JAXBElement(_SemanticChangeStructureDataTypeAffected_QNAME, NodeId.class, ModelChangeStructureDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AffectedType", scope = ModelChangeStructureDataType.class) + public JAXBElement createModelChangeStructureDataTypeAffectedType(NodeId value) { + return new JAXBElement(_SemanticChangeStructureDataTypeAffectedType_QNAME, NodeId.class, ModelChangeStructureDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionId", scope = SubscriptionDiagnosticsDataType.class) + public JAXBElement createSubscriptionDiagnosticsDataTypeSessionId(NodeId value) { + return new JAXBElement(_SubscriptionDiagnosticsDataTypeSessionId_QNAME, NodeId.class, SubscriptionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfo", scope = StatusResult.class) + public JAXBElement createStatusResultDiagnosticInfo(DiagnosticInfo value) { + return new JAXBElement(_DiagnosticInfo_QNAME, DiagnosticInfo.class, StatusResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionId", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeSessionId(NodeId value) { + return new JAXBElement(_SubscriptionDiagnosticsDataTypeSessionId_QNAME, NodeId.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientUserIdOfSession", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeClientUserIdOfSession(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeClientUserIdOfSession_QNAME, String.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientUserIdHistory", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeClientUserIdHistory(ListOfString value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeClientUserIdHistory_QNAME, ListOfString.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationMechanism", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeAuthenticationMechanism(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeAuthenticationMechanism_QNAME, String.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Encoding", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeEncoding(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeEncoding_QNAME, String.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportProtocol", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeTransportProtocol(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeTransportProtocol_QNAME, String.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityPolicyUri", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeSecurityPolicyUri(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeSecurityPolicyUri_QNAME, String.class, SessionSecurityDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientCertificate", scope = SessionSecurityDiagnosticsDataType.class) + public JAXBElement createSessionSecurityDiagnosticsDataTypeClientCertificate(byte[] value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeClientCertificate_QNAME, byte[].class, SessionSecurityDiagnosticsDataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionId", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeSessionId(NodeId value) { + return new JAXBElement(_SubscriptionDiagnosticsDataTypeSessionId_QNAME, NodeId.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionName", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeSessionName(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeSessionName_QNAME, String.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientDescription", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeClientDescription(ApplicationDescription value) { + return new JAXBElement(_SessionDiagnosticsDataTypeClientDescription_QNAME, ApplicationDescription.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUri", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeServerUri(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeServerUri_QNAME, String.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrl", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeEndpointUrl(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeEndpointUrl_QNAME, String.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleIds", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeLocaleIds(ListOfString value) { + return new JAXBElement(_SessionDiagnosticsDataTypeLocaleIds_QNAME, ListOfString.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TotalRequestCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeTotalRequestCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeTotalRequestCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReadCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeReadCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeReadCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeHistoryReadCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeHistoryReadCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriteCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeWriteCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeWriteCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeHistoryUpdateCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeHistoryUpdateCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CallCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeCallCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeCallCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateMonitoredItemsCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeCreateMonitoredItemsCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeCreateMonitoredItemsCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModifyMonitoredItemsCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeModifyMonitoredItemsCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeModifyMonitoredItemsCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetMonitoringModeCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeSetMonitoringModeCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeSetMonitoringModeCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetTriggeringCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeSetTriggeringCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeSetTriggeringCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteMonitoredItemsCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeDeleteMonitoredItemsCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeDeleteMonitoredItemsCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CreateSubscriptionCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeCreateSubscriptionCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeCreateSubscriptionCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModifySubscriptionCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeModifySubscriptionCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeModifySubscriptionCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SetPublishingModeCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeSetPublishingModeCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeSetPublishingModeCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypePublishCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypePublishCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RepublishCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeRepublishCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeRepublishCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransferSubscriptionsCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeTransferSubscriptionsCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeTransferSubscriptionsCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteSubscriptionsCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeDeleteSubscriptionsCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeDeleteSubscriptionsCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddNodesCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeAddNodesCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeAddNodesCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddReferencesCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeAddReferencesCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeAddReferencesCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteNodesCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeDeleteNodesCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeDeleteNodesCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DeleteReferencesCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeDeleteReferencesCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeDeleteReferencesCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeBrowseCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeBrowseCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseNextCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeBrowseNextCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeBrowseNextCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TranslateBrowsePathsToNodeIdsCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeTranslateBrowsePathsToNodeIdsCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeTranslateBrowsePathsToNodeIdsCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryFirstCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeQueryFirstCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeQueryFirstCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryNextCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeQueryNextCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeQueryNextCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisterNodesCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeRegisterNodesCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeRegisterNodesCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UnregisterNodesCount", scope = SessionDiagnosticsDataType.class) + public JAXBElement createSessionDiagnosticsDataTypeUnregisterNodesCount(ServiceCounterDataType value) { + return new JAXBElement(_SessionDiagnosticsDataTypeUnregisterNodesCount_QNAME, ServiceCounterDataType.class, SessionDiagnosticsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BuildInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link BuildInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BuildInfo", scope = ServerStatusDataType.class) + public JAXBElement createServerStatusDataTypeBuildInfo(BuildInfo value) { + return new JAXBElement(_BuildInfo_QNAME, BuildInfo.class, ServerStatusDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ShutdownReason", scope = ServerStatusDataType.class) + public JAXBElement createServerStatusDataTypeShutdownReason(LocalizedText value) { + return new JAXBElement(_ServerStatusDataTypeShutdownReason_QNAME, LocalizedText.class, ServerStatusDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUri", scope = NetworkGroupDataType.class) + public JAXBElement createNetworkGroupDataTypeServerUri(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeServerUri_QNAME, String.class, NetworkGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointUrlListDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointUrlListDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NetworkPaths", scope = NetworkGroupDataType.class) + public JAXBElement createNetworkGroupDataTypeNetworkPaths(ListOfEndpointUrlListDataType value) { + return new JAXBElement(_NetworkGroupDataTypeNetworkPaths_QNAME, ListOfEndpointUrlListDataType.class, NetworkGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrlList", scope = EndpointUrlListDataType.class) + public JAXBElement createEndpointUrlListDataTypeEndpointUrlList(ListOfString value) { + return new JAXBElement(_EndpointUrlListDataTypeEndpointUrlList_QNAME, ListOfString.class, EndpointUrlListDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerId", scope = RedundantServerDataType.class) + public JAXBElement createRedundantServerDataTypeServerId(String value) { + return new JAXBElement(_RedundantServerDataTypeServerId_QNAME, String.class, RedundantServerDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProductUri", scope = BuildInfo.class) + public JAXBElement createBuildInfoProductUri(String value) { + return new JAXBElement(_BuildInfoProductUri_QNAME, String.class, BuildInfo.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ManufacturerName", scope = BuildInfo.class) + public JAXBElement createBuildInfoManufacturerName(String value) { + return new JAXBElement(_BuildInfoManufacturerName_QNAME, String.class, BuildInfo.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProductName", scope = BuildInfo.class) + public JAXBElement createBuildInfoProductName(String value) { + return new JAXBElement(_BuildInfoProductName_QNAME, String.class, BuildInfo.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SoftwareVersion", scope = BuildInfo.class) + public JAXBElement createBuildInfoSoftwareVersion(String value) { + return new JAXBElement(_BuildInfoSoftwareVersion_QNAME, String.class, BuildInfo.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BuildNumber", scope = BuildInfo.class) + public JAXBElement createBuildInfoBuildNumber(String value) { + return new JAXBElement(_BuildInfoBuildNumber_QNAME, String.class, BuildInfo.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = DeleteSubscriptionsResponse.class) + public JAXBElement createDeleteSubscriptionsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, DeleteSubscriptionsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = DeleteSubscriptionsResponse.class) + public JAXBElement createDeleteSubscriptionsResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, DeleteSubscriptionsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = DeleteSubscriptionsResponse.class) + public JAXBElement createDeleteSubscriptionsResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, DeleteSubscriptionsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = DeleteSubscriptionsRequest.class) + public JAXBElement createDeleteSubscriptionsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, DeleteSubscriptionsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscriptionIds", scope = DeleteSubscriptionsRequest.class) + public JAXBElement createDeleteSubscriptionsRequestSubscriptionIds(ListOfUInt32 value) { + return new JAXBElement(_DeleteSubscriptionsRequestSubscriptionIds_QNAME, ListOfUInt32 .class, DeleteSubscriptionsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = TransferSubscriptionsResponse.class) + public JAXBElement createTransferSubscriptionsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, TransferSubscriptionsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfTransferResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfTransferResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = TransferSubscriptionsResponse.class) + public JAXBElement createTransferSubscriptionsResponseResults(ListOfTransferResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfTransferResult.class, TransferSubscriptionsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = TransferSubscriptionsResponse.class) + public JAXBElement createTransferSubscriptionsResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, TransferSubscriptionsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = TransferSubscriptionsRequest.class) + public JAXBElement createTransferSubscriptionsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, TransferSubscriptionsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscriptionIds", scope = TransferSubscriptionsRequest.class) + public JAXBElement createTransferSubscriptionsRequestSubscriptionIds(ListOfUInt32 value) { + return new JAXBElement(_DeleteSubscriptionsRequestSubscriptionIds_QNAME, ListOfUInt32 .class, TransferSubscriptionsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AvailableSequenceNumbers", scope = TransferResult.class) + public JAXBElement createTransferResultAvailableSequenceNumbers(ListOfUInt32 value) { + return new JAXBElement(_TransferResultAvailableSequenceNumbers_QNAME, ListOfUInt32 .class, TransferResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = RepublishResponse.class) + public JAXBElement createRepublishResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, RepublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NotificationMessage", scope = RepublishResponse.class) + public JAXBElement createRepublishResponseNotificationMessage(NotificationMessage value) { + return new JAXBElement(_NotificationMessage_QNAME, NotificationMessage.class, RepublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = RepublishRequest.class) + public JAXBElement createRepublishRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, RepublishRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = PublishResponse.class) + public JAXBElement createPublishResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, PublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AvailableSequenceNumbers", scope = PublishResponse.class) + public JAXBElement createPublishResponseAvailableSequenceNumbers(ListOfUInt32 value) { + return new JAXBElement(_TransferResultAvailableSequenceNumbers_QNAME, ListOfUInt32 .class, PublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NotificationMessage", scope = PublishResponse.class) + public JAXBElement createPublishResponseNotificationMessage(NotificationMessage value) { + return new JAXBElement(_NotificationMessage_QNAME, NotificationMessage.class, PublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = PublishResponse.class) + public JAXBElement createPublishResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, PublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = PublishResponse.class) + public JAXBElement createPublishResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, PublishResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = PublishRequest.class) + public JAXBElement createPublishRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, PublishRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSubscriptionAcknowledgement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSubscriptionAcknowledgement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscriptionAcknowledgements", scope = PublishRequest.class) + public JAXBElement createPublishRequestSubscriptionAcknowledgements(ListOfSubscriptionAcknowledgement value) { + return new JAXBElement(_PublishRequestSubscriptionAcknowledgements_QNAME, ListOfSubscriptionAcknowledgement.class, PublishRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfo", scope = StatusChangeNotification.class) + public JAXBElement createStatusChangeNotificationDiagnosticInfo(DiagnosticInfo value) { + return new JAXBElement(_DiagnosticInfo_QNAME, DiagnosticInfo.class, StatusChangeNotification.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventFields", scope = HistoryEventFieldList.class) + public JAXBElement createHistoryEventFieldListEventFields(ListOfVariant value) { + return new JAXBElement(_HistoryEventFieldListEventFields_QNAME, ListOfVariant.class, HistoryEventFieldList.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventFields", scope = EventFieldList.class) + public JAXBElement createEventFieldListEventFields(ListOfVariant value) { + return new JAXBElement(_HistoryEventFieldListEventFields_QNAME, ListOfVariant.class, EventFieldList.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Events", scope = EventNotificationList.class) + public JAXBElement createEventNotificationListEvents(ListOfEventFieldList value) { + return new JAXBElement(_EventNotificationListEvents_QNAME, ListOfEventFieldList.class, EventNotificationList.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Value", scope = MonitoredItemNotification.class) + public JAXBElement createMonitoredItemNotificationValue(DataValue value) { + return new JAXBElement(_MonitoredItemNotificationValue_QNAME, DataValue.class, MonitoredItemNotification.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemNotification }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemNotification }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItems", scope = DataChangeNotification.class) + public JAXBElement createDataChangeNotificationMonitoredItems(ListOfMonitoredItemNotification value) { + return new JAXBElement(_DataChangeNotificationMonitoredItems_QNAME, ListOfMonitoredItemNotification.class, DataChangeNotification.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = DataChangeNotification.class) + public JAXBElement createDataChangeNotificationDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, DataChangeNotification.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NotificationData", scope = NotificationMessage.class) + public JAXBElement createNotificationMessageNotificationData(ListOfExtensionObject value) { + return new JAXBElement(_NotificationData_QNAME, ListOfExtensionObject.class, NotificationMessage.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = SetPublishingModeResponse.class) + public JAXBElement createSetPublishingModeResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, SetPublishingModeResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = SetPublishingModeResponse.class) + public JAXBElement createSetPublishingModeResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, SetPublishingModeResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = SetPublishingModeResponse.class) + public JAXBElement createSetPublishingModeResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, SetPublishingModeResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = SetPublishingModeRequest.class) + public JAXBElement createSetPublishingModeRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, SetPublishingModeRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscriptionIds", scope = SetPublishingModeRequest.class) + public JAXBElement createSetPublishingModeRequestSubscriptionIds(ListOfUInt32 value) { + return new JAXBElement(_DeleteSubscriptionsRequestSubscriptionIds_QNAME, ListOfUInt32 .class, SetPublishingModeRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = ModifySubscriptionResponse.class) + public JAXBElement createModifySubscriptionResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, ModifySubscriptionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = ModifySubscriptionRequest.class) + public JAXBElement createModifySubscriptionRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, ModifySubscriptionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CreateSubscriptionResponse.class) + public JAXBElement createCreateSubscriptionResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CreateSubscriptionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CreateSubscriptionRequest.class) + public JAXBElement createCreateSubscriptionRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CreateSubscriptionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = DeleteMonitoredItemsResponse.class) + public JAXBElement createDeleteMonitoredItemsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, DeleteMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = DeleteMonitoredItemsResponse.class) + public JAXBElement createDeleteMonitoredItemsResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, DeleteMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = DeleteMonitoredItemsResponse.class) + public JAXBElement createDeleteMonitoredItemsResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, DeleteMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = DeleteMonitoredItemsRequest.class) + public JAXBElement createDeleteMonitoredItemsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, DeleteMonitoredItemsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemIds", scope = DeleteMonitoredItemsRequest.class) + public JAXBElement createDeleteMonitoredItemsRequestMonitoredItemIds(ListOfUInt32 value) { + return new JAXBElement(_DeleteMonitoredItemsRequestMonitoredItemIds_QNAME, ListOfUInt32 .class, DeleteMonitoredItemsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = SetTriggeringResponse.class) + public JAXBElement createSetTriggeringResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, SetTriggeringResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddResults", scope = SetTriggeringResponse.class) + public JAXBElement createSetTriggeringResponseAddResults(ListOfStatusCode value) { + return new JAXBElement(_SetTriggeringResponseAddResults_QNAME, ListOfStatusCode.class, SetTriggeringResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddDiagnosticInfos", scope = SetTriggeringResponse.class) + public JAXBElement createSetTriggeringResponseAddDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_SetTriggeringResponseAddDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, SetTriggeringResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RemoveResults", scope = SetTriggeringResponse.class) + public JAXBElement createSetTriggeringResponseRemoveResults(ListOfStatusCode value) { + return new JAXBElement(_SetTriggeringResponseRemoveResults_QNAME, ListOfStatusCode.class, SetTriggeringResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RemoveDiagnosticInfos", scope = SetTriggeringResponse.class) + public JAXBElement createSetTriggeringResponseRemoveDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_SetTriggeringResponseRemoveDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, SetTriggeringResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = SetTriggeringRequest.class) + public JAXBElement createSetTriggeringRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, SetTriggeringRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LinksToAdd", scope = SetTriggeringRequest.class) + public JAXBElement createSetTriggeringRequestLinksToAdd(ListOfUInt32 value) { + return new JAXBElement(_SetTriggeringRequestLinksToAdd_QNAME, ListOfUInt32 .class, SetTriggeringRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LinksToRemove", scope = SetTriggeringRequest.class) + public JAXBElement createSetTriggeringRequestLinksToRemove(ListOfUInt32 value) { + return new JAXBElement(_SetTriggeringRequestLinksToRemove_QNAME, ListOfUInt32 .class, SetTriggeringRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = SetMonitoringModeResponse.class) + public JAXBElement createSetMonitoringModeResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, SetMonitoringModeResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = SetMonitoringModeResponse.class) + public JAXBElement createSetMonitoringModeResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, SetMonitoringModeResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = SetMonitoringModeResponse.class) + public JAXBElement createSetMonitoringModeResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, SetMonitoringModeResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = SetMonitoringModeRequest.class) + public JAXBElement createSetMonitoringModeRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, SetMonitoringModeRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MonitoredItemIds", scope = SetMonitoringModeRequest.class) + public JAXBElement createSetMonitoringModeRequestMonitoredItemIds(ListOfUInt32 value) { + return new JAXBElement(_DeleteMonitoredItemsRequestMonitoredItemIds_QNAME, ListOfUInt32 .class, SetMonitoringModeRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = ModifyMonitoredItemsResponse.class) + public JAXBElement createModifyMonitoredItemsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, ModifyMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = ModifyMonitoredItemsResponse.class) + public JAXBElement createModifyMonitoredItemsResponseResults(ListOfMonitoredItemModifyResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfMonitoredItemModifyResult.class, ModifyMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = ModifyMonitoredItemsResponse.class) + public JAXBElement createModifyMonitoredItemsResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, ModifyMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = ModifyMonitoredItemsRequest.class) + public JAXBElement createModifyMonitoredItemsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, ModifyMonitoredItemsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemModifyRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ItemsToModify", scope = ModifyMonitoredItemsRequest.class) + public JAXBElement createModifyMonitoredItemsRequestItemsToModify(ListOfMonitoredItemModifyRequest value) { + return new JAXBElement(_ModifyMonitoredItemsRequestItemsToModify_QNAME, ListOfMonitoredItemModifyRequest.class, ModifyMonitoredItemsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FilterResult", scope = MonitoredItemModifyResult.class) + public JAXBElement createMonitoredItemModifyResultFilterResult(ExtensionObject value) { + return new JAXBElement(_MonitoredItemModifyResultFilterResult_QNAME, ExtensionObject.class, MonitoredItemModifyResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestedParameters", scope = MonitoredItemModifyRequest.class) + public JAXBElement createMonitoredItemModifyRequestRequestedParameters(MonitoringParameters value) { + return new JAXBElement(_MonitoredItemModifyRequestRequestedParameters_QNAME, MonitoringParameters.class, MonitoredItemModifyRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CreateMonitoredItemsResponse.class) + public JAXBElement createCreateMonitoredItemsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CreateMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = CreateMonitoredItemsResponse.class) + public JAXBElement createCreateMonitoredItemsResponseResults(ListOfMonitoredItemCreateResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfMonitoredItemCreateResult.class, CreateMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = CreateMonitoredItemsResponse.class) + public JAXBElement createCreateMonitoredItemsResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, CreateMonitoredItemsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CreateMonitoredItemsRequest.class) + public JAXBElement createCreateMonitoredItemsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CreateMonitoredItemsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfMonitoredItemCreateRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ItemsToCreate", scope = CreateMonitoredItemsRequest.class) + public JAXBElement createCreateMonitoredItemsRequestItemsToCreate(ListOfMonitoredItemCreateRequest value) { + return new JAXBElement(_CreateMonitoredItemsRequestItemsToCreate_QNAME, ListOfMonitoredItemCreateRequest.class, CreateMonitoredItemsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FilterResult", scope = MonitoredItemCreateResult.class) + public JAXBElement createMonitoredItemCreateResultFilterResult(ExtensionObject value) { + return new JAXBElement(_MonitoredItemModifyResultFilterResult_QNAME, ExtensionObject.class, MonitoredItemCreateResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ItemToMonitor", scope = MonitoredItemCreateRequest.class) + public JAXBElement createMonitoredItemCreateRequestItemToMonitor(ReadValueId value) { + return new JAXBElement(_MonitoredItemCreateRequestItemToMonitor_QNAME, ReadValueId.class, MonitoredItemCreateRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link MonitoringParameters }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestedParameters", scope = MonitoredItemCreateRequest.class) + public JAXBElement createMonitoredItemCreateRequestRequestedParameters(MonitoringParameters value) { + return new JAXBElement(_MonitoredItemModifyRequestRequestedParameters_QNAME, MonitoringParameters.class, MonitoredItemCreateRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Filter", scope = MonitoringParameters.class) + public JAXBElement createMonitoringParametersFilter(ExtensionObject value) { + return new JAXBElement(_MonitoringParametersFilter_QNAME, ExtensionObject.class, MonitoringParameters.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RevisedAggregateConfiguration", scope = AggregateFilterResult.class) + public JAXBElement createAggregateFilterResultRevisedAggregateConfiguration(AggregateConfiguration value) { + return new JAXBElement(_AggregateFilterResultRevisedAggregateConfiguration_QNAME, AggregateConfiguration.class, AggregateFilterResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SelectClauseResults", scope = EventFilterResult.class) + public JAXBElement createEventFilterResultSelectClauseResults(ListOfStatusCode value) { + return new JAXBElement(_EventFilterResultSelectClauseResults_QNAME, ListOfStatusCode.class, EventFilterResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SelectClauseDiagnosticInfos", scope = EventFilterResult.class) + public JAXBElement createEventFilterResultSelectClauseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_EventFilterResultSelectClauseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, EventFilterResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WhereClauseResult", scope = EventFilterResult.class) + public JAXBElement createEventFilterResultWhereClauseResult(ContentFilterResult value) { + return new JAXBElement(_EventFilterResultWhereClauseResult_QNAME, ContentFilterResult.class, EventFilterResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateType", scope = AggregateFilter.class) + public JAXBElement createAggregateFilterAggregateType(NodeId value) { + return new JAXBElement(_AggregateFilterAggregateType_QNAME, NodeId.class, AggregateFilter.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateConfiguration", scope = AggregateFilter.class) + public JAXBElement createAggregateFilterAggregateConfiguration(AggregateConfiguration value) { + return new JAXBElement(_AggregateConfiguration_QNAME, AggregateConfiguration.class, AggregateFilter.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SelectClauses", scope = EventFilter.class) + public JAXBElement createEventFilterSelectClauses(ListOfSimpleAttributeOperand value) { + return new JAXBElement(_EventFilterSelectClauses_QNAME, ListOfSimpleAttributeOperand.class, EventFilter.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WhereClause", scope = EventFilter.class) + public JAXBElement createEventFilterWhereClause(ContentFilter value) { + return new JAXBElement(_EventFilterWhereClause_QNAME, ContentFilter.class, EventFilter.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CallResponse.class) + public JAXBElement createCallResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CallResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = CallResponse.class) + public JAXBElement createCallResponseResults(ListOfCallMethodResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfCallMethodResult.class, CallResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = CallResponse.class) + public JAXBElement createCallResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, CallResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CallRequest.class) + public JAXBElement createCallRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CallRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodRequest }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfCallMethodRequest }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MethodsToCall", scope = CallRequest.class) + public JAXBElement createCallRequestMethodsToCall(ListOfCallMethodRequest value) { + return new JAXBElement(_CallRequestMethodsToCall_QNAME, ListOfCallMethodRequest.class, CallRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InputArgumentResults", scope = CallMethodResult.class) + public JAXBElement createCallMethodResultInputArgumentResults(ListOfStatusCode value) { + return new JAXBElement(_CallMethodResultInputArgumentResults_QNAME, ListOfStatusCode.class, CallMethodResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InputArgumentDiagnosticInfos", scope = CallMethodResult.class) + public JAXBElement createCallMethodResultInputArgumentDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_CallMethodResultInputArgumentDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, CallMethodResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OutputArguments", scope = CallMethodResult.class) + public JAXBElement createCallMethodResultOutputArguments(ListOfVariant value) { + return new JAXBElement(_CallMethodResultOutputArguments_QNAME, ListOfVariant.class, CallMethodResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ObjectId", scope = CallMethodRequest.class) + public JAXBElement createCallMethodRequestObjectId(NodeId value) { + return new JAXBElement(_CallMethodRequestObjectId_QNAME, NodeId.class, CallMethodRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MethodId", scope = CallMethodRequest.class) + public JAXBElement createCallMethodRequestMethodId(NodeId value) { + return new JAXBElement(_CallMethodRequestMethodId_QNAME, NodeId.class, CallMethodRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InputArguments", scope = CallMethodRequest.class) + public JAXBElement createCallMethodRequestInputArguments(ListOfVariant value) { + return new JAXBElement(_CallMethodRequestInputArguments_QNAME, ListOfVariant.class, CallMethodRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = HistoryUpdateResponse.class) + public JAXBElement createHistoryUpdateResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, HistoryUpdateResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryUpdateResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryUpdateResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = HistoryUpdateResponse.class) + public JAXBElement createHistoryUpdateResponseResults(ListOfHistoryUpdateResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfHistoryUpdateResult.class, HistoryUpdateResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = HistoryUpdateResponse.class) + public JAXBElement createHistoryUpdateResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, HistoryUpdateResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = HistoryUpdateRequest.class) + public JAXBElement createHistoryUpdateRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, HistoryUpdateRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryUpdateDetails", scope = HistoryUpdateRequest.class) + public JAXBElement createHistoryUpdateRequestHistoryUpdateDetails(ListOfExtensionObject value) { + return new JAXBElement(_HistoryUpdateDetails_QNAME, ListOfExtensionObject.class, HistoryUpdateRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OperationResults", scope = HistoryUpdateResult.class) + public JAXBElement createHistoryUpdateResultOperationResults(ListOfStatusCode value) { + return new JAXBElement(_HistoryUpdateResultOperationResults_QNAME, ListOfStatusCode.class, HistoryUpdateResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = HistoryUpdateResult.class) + public JAXBElement createHistoryUpdateResultDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, HistoryUpdateResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = HistoryUpdateDetails.class) + public JAXBElement createHistoryUpdateDetailsNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, HistoryUpdateDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventIds", scope = DeleteEventDetails.class) + public JAXBElement createDeleteEventDetailsEventIds(ListOfByteString value) { + return new JAXBElement(_DeleteEventDetailsEventIds_QNAME, ListOfByteString.class, DeleteEventDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReqTimes", scope = DeleteAtTimeDetails.class) + public JAXBElement createDeleteAtTimeDetailsReqTimes(ListOfDateTime value) { + return new JAXBElement(_DeleteAtTimeDetailsReqTimes_QNAME, ListOfDateTime.class, DeleteAtTimeDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Filter", scope = UpdateEventDetails.class) + public JAXBElement createUpdateEventDetailsFilter(EventFilter value) { + return new JAXBElement(_MonitoringParametersFilter_QNAME, EventFilter.class, UpdateEventDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventData", scope = UpdateEventDetails.class) + public JAXBElement createUpdateEventDetailsEventData(ListOfHistoryEventFieldList value) { + return new JAXBElement(_UpdateEventDetailsEventData_QNAME, ListOfHistoryEventFieldList.class, UpdateEventDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UpdateValues", scope = UpdateStructureDataDetails.class) + public JAXBElement createUpdateStructureDataDetailsUpdateValues(ListOfDataValue value) { + return new JAXBElement(_UpdateStructureDataDetailsUpdateValues_QNAME, ListOfDataValue.class, UpdateStructureDataDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UpdateValues", scope = UpdateDataDetails.class) + public JAXBElement createUpdateDataDetailsUpdateValues(ListOfDataValue value) { + return new JAXBElement(_UpdateStructureDataDetailsUpdateValues_QNAME, ListOfDataValue.class, UpdateDataDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = WriteResponse.class) + public JAXBElement createWriteResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, WriteResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = WriteResponse.class) + public JAXBElement createWriteResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, WriteResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = WriteResponse.class) + public JAXBElement createWriteResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, WriteResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = WriteRequest.class) + public JAXBElement createWriteRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, WriteRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfWriteValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfWriteValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToWrite", scope = WriteRequest.class) + public JAXBElement createWriteRequestNodesToWrite(ListOfWriteValue value) { + return new JAXBElement(_WriteRequestNodesToWrite_QNAME, ListOfWriteValue.class, WriteRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = WriteValue.class) + public JAXBElement createWriteValueNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, WriteValue.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = WriteValue.class) + public JAXBElement createWriteValueIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, WriteValue.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Value", scope = WriteValue.class) + public JAXBElement createWriteValueValue(DataValue value) { + return new JAXBElement(_MonitoredItemNotificationValue_QNAME, DataValue.class, WriteValue.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = HistoryReadResponse.class) + public JAXBElement createHistoryReadResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, HistoryReadResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = HistoryReadResponse.class) + public JAXBElement createHistoryReadResponseResults(ListOfHistoryReadResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfHistoryReadResult.class, HistoryReadResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = HistoryReadResponse.class) + public JAXBElement createHistoryReadResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, HistoryReadResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = HistoryReadRequest.class) + public JAXBElement createHistoryReadRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, HistoryReadRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryReadDetails", scope = HistoryReadRequest.class) + public JAXBElement createHistoryReadRequestHistoryReadDetails(ExtensionObject value) { + return new JAXBElement(_HistoryReadDetails_QNAME, ExtensionObject.class, HistoryReadRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToRead", scope = HistoryReadRequest.class) + public JAXBElement createHistoryReadRequestNodesToRead(ListOfHistoryReadValueId value) { + return new JAXBElement(_HistoryReadRequestNodesToRead_QNAME, ListOfHistoryReadValueId.class, HistoryReadRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Events", scope = HistoryEvent.class) + public JAXBElement createHistoryEventEvents(ListOfHistoryEventFieldList value) { + return new JAXBElement(_EventNotificationListEvents_QNAME, ListOfHistoryEventFieldList.class, HistoryEvent.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataValues", scope = HistoryData.class) + public JAXBElement createHistoryDataDataValues(ListOfDataValue value) { + return new JAXBElement(_HistoryDataDataValues_QNAME, ListOfDataValue.class, HistoryData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfModificationInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfModificationInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ModificationInfos", scope = HistoryModifiedData.class) + public JAXBElement createHistoryModifiedDataModificationInfos(ListOfModificationInfo value) { + return new JAXBElement(_HistoryModifiedDataModificationInfos_QNAME, ListOfModificationInfo.class, HistoryModifiedData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserName", scope = ModificationInfo.class) + public JAXBElement createModificationInfoUserName(String value) { + return new JAXBElement(_AnnotationUserName_QNAME, String.class, ModificationInfo.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReqTimes", scope = ReadAnnotationDataDetails.class) + public JAXBElement createReadAnnotationDataDetailsReqTimes(ListOfDateTime value) { + return new JAXBElement(_DeleteAtTimeDetailsReqTimes_QNAME, ListOfDateTime.class, ReadAnnotationDataDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReqTimes", scope = ReadAtTimeDetails.class) + public JAXBElement createReadAtTimeDetailsReqTimes(ListOfDateTime value) { + return new JAXBElement(_DeleteAtTimeDetailsReqTimes_QNAME, ListOfDateTime.class, ReadAtTimeDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateType", scope = ReadProcessedDetails.class) + public JAXBElement createReadProcessedDetailsAggregateType(ListOfNodeId value) { + return new JAXBElement(_AggregateFilterAggregateType_QNAME, ListOfNodeId.class, ReadProcessedDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AggregateConfiguration", scope = ReadProcessedDetails.class) + public JAXBElement createReadProcessedDetailsAggregateConfiguration(AggregateConfiguration value) { + return new JAXBElement(_AggregateConfiguration_QNAME, AggregateConfiguration.class, ReadProcessedDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Filter", scope = ReadEventDetails.class) + public JAXBElement createReadEventDetailsFilter(EventFilter value) { + return new JAXBElement(_MonitoringParametersFilter_QNAME, EventFilter.class, ReadEventDetails.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoint", scope = HistoryReadResult.class) + public JAXBElement createHistoryReadResultContinuationPoint(byte[] value) { + return new JAXBElement(_ContinuationPoint_QNAME, byte[].class, HistoryReadResult.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HistoryData", scope = HistoryReadResult.class) + public JAXBElement createHistoryReadResultHistoryData(ExtensionObject value) { + return new JAXBElement(_HistoryData_QNAME, ExtensionObject.class, HistoryReadResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = HistoryReadValueId.class) + public JAXBElement createHistoryReadValueIdNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, HistoryReadValueId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = HistoryReadValueId.class) + public JAXBElement createHistoryReadValueIdIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, HistoryReadValueId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataEncoding", scope = HistoryReadValueId.class) + public JAXBElement createHistoryReadValueIdDataEncoding(QualifiedName value) { + return new JAXBElement(_HistoryReadValueIdDataEncoding_QNAME, QualifiedName.class, HistoryReadValueId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoint", scope = HistoryReadValueId.class) + public JAXBElement createHistoryReadValueIdContinuationPoint(byte[] value) { + return new JAXBElement(_ContinuationPoint_QNAME, byte[].class, HistoryReadValueId.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = ReadResponse.class) + public JAXBElement createReadResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, ReadResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = ReadResponse.class) + public JAXBElement createReadResponseResults(ListOfDataValue value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfDataValue.class, ReadResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = ReadResponse.class) + public JAXBElement createReadResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, ReadResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = ReadRequest.class) + public JAXBElement createReadRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, ReadRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReadValueId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReadValueId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToRead", scope = ReadRequest.class) + public JAXBElement createReadRequestNodesToRead(ListOfReadValueId value) { + return new JAXBElement(_HistoryReadRequestNodesToRead_QNAME, ListOfReadValueId.class, ReadRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = ReadValueId.class) + public JAXBElement createReadValueIdNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, ReadValueId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = ReadValueId.class) + public JAXBElement createReadValueIdIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, ReadValueId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataEncoding", scope = ReadValueId.class) + public JAXBElement createReadValueIdDataEncoding(QualifiedName value) { + return new JAXBElement(_HistoryReadValueIdDataEncoding_QNAME, QualifiedName.class, ReadValueId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = QueryNextResponse.class) + public JAXBElement createQueryNextResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, QueryNextResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryDataSets", scope = QueryNextResponse.class) + public JAXBElement createQueryNextResponseQueryDataSets(ListOfQueryDataSet value) { + return new JAXBElement(_QueryNextResponseQueryDataSets_QNAME, ListOfQueryDataSet.class, QueryNextResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RevisedContinuationPoint", scope = QueryNextResponse.class) + public JAXBElement createQueryNextResponseRevisedContinuationPoint(byte[] value) { + return new JAXBElement(_QueryNextResponseRevisedContinuationPoint_QNAME, byte[].class, QueryNextResponse.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = QueryNextRequest.class) + public JAXBElement createQueryNextRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, QueryNextRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoint", scope = QueryNextRequest.class) + public JAXBElement createQueryNextRequestContinuationPoint(byte[] value) { + return new JAXBElement(_ContinuationPoint_QNAME, byte[].class, QueryNextRequest.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = QueryFirstResponse.class) + public JAXBElement createQueryFirstResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, QueryFirstResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueryDataSets", scope = QueryFirstResponse.class) + public JAXBElement createQueryFirstResponseQueryDataSets(ListOfQueryDataSet value) { + return new JAXBElement(_QueryNextResponseQueryDataSets_QNAME, ListOfQueryDataSet.class, QueryFirstResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoint", scope = QueryFirstResponse.class) + public JAXBElement createQueryFirstResponseContinuationPoint(byte[] value) { + return new JAXBElement(_ContinuationPoint_QNAME, byte[].class, QueryFirstResponse.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfParsingResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfParsingResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ParsingResults", scope = QueryFirstResponse.class) + public JAXBElement createQueryFirstResponseParsingResults(ListOfParsingResult value) { + return new JAXBElement(_QueryFirstResponseParsingResults_QNAME, ListOfParsingResult.class, QueryFirstResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = QueryFirstResponse.class) + public JAXBElement createQueryFirstResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, QueryFirstResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FilterResult", scope = QueryFirstResponse.class) + public JAXBElement createQueryFirstResponseFilterResult(ContentFilterResult value) { + return new JAXBElement(_MonitoredItemModifyResultFilterResult_QNAME, ContentFilterResult.class, QueryFirstResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = QueryFirstRequest.class) + public JAXBElement createQueryFirstRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, QueryFirstRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "View", scope = QueryFirstRequest.class) + public JAXBElement createQueryFirstRequestView(ViewDescription value) { + return new JAXBElement(_QueryFirstRequestView_QNAME, ViewDescription.class, QueryFirstRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeTypes", scope = QueryFirstRequest.class) + public JAXBElement createQueryFirstRequestNodeTypes(ListOfNodeTypeDescription value) { + return new JAXBElement(_QueryFirstRequestNodeTypes_QNAME, ListOfNodeTypeDescription.class, QueryFirstRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Filter", scope = QueryFirstRequest.class) + public JAXBElement createQueryFirstRequestFilter(ContentFilter value) { + return new JAXBElement(_MonitoringParametersFilter_QNAME, ContentFilter.class, QueryFirstRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataStatusCodes", scope = ParsingResult.class) + public JAXBElement createParsingResultDataStatusCodes(ListOfStatusCode value) { + return new JAXBElement(_ParsingResultDataStatusCodes_QNAME, ListOfStatusCode.class, ParsingResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataDiagnosticInfos", scope = ParsingResult.class) + public JAXBElement createParsingResultDataDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_ParsingResultDataDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, ParsingResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElementResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElementResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ElementResults", scope = ContentFilterResult.class) + public JAXBElement createContentFilterResultElementResults(ListOfContentFilterElementResult value) { + return new JAXBElement(_ContentFilterResultElementResults_QNAME, ListOfContentFilterElementResult.class, ContentFilterResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ElementDiagnosticInfos", scope = ContentFilterResult.class) + public JAXBElement createContentFilterResultElementDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_ContentFilterResultElementDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, ContentFilterResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OperandStatusCodes", scope = ContentFilterElementResult.class) + public JAXBElement createContentFilterElementResultOperandStatusCodes(ListOfStatusCode value) { + return new JAXBElement(_ContentFilterElementResultOperandStatusCodes_QNAME, ListOfStatusCode.class, ContentFilterElementResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "OperandDiagnosticInfos", scope = ContentFilterElementResult.class) + public JAXBElement createContentFilterElementResultOperandDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_ContentFilterElementResultOperandDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, ContentFilterElementResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeDefinitionId", scope = SimpleAttributeOperand.class) + public JAXBElement createSimpleAttributeOperandTypeDefinitionId(NodeId value) { + return new JAXBElement(_SimpleAttributeOperandTypeDefinitionId_QNAME, NodeId.class, SimpleAttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowsePath", scope = SimpleAttributeOperand.class) + public JAXBElement createSimpleAttributeOperandBrowsePath(ListOfQualifiedName value) { + return new JAXBElement(_BrowsePath_QNAME, ListOfQualifiedName.class, SimpleAttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = SimpleAttributeOperand.class) + public JAXBElement createSimpleAttributeOperandIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, SimpleAttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = AttributeOperand.class) + public JAXBElement createAttributeOperandNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, AttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Alias", scope = AttributeOperand.class) + public JAXBElement createAttributeOperandAlias(String value) { + return new JAXBElement(_AttributeOperandAlias_QNAME, String.class, AttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowsePath", scope = AttributeOperand.class) + public JAXBElement createAttributeOperandBrowsePath(RelativePath value) { + return new JAXBElement(_BrowsePath_QNAME, RelativePath.class, AttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = AttributeOperand.class) + public JAXBElement createAttributeOperandIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, AttributeOperand.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfContentFilterElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Elements", scope = ContentFilter.class) + public JAXBElement createContentFilterElements(ListOfContentFilterElement value) { + return new JAXBElement(_ContentFilterElements_QNAME, ListOfContentFilterElement.class, ContentFilter.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FilterOperands", scope = ContentFilterElement.class) + public JAXBElement createContentFilterElementFilterOperands(ListOfExtensionObject value) { + return new JAXBElement(_ContentFilterElementFilterOperands_QNAME, ListOfExtensionObject.class, ContentFilterElement.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = NodeReference.class) + public JAXBElement createNodeReferenceNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, NodeReference.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = NodeReference.class) + public JAXBElement createNodeReferenceReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, NodeReference.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferencedNodeIds", scope = NodeReference.class) + public JAXBElement createNodeReferenceReferencedNodeIds(ListOfNodeId value) { + return new JAXBElement(_NodeReferenceReferencedNodeIds_QNAME, ListOfNodeId.class, NodeReference.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = QueryDataSet.class) + public JAXBElement createQueryDataSetNodeId(ExpandedNodeId value) { + return new JAXBElement(_NodeId_QNAME, ExpandedNodeId.class, QueryDataSet.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeDefinitionNode", scope = QueryDataSet.class) + public JAXBElement createQueryDataSetTypeDefinitionNode(ExpandedNodeId value) { + return new JAXBElement(_QueryDataSetTypeDefinitionNode_QNAME, ExpandedNodeId.class, QueryDataSet.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Values", scope = QueryDataSet.class) + public JAXBElement createQueryDataSetValues(ListOfVariant value) { + return new JAXBElement(_QueryDataSetValues_QNAME, ListOfVariant.class, QueryDataSet.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeDefinitionNode", scope = NodeTypeDescription.class) + public JAXBElement createNodeTypeDescriptionTypeDefinitionNode(ExpandedNodeId value) { + return new JAXBElement(_QueryDataSetTypeDefinitionNode_QNAME, ExpandedNodeId.class, NodeTypeDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQueryDataDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataToReturn", scope = NodeTypeDescription.class) + public JAXBElement createNodeTypeDescriptionDataToReturn(ListOfQueryDataDescription value) { + return new JAXBElement(_NodeTypeDescriptionDataToReturn_QNAME, ListOfQueryDataDescription.class, NodeTypeDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RelativePath", scope = QueryDataDescription.class) + public JAXBElement createQueryDataDescriptionRelativePath(RelativePath value) { + return new JAXBElement(_RelativePath_QNAME, RelativePath.class, QueryDataDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = QueryDataDescription.class) + public JAXBElement createQueryDataDescriptionIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, QueryDataDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = UnregisterNodesResponse.class) + public JAXBElement createUnregisterNodesResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, UnregisterNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = UnregisterNodesRequest.class) + public JAXBElement createUnregisterNodesRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, UnregisterNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToUnregister", scope = UnregisterNodesRequest.class) + public JAXBElement createUnregisterNodesRequestNodesToUnregister(ListOfNodeId value) { + return new JAXBElement(_UnregisterNodesRequestNodesToUnregister_QNAME, ListOfNodeId.class, UnregisterNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = RegisterNodesResponse.class) + public JAXBElement createRegisterNodesResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, RegisterNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RegisteredNodeIds", scope = RegisterNodesResponse.class) + public JAXBElement createRegisterNodesResponseRegisteredNodeIds(ListOfNodeId value) { + return new JAXBElement(_RegisterNodesResponseRegisteredNodeIds_QNAME, ListOfNodeId.class, RegisterNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = RegisterNodesRequest.class) + public JAXBElement createRegisterNodesRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, RegisterNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToRegister", scope = RegisterNodesRequest.class) + public JAXBElement createRegisterNodesRequestNodesToRegister(ListOfNodeId value) { + return new JAXBElement(_RegisterNodesRequestNodesToRegister_QNAME, ListOfNodeId.class, RegisterNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = TranslateBrowsePathsToNodeIdsResponse.class) + public JAXBElement createTranslateBrowsePathsToNodeIdsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, TranslateBrowsePathsToNodeIdsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = TranslateBrowsePathsToNodeIdsResponse.class) + public JAXBElement createTranslateBrowsePathsToNodeIdsResponseResults(ListOfBrowsePathResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfBrowsePathResult.class, TranslateBrowsePathsToNodeIdsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = TranslateBrowsePathsToNodeIdsResponse.class) + public JAXBElement createTranslateBrowsePathsToNodeIdsResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, TranslateBrowsePathsToNodeIdsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = TranslateBrowsePathsToNodeIdsRequest.class) + public JAXBElement createTranslateBrowsePathsToNodeIdsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, TranslateBrowsePathsToNodeIdsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowsePaths", scope = TranslateBrowsePathsToNodeIdsRequest.class) + public JAXBElement createTranslateBrowsePathsToNodeIdsRequestBrowsePaths(ListOfBrowsePath value) { + return new JAXBElement(_TranslateBrowsePathsToNodeIdsRequestBrowsePaths_QNAME, ListOfBrowsePath.class, TranslateBrowsePathsToNodeIdsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathTarget }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowsePathTarget }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Targets", scope = BrowsePathResult.class) + public JAXBElement createBrowsePathResultTargets(ListOfBrowsePathTarget value) { + return new JAXBElement(_BrowsePathResultTargets_QNAME, ListOfBrowsePathTarget.class, BrowsePathResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetId", scope = BrowsePathTarget.class) + public JAXBElement createBrowsePathTargetTargetId(ExpandedNodeId value) { + return new JAXBElement(_BrowsePathTargetTargetId_QNAME, ExpandedNodeId.class, BrowsePathTarget.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StartingNode", scope = BrowsePath.class) + public JAXBElement createBrowsePathStartingNode(NodeId value) { + return new JAXBElement(_BrowsePathStartingNode_QNAME, NodeId.class, BrowsePath.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RelativePath", scope = BrowsePath.class) + public JAXBElement createBrowsePathRelativePath(RelativePath value) { + return new JAXBElement(_RelativePath_QNAME, RelativePath.class, BrowsePath.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRelativePathElement }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRelativePathElement }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Elements", scope = RelativePath.class) + public JAXBElement createRelativePathElements(ListOfRelativePathElement value) { + return new JAXBElement(_ContentFilterElements_QNAME, ListOfRelativePathElement.class, RelativePath.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = RelativePathElement.class) + public JAXBElement createRelativePathElementReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, RelativePathElement.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetName", scope = RelativePathElement.class) + public JAXBElement createRelativePathElementTargetName(QualifiedName value) { + return new JAXBElement(_RelativePathElementTargetName_QNAME, QualifiedName.class, RelativePathElement.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = BrowseNextResponse.class) + public JAXBElement createBrowseNextResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, BrowseNextResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = BrowseNextResponse.class) + public JAXBElement createBrowseNextResponseResults(ListOfBrowseResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfBrowseResult.class, BrowseNextResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = BrowseNextResponse.class) + public JAXBElement createBrowseNextResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, BrowseNextResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = BrowseNextRequest.class) + public JAXBElement createBrowseNextRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, BrowseNextRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoints", scope = BrowseNextRequest.class) + public JAXBElement createBrowseNextRequestContinuationPoints(ListOfByteString value) { + return new JAXBElement(_BrowseNextRequestContinuationPoints_QNAME, ListOfByteString.class, BrowseNextRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = BrowseResponse.class) + public JAXBElement createBrowseResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, BrowseResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowseResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = BrowseResponse.class) + public JAXBElement createBrowseResponseResults(ListOfBrowseResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfBrowseResult.class, BrowseResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = BrowseResponse.class) + public JAXBElement createBrowseResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, BrowseResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = BrowseRequest.class) + public JAXBElement createBrowseRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, BrowseRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "View", scope = BrowseRequest.class) + public JAXBElement createBrowseRequestView(ViewDescription value) { + return new JAXBElement(_QueryFirstRequestView_QNAME, ViewDescription.class, BrowseRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfBrowseDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfBrowseDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToBrowse", scope = BrowseRequest.class) + public JAXBElement createBrowseRequestNodesToBrowse(ListOfBrowseDescription value) { + return new JAXBElement(_BrowseRequestNodesToBrowse_QNAME, ListOfBrowseDescription.class, BrowseRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ContinuationPoint", scope = BrowseResult.class) + public JAXBElement createBrowseResultContinuationPoint(byte[] value) { + return new JAXBElement(_ContinuationPoint_QNAME, byte[].class, BrowseResult.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReferenceDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReferenceDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "References", scope = BrowseResult.class) + public JAXBElement createBrowseResultReferences(ListOfReferenceDescription value) { + return new JAXBElement(_BrowseResultReferences_QNAME, ListOfReferenceDescription.class, BrowseResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = ReferenceDescription.class) + public JAXBElement createReferenceDescriptionReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, ReferenceDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = ReferenceDescription.class) + public JAXBElement createReferenceDescriptionNodeId(ExpandedNodeId value) { + return new JAXBElement(_NodeId_QNAME, ExpandedNodeId.class, ReferenceDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseName", scope = ReferenceDescription.class) + public JAXBElement createReferenceDescriptionBrowseName(QualifiedName value) { + return new JAXBElement(_ReferenceDescriptionBrowseName_QNAME, QualifiedName.class, ReferenceDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DisplayName", scope = ReferenceDescription.class) + public JAXBElement createReferenceDescriptionDisplayName(LocalizedText value) { + return new JAXBElement(_EUInformationDisplayName_QNAME, LocalizedText.class, ReferenceDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeDefinition", scope = ReferenceDescription.class) + public JAXBElement createReferenceDescriptionTypeDefinition(ExpandedNodeId value) { + return new JAXBElement(_ReferenceDescriptionTypeDefinition_QNAME, ExpandedNodeId.class, ReferenceDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = BrowseDescription.class) + public JAXBElement createBrowseDescriptionNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, BrowseDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = BrowseDescription.class) + public JAXBElement createBrowseDescriptionReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, BrowseDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ViewId", scope = ViewDescription.class) + public JAXBElement createViewDescriptionViewId(NodeId value) { + return new JAXBElement(_ViewDescriptionViewId_QNAME, NodeId.class, ViewDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = DeleteReferencesResponse.class) + public JAXBElement createDeleteReferencesResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, DeleteReferencesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = DeleteReferencesResponse.class) + public JAXBElement createDeleteReferencesResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, DeleteReferencesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = DeleteReferencesResponse.class) + public JAXBElement createDeleteReferencesResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, DeleteReferencesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = DeleteReferencesRequest.class) + public JAXBElement createDeleteReferencesRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, DeleteReferencesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDeleteReferencesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDeleteReferencesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferencesToDelete", scope = DeleteReferencesRequest.class) + public JAXBElement createDeleteReferencesRequestReferencesToDelete(ListOfDeleteReferencesItem value) { + return new JAXBElement(_DeleteReferencesRequestReferencesToDelete_QNAME, ListOfDeleteReferencesItem.class, DeleteReferencesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SourceNodeId", scope = DeleteReferencesItem.class) + public JAXBElement createDeleteReferencesItemSourceNodeId(NodeId value) { + return new JAXBElement(_DeleteReferencesItemSourceNodeId_QNAME, NodeId.class, DeleteReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = DeleteReferencesItem.class) + public JAXBElement createDeleteReferencesItemReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, DeleteReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetNodeId", scope = DeleteReferencesItem.class) + public JAXBElement createDeleteReferencesItemTargetNodeId(ExpandedNodeId value) { + return new JAXBElement(_DeleteReferencesItemTargetNodeId_QNAME, ExpandedNodeId.class, DeleteReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = DeleteNodesResponse.class) + public JAXBElement createDeleteNodesResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, DeleteNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = DeleteNodesResponse.class) + public JAXBElement createDeleteNodesResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, DeleteNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = DeleteNodesResponse.class) + public JAXBElement createDeleteNodesResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, DeleteNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = DeleteNodesRequest.class) + public JAXBElement createDeleteNodesRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, DeleteNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDeleteNodesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDeleteNodesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToDelete", scope = DeleteNodesRequest.class) + public JAXBElement createDeleteNodesRequestNodesToDelete(ListOfDeleteNodesItem value) { + return new JAXBElement(_DeleteNodesRequestNodesToDelete_QNAME, ListOfDeleteNodesItem.class, DeleteNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = DeleteNodesItem.class) + public JAXBElement createDeleteNodesItemNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, DeleteNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = AddReferencesResponse.class) + public JAXBElement createAddReferencesResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, AddReferencesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = AddReferencesResponse.class) + public JAXBElement createAddReferencesResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, AddReferencesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = AddReferencesResponse.class) + public JAXBElement createAddReferencesResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, AddReferencesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = AddReferencesRequest.class) + public JAXBElement createAddReferencesRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, AddReferencesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAddReferencesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAddReferencesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferencesToAdd", scope = AddReferencesRequest.class) + public JAXBElement createAddReferencesRequestReferencesToAdd(ListOfAddReferencesItem value) { + return new JAXBElement(_AddReferencesRequestReferencesToAdd_QNAME, ListOfAddReferencesItem.class, AddReferencesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SourceNodeId", scope = AddReferencesItem.class) + public JAXBElement createAddReferencesItemSourceNodeId(NodeId value) { + return new JAXBElement(_DeleteReferencesItemSourceNodeId_QNAME, NodeId.class, AddReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = AddReferencesItem.class) + public JAXBElement createAddReferencesItemReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, AddReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetServerUri", scope = AddReferencesItem.class) + public JAXBElement createAddReferencesItemTargetServerUri(String value) { + return new JAXBElement(_AddReferencesItemTargetServerUri_QNAME, String.class, AddReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetNodeId", scope = AddReferencesItem.class) + public JAXBElement createAddReferencesItemTargetNodeId(ExpandedNodeId value) { + return new JAXBElement(_DeleteReferencesItemTargetNodeId_QNAME, ExpandedNodeId.class, AddReferencesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = AddNodesResponse.class) + public JAXBElement createAddNodesResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, AddNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesResult }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesResult }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = AddNodesResponse.class) + public JAXBElement createAddNodesResponseResults(ListOfAddNodesResult value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfAddNodesResult.class, AddNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = AddNodesResponse.class) + public JAXBElement createAddNodesResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, AddNodesResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = AddNodesRequest.class) + public JAXBElement createAddNodesRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, AddNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesItem }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfAddNodesItem }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodesToAdd", scope = AddNodesRequest.class) + public JAXBElement createAddNodesRequestNodesToAdd(ListOfAddNodesItem value) { + return new JAXBElement(_AddNodesRequestNodesToAdd_QNAME, ListOfAddNodesItem.class, AddNodesRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AddedNodeId", scope = AddNodesResult.class) + public JAXBElement createAddNodesResultAddedNodeId(NodeId value) { + return new JAXBElement(_AddNodesResultAddedNodeId_QNAME, NodeId.class, AddNodesResult.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ParentNodeId", scope = AddNodesItem.class) + public JAXBElement createAddNodesItemParentNodeId(ExpandedNodeId value) { + return new JAXBElement(_AddNodesItemParentNodeId_QNAME, ExpandedNodeId.class, AddNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = AddNodesItem.class) + public JAXBElement createAddNodesItemReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, AddNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestedNewNodeId", scope = AddNodesItem.class) + public JAXBElement createAddNodesItemRequestedNewNodeId(ExpandedNodeId value) { + return new JAXBElement(_AddNodesItemRequestedNewNodeId_QNAME, ExpandedNodeId.class, AddNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseName", scope = AddNodesItem.class) + public JAXBElement createAddNodesItemBrowseName(QualifiedName value) { + return new JAXBElement(_ReferenceDescriptionBrowseName_QNAME, QualifiedName.class, AddNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeAttributes", scope = AddNodesItem.class) + public JAXBElement createAddNodesItemNodeAttributes(ExtensionObject value) { + return new JAXBElement(_NodeAttributes_QNAME, ExtensionObject.class, AddNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeDefinition", scope = AddNodesItem.class) + public JAXBElement createAddNodesItemTypeDefinition(ExpandedNodeId value) { + return new JAXBElement(_ReferenceDescriptionTypeDefinition_QNAME, ExpandedNodeId.class, AddNodesItem.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DisplayName", scope = NodeAttributes.class) + public JAXBElement createNodeAttributesDisplayName(LocalizedText value) { + return new JAXBElement(_EUInformationDisplayName_QNAME, LocalizedText.class, NodeAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = NodeAttributes.class) + public JAXBElement createNodeAttributesDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, NodeAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfGenericAttributeValue }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfGenericAttributeValue }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AttributeValues", scope = GenericAttributes.class) + public JAXBElement createGenericAttributesAttributeValues(ListOfGenericAttributeValue value) { + return new JAXBElement(_GenericAttributesAttributeValues_QNAME, ListOfGenericAttributeValue.class, GenericAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InverseName", scope = ReferenceTypeAttributes.class) + public JAXBElement createReferenceTypeAttributesInverseName(LocalizedText value) { + return new JAXBElement(_ReferenceTypeAttributesInverseName_QNAME, LocalizedText.class, ReferenceTypeAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = VariableTypeAttributes.class) + public JAXBElement createVariableTypeAttributesDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, VariableTypeAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = VariableTypeAttributes.class) + public JAXBElement createVariableTypeAttributesArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, VariableTypeAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = VariableAttributes.class) + public JAXBElement createVariableAttributesDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, VariableAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = VariableAttributes.class) + public JAXBElement createVariableAttributesArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, VariableAttributes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CancelResponse.class) + public JAXBElement createCancelResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CancelResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CancelRequest.class) + public JAXBElement createCancelRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CancelRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CloseSessionResponse.class) + public JAXBElement createCloseSessionResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CloseSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CloseSessionRequest.class) + public JAXBElement createCloseSessionRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CloseSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = ActivateSessionResponse.class) + public JAXBElement createActivateSessionResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, ActivateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerNonce", scope = ActivateSessionResponse.class) + public JAXBElement createActivateSessionResponseServerNonce(byte[] value) { + return new JAXBElement(_ActivateSessionResponseServerNonce_QNAME, byte[].class, ActivateSessionResponse.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Results", scope = ActivateSessionResponse.class) + public JAXBElement createActivateSessionResponseResults(ListOfStatusCode value) { + return new JAXBElement(_DeleteSubscriptionsResponseResults_QNAME, ListOfStatusCode.class, ActivateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = ActivateSessionResponse.class) + public JAXBElement createActivateSessionResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, ActivateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = ActivateSessionRequest.class) + public JAXBElement createActivateSessionRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, ActivateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientSignature", scope = ActivateSessionRequest.class) + public JAXBElement createActivateSessionRequestClientSignature(SignatureData value) { + return new JAXBElement(_ActivateSessionRequestClientSignature_QNAME, SignatureData.class, ActivateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientSoftwareCertificates", scope = ActivateSessionRequest.class) + public JAXBElement createActivateSessionRequestClientSoftwareCertificates(ListOfSignedSoftwareCertificate value) { + return new JAXBElement(_ActivateSessionRequestClientSoftwareCertificates_QNAME, ListOfSignedSoftwareCertificate.class, ActivateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleIds", scope = ActivateSessionRequest.class) + public JAXBElement createActivateSessionRequestLocaleIds(ListOfString value) { + return new JAXBElement(_SessionDiagnosticsDataTypeLocaleIds_QNAME, ListOfString.class, ActivateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserIdentityToken", scope = ActivateSessionRequest.class) + public JAXBElement createActivateSessionRequestUserIdentityToken(ExtensionObject value) { + return new JAXBElement(_UserIdentityToken_QNAME, ExtensionObject.class, ActivateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserTokenSignature", scope = ActivateSessionRequest.class) + public JAXBElement createActivateSessionRequestUserTokenSignature(SignatureData value) { + return new JAXBElement(_ActivateSessionRequestUserTokenSignature_QNAME, SignatureData.class, ActivateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PolicyId", scope = UserIdentityToken.class) + public JAXBElement createUserIdentityTokenPolicyId(String value) { + return new JAXBElement(_UserIdentityTokenPolicyId_QNAME, String.class, UserIdentityToken.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TokenData", scope = IssuedIdentityToken.class) + public JAXBElement createIssuedIdentityTokenTokenData(byte[] value) { + return new JAXBElement(_IssuedIdentityTokenTokenData_QNAME, byte[].class, IssuedIdentityToken.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EncryptionAlgorithm", scope = IssuedIdentityToken.class) + public JAXBElement createIssuedIdentityTokenEncryptionAlgorithm(String value) { + return new JAXBElement(_IssuedIdentityTokenEncryptionAlgorithm_QNAME, String.class, IssuedIdentityToken.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CertificateData", scope = X509IdentityToken.class) + public JAXBElement createX509IdentityTokenCertificateData(byte[] value) { + return new JAXBElement(_X509IdentityTokenCertificateData_QNAME, byte[].class, X509IdentityToken.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserName", scope = UserNameIdentityToken.class) + public JAXBElement createUserNameIdentityTokenUserName(String value) { + return new JAXBElement(_AnnotationUserName_QNAME, String.class, UserNameIdentityToken.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Password", scope = UserNameIdentityToken.class) + public JAXBElement createUserNameIdentityTokenPassword(byte[] value) { + return new JAXBElement(_UserNameIdentityTokenPassword_QNAME, byte[].class, UserNameIdentityToken.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EncryptionAlgorithm", scope = UserNameIdentityToken.class) + public JAXBElement createUserNameIdentityTokenEncryptionAlgorithm(String value) { + return new JAXBElement(_IssuedIdentityTokenEncryptionAlgorithm_QNAME, String.class, UserNameIdentityToken.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CreateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionId", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseSessionId(NodeId value) { + return new JAXBElement(_SubscriptionDiagnosticsDataTypeSessionId_QNAME, NodeId.class, CreateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationToken", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseAuthenticationToken(NodeId value) { + return new JAXBElement(_CreateSessionResponseAuthenticationToken_QNAME, NodeId.class, CreateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerNonce", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseServerNonce(byte[] value) { + return new JAXBElement(_ActivateSessionResponseServerNonce_QNAME, byte[].class, CreateSessionResponse.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerCertificate", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseServerCertificate(byte[] value) { + return new JAXBElement(_CreateSessionResponseServerCertificate_QNAME, byte[].class, CreateSessionResponse.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerEndpoints", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseServerEndpoints(ListOfEndpointDescription value) { + return new JAXBElement(_CreateSessionResponseServerEndpoints_QNAME, ListOfEndpointDescription.class, CreateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSignedSoftwareCertificate }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerSoftwareCertificates", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseServerSoftwareCertificates(ListOfSignedSoftwareCertificate value) { + return new JAXBElement(_CreateSessionResponseServerSoftwareCertificates_QNAME, ListOfSignedSoftwareCertificate.class, CreateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SignatureData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerSignature", scope = CreateSessionResponse.class) + public JAXBElement createCreateSessionResponseServerSignature(SignatureData value) { + return new JAXBElement(_CreateSessionResponseServerSignature_QNAME, SignatureData.class, CreateSessionResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CreateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientDescription", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestClientDescription(ApplicationDescription value) { + return new JAXBElement(_SessionDiagnosticsDataTypeClientDescription_QNAME, ApplicationDescription.class, CreateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUri", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestServerUri(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeServerUri_QNAME, String.class, CreateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrl", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestEndpointUrl(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeEndpointUrl_QNAME, String.class, CreateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SessionName", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestSessionName(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeSessionName_QNAME, String.class, CreateSessionRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientNonce", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestClientNonce(byte[] value) { + return new JAXBElement(_CreateSessionRequestClientNonce_QNAME, byte[].class, CreateSessionRequest.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientCertificate", scope = CreateSessionRequest.class) + public JAXBElement createCreateSessionRequestClientCertificate(byte[] value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeClientCertificate_QNAME, byte[].class, CreateSessionRequest.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Algorithm", scope = SignatureData.class) + public JAXBElement createSignatureDataAlgorithm(String value) { + return new JAXBElement(_SignatureDataAlgorithm_QNAME, String.class, SignatureData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Signature", scope = SignatureData.class) + public JAXBElement createSignatureDataSignature(byte[] value) { + return new JAXBElement(_SignatureDataSignature_QNAME, byte[].class, SignatureData.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CertificateData", scope = SignedSoftwareCertificate.class) + public JAXBElement createSignedSoftwareCertificateCertificateData(byte[] value) { + return new JAXBElement(_X509IdentityTokenCertificateData_QNAME, byte[].class, SignedSoftwareCertificate.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Signature", scope = SignedSoftwareCertificate.class) + public JAXBElement createSignedSoftwareCertificateSignature(byte[] value) { + return new JAXBElement(_SignatureDataSignature_QNAME, byte[].class, SignedSoftwareCertificate.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = CloseSecureChannelResponse.class) + public JAXBElement createCloseSecureChannelResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, CloseSecureChannelResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = CloseSecureChannelRequest.class) + public JAXBElement createCloseSecureChannelRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, CloseSecureChannelRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = OpenSecureChannelResponse.class) + public JAXBElement createOpenSecureChannelResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, OpenSecureChannelResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ChannelSecurityToken }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ChannelSecurityToken }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityToken", scope = OpenSecureChannelResponse.class) + public JAXBElement createOpenSecureChannelResponseSecurityToken(ChannelSecurityToken value) { + return new JAXBElement(_OpenSecureChannelResponseSecurityToken_QNAME, ChannelSecurityToken.class, OpenSecureChannelResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerNonce", scope = OpenSecureChannelResponse.class) + public JAXBElement createOpenSecureChannelResponseServerNonce(byte[] value) { + return new JAXBElement(_ActivateSessionResponseServerNonce_QNAME, byte[].class, OpenSecureChannelResponse.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = OpenSecureChannelRequest.class) + public JAXBElement createOpenSecureChannelRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, OpenSecureChannelRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ClientNonce", scope = OpenSecureChannelRequest.class) + public JAXBElement createOpenSecureChannelRequestClientNonce(byte[] value) { + return new JAXBElement(_CreateSessionRequestClientNonce_QNAME, byte[].class, OpenSecureChannelRequest.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = RegisterServer2Response.class) + public JAXBElement createRegisterServer2ResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, RegisterServer2Response.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ConfigurationResults", scope = RegisterServer2Response.class) + public JAXBElement createRegisterServer2ResponseConfigurationResults(ListOfStatusCode value) { + return new JAXBElement(_RegisterServer2ResponseConfigurationResults_QNAME, ListOfStatusCode.class, RegisterServer2Response.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiagnosticInfos", scope = RegisterServer2Response.class) + public JAXBElement createRegisterServer2ResponseDiagnosticInfos(ListOfDiagnosticInfo value) { + return new JAXBElement(_DeleteSubscriptionsResponseDiagnosticInfos_QNAME, ListOfDiagnosticInfo.class, RegisterServer2Response.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = RegisterServer2Request.class) + public JAXBElement createRegisterServer2RequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, RegisterServer2Request.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Server", scope = RegisterServer2Request.class) + public JAXBElement createRegisterServer2RequestServer(RegisteredServer value) { + return new JAXBElement(_RegisterServer2RequestServer_QNAME, RegisteredServer.class, RegisterServer2Request.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryConfiguration", scope = RegisterServer2Request.class) + public JAXBElement createRegisterServer2RequestDiscoveryConfiguration(ListOfExtensionObject value) { + return new JAXBElement(_DiscoveryConfiguration_QNAME, ListOfExtensionObject.class, RegisterServer2Request.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MdnsServerName", scope = MdnsDiscoveryConfiguration.class) + public JAXBElement createMdnsDiscoveryConfigurationMdnsServerName(String value) { + return new JAXBElement(_MdnsDiscoveryConfigurationMdnsServerName_QNAME, String.class, MdnsDiscoveryConfiguration.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerCapabilities", scope = MdnsDiscoveryConfiguration.class) + public JAXBElement createMdnsDiscoveryConfigurationServerCapabilities(ListOfString value) { + return new JAXBElement(_MdnsDiscoveryConfigurationServerCapabilities_QNAME, ListOfString.class, MdnsDiscoveryConfiguration.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = RegisterServerResponse.class) + public JAXBElement createRegisterServerResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, RegisterServerResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = RegisterServerRequest.class) + public JAXBElement createRegisterServerRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, RegisterServerRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Server", scope = RegisterServerRequest.class) + public JAXBElement createRegisterServerRequestServer(RegisteredServer value) { + return new JAXBElement(_RegisterServer2RequestServer_QNAME, RegisteredServer.class, RegisterServerRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUri", scope = RegisteredServer.class) + public JAXBElement createRegisteredServerServerUri(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeServerUri_QNAME, String.class, RegisteredServer.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProductUri", scope = RegisteredServer.class) + public JAXBElement createRegisteredServerProductUri(String value) { + return new JAXBElement(_BuildInfoProductUri_QNAME, String.class, RegisteredServer.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfLocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfLocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerNames", scope = RegisteredServer.class) + public JAXBElement createRegisteredServerServerNames(ListOfLocalizedText value) { + return new JAXBElement(_RegisteredServerServerNames_QNAME, ListOfLocalizedText.class, RegisteredServer.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GatewayServerUri", scope = RegisteredServer.class) + public JAXBElement createRegisteredServerGatewayServerUri(String value) { + return new JAXBElement(_RegisteredServerGatewayServerUri_QNAME, String.class, RegisteredServer.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryUrls", scope = RegisteredServer.class) + public JAXBElement createRegisteredServerDiscoveryUrls(ListOfString value) { + return new JAXBElement(_RegisteredServerDiscoveryUrls_QNAME, ListOfString.class, RegisteredServer.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SemaphoreFilePath", scope = RegisteredServer.class) + public JAXBElement createRegisteredServerSemaphoreFilePath(String value) { + return new JAXBElement(_RegisteredServerSemaphoreFilePath_QNAME, String.class, RegisteredServer.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = GetEndpointsResponse.class) + public JAXBElement createGetEndpointsResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, GetEndpointsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Endpoints", scope = GetEndpointsResponse.class) + public JAXBElement createGetEndpointsResponseEndpoints(ListOfEndpointDescription value) { + return new JAXBElement(_GetEndpointsResponseEndpoints_QNAME, ListOfEndpointDescription.class, GetEndpointsResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = GetEndpointsRequest.class) + public JAXBElement createGetEndpointsRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, GetEndpointsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrl", scope = GetEndpointsRequest.class) + public JAXBElement createGetEndpointsRequestEndpointUrl(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeEndpointUrl_QNAME, String.class, GetEndpointsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleIds", scope = GetEndpointsRequest.class) + public JAXBElement createGetEndpointsRequestLocaleIds(ListOfString value) { + return new JAXBElement(_SessionDiagnosticsDataTypeLocaleIds_QNAME, ListOfString.class, GetEndpointsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProfileUris", scope = GetEndpointsRequest.class) + public JAXBElement createGetEndpointsRequestProfileUris(ListOfString value) { + return new JAXBElement(_GetEndpointsRequestProfileUris_QNAME, ListOfString.class, GetEndpointsRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrl", scope = EndpointDescription.class) + public JAXBElement createEndpointDescriptionEndpointUrl(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeEndpointUrl_QNAME, String.class, EndpointDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Server", scope = EndpointDescription.class) + public JAXBElement createEndpointDescriptionServer(ApplicationDescription value) { + return new JAXBElement(_RegisterServer2RequestServer_QNAME, ApplicationDescription.class, EndpointDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerCertificate", scope = EndpointDescription.class) + public JAXBElement createEndpointDescriptionServerCertificate(byte[] value) { + return new JAXBElement(_CreateSessionResponseServerCertificate_QNAME, byte[].class, EndpointDescription.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityPolicyUri", scope = EndpointDescription.class) + public JAXBElement createEndpointDescriptionSecurityPolicyUri(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeSecurityPolicyUri_QNAME, String.class, EndpointDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUserTokenPolicy }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUserTokenPolicy }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserIdentityTokens", scope = EndpointDescription.class) + public JAXBElement createEndpointDescriptionUserIdentityTokens(ListOfUserTokenPolicy value) { + return new JAXBElement(_EndpointDescriptionUserIdentityTokens_QNAME, ListOfUserTokenPolicy.class, EndpointDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportProfileUri", scope = EndpointDescription.class) + public JAXBElement createEndpointDescriptionTransportProfileUri(String value) { + return new JAXBElement(_EndpointDescriptionTransportProfileUri_QNAME, String.class, EndpointDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PolicyId", scope = UserTokenPolicy.class) + public JAXBElement createUserTokenPolicyPolicyId(String value) { + return new JAXBElement(_UserIdentityTokenPolicyId_QNAME, String.class, UserTokenPolicy.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IssuedTokenType", scope = UserTokenPolicy.class) + public JAXBElement createUserTokenPolicyIssuedTokenType(String value) { + return new JAXBElement(_UserTokenPolicyIssuedTokenType_QNAME, String.class, UserTokenPolicy.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IssuerEndpointUrl", scope = UserTokenPolicy.class) + public JAXBElement createUserTokenPolicyIssuerEndpointUrl(String value) { + return new JAXBElement(_UserTokenPolicyIssuerEndpointUrl_QNAME, String.class, UserTokenPolicy.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityPolicyUri", scope = UserTokenPolicy.class) + public JAXBElement createUserTokenPolicySecurityPolicyUri(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeSecurityPolicyUri_QNAME, String.class, UserTokenPolicy.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = FindServersOnNetworkResponse.class) + public JAXBElement createFindServersOnNetworkResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, FindServersOnNetworkResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfServerOnNetwork }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfServerOnNetwork }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Servers", scope = FindServersOnNetworkResponse.class) + public JAXBElement createFindServersOnNetworkResponseServers(ListOfServerOnNetwork value) { + return new JAXBElement(_FindServersOnNetworkResponseServers_QNAME, ListOfServerOnNetwork.class, FindServersOnNetworkResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = FindServersOnNetworkRequest.class) + public JAXBElement createFindServersOnNetworkRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, FindServersOnNetworkRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerCapabilityFilter", scope = FindServersOnNetworkRequest.class) + public JAXBElement createFindServersOnNetworkRequestServerCapabilityFilter(ListOfString value) { + return new JAXBElement(_FindServersOnNetworkRequestServerCapabilityFilter_QNAME, ListOfString.class, FindServersOnNetworkRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerName", scope = ServerOnNetwork.class) + public JAXBElement createServerOnNetworkServerName(String value) { + return new JAXBElement(_ServerOnNetworkServerName_QNAME, String.class, ServerOnNetwork.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryUrl", scope = ServerOnNetwork.class) + public JAXBElement createServerOnNetworkDiscoveryUrl(String value) { + return new JAXBElement(_ServerOnNetworkDiscoveryUrl_QNAME, String.class, ServerOnNetwork.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerCapabilities", scope = ServerOnNetwork.class) + public JAXBElement createServerOnNetworkServerCapabilities(ListOfString value) { + return new JAXBElement(_MdnsDiscoveryConfigurationServerCapabilities_QNAME, ListOfString.class, ServerOnNetwork.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = FindServersResponse.class) + public JAXBElement createFindServersResponseResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, FindServersResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfApplicationDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfApplicationDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Servers", scope = FindServersResponse.class) + public JAXBElement createFindServersResponseServers(ListOfApplicationDescription value) { + return new JAXBElement(_FindServersOnNetworkResponseServers_QNAME, ListOfApplicationDescription.class, FindServersResponse.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RequestHeader", scope = FindServersRequest.class) + public JAXBElement createFindServersRequestRequestHeader(RequestHeader value) { + return new JAXBElement(_RequestHeader_QNAME, RequestHeader.class, FindServersRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrl", scope = FindServersRequest.class) + public JAXBElement createFindServersRequestEndpointUrl(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeEndpointUrl_QNAME, String.class, FindServersRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleIds", scope = FindServersRequest.class) + public JAXBElement createFindServersRequestLocaleIds(ListOfString value) { + return new JAXBElement(_SessionDiagnosticsDataTypeLocaleIds_QNAME, ListOfString.class, FindServersRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUris", scope = FindServersRequest.class) + public JAXBElement createFindServersRequestServerUris(ListOfString value) { + return new JAXBElement(_FindServersRequestServerUris_QNAME, ListOfString.class, FindServersRequest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NamespaceUris", scope = SessionlessInvokeResponseType.class) + public JAXBElement createSessionlessInvokeResponseTypeNamespaceUris(ListOfString value) { + return new JAXBElement(_SessionlessInvokeResponseTypeNamespaceUris_QNAME, ListOfString.class, SessionlessInvokeResponseType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUris", scope = SessionlessInvokeResponseType.class) + public JAXBElement createSessionlessInvokeResponseTypeServerUris(ListOfString value) { + return new JAXBElement(_FindServersRequestServerUris_QNAME, ListOfString.class, SessionlessInvokeResponseType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NamespaceUris", scope = SessionlessInvokeRequestType.class) + public JAXBElement createSessionlessInvokeRequestTypeNamespaceUris(ListOfString value) { + return new JAXBElement(_SessionlessInvokeResponseTypeNamespaceUris_QNAME, ListOfString.class, SessionlessInvokeRequestType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServerUris", scope = SessionlessInvokeRequestType.class) + public JAXBElement createSessionlessInvokeRequestTypeServerUris(ListOfString value) { + return new JAXBElement(_FindServersRequestServerUris_QNAME, ListOfString.class, SessionlessInvokeRequestType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleIds", scope = SessionlessInvokeRequestType.class) + public JAXBElement createSessionlessInvokeRequestTypeLocaleIds(ListOfString value) { + return new JAXBElement(_SessionDiagnosticsDataTypeLocaleIds_QNAME, ListOfString.class, SessionlessInvokeRequestType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResponseHeader", scope = ServiceFault.class) + public JAXBElement createServiceFaultResponseHeader(ResponseHeader value) { + return new JAXBElement(_ResponseHeader_QNAME, ResponseHeader.class, ServiceFault.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ServiceDiagnostics", scope = ResponseHeader.class) + public JAXBElement createResponseHeaderServiceDiagnostics(DiagnosticInfo value) { + return new JAXBElement(_ResponseHeaderServiceDiagnostics_QNAME, DiagnosticInfo.class, ResponseHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StringTable", scope = ResponseHeader.class) + public JAXBElement createResponseHeaderStringTable(ListOfString value) { + return new JAXBElement(_ResponseHeaderStringTable_QNAME, ListOfString.class, ResponseHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AdditionalHeader", scope = ResponseHeader.class) + public JAXBElement createResponseHeaderAdditionalHeader(ExtensionObject value) { + return new JAXBElement(_ResponseHeaderAdditionalHeader_QNAME, ExtensionObject.class, ResponseHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationToken", scope = RequestHeader.class) + public JAXBElement createRequestHeaderAuthenticationToken(NodeId value) { + return new JAXBElement(_CreateSessionResponseAuthenticationToken_QNAME, NodeId.class, RequestHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuditEntryId", scope = RequestHeader.class) + public JAXBElement createRequestHeaderAuditEntryId(String value) { + return new JAXBElement(_RequestHeaderAuditEntryId_QNAME, String.class, RequestHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AdditionalHeader", scope = RequestHeader.class) + public JAXBElement createRequestHeaderAdditionalHeader(ExtensionObject value) { + return new JAXBElement(_ResponseHeaderAdditionalHeader_QNAME, ExtensionObject.class, RequestHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ApplicationUri", scope = ApplicationDescription.class) + public JAXBElement createApplicationDescriptionApplicationUri(String value) { + return new JAXBElement(_ApplicationDescriptionApplicationUri_QNAME, String.class, ApplicationDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ProductUri", scope = ApplicationDescription.class) + public JAXBElement createApplicationDescriptionProductUri(String value) { + return new JAXBElement(_BuildInfoProductUri_QNAME, String.class, ApplicationDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ApplicationName", scope = ApplicationDescription.class) + public JAXBElement createApplicationDescriptionApplicationName(LocalizedText value) { + return new JAXBElement(_ApplicationDescriptionApplicationName_QNAME, LocalizedText.class, ApplicationDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GatewayServerUri", scope = ApplicationDescription.class) + public JAXBElement createApplicationDescriptionGatewayServerUri(String value) { + return new JAXBElement(_RegisteredServerGatewayServerUri_QNAME, String.class, ApplicationDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryProfileUri", scope = ApplicationDescription.class) + public JAXBElement createApplicationDescriptionDiscoveryProfileUri(String value) { + return new JAXBElement(_ApplicationDescriptionDiscoveryProfileUri_QNAME, String.class, ApplicationDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryUrls", scope = ApplicationDescription.class) + public JAXBElement createApplicationDescriptionDiscoveryUrls(ListOfString value) { + return new JAXBElement(_RegisteredServerDiscoveryUrls_QNAME, ListOfString.class, ApplicationDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Value", scope = OptionSet.class) + public JAXBElement createOptionSetValue(byte[] value) { + return new JAXBElement(_MonitoredItemNotificationValue_QNAME, byte[].class, OptionSet.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ValidBits", scope = OptionSet.class) + public JAXBElement createOptionSetValidBits(byte[] value) { + return new JAXBElement(_OptionSetValidBits_QNAME, byte[].class, OptionSet.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DisplayName", scope = EnumValueType.class) + public JAXBElement createEnumValueTypeDisplayName(LocalizedText value) { + return new JAXBElement(_EUInformationDisplayName_QNAME, LocalizedText.class, EnumValueType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = EnumValueType.class) + public JAXBElement createEnumValueTypeDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, EnumValueType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = EnumField.class) + public JAXBElement createEnumFieldName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, EnumField.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = Argument.class) + public JAXBElement createArgumentName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, Argument.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = Argument.class) + public JAXBElement createArgumentDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, Argument.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = Argument.class) + public JAXBElement createArgumentArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, Argument.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = Argument.class) + public JAXBElement createArgumentDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, Argument.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferenceTypeId", scope = ReferenceNode.class) + public JAXBElement createReferenceNodeReferenceTypeId(NodeId value) { + return new JAXBElement(_NodeReferenceReferenceTypeId_QNAME, NodeId.class, ReferenceNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetId", scope = ReferenceNode.class) + public JAXBElement createReferenceNodeTargetId(ExpandedNodeId value) { + return new JAXBElement(_BrowsePathTargetTargetId_QNAME, ExpandedNodeId.class, ReferenceNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NodeId", scope = Node.class) + public JAXBElement createNodeNodeId(NodeId value) { + return new JAXBElement(_NodeId_QNAME, NodeId.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BrowseName", scope = Node.class) + public JAXBElement createNodeBrowseName(QualifiedName value) { + return new JAXBElement(_ReferenceDescriptionBrowseName_QNAME, QualifiedName.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DisplayName", scope = Node.class) + public JAXBElement createNodeDisplayName(LocalizedText value) { + return new JAXBElement(_EUInformationDisplayName_QNAME, LocalizedText.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = Node.class) + public JAXBElement createNodeDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RolePermissions", scope = Node.class) + public JAXBElement createNodeRolePermissions(ListOfRolePermissionType value) { + return new JAXBElement(_NodeRolePermissions_QNAME, ListOfRolePermissionType.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "UserRolePermissions", scope = Node.class) + public JAXBElement createNodeUserRolePermissions(ListOfRolePermissionType value) { + return new JAXBElement(_NodeUserRolePermissions_QNAME, ListOfRolePermissionType.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReferenceNode }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReferenceNode }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "References", scope = Node.class) + public JAXBElement createNodeReferences(ListOfReferenceNode value) { + return new JAXBElement(_BrowseResultReferences_QNAME, ListOfReferenceNode.class, Node.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeDefinition", scope = DataTypeNode.class) + public JAXBElement createDataTypeNodeDataTypeDefinition(ExtensionObject value) { + return new JAXBElement(_DataTypeDefinition_QNAME, ExtensionObject.class, DataTypeNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "InverseName", scope = ReferenceTypeNode.class) + public JAXBElement createReferenceTypeNodeInverseName(LocalizedText value) { + return new JAXBElement(_ReferenceTypeAttributesInverseName_QNAME, LocalizedText.class, ReferenceTypeNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = VariableTypeNode.class) + public JAXBElement createVariableTypeNodeDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, VariableTypeNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = VariableTypeNode.class) + public JAXBElement createVariableTypeNodeArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, VariableTypeNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = VariableNode.class) + public JAXBElement createVariableNodeDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, VariableNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = VariableNode.class) + public JAXBElement createVariableNodeArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, VariableNode.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEnumField }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEnumField }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Fields", scope = EnumDefinition.class) + public JAXBElement createEnumDefinitionFields(ListOfEnumField value) { + return new JAXBElement(_EnumDefinitionFields_QNAME, ListOfEnumField.class, EnumDefinition.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DefaultEncodingId", scope = StructureDefinition.class) + public JAXBElement createStructureDefinitionDefaultEncodingId(NodeId value) { + return new JAXBElement(_StructureDefinitionDefaultEncodingId_QNAME, NodeId.class, StructureDefinition.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BaseDataType", scope = StructureDefinition.class) + public JAXBElement createStructureDefinitionBaseDataType(NodeId value) { + return new JAXBElement(_StructureDefinitionBaseDataType_QNAME, NodeId.class, StructureDefinition.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStructureField }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStructureField }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Fields", scope = StructureDefinition.class) + public JAXBElement createStructureDefinitionFields(ListOfStructureField value) { + return new JAXBElement(_EnumDefinitionFields_QNAME, ListOfStructureField.class, StructureDefinition.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = StructureField.class) + public JAXBElement createStructureFieldName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, StructureField.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = StructureField.class) + public JAXBElement createStructureFieldDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, StructureField.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = StructureField.class) + public JAXBElement createStructureFieldDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, StructureField.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = StructureField.class) + public JAXBElement createStructureFieldArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, StructureField.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RoleId", scope = RolePermissionType.class) + public JAXBElement createRolePermissionTypeRoleId(NodeId value) { + return new JAXBElement(_RolePermissionTypeRoleId_QNAME, NodeId.class, RolePermissionType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AliasName", scope = AliasNameDataType.class) + public JAXBElement createAliasNameDataTypeAliasName(QualifiedName value) { + return new JAXBElement(_AliasNameDataTypeAliasName_QNAME, QualifiedName.class, AliasNameDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfExpandedNodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfExpandedNodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReferencedNodes", scope = AliasNameDataType.class) + public JAXBElement createAliasNameDataTypeReferencedNodes(ListOfExpandedNodeId value) { + return new JAXBElement(_AliasNameDataTypeReferencedNodes_QNAME, ListOfExpandedNodeId.class, AliasNameDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueueName", scope = BrokerDataSetReaderTransportDataType.class) + public JAXBElement createBrokerDataSetReaderTransportDataTypeQueueName(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeQueueName_QNAME, String.class, BrokerDataSetReaderTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResourceUri", scope = BrokerDataSetReaderTransportDataType.class) + public JAXBElement createBrokerDataSetReaderTransportDataTypeResourceUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeResourceUri_QNAME, String.class, BrokerDataSetReaderTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationProfileUri", scope = BrokerDataSetReaderTransportDataType.class) + public JAXBElement createBrokerDataSetReaderTransportDataTypeAuthenticationProfileUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeAuthenticationProfileUri_QNAME, String.class, BrokerDataSetReaderTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MetaDataQueueName", scope = BrokerDataSetReaderTransportDataType.class) + public JAXBElement createBrokerDataSetReaderTransportDataTypeMetaDataQueueName(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeMetaDataQueueName_QNAME, String.class, BrokerDataSetReaderTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueueName", scope = BrokerDataSetWriterTransportDataType.class) + public JAXBElement createBrokerDataSetWriterTransportDataTypeQueueName(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeQueueName_QNAME, String.class, BrokerDataSetWriterTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResourceUri", scope = BrokerDataSetWriterTransportDataType.class) + public JAXBElement createBrokerDataSetWriterTransportDataTypeResourceUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeResourceUri_QNAME, String.class, BrokerDataSetWriterTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationProfileUri", scope = BrokerDataSetWriterTransportDataType.class) + public JAXBElement createBrokerDataSetWriterTransportDataTypeAuthenticationProfileUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeAuthenticationProfileUri_QNAME, String.class, BrokerDataSetWriterTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MetaDataQueueName", scope = BrokerDataSetWriterTransportDataType.class) + public JAXBElement createBrokerDataSetWriterTransportDataTypeMetaDataQueueName(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeMetaDataQueueName_QNAME, String.class, BrokerDataSetWriterTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "QueueName", scope = BrokerWriterGroupTransportDataType.class) + public JAXBElement createBrokerWriterGroupTransportDataTypeQueueName(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeQueueName_QNAME, String.class, BrokerWriterGroupTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResourceUri", scope = BrokerWriterGroupTransportDataType.class) + public JAXBElement createBrokerWriterGroupTransportDataTypeResourceUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeResourceUri_QNAME, String.class, BrokerWriterGroupTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationProfileUri", scope = BrokerWriterGroupTransportDataType.class) + public JAXBElement createBrokerWriterGroupTransportDataTypeAuthenticationProfileUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeAuthenticationProfileUri_QNAME, String.class, BrokerWriterGroupTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ResourceUri", scope = BrokerConnectionTransportDataType.class) + public JAXBElement createBrokerConnectionTransportDataTypeResourceUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeResourceUri_QNAME, String.class, BrokerConnectionTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AuthenticationProfileUri", scope = BrokerConnectionTransportDataType.class) + public JAXBElement createBrokerConnectionTransportDataTypeAuthenticationProfileUri(String value) { + return new JAXBElement(_BrokerDataSetReaderTransportDataTypeAuthenticationProfileUri_QNAME, String.class, BrokerConnectionTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DiscoveryAddress", scope = DatagramConnectionTransportDataType.class) + public JAXBElement createDatagramConnectionTransportDataTypeDiscoveryAddress(ExtensionObject value) { + return new JAXBElement(_DatagramConnectionTransportDataTypeDiscoveryAddress_QNAME, ExtensionObject.class, DatagramConnectionTransportDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishingOffset", scope = UadpWriterGroupMessageDataType.class) + public JAXBElement createUadpWriterGroupMessageDataTypePublishingOffset(ListOfDouble value) { + return new JAXBElement(_UadpWriterGroupMessageDataTypePublishingOffset_QNAME, ListOfDouble.class, UadpWriterGroupMessageDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedDataSets", scope = PubSubConfigurationDataType.class) + public JAXBElement createPubSubConfigurationDataTypePublishedDataSets(ListOfPublishedDataSetDataType value) { + return new JAXBElement(_PubSubConfigurationDataTypePublishedDataSets_QNAME, ListOfPublishedDataSetDataType.class, PubSubConfigurationDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPubSubConnectionDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPubSubConnectionDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Connections", scope = PubSubConfigurationDataType.class) + public JAXBElement createPubSubConfigurationDataTypeConnections(ListOfPubSubConnectionDataType value) { + return new JAXBElement(_PubSubConfigurationDataTypeConnections_QNAME, ListOfPubSubConnectionDataType.class, PubSubConfigurationDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ParentNodeName", scope = SubscribedDataSetMirrorDataType.class) + public JAXBElement createSubscribedDataSetMirrorDataTypeParentNodeName(String value) { + return new JAXBElement(_SubscribedDataSetMirrorDataTypeParentNodeName_QNAME, String.class, SubscribedDataSetMirrorDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "RolePermissions", scope = SubscribedDataSetMirrorDataType.class) + public JAXBElement createSubscribedDataSetMirrorDataTypeRolePermissions(ListOfRolePermissionType value) { + return new JAXBElement(_NodeRolePermissions_QNAME, ListOfRolePermissionType.class, SubscribedDataSetMirrorDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReceiverIndexRange", scope = FieldTargetDataType.class) + public JAXBElement createFieldTargetDataTypeReceiverIndexRange(String value) { + return new JAXBElement(_FieldTargetDataTypeReceiverIndexRange_QNAME, String.class, FieldTargetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetNodeId", scope = FieldTargetDataType.class) + public JAXBElement createFieldTargetDataTypeTargetNodeId(NodeId value) { + return new JAXBElement(_DeleteReferencesItemTargetNodeId_QNAME, NodeId.class, FieldTargetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriteIndexRange", scope = FieldTargetDataType.class) + public JAXBElement createFieldTargetDataTypeWriteIndexRange(String value) { + return new JAXBElement(_FieldTargetDataTypeWriteIndexRange_QNAME, String.class, FieldTargetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfFieldTargetDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfFieldTargetDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TargetVariables", scope = TargetVariablesDataType.class) + public JAXBElement createTargetVariablesDataTypeTargetVariables(ListOfFieldTargetDataType value) { + return new JAXBElement(_TargetVariablesDataTypeTargetVariables_QNAME, ListOfFieldTargetDataType.class, TargetVariablesDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetMetaData", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeDataSetMetaData(DataSetMetaDataType value) { + return new JAXBElement(_DataSetReaderDataTypeDataSetMetaData_QNAME, DataSetMetaDataType.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HeaderLayoutUri", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeHeaderLayoutUri(String value) { + return new JAXBElement(_DataSetReaderDataTypeHeaderLayoutUri_QNAME, String.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityGroupId", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeSecurityGroupId(String value) { + return new JAXBElement(_DataSetReaderDataTypeSecurityGroupId_QNAME, String.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityKeyServices", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeSecurityKeyServices(ListOfEndpointDescription value) { + return new JAXBElement(_DataSetReaderDataTypeSecurityKeyServices_QNAME, ListOfEndpointDescription.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetReaderProperties", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeDataSetReaderProperties(ListOfKeyValuePair value) { + return new JAXBElement(_DataSetReaderDataTypeDataSetReaderProperties_QNAME, ListOfKeyValuePair.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportSettings", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeTransportSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeTransportSettings_QNAME, ExtensionObject.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MessageSettings", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeMessageSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeMessageSettings_QNAME, ExtensionObject.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SubscribedDataSet", scope = DataSetReaderDataType.class) + public JAXBElement createDataSetReaderDataTypeSubscribedDataSet(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeSubscribedDataSet_QNAME, ExtensionObject.class, DataSetReaderDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = PubSubGroupDataType.class) + public JAXBElement createPubSubGroupDataTypeName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, PubSubGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityGroupId", scope = PubSubGroupDataType.class) + public JAXBElement createPubSubGroupDataTypeSecurityGroupId(String value) { + return new JAXBElement(_DataSetReaderDataTypeSecurityGroupId_QNAME, String.class, PubSubGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityKeyServices", scope = PubSubGroupDataType.class) + public JAXBElement createPubSubGroupDataTypeSecurityKeyServices(ListOfEndpointDescription value) { + return new JAXBElement(_DataSetReaderDataTypeSecurityKeyServices_QNAME, ListOfEndpointDescription.class, PubSubGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "GroupProperties", scope = PubSubGroupDataType.class) + public JAXBElement createPubSubGroupDataTypeGroupProperties(ListOfKeyValuePair value) { + return new JAXBElement(_PubSubGroupDataTypeGroupProperties_QNAME, ListOfKeyValuePair.class, PubSubGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportSettings", scope = ReaderGroupDataType.class) + public JAXBElement createReaderGroupDataTypeTransportSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeTransportSettings_QNAME, ExtensionObject.class, ReaderGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MessageSettings", scope = ReaderGroupDataType.class) + public JAXBElement createReaderGroupDataTypeMessageSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeMessageSettings_QNAME, ExtensionObject.class, ReaderGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetReaderDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetReaders", scope = ReaderGroupDataType.class) + public JAXBElement createReaderGroupDataTypeDataSetReaders(ListOfDataSetReaderDataType value) { + return new JAXBElement(_ReaderGroupDataTypeDataSetReaders_QNAME, ListOfDataSetReaderDataType.class, ReaderGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "NetworkInterface", scope = NetworkAddressDataType.class) + public JAXBElement createNetworkAddressDataTypeNetworkInterface(String value) { + return new JAXBElement(_NetworkAddressDataTypeNetworkInterface_QNAME, String.class, NetworkAddressDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Url", scope = NetworkAddressUrlDataType.class) + public JAXBElement createNetworkAddressUrlDataTypeUrl(String value) { + return new JAXBElement(_NetworkAddressUrlDataTypeUrl_QNAME, String.class, NetworkAddressUrlDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportProfileUri", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeTransportProfileUri(String value) { + return new JAXBElement(_EndpointDescriptionTransportProfileUri_QNAME, String.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Address", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeAddress(ExtensionObject value) { + return new JAXBElement(_PubSubConnectionDataTypeAddress_QNAME, ExtensionObject.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ConnectionProperties", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeConnectionProperties(ListOfKeyValuePair value) { + return new JAXBElement(_PubSubConnectionDataTypeConnectionProperties_QNAME, ListOfKeyValuePair.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportSettings", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeTransportSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeTransportSettings_QNAME, ExtensionObject.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfWriterGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "WriterGroups", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeWriterGroups(ListOfWriterGroupDataType value) { + return new JAXBElement(_PubSubConnectionDataTypeWriterGroups_QNAME, ListOfWriterGroupDataType.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfReaderGroupDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ReaderGroups", scope = PubSubConnectionDataType.class) + public JAXBElement createPubSubConnectionDataTypeReaderGroups(ListOfReaderGroupDataType value) { + return new JAXBElement(_PubSubConnectionDataTypeReaderGroups_QNAME, ListOfReaderGroupDataType.class, PubSubConnectionDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "LocaleIds", scope = WriterGroupDataType.class) + public JAXBElement createWriterGroupDataTypeLocaleIds(ListOfString value) { + return new JAXBElement(_SessionDiagnosticsDataTypeLocaleIds_QNAME, ListOfString.class, WriterGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "HeaderLayoutUri", scope = WriterGroupDataType.class) + public JAXBElement createWriterGroupDataTypeHeaderLayoutUri(String value) { + return new JAXBElement(_DataSetReaderDataTypeHeaderLayoutUri_QNAME, String.class, WriterGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportSettings", scope = WriterGroupDataType.class) + public JAXBElement createWriterGroupDataTypeTransportSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeTransportSettings_QNAME, ExtensionObject.class, WriterGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MessageSettings", scope = WriterGroupDataType.class) + public JAXBElement createWriterGroupDataTypeMessageSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeMessageSettings_QNAME, ExtensionObject.class, WriterGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfDataSetWriterDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetWriters", scope = WriterGroupDataType.class) + public JAXBElement createWriterGroupDataTypeDataSetWriters(ListOfDataSetWriterDataType value) { + return new JAXBElement(_WriterGroupDataTypeDataSetWriters_QNAME, ListOfDataSetWriterDataType.class, WriterGroupDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = DataSetWriterDataType.class) + public JAXBElement createDataSetWriterDataTypeName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, DataSetWriterDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetName", scope = DataSetWriterDataType.class) + public JAXBElement createDataSetWriterDataTypeDataSetName(String value) { + return new JAXBElement(_DataSetWriterDataTypeDataSetName_QNAME, String.class, DataSetWriterDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetWriterProperties", scope = DataSetWriterDataType.class) + public JAXBElement createDataSetWriterDataTypeDataSetWriterProperties(ListOfKeyValuePair value) { + return new JAXBElement(_DataSetWriterDataTypeDataSetWriterProperties_QNAME, ListOfKeyValuePair.class, DataSetWriterDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportSettings", scope = DataSetWriterDataType.class) + public JAXBElement createDataSetWriterDataTypeTransportSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeTransportSettings_QNAME, ExtensionObject.class, DataSetWriterDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MessageSettings", scope = DataSetWriterDataType.class) + public JAXBElement createDataSetWriterDataTypeMessageSettings(ExtensionObject value) { + return new JAXBElement(_DataSetReaderDataTypeMessageSettings_QNAME, ExtensionObject.class, DataSetWriterDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EventNotifier", scope = PublishedEventsDataType.class) + public JAXBElement createPublishedEventsDataTypeEventNotifier(NodeId value) { + return new JAXBElement(_PublishedEventsDataTypeEventNotifier_QNAME, NodeId.class, PublishedEventsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SelectedFields", scope = PublishedEventsDataType.class) + public JAXBElement createPublishedEventsDataTypeSelectedFields(ListOfSimpleAttributeOperand value) { + return new JAXBElement(_PublishedEventsDataTypeSelectedFields_QNAME, ListOfSimpleAttributeOperand.class, PublishedEventsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Filter", scope = PublishedEventsDataType.class) + public JAXBElement createPublishedEventsDataTypeFilter(ContentFilter value) { + return new JAXBElement(_MonitoringParametersFilter_QNAME, ContentFilter.class, PublishedEventsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfPublishedVariableDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfPublishedVariableDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedData", scope = PublishedDataItemsDataType.class) + public JAXBElement createPublishedDataItemsDataTypePublishedData(ListOfPublishedVariableDataType value) { + return new JAXBElement(_PublishedDataItemsDataTypePublishedData_QNAME, ListOfPublishedVariableDataType.class, PublishedDataItemsDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublishedVariable", scope = PublishedVariableDataType.class) + public JAXBElement createPublishedVariableDataTypePublishedVariable(NodeId value) { + return new JAXBElement(_PublishedVariableDataTypePublishedVariable_QNAME, NodeId.class, PublishedVariableDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IndexRange", scope = PublishedVariableDataType.class) + public JAXBElement createPublishedVariableDataTypeIndexRange(String value) { + return new JAXBElement(_WriteValueIndexRange_QNAME, String.class, PublishedVariableDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "MetaDataProperties", scope = PublishedVariableDataType.class) + public JAXBElement createPublishedVariableDataTypeMetaDataProperties(ListOfQualifiedName value) { + return new JAXBElement(_PublishedVariableDataTypeMetaDataProperties_QNAME, ListOfQualifiedName.class, PublishedVariableDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = PublishedDataSetDataType.class) + public JAXBElement createPublishedDataSetDataTypeName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, PublishedDataSetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetFolder", scope = PublishedDataSetDataType.class) + public JAXBElement createPublishedDataSetDataTypeDataSetFolder(ListOfString value) { + return new JAXBElement(_PublishedDataSetDataTypeDataSetFolder_QNAME, ListOfString.class, PublishedDataSetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetMetaData", scope = PublishedDataSetDataType.class) + public JAXBElement createPublishedDataSetDataTypeDataSetMetaData(DataSetMetaDataType value) { + return new JAXBElement(_DataSetReaderDataTypeDataSetMetaData_QNAME, DataSetMetaDataType.class, PublishedDataSetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ExtensionFields", scope = PublishedDataSetDataType.class) + public JAXBElement createPublishedDataSetDataTypeExtensionFields(ListOfKeyValuePair value) { + return new JAXBElement(_PublishedDataSetDataTypeExtensionFields_QNAME, ListOfKeyValuePair.class, PublishedDataSetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataSetSource", scope = PublishedDataSetDataType.class) + public JAXBElement createPublishedDataSetDataTypeDataSetSource(ExtensionObject value) { + return new JAXBElement(_PublishedDataSetDataTypeDataSetSource_QNAME, ExtensionObject.class, PublishedDataSetDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = FieldMetaData.class) + public JAXBElement createFieldMetaDataName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, FieldMetaData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = FieldMetaData.class) + public JAXBElement createFieldMetaDataDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, FieldMetaData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataType", scope = FieldMetaData.class) + public JAXBElement createFieldMetaDataDataType(NodeId value) { + return new JAXBElement(_VariableTypeAttributesDataType_QNAME, NodeId.class, FieldMetaData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ArrayDimensions", scope = FieldMetaData.class) + public JAXBElement createFieldMetaDataArrayDimensions(ListOfUInt32 value) { + return new JAXBElement(_VariableTypeAttributesArrayDimensions_QNAME, ListOfUInt32 .class, FieldMetaData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Properties", scope = FieldMetaData.class) + public JAXBElement createFieldMetaDataProperties(ListOfKeyValuePair value) { + return new JAXBElement(_FieldMetaDataProperties_QNAME, ListOfKeyValuePair.class, FieldMetaData.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Namespaces", scope = DataTypeSchemaHeader.class) + public JAXBElement createDataTypeSchemaHeaderNamespaces(ListOfString value) { + return new JAXBElement(_DataTypeSchemaHeaderNamespaces_QNAME, ListOfString.class, DataTypeSchemaHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfStructureDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfStructureDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StructureDataTypes", scope = DataTypeSchemaHeader.class) + public JAXBElement createDataTypeSchemaHeaderStructureDataTypes(ListOfStructureDescription value) { + return new JAXBElement(_DataTypeSchemaHeaderStructureDataTypes_QNAME, ListOfStructureDescription.class, DataTypeSchemaHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfEnumDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfEnumDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EnumDataTypes", scope = DataTypeSchemaHeader.class) + public JAXBElement createDataTypeSchemaHeaderEnumDataTypes(ListOfEnumDescription value) { + return new JAXBElement(_DataTypeSchemaHeaderEnumDataTypes_QNAME, ListOfEnumDescription.class, DataTypeSchemaHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfSimpleTypeDescription }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfSimpleTypeDescription }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SimpleDataTypes", scope = DataTypeSchemaHeader.class) + public JAXBElement createDataTypeSchemaHeaderSimpleDataTypes(ListOfSimpleTypeDescription value) { + return new JAXBElement(_DataTypeSchemaHeaderSimpleDataTypes_QNAME, ListOfSimpleTypeDescription.class, DataTypeSchemaHeader.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = DataSetMetaDataType.class) + public JAXBElement createDataSetMetaDataTypeName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, DataSetMetaDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Description", scope = DataSetMetaDataType.class) + public JAXBElement createDataSetMetaDataTypeDescription(LocalizedText value) { + return new JAXBElement(_EUInformationDescription_QNAME, LocalizedText.class, DataSetMetaDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfFieldMetaData }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfFieldMetaData }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Fields", scope = DataSetMetaDataType.class) + public JAXBElement createDataSetMetaDataTypeFields(ListOfFieldMetaData value) { + return new JAXBElement(_EnumDefinitionFields_QNAME, ListOfFieldMetaData.class, DataSetMetaDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ConfigurationVersionDataType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ConfigurationVersionDataType }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "ConfigurationVersion", scope = DataSetMetaDataType.class) + public JAXBElement createDataSetMetaDataTypeConfigurationVersion(ConfigurationVersionDataType value) { + return new JAXBElement(_DataSetMetaDataTypeConfigurationVersion_QNAME, ConfigurationVersionDataType.class, DataSetMetaDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SchemaLocation", scope = UABinaryFileDataType.class) + public JAXBElement createUABinaryFileDataTypeSchemaLocation(String value) { + return new JAXBElement(_UABinaryFileDataTypeSchemaLocation_QNAME, String.class, UABinaryFileDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "FileHeader", scope = UABinaryFileDataType.class) + public JAXBElement createUABinaryFileDataTypeFileHeader(ListOfKeyValuePair value) { + return new JAXBElement(_UABinaryFileDataTypeFileHeader_QNAME, ListOfKeyValuePair.class, UABinaryFileDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "DataTypeId", scope = DataTypeDescription.class) + public JAXBElement createDataTypeDescriptionDataTypeId(NodeId value) { + return new JAXBElement(_DataTypeDescriptionDataTypeId_QNAME, NodeId.class, DataTypeDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = DataTypeDescription.class) + public JAXBElement createDataTypeDescriptionName(QualifiedName value) { + return new JAXBElement(_EnumFieldName_QNAME, QualifiedName.class, DataTypeDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "BaseDataType", scope = SimpleTypeDescription.class) + public JAXBElement createSimpleTypeDescriptionBaseDataType(NodeId value) { + return new JAXBElement(_StructureDefinitionBaseDataType_QNAME, NodeId.class, SimpleTypeDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EnumDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EnumDefinition", scope = EnumDescription.class) + public JAXBElement createEnumDescriptionEnumDefinition(EnumDefinition value) { + return new JAXBElement(_EnumDefinition_QNAME, EnumDefinition.class, EnumDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StructureDefinition }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StructureDefinition }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "StructureDefinition", scope = StructureDescription.class) + public JAXBElement createStructureDescriptionStructureDefinition(StructureDefinition value) { + return new JAXBElement(_StructureDefinition_QNAME, StructureDefinition.class, StructureDescription.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Value", scope = DecimalDataType.class) + public JAXBElement createDecimalDataTypeValue(byte[] value) { + return new JAXBElement(_MonitoredItemNotificationValue_QNAME, byte[].class, DecimalDataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TrustedCertificates", scope = TrustListDataType.class) + public JAXBElement createTrustListDataTypeTrustedCertificates(ListOfByteString value) { + return new JAXBElement(_TrustListDataTypeTrustedCertificates_QNAME, ListOfByteString.class, TrustListDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TrustedCrls", scope = TrustListDataType.class) + public JAXBElement createTrustListDataTypeTrustedCrls(ListOfByteString value) { + return new JAXBElement(_TrustListDataTypeTrustedCrls_QNAME, ListOfByteString.class, TrustListDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IssuerCertificates", scope = TrustListDataType.class) + public JAXBElement createTrustListDataTypeIssuerCertificates(ListOfByteString value) { + return new JAXBElement(_TrustListDataTypeIssuerCertificates_QNAME, ListOfByteString.class, TrustListDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "IssuerCrls", scope = TrustListDataType.class) + public JAXBElement createTrustListDataTypeIssuerCrls(ListOfByteString value) { + return new JAXBElement(_TrustListDataTypeIssuerCrls_QNAME, ListOfByteString.class, TrustListDataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "AlphabeticCode", scope = CurrencyUnitType.class) + public JAXBElement createCurrencyUnitTypeAlphabeticCode(String value) { + return new JAXBElement(_CurrencyUnitTypeAlphabeticCode_QNAME, String.class, CurrencyUnitType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Currency", scope = CurrencyUnitType.class) + public JAXBElement createCurrencyUnitTypeCurrency(LocalizedText value) { + return new JAXBElement(_CurrencyUnitTypeCurrency_QNAME, LocalizedText.class, CurrencyUnitType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Criteria", scope = IdentityMappingRuleType.class) + public JAXBElement createIdentityMappingRuleTypeCriteria(String value) { + return new JAXBElement(_IdentityMappingRuleTypeCriteria_QNAME, String.class, IdentityMappingRuleType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ThreeDCartesianCoordinates }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ThreeDCartesianCoordinates }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "CartesianCoordinates", scope = ThreeDFrame.class) + public JAXBElement createThreeDFrameCartesianCoordinates(ThreeDCartesianCoordinates value) { + return new JAXBElement(_CartesianCoordinates_QNAME, ThreeDCartesianCoordinates.class, ThreeDFrame.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ThreeDOrientation }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ThreeDOrientation }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Orientation", scope = ThreeDFrame.class) + public JAXBElement createThreeDFrameOrientation(ThreeDOrientation value) { + return new JAXBElement(_Orientation_QNAME, ThreeDOrientation.class, ThreeDFrame.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "EndpointUrl", scope = EndpointType.class) + public JAXBElement createEndpointTypeEndpointUrl(String value) { + return new JAXBElement(_SessionDiagnosticsDataTypeEndpointUrl_QNAME, String.class, EndpointType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "SecurityPolicyUri", scope = EndpointType.class) + public JAXBElement createEndpointTypeSecurityPolicyUri(String value) { + return new JAXBElement(_SessionSecurityDiagnosticsDataTypeSecurityPolicyUri_QNAME, String.class, EndpointType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TransportProfileUri", scope = EndpointType.class) + public JAXBElement createEndpointTypeTransportProfileUri(String value) { + return new JAXBElement(_EndpointDescriptionTransportProfileUri_QNAME, String.class, EndpointType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "PublicKey", scope = EphemeralKeyType.class) + public JAXBElement createEphemeralKeyTypePublicKey(byte[] value) { + return new JAXBElement(_EphemeralKeyTypePublicKey_QNAME, byte[].class, EphemeralKeyType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Signature", scope = EphemeralKeyType.class) + public JAXBElement createEphemeralKeyTypeSignature(byte[] value) { + return new JAXBElement(_SignatureDataSignature_QNAME, byte[].class, EphemeralKeyType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Parameters", scope = AdditionalParametersType.class) + public JAXBElement createAdditionalParametersTypeParameters(ListOfKeyValuePair value) { + return new JAXBElement(_AdditionalParametersTypeParameters_QNAME, ListOfKeyValuePair.class, AdditionalParametersType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Key", scope = KeyValuePair.class) + public JAXBElement createKeyValuePairKey(QualifiedName value) { + return new JAXBElement(_KeyValuePairKey_QNAME, QualifiedName.class, KeyValuePair.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Variant.Value }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Variant.Value }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Value", scope = Variant.class) + public JAXBElement createVariantValue(Variant.Value value) { + return new JAXBElement(_MonitoredItemNotificationValue_QNAME, Variant.Value.class, Variant.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link NodeId }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "TypeId", scope = ExtensionObject.class) + public JAXBElement createExtensionObjectTypeId(NodeId value) { + return new JAXBElement(_ExtensionObjectTypeId_QNAME, NodeId.class, ExtensionObject.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionObject.Body }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ExtensionObject.Body }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Body", scope = ExtensionObject.class) + public JAXBElement createExtensionObjectBody(ExtensionObject.Body value) { + return new JAXBElement(_ExtensionObjectBody_QNAME, ExtensionObject.Body.class, ExtensionObject.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Name", scope = QualifiedName.class) + public JAXBElement createQualifiedNameName(String value) { + return new JAXBElement(_EnumFieldName_QNAME, String.class, QualifiedName.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Locale", scope = LocalizedText.class) + public JAXBElement createLocalizedTextLocale(String value) { + return new JAXBElement(_LocalizedTextLocale_QNAME, String.class, LocalizedText.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Text", scope = LocalizedText.class) + public JAXBElement createLocalizedTextText(String value) { + return new JAXBElement(_LocalizedTextText_QNAME, String.class, LocalizedText.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Identifier", scope = ExpandedNodeId.class) + public JAXBElement createExpandedNodeIdIdentifier(String value) { + return new JAXBElement(_ExpandedNodeIdIdentifier_QNAME, String.class, ExpandedNodeId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "Identifier", scope = NodeId.class) + public JAXBElement createNodeIdIdentifier(String value) { + return new JAXBElement(_ExpandedNodeIdIdentifier_QNAME, String.class, NodeId.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", name = "String", scope = Guid.class) + public JAXBElement createGuidString(String value) { + return new JAXBElement(_String_QNAME, String.class, Guid.class, value); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectNode.java new file mode 100644 index 000000000..667462942 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectNode.java @@ -0,0 +1,435 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ObjectNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ObjectNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}InstanceNode">
+ *       <sequence>
+ *         <element name="EventNotifier" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ObjectNode", propOrder = { + "eventNotifier" +}) +public class ObjectNode + extends InstanceNode +{ + + @XmlElement(name = "EventNotifier") + @XmlSchemaType(name = "unsignedByte") + protected Short eventNotifier; + + /** + * Ruft den Wert der eventNotifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getEventNotifier() { + return eventNotifier; + } + + /** + * Legt den Wert der eventNotifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setEventNotifier(Short value) { + this.eventNotifier = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectNode.Builder<_B> _other) { + super.copyTo(_other); + _other.eventNotifier = this.eventNotifier; + } + + @Override + public<_B >ObjectNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ObjectNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ObjectNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ObjectNode.Builder builder() { + return new ObjectNode.Builder(null, null, false); + } + + public static<_B >ObjectNode.Builder<_B> copyOf(final Node _other) { + final ObjectNode.Builder<_B> _newBuilder = new ObjectNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ObjectNode.Builder<_B> copyOf(final InstanceNode _other) { + final ObjectNode.Builder<_B> _newBuilder = new ObjectNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ObjectNode.Builder<_B> copyOf(final ObjectNode _other) { + final ObjectNode.Builder<_B> _newBuilder = new ObjectNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + _other.eventNotifier = this.eventNotifier; + } + } + + @Override + public<_B >ObjectNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ObjectNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ObjectNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ObjectNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectNode.Builder<_B> _newBuilder = new ObjectNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ObjectNode.Builder<_B> copyOf(final InstanceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectNode.Builder<_B> _newBuilder = new ObjectNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ObjectNode.Builder<_B> copyOf(final ObjectNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectNode.Builder<_B> _newBuilder = new ObjectNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ObjectNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectNode.Builder copyExcept(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectNode.Builder copyExcept(final ObjectNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ObjectNode.Builder copyOnly(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ObjectNode.Builder copyOnly(final ObjectNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends InstanceNode.Builder<_B> + implements Buildable + { + + private Short eventNotifier; + + public Builder(final _B _parentBuilder, final ObjectNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.eventNotifier = _other.eventNotifier; + } + } + + public Builder(final _B _parentBuilder, final ObjectNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + this.eventNotifier = _other.eventNotifier; + } + } + } + + protected<_P extends ObjectNode >_P init(final _P _product) { + _product.eventNotifier = this.eventNotifier; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventNotifier" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventNotifier + * Neuer Wert der Eigenschaft "eventNotifier". + */ + public ObjectNode.Builder<_B> withEventNotifier(final Short eventNotifier) { + this.eventNotifier = eventNotifier; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public ObjectNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public ObjectNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public ObjectNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ObjectNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ObjectNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ObjectNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ObjectNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public ObjectNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public ObjectNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public ObjectNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public ObjectNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public ObjectNode build() { + if (_storedValue == null) { + return this.init(new ObjectNode()); + } else { + return ((ObjectNode) _storedValue); + } + } + + public ObjectNode.Builder<_B> copyOf(final ObjectNode _other) { + _other.copyTo(this); + return this; + } + + public ObjectNode.Builder<_B> copyOf(final ObjectNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ObjectNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ObjectNode.Select _root() { + return new ObjectNode.Select(); + } + + } + + public static class Selector , TParent > + extends InstanceNode.Selector + { + + private com.kscs.util.jaxb.Selector> eventNotifier = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.eventNotifier!= null) { + products.put("eventNotifier", this.eventNotifier.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> eventNotifier() { + return ((this.eventNotifier == null)?this.eventNotifier = new com.kscs.util.jaxb.Selector>(this._root, this, "eventNotifier"):this.eventNotifier); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeAttributes.java new file mode 100644 index 000000000..6cfe65b27 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeAttributes.java @@ -0,0 +1,335 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ObjectTypeAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ObjectTypeAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ObjectTypeAttributes", propOrder = { + "isAbstract" +}) +public class ObjectTypeAttributes + extends NodeAttributes +{ + + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectTypeAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.isAbstract = this.isAbstract; + } + + @Override + public<_B >ObjectTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ObjectTypeAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ObjectTypeAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ObjectTypeAttributes.Builder builder() { + return new ObjectTypeAttributes.Builder(null, null, false); + } + + public static<_B >ObjectTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final ObjectTypeAttributes.Builder<_B> _newBuilder = new ObjectTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ObjectTypeAttributes.Builder<_B> copyOf(final ObjectTypeAttributes _other) { + final ObjectTypeAttributes.Builder<_B> _newBuilder = new ObjectTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectTypeAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + } + + @Override + public<_B >ObjectTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ObjectTypeAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ObjectTypeAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ObjectTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectTypeAttributes.Builder<_B> _newBuilder = new ObjectTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ObjectTypeAttributes.Builder<_B> copyOf(final ObjectTypeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectTypeAttributes.Builder<_B> _newBuilder = new ObjectTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ObjectTypeAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectTypeAttributes.Builder copyExcept(final ObjectTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectTypeAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ObjectTypeAttributes.Builder copyOnly(final ObjectTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Boolean isAbstract; + + public Builder(final _B _parentBuilder, final ObjectTypeAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isAbstract = _other.isAbstract; + } + } + + public Builder(final _B _parentBuilder, final ObjectTypeAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + } + } + + protected<_P extends ObjectTypeAttributes >_P init(final _P _product) { + _product.isAbstract = this.isAbstract; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public ObjectTypeAttributes.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public ObjectTypeAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ObjectTypeAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ObjectTypeAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ObjectTypeAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ObjectTypeAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public ObjectTypeAttributes build() { + if (_storedValue == null) { + return this.init(new ObjectTypeAttributes()); + } else { + return ((ObjectTypeAttributes) _storedValue); + } + } + + public ObjectTypeAttributes.Builder<_B> copyOf(final ObjectTypeAttributes _other) { + _other.copyTo(this); + return this; + } + + public ObjectTypeAttributes.Builder<_B> copyOf(final ObjectTypeAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ObjectTypeAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static ObjectTypeAttributes.Select _root() { + return new ObjectTypeAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> isAbstract = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeNode.java new file mode 100644 index 000000000..c3f4ca460 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ObjectTypeNode.java @@ -0,0 +1,433 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ObjectTypeNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ObjectTypeNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}TypeNode">
+ *       <sequence>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ObjectTypeNode", propOrder = { + "isAbstract" +}) +public class ObjectTypeNode + extends TypeNode +{ + + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectTypeNode.Builder<_B> _other) { + super.copyTo(_other); + _other.isAbstract = this.isAbstract; + } + + @Override + public<_B >ObjectTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ObjectTypeNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ObjectTypeNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ObjectTypeNode.Builder builder() { + return new ObjectTypeNode.Builder(null, null, false); + } + + public static<_B >ObjectTypeNode.Builder<_B> copyOf(final Node _other) { + final ObjectTypeNode.Builder<_B> _newBuilder = new ObjectTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ObjectTypeNode.Builder<_B> copyOf(final TypeNode _other) { + final ObjectTypeNode.Builder<_B> _newBuilder = new ObjectTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ObjectTypeNode.Builder<_B> copyOf(final ObjectTypeNode _other) { + final ObjectTypeNode.Builder<_B> _newBuilder = new ObjectTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ObjectTypeNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + } + + @Override + public<_B >ObjectTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ObjectTypeNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ObjectTypeNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ObjectTypeNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectTypeNode.Builder<_B> _newBuilder = new ObjectTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ObjectTypeNode.Builder<_B> copyOf(final TypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectTypeNode.Builder<_B> _newBuilder = new ObjectTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ObjectTypeNode.Builder<_B> copyOf(final ObjectTypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ObjectTypeNode.Builder<_B> _newBuilder = new ObjectTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ObjectTypeNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectTypeNode.Builder copyExcept(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectTypeNode.Builder copyExcept(final ObjectTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ObjectTypeNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ObjectTypeNode.Builder copyOnly(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ObjectTypeNode.Builder copyOnly(final ObjectTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends TypeNode.Builder<_B> + implements Buildable + { + + private Boolean isAbstract; + + public Builder(final _B _parentBuilder, final ObjectTypeNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isAbstract = _other.isAbstract; + } + } + + public Builder(final _B _parentBuilder, final ObjectTypeNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + } + } + + protected<_P extends ObjectTypeNode >_P init(final _P _product) { + _product.isAbstract = this.isAbstract; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public ObjectTypeNode.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public ObjectTypeNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public ObjectTypeNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public ObjectTypeNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ObjectTypeNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ObjectTypeNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ObjectTypeNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ObjectTypeNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public ObjectTypeNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public ObjectTypeNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public ObjectTypeNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public ObjectTypeNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public ObjectTypeNode build() { + if (_storedValue == null) { + return this.init(new ObjectTypeNode()); + } else { + return ((ObjectTypeNode) _storedValue); + } + } + + public ObjectTypeNode.Builder<_B> copyOf(final ObjectTypeNode _other) { + _other.copyTo(this); + return this; + } + + public ObjectTypeNode.Builder<_B> copyOf(final ObjectTypeNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ObjectTypeNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ObjectTypeNode.Select _root() { + return new ObjectTypeNode.Select(); + } + + } + + public static class Selector , TParent > + extends TypeNode.Selector + { + + private com.kscs.util.jaxb.Selector> isAbstract = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenFileMode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenFileMode.java new file mode 100644 index 000000000..da4bd1fa8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenFileMode.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für OpenFileMode. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="OpenFileMode">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Read_1"/>
+ *     <enumeration value="Write_2"/>
+ *     <enumeration value="EraseExisting_4"/>
+ *     <enumeration value="Append_8"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "OpenFileMode") +@XmlEnum +public enum OpenFileMode { + + @XmlEnumValue("Read_1") + READ_1("Read_1"), + @XmlEnumValue("Write_2") + WRITE_2("Write_2"), + @XmlEnumValue("EraseExisting_4") + ERASE_EXISTING_4("EraseExisting_4"), + @XmlEnumValue("Append_8") + APPEND_8("Append_8"); + private final String value; + + OpenFileMode(String v) { + value = v; + } + + public String value() { + return value; + } + + public static OpenFileMode fromValue(String v) { + for (OpenFileMode c: OpenFileMode.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelRequest.java new file mode 100644 index 000000000..b28fb01ca --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelRequest.java @@ -0,0 +1,566 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für OpenSecureChannelRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="OpenSecureChannelRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ClientProtocolVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RequestType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}SecurityTokenRequestType" minOccurs="0"/>
+ *         <element name="SecurityMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MessageSecurityMode" minOccurs="0"/>
+ *         <element name="ClientNonce" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="RequestedLifetime" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "OpenSecureChannelRequest", propOrder = { + "requestHeader", + "clientProtocolVersion", + "requestType", + "securityMode", + "clientNonce", + "requestedLifetime" +}) +public class OpenSecureChannelRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "ClientProtocolVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long clientProtocolVersion; + @XmlElement(name = "RequestType") + @XmlSchemaType(name = "string") + protected SecurityTokenRequestType requestType; + @XmlElement(name = "SecurityMode") + @XmlSchemaType(name = "string") + protected MessageSecurityMode securityMode; + @XmlElementRef(name = "ClientNonce", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientNonce; + @XmlElement(name = "RequestedLifetime") + @XmlSchemaType(name = "unsignedInt") + protected Long requestedLifetime; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der clientProtocolVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getClientProtocolVersion() { + return clientProtocolVersion; + } + + /** + * Legt den Wert der clientProtocolVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setClientProtocolVersion(Long value) { + this.clientProtocolVersion = value; + } + + /** + * Ruft den Wert der requestType-Eigenschaft ab. + * + * @return + * possible object is + * {@link SecurityTokenRequestType } + * + */ + public SecurityTokenRequestType getRequestType() { + return requestType; + } + + /** + * Legt den Wert der requestType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SecurityTokenRequestType } + * + */ + public void setRequestType(SecurityTokenRequestType value) { + this.requestType = value; + } + + /** + * Ruft den Wert der securityMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MessageSecurityMode } + * + */ + public MessageSecurityMode getSecurityMode() { + return securityMode; + } + + /** + * Legt den Wert der securityMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MessageSecurityMode } + * + */ + public void setSecurityMode(MessageSecurityMode value) { + this.securityMode = value; + } + + /** + * Ruft den Wert der clientNonce-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getClientNonce() { + return clientNonce; + } + + /** + * Legt den Wert der clientNonce-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setClientNonce(JAXBElement value) { + this.clientNonce = value; + } + + /** + * Ruft den Wert der requestedLifetime-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestedLifetime() { + return requestedLifetime; + } + + /** + * Legt den Wert der requestedLifetime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestedLifetime(Long value) { + this.requestedLifetime = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final OpenSecureChannelRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.clientProtocolVersion = this.clientProtocolVersion; + _other.requestType = this.requestType; + _other.securityMode = this.securityMode; + _other.clientNonce = this.clientNonce; + _other.requestedLifetime = this.requestedLifetime; + } + + public<_B >OpenSecureChannelRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new OpenSecureChannelRequest.Builder<_B>(_parentBuilder, this, true); + } + + public OpenSecureChannelRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static OpenSecureChannelRequest.Builder builder() { + return new OpenSecureChannelRequest.Builder(null, null, false); + } + + public static<_B >OpenSecureChannelRequest.Builder<_B> copyOf(final OpenSecureChannelRequest _other) { + final OpenSecureChannelRequest.Builder<_B> _newBuilder = new OpenSecureChannelRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final OpenSecureChannelRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree clientProtocolVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientProtocolVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientProtocolVersionPropertyTree!= null):((clientProtocolVersionPropertyTree == null)||(!clientProtocolVersionPropertyTree.isLeaf())))) { + _other.clientProtocolVersion = this.clientProtocolVersion; + } + final PropertyTree requestTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestTypePropertyTree!= null):((requestTypePropertyTree == null)||(!requestTypePropertyTree.isLeaf())))) { + _other.requestType = this.requestType; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + _other.securityMode = this.securityMode; + } + final PropertyTree clientNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientNoncePropertyTree!= null):((clientNoncePropertyTree == null)||(!clientNoncePropertyTree.isLeaf())))) { + _other.clientNonce = this.clientNonce; + } + final PropertyTree requestedLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedLifetimePropertyTree!= null):((requestedLifetimePropertyTree == null)||(!requestedLifetimePropertyTree.isLeaf())))) { + _other.requestedLifetime = this.requestedLifetime; + } + } + + public<_B >OpenSecureChannelRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new OpenSecureChannelRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public OpenSecureChannelRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >OpenSecureChannelRequest.Builder<_B> copyOf(final OpenSecureChannelRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final OpenSecureChannelRequest.Builder<_B> _newBuilder = new OpenSecureChannelRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static OpenSecureChannelRequest.Builder copyExcept(final OpenSecureChannelRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static OpenSecureChannelRequest.Builder copyOnly(final OpenSecureChannelRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final OpenSecureChannelRequest _storedValue; + private JAXBElement requestHeader; + private Long clientProtocolVersion; + private SecurityTokenRequestType requestType; + private MessageSecurityMode securityMode; + private JAXBElement clientNonce; + private Long requestedLifetime; + + public Builder(final _B _parentBuilder, final OpenSecureChannelRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.clientProtocolVersion = _other.clientProtocolVersion; + this.requestType = _other.requestType; + this.securityMode = _other.securityMode; + this.clientNonce = _other.clientNonce; + this.requestedLifetime = _other.requestedLifetime; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final OpenSecureChannelRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree clientProtocolVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientProtocolVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientProtocolVersionPropertyTree!= null):((clientProtocolVersionPropertyTree == null)||(!clientProtocolVersionPropertyTree.isLeaf())))) { + this.clientProtocolVersion = _other.clientProtocolVersion; + } + final PropertyTree requestTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestTypePropertyTree!= null):((requestTypePropertyTree == null)||(!requestTypePropertyTree.isLeaf())))) { + this.requestType = _other.requestType; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + this.securityMode = _other.securityMode; + } + final PropertyTree clientNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientNoncePropertyTree!= null):((clientNoncePropertyTree == null)||(!clientNoncePropertyTree.isLeaf())))) { + this.clientNonce = _other.clientNonce; + } + final PropertyTree requestedLifetimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestedLifetime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestedLifetimePropertyTree!= null):((requestedLifetimePropertyTree == null)||(!requestedLifetimePropertyTree.isLeaf())))) { + this.requestedLifetime = _other.requestedLifetime; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends OpenSecureChannelRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.clientProtocolVersion = this.clientProtocolVersion; + _product.requestType = this.requestType; + _product.securityMode = this.securityMode; + _product.clientNonce = this.clientNonce; + _product.requestedLifetime = this.requestedLifetime; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public OpenSecureChannelRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientProtocolVersion" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param clientProtocolVersion + * Neuer Wert der Eigenschaft "clientProtocolVersion". + */ + public OpenSecureChannelRequest.Builder<_B> withClientProtocolVersion(final Long clientProtocolVersion) { + this.clientProtocolVersion = clientProtocolVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestType + * Neuer Wert der Eigenschaft "requestType". + */ + public OpenSecureChannelRequest.Builder<_B> withRequestType(final SecurityTokenRequestType requestType) { + this.requestType = requestType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + public OpenSecureChannelRequest.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + this.securityMode = securityMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientNonce" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param clientNonce + * Neuer Wert der Eigenschaft "clientNonce". + */ + public OpenSecureChannelRequest.Builder<_B> withClientNonce(final JAXBElement clientNonce) { + this.clientNonce = clientNonce; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestedLifetime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param requestedLifetime + * Neuer Wert der Eigenschaft "requestedLifetime". + */ + public OpenSecureChannelRequest.Builder<_B> withRequestedLifetime(final Long requestedLifetime) { + this.requestedLifetime = requestedLifetime; + return this; + } + + @Override + public OpenSecureChannelRequest build() { + if (_storedValue == null) { + return this.init(new OpenSecureChannelRequest()); + } else { + return ((OpenSecureChannelRequest) _storedValue); + } + } + + public OpenSecureChannelRequest.Builder<_B> copyOf(final OpenSecureChannelRequest _other) { + _other.copyTo(this); + return this; + } + + public OpenSecureChannelRequest.Builder<_B> copyOf(final OpenSecureChannelRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends OpenSecureChannelRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static OpenSecureChannelRequest.Select _root() { + return new OpenSecureChannelRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> clientProtocolVersion = null; + private com.kscs.util.jaxb.Selector> requestType = null; + private com.kscs.util.jaxb.Selector> securityMode = null; + private com.kscs.util.jaxb.Selector> clientNonce = null; + private com.kscs.util.jaxb.Selector> requestedLifetime = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.clientProtocolVersion!= null) { + products.put("clientProtocolVersion", this.clientProtocolVersion.init()); + } + if (this.requestType!= null) { + products.put("requestType", this.requestType.init()); + } + if (this.securityMode!= null) { + products.put("securityMode", this.securityMode.init()); + } + if (this.clientNonce!= null) { + products.put("clientNonce", this.clientNonce.init()); + } + if (this.requestedLifetime!= null) { + products.put("requestedLifetime", this.requestedLifetime.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> clientProtocolVersion() { + return ((this.clientProtocolVersion == null)?this.clientProtocolVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "clientProtocolVersion"):this.clientProtocolVersion); + } + + public com.kscs.util.jaxb.Selector> requestType() { + return ((this.requestType == null)?this.requestType = new com.kscs.util.jaxb.Selector>(this._root, this, "requestType"):this.requestType); + } + + public com.kscs.util.jaxb.Selector> securityMode() { + return ((this.securityMode == null)?this.securityMode = new com.kscs.util.jaxb.Selector>(this._root, this, "securityMode"):this.securityMode); + } + + public com.kscs.util.jaxb.Selector> clientNonce() { + return ((this.clientNonce == null)?this.clientNonce = new com.kscs.util.jaxb.Selector>(this._root, this, "clientNonce"):this.clientNonce); + } + + public com.kscs.util.jaxb.Selector> requestedLifetime() { + return ((this.requestedLifetime == null)?this.requestedLifetime = new com.kscs.util.jaxb.Selector>(this._root, this, "requestedLifetime"):this.requestedLifetime); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelResponse.java new file mode 100644 index 000000000..098fca4a7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OpenSecureChannelResponse.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für OpenSecureChannelResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="OpenSecureChannelResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="ServerProtocolVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SecurityToken" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ChannelSecurityToken" minOccurs="0"/>
+ *         <element name="ServerNonce" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "OpenSecureChannelResponse", propOrder = { + "responseHeader", + "serverProtocolVersion", + "securityToken", + "serverNonce" +}) +public class OpenSecureChannelResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElement(name = "ServerProtocolVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long serverProtocolVersion; + @XmlElementRef(name = "SecurityToken", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityToken; + @XmlElementRef(name = "ServerNonce", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverNonce; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der serverProtocolVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getServerProtocolVersion() { + return serverProtocolVersion; + } + + /** + * Legt den Wert der serverProtocolVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setServerProtocolVersion(Long value) { + this.serverProtocolVersion = value; + } + + /** + * Ruft den Wert der securityToken-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ChannelSecurityToken }{@code >} + * + */ + public JAXBElement getSecurityToken() { + return securityToken; + } + + /** + * Legt den Wert der securityToken-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ChannelSecurityToken }{@code >} + * + */ + public void setSecurityToken(JAXBElement value) { + this.securityToken = value; + } + + /** + * Ruft den Wert der serverNonce-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getServerNonce() { + return serverNonce; + } + + /** + * Legt den Wert der serverNonce-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setServerNonce(JAXBElement value) { + this.serverNonce = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final OpenSecureChannelResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.serverProtocolVersion = this.serverProtocolVersion; + _other.securityToken = this.securityToken; + _other.serverNonce = this.serverNonce; + } + + public<_B >OpenSecureChannelResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new OpenSecureChannelResponse.Builder<_B>(_parentBuilder, this, true); + } + + public OpenSecureChannelResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static OpenSecureChannelResponse.Builder builder() { + return new OpenSecureChannelResponse.Builder(null, null, false); + } + + public static<_B >OpenSecureChannelResponse.Builder<_B> copyOf(final OpenSecureChannelResponse _other) { + final OpenSecureChannelResponse.Builder<_B> _newBuilder = new OpenSecureChannelResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final OpenSecureChannelResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree serverProtocolVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverProtocolVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverProtocolVersionPropertyTree!= null):((serverProtocolVersionPropertyTree == null)||(!serverProtocolVersionPropertyTree.isLeaf())))) { + _other.serverProtocolVersion = this.serverProtocolVersion; + } + final PropertyTree securityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityTokenPropertyTree!= null):((securityTokenPropertyTree == null)||(!securityTokenPropertyTree.isLeaf())))) { + _other.securityToken = this.securityToken; + } + final PropertyTree serverNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNoncePropertyTree!= null):((serverNoncePropertyTree == null)||(!serverNoncePropertyTree.isLeaf())))) { + _other.serverNonce = this.serverNonce; + } + } + + public<_B >OpenSecureChannelResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new OpenSecureChannelResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public OpenSecureChannelResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >OpenSecureChannelResponse.Builder<_B> copyOf(final OpenSecureChannelResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final OpenSecureChannelResponse.Builder<_B> _newBuilder = new OpenSecureChannelResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static OpenSecureChannelResponse.Builder copyExcept(final OpenSecureChannelResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static OpenSecureChannelResponse.Builder copyOnly(final OpenSecureChannelResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final OpenSecureChannelResponse _storedValue; + private JAXBElement responseHeader; + private Long serverProtocolVersion; + private JAXBElement securityToken; + private JAXBElement serverNonce; + + public Builder(final _B _parentBuilder, final OpenSecureChannelResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.serverProtocolVersion = _other.serverProtocolVersion; + this.securityToken = _other.securityToken; + this.serverNonce = _other.serverNonce; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final OpenSecureChannelResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree serverProtocolVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverProtocolVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverProtocolVersionPropertyTree!= null):((serverProtocolVersionPropertyTree == null)||(!serverProtocolVersionPropertyTree.isLeaf())))) { + this.serverProtocolVersion = _other.serverProtocolVersion; + } + final PropertyTree securityTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityTokenPropertyTree!= null):((securityTokenPropertyTree == null)||(!securityTokenPropertyTree.isLeaf())))) { + this.securityToken = _other.securityToken; + } + final PropertyTree serverNoncePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNonce")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNoncePropertyTree!= null):((serverNoncePropertyTree == null)||(!serverNoncePropertyTree.isLeaf())))) { + this.serverNonce = _other.serverNonce; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends OpenSecureChannelResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.serverProtocolVersion = this.serverProtocolVersion; + _product.securityToken = this.securityToken; + _product.serverNonce = this.serverNonce; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public OpenSecureChannelResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverProtocolVersion" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param serverProtocolVersion + * Neuer Wert der Eigenschaft "serverProtocolVersion". + */ + public OpenSecureChannelResponse.Builder<_B> withServerProtocolVersion(final Long serverProtocolVersion) { + this.serverProtocolVersion = serverProtocolVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityToken" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityToken + * Neuer Wert der Eigenschaft "securityToken". + */ + public OpenSecureChannelResponse.Builder<_B> withSecurityToken(final JAXBElement securityToken) { + this.securityToken = securityToken; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverNonce" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverNonce + * Neuer Wert der Eigenschaft "serverNonce". + */ + public OpenSecureChannelResponse.Builder<_B> withServerNonce(final JAXBElement serverNonce) { + this.serverNonce = serverNonce; + return this; + } + + @Override + public OpenSecureChannelResponse build() { + if (_storedValue == null) { + return this.init(new OpenSecureChannelResponse()); + } else { + return ((OpenSecureChannelResponse) _storedValue); + } + } + + public OpenSecureChannelResponse.Builder<_B> copyOf(final OpenSecureChannelResponse _other) { + _other.copyTo(this); + return this; + } + + public OpenSecureChannelResponse.Builder<_B> copyOf(final OpenSecureChannelResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends OpenSecureChannelResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static OpenSecureChannelResponse.Select _root() { + return new OpenSecureChannelResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> serverProtocolVersion = null; + private com.kscs.util.jaxb.Selector> securityToken = null; + private com.kscs.util.jaxb.Selector> serverNonce = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.serverProtocolVersion!= null) { + products.put("serverProtocolVersion", this.serverProtocolVersion.init()); + } + if (this.securityToken!= null) { + products.put("securityToken", this.securityToken.init()); + } + if (this.serverNonce!= null) { + products.put("serverNonce", this.serverNonce.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> serverProtocolVersion() { + return ((this.serverProtocolVersion == null)?this.serverProtocolVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "serverProtocolVersion"):this.serverProtocolVersion); + } + + public com.kscs.util.jaxb.Selector> securityToken() { + return ((this.securityToken == null)?this.securityToken = new com.kscs.util.jaxb.Selector>(this._root, this, "securityToken"):this.securityToken); + } + + public com.kscs.util.jaxb.Selector> serverNonce() { + return ((this.serverNonce == null)?this.serverNonce = new com.kscs.util.jaxb.Selector>(this._root, this, "serverNonce"):this.serverNonce); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OptionSet.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OptionSet.java new file mode 100644 index 000000000..9efc7e3cd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OptionSet.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für OptionSet complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="OptionSet">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Value" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="ValidBits" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "OptionSet", propOrder = { + "value", + "validBits" +}) +public class OptionSet { + + @XmlElementRef(name = "Value", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement value; + @XmlElementRef(name = "ValidBits", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement validBits; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setValue(JAXBElement value) { + this.value = value; + } + + /** + * Ruft den Wert der validBits-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getValidBits() { + return validBits; + } + + /** + * Legt den Wert der validBits-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setValidBits(JAXBElement value) { + this.validBits = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final OptionSet.Builder<_B> _other) { + _other.value = this.value; + _other.validBits = this.validBits; + } + + public<_B >OptionSet.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new OptionSet.Builder<_B>(_parentBuilder, this, true); + } + + public OptionSet.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static OptionSet.Builder builder() { + return new OptionSet.Builder(null, null, false); + } + + public static<_B >OptionSet.Builder<_B> copyOf(final OptionSet _other) { + final OptionSet.Builder<_B> _newBuilder = new OptionSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final OptionSet.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + final PropertyTree validBitsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("validBits")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(validBitsPropertyTree!= null):((validBitsPropertyTree == null)||(!validBitsPropertyTree.isLeaf())))) { + _other.validBits = this.validBits; + } + } + + public<_B >OptionSet.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new OptionSet.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public OptionSet.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >OptionSet.Builder<_B> copyOf(final OptionSet _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final OptionSet.Builder<_B> _newBuilder = new OptionSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static OptionSet.Builder copyExcept(final OptionSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static OptionSet.Builder copyOnly(final OptionSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final OptionSet _storedValue; + private JAXBElement value; + private JAXBElement validBits; + + public Builder(final _B _parentBuilder, final OptionSet _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.value = _other.value; + this.validBits = _other.validBits; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final OptionSet _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + final PropertyTree validBitsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("validBits")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(validBitsPropertyTree!= null):((validBitsPropertyTree == null)||(!validBitsPropertyTree.isLeaf())))) { + this.validBits = _other.validBits; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends OptionSet >_P init(final _P _product) { + _product.value = this.value; + _product.validBits = this.validBits; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public OptionSet.Builder<_B> withValue(final JAXBElement value) { + this.value = value; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "validBits" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param validBits + * Neuer Wert der Eigenschaft "validBits". + */ + public OptionSet.Builder<_B> withValidBits(final JAXBElement validBits) { + this.validBits = validBits; + return this; + } + + @Override + public OptionSet build() { + if (_storedValue == null) { + return this.init(new OptionSet()); + } else { + return ((OptionSet) _storedValue); + } + } + + public OptionSet.Builder<_B> copyOf(final OptionSet _other) { + _other.copyTo(this); + return this; + } + + public OptionSet.Builder<_B> copyOf(final OptionSet.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends OptionSet.Selector + { + + + Select() { + super(null, null, null); + } + + public static OptionSet.Select _root() { + return new OptionSet.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> value = null; + private com.kscs.util.jaxb.Selector> validBits = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.validBits!= null) { + products.put("validBits", this.validBits.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + public com.kscs.util.jaxb.Selector> validBits() { + return ((this.validBits == null)?this.validBits = new com.kscs.util.jaxb.Selector>(this._root, this, "validBits"):this.validBits); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Orientation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Orientation.java new file mode 100644 index 000000000..02a92afe1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Orientation.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Orientation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Orientation">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Orientation") +@XmlSeeAlso({ + ThreeDOrientation.class +}) +public class Orientation { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Orientation.Builder<_B> _other) { + } + + public<_B >Orientation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Orientation.Builder<_B>(_parentBuilder, this, true); + } + + public Orientation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Orientation.Builder builder() { + return new Orientation.Builder(null, null, false); + } + + public static<_B >Orientation.Builder<_B> copyOf(final Orientation _other) { + final Orientation.Builder<_B> _newBuilder = new Orientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Orientation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >Orientation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Orientation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Orientation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Orientation.Builder<_B> copyOf(final Orientation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Orientation.Builder<_B> _newBuilder = new Orientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Orientation.Builder copyExcept(final Orientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Orientation.Builder copyOnly(final Orientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Orientation _storedValue; + + public Builder(final _B _parentBuilder, final Orientation _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Orientation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Orientation >_P init(final _P _product) { + return _product; + } + + @Override + public Orientation build() { + if (_storedValue == null) { + return this.init(new Orientation()); + } else { + return ((Orientation) _storedValue); + } + } + + public Orientation.Builder<_B> copyOf(final Orientation _other) { + _other.copyTo(this); + return this; + } + + public Orientation.Builder<_B> copyOf(final Orientation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Orientation.Selector + { + + + Select() { + super(null, null, null); + } + + public static Orientation.Select _root() { + return new Orientation.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OverrideValueHandling.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OverrideValueHandling.java new file mode 100644 index 000000000..28da430f0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/OverrideValueHandling.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für OverrideValueHandling. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="OverrideValueHandling">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Disabled_0"/>
+ *     <enumeration value="LastUsableValue_1"/>
+ *     <enumeration value="OverrideValue_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "OverrideValueHandling") +@XmlEnum +public enum OverrideValueHandling { + + @XmlEnumValue("Disabled_0") + DISABLED_0("Disabled_0"), + @XmlEnumValue("LastUsableValue_1") + LAST_USABLE_VALUE_1("LastUsableValue_1"), + @XmlEnumValue("OverrideValue_2") + OVERRIDE_VALUE_2("OverrideValue_2"); + private final String value; + + OverrideValueHandling(String v) { + value = v; + } + + public String value() { + return value; + } + + public static OverrideValueHandling fromValue(String v) { + for (OverrideValueHandling c: OverrideValueHandling.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ParsingResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ParsingResult.java new file mode 100644 index 000000000..9f2ae10ed --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ParsingResult.java @@ -0,0 +1,399 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ParsingResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ParsingResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="DataStatusCodes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DataDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ParsingResult", propOrder = { + "statusCode", + "dataStatusCodes", + "dataDiagnosticInfos" +}) +public class ParsingResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "DataStatusCodes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataStatusCodes; + @XmlElementRef(name = "DataDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataDiagnosticInfos; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der dataStatusCodes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getDataStatusCodes() { + return dataStatusCodes; + } + + /** + * Legt den Wert der dataStatusCodes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setDataStatusCodes(JAXBElement value) { + this.dataStatusCodes = value; + } + + /** + * Ruft den Wert der dataDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDataDiagnosticInfos() { + return dataDiagnosticInfos; + } + + /** + * Legt den Wert der dataDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDataDiagnosticInfos(JAXBElement value) { + this.dataDiagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ParsingResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.dataStatusCodes = this.dataStatusCodes; + _other.dataDiagnosticInfos = this.dataDiagnosticInfos; + } + + public<_B >ParsingResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ParsingResult.Builder<_B>(_parentBuilder, this, true); + } + + public ParsingResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ParsingResult.Builder builder() { + return new ParsingResult.Builder(null, null, false); + } + + public static<_B >ParsingResult.Builder<_B> copyOf(final ParsingResult _other) { + final ParsingResult.Builder<_B> _newBuilder = new ParsingResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ParsingResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataStatusCodesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataStatusCodes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataStatusCodesPropertyTree!= null):((dataStatusCodesPropertyTree == null)||(!dataStatusCodesPropertyTree.isLeaf())))) { + _other.dataStatusCodes = this.dataStatusCodes; + } + final PropertyTree dataDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataDiagnosticInfosPropertyTree!= null):((dataDiagnosticInfosPropertyTree == null)||(!dataDiagnosticInfosPropertyTree.isLeaf())))) { + _other.dataDiagnosticInfos = this.dataDiagnosticInfos; + } + } + + public<_B >ParsingResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ParsingResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ParsingResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ParsingResult.Builder<_B> copyOf(final ParsingResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ParsingResult.Builder<_B> _newBuilder = new ParsingResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ParsingResult.Builder copyExcept(final ParsingResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ParsingResult.Builder copyOnly(final ParsingResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ParsingResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement dataStatusCodes; + private JAXBElement dataDiagnosticInfos; + + public Builder(final _B _parentBuilder, final ParsingResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.dataStatusCodes = _other.dataStatusCodes; + this.dataDiagnosticInfos = _other.dataDiagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ParsingResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataStatusCodesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataStatusCodes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataStatusCodesPropertyTree!= null):((dataStatusCodesPropertyTree == null)||(!dataStatusCodesPropertyTree.isLeaf())))) { + this.dataStatusCodes = _other.dataStatusCodes; + } + final PropertyTree dataDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataDiagnosticInfosPropertyTree!= null):((dataDiagnosticInfosPropertyTree == null)||(!dataDiagnosticInfosPropertyTree.isLeaf())))) { + this.dataDiagnosticInfos = _other.dataDiagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ParsingResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.dataStatusCodes = this.dataStatusCodes; + _product.dataDiagnosticInfos = this.dataDiagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public ParsingResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataStatusCodes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataStatusCodes + * Neuer Wert der Eigenschaft "dataStatusCodes". + */ + public ParsingResult.Builder<_B> withDataStatusCodes(final JAXBElement dataStatusCodes) { + this.dataStatusCodes = dataStatusCodes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataDiagnosticInfos" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param dataDiagnosticInfos + * Neuer Wert der Eigenschaft "dataDiagnosticInfos". + */ + public ParsingResult.Builder<_B> withDataDiagnosticInfos(final JAXBElement dataDiagnosticInfos) { + this.dataDiagnosticInfos = dataDiagnosticInfos; + return this; + } + + @Override + public ParsingResult build() { + if (_storedValue == null) { + return this.init(new ParsingResult()); + } else { + return ((ParsingResult) _storedValue); + } + } + + public ParsingResult.Builder<_B> copyOf(final ParsingResult _other) { + _other.copyTo(this); + return this; + } + + public ParsingResult.Builder<_B> copyOf(final ParsingResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ParsingResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static ParsingResult.Select _root() { + return new ParsingResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> dataStatusCodes = null; + private com.kscs.util.jaxb.Selector> dataDiagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.dataStatusCodes!= null) { + products.put("dataStatusCodes", this.dataStatusCodes.init()); + } + if (this.dataDiagnosticInfos!= null) { + products.put("dataDiagnosticInfos", this.dataDiagnosticInfos.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> dataStatusCodes() { + return ((this.dataStatusCodes == null)?this.dataStatusCodes = new com.kscs.util.jaxb.Selector>(this._root, this, "dataStatusCodes"):this.dataStatusCodes); + } + + public com.kscs.util.jaxb.Selector> dataDiagnosticInfos() { + return ((this.dataDiagnosticInfos == null)?this.dataDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "dataDiagnosticInfos"):this.dataDiagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PerformUpdateType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PerformUpdateType.java new file mode 100644 index 000000000..2d742260a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PerformUpdateType.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für PerformUpdateType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="PerformUpdateType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Insert_1"/>
+ *     <enumeration value="Replace_2"/>
+ *     <enumeration value="Update_3"/>
+ *     <enumeration value="Remove_4"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "PerformUpdateType") +@XmlEnum +public enum PerformUpdateType { + + @XmlEnumValue("Insert_1") + INSERT_1("Insert_1"), + @XmlEnumValue("Replace_2") + REPLACE_2("Replace_2"), + @XmlEnumValue("Update_3") + UPDATE_3("Update_3"), + @XmlEnumValue("Remove_4") + REMOVE_4("Remove_4"); + private final String value; + + PerformUpdateType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static PerformUpdateType fromValue(String v) { + for (PerformUpdateType c: PerformUpdateType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnostic2DataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnostic2DataType.java new file mode 100644 index 000000000..fee1038ae --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnostic2DataType.java @@ -0,0 +1,926 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ProgramDiagnostic2DataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ProgramDiagnostic2DataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CreateSessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="CreateClientName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="InvocationCreationTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="LastTransitionTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="LastMethodCall" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="LastMethodSessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="LastMethodInputArguments" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfArgument" minOccurs="0"/>
+ *         <element name="LastMethodOutputArguments" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfArgument" minOccurs="0"/>
+ *         <element name="LastMethodInputValues" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *         <element name="LastMethodOutputValues" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *         <element name="LastMethodCallTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="LastMethodReturnStatus" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusResult" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProgramDiagnostic2DataType", propOrder = { + "createSessionId", + "createClientName", + "invocationCreationTime", + "lastTransitionTime", + "lastMethodCall", + "lastMethodSessionId", + "lastMethodInputArguments", + "lastMethodOutputArguments", + "lastMethodInputValues", + "lastMethodOutputValues", + "lastMethodCallTime", + "lastMethodReturnStatus" +}) +public class ProgramDiagnostic2DataType { + + @XmlElementRef(name = "CreateSessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement createSessionId; + @XmlElementRef(name = "CreateClientName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement createClientName; + @XmlElement(name = "InvocationCreationTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar invocationCreationTime; + @XmlElement(name = "LastTransitionTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar lastTransitionTime; + @XmlElementRef(name = "LastMethodCall", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodCall; + @XmlElementRef(name = "LastMethodSessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodSessionId; + @XmlElementRef(name = "LastMethodInputArguments", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodInputArguments; + @XmlElementRef(name = "LastMethodOutputArguments", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodOutputArguments; + @XmlElementRef(name = "LastMethodInputValues", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodInputValues; + @XmlElementRef(name = "LastMethodOutputValues", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodOutputValues; + @XmlElement(name = "LastMethodCallTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar lastMethodCallTime; + @XmlElementRef(name = "LastMethodReturnStatus", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodReturnStatus; + + /** + * Ruft den Wert der createSessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getCreateSessionId() { + return createSessionId; + } + + /** + * Legt den Wert der createSessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setCreateSessionId(JAXBElement value) { + this.createSessionId = value; + } + + /** + * Ruft den Wert der createClientName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getCreateClientName() { + return createClientName; + } + + /** + * Legt den Wert der createClientName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setCreateClientName(JAXBElement value) { + this.createClientName = value; + } + + /** + * Ruft den Wert der invocationCreationTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getInvocationCreationTime() { + return invocationCreationTime; + } + + /** + * Legt den Wert der invocationCreationTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setInvocationCreationTime(XMLGregorianCalendar value) { + this.invocationCreationTime = value; + } + + /** + * Ruft den Wert der lastTransitionTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getLastTransitionTime() { + return lastTransitionTime; + } + + /** + * Legt den Wert der lastTransitionTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setLastTransitionTime(XMLGregorianCalendar value) { + this.lastTransitionTime = value; + } + + /** + * Ruft den Wert der lastMethodCall-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getLastMethodCall() { + return lastMethodCall; + } + + /** + * Legt den Wert der lastMethodCall-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setLastMethodCall(JAXBElement value) { + this.lastMethodCall = value; + } + + /** + * Ruft den Wert der lastMethodSessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getLastMethodSessionId() { + return lastMethodSessionId; + } + + /** + * Legt den Wert der lastMethodSessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setLastMethodSessionId(JAXBElement value) { + this.lastMethodSessionId = value; + } + + /** + * Ruft den Wert der lastMethodInputArguments-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public JAXBElement getLastMethodInputArguments() { + return lastMethodInputArguments; + } + + /** + * Legt den Wert der lastMethodInputArguments-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public void setLastMethodInputArguments(JAXBElement value) { + this.lastMethodInputArguments = value; + } + + /** + * Ruft den Wert der lastMethodOutputArguments-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public JAXBElement getLastMethodOutputArguments() { + return lastMethodOutputArguments; + } + + /** + * Legt den Wert der lastMethodOutputArguments-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public void setLastMethodOutputArguments(JAXBElement value) { + this.lastMethodOutputArguments = value; + } + + /** + * Ruft den Wert der lastMethodInputValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getLastMethodInputValues() { + return lastMethodInputValues; + } + + /** + * Legt den Wert der lastMethodInputValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setLastMethodInputValues(JAXBElement value) { + this.lastMethodInputValues = value; + } + + /** + * Ruft den Wert der lastMethodOutputValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getLastMethodOutputValues() { + return lastMethodOutputValues; + } + + /** + * Legt den Wert der lastMethodOutputValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setLastMethodOutputValues(JAXBElement value) { + this.lastMethodOutputValues = value; + } + + /** + * Ruft den Wert der lastMethodCallTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getLastMethodCallTime() { + return lastMethodCallTime; + } + + /** + * Legt den Wert der lastMethodCallTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setLastMethodCallTime(XMLGregorianCalendar value) { + this.lastMethodCallTime = value; + } + + /** + * Ruft den Wert der lastMethodReturnStatus-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + */ + public JAXBElement getLastMethodReturnStatus() { + return lastMethodReturnStatus; + } + + /** + * Legt den Wert der lastMethodReturnStatus-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + */ + public void setLastMethodReturnStatus(JAXBElement value) { + this.lastMethodReturnStatus = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ProgramDiagnostic2DataType.Builder<_B> _other) { + _other.createSessionId = this.createSessionId; + _other.createClientName = this.createClientName; + _other.invocationCreationTime = ((this.invocationCreationTime == null)?null:((XMLGregorianCalendar) this.invocationCreationTime.clone())); + _other.lastTransitionTime = ((this.lastTransitionTime == null)?null:((XMLGregorianCalendar) this.lastTransitionTime.clone())); + _other.lastMethodCall = this.lastMethodCall; + _other.lastMethodSessionId = this.lastMethodSessionId; + _other.lastMethodInputArguments = this.lastMethodInputArguments; + _other.lastMethodOutputArguments = this.lastMethodOutputArguments; + _other.lastMethodInputValues = this.lastMethodInputValues; + _other.lastMethodOutputValues = this.lastMethodOutputValues; + _other.lastMethodCallTime = ((this.lastMethodCallTime == null)?null:((XMLGregorianCalendar) this.lastMethodCallTime.clone())); + _other.lastMethodReturnStatus = this.lastMethodReturnStatus; + } + + public<_B >ProgramDiagnostic2DataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ProgramDiagnostic2DataType.Builder<_B>(_parentBuilder, this, true); + } + + public ProgramDiagnostic2DataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ProgramDiagnostic2DataType.Builder builder() { + return new ProgramDiagnostic2DataType.Builder(null, null, false); + } + + public static<_B >ProgramDiagnostic2DataType.Builder<_B> copyOf(final ProgramDiagnostic2DataType _other) { + final ProgramDiagnostic2DataType.Builder<_B> _newBuilder = new ProgramDiagnostic2DataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ProgramDiagnostic2DataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree createSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createSessionIdPropertyTree!= null):((createSessionIdPropertyTree == null)||(!createSessionIdPropertyTree.isLeaf())))) { + _other.createSessionId = this.createSessionId; + } + final PropertyTree createClientNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createClientName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createClientNamePropertyTree!= null):((createClientNamePropertyTree == null)||(!createClientNamePropertyTree.isLeaf())))) { + _other.createClientName = this.createClientName; + } + final PropertyTree invocationCreationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("invocationCreationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(invocationCreationTimePropertyTree!= null):((invocationCreationTimePropertyTree == null)||(!invocationCreationTimePropertyTree.isLeaf())))) { + _other.invocationCreationTime = ((this.invocationCreationTime == null)?null:((XMLGregorianCalendar) this.invocationCreationTime.clone())); + } + final PropertyTree lastTransitionTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastTransitionTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastTransitionTimePropertyTree!= null):((lastTransitionTimePropertyTree == null)||(!lastTransitionTimePropertyTree.isLeaf())))) { + _other.lastTransitionTime = ((this.lastTransitionTime == null)?null:((XMLGregorianCalendar) this.lastTransitionTime.clone())); + } + final PropertyTree lastMethodCallPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCall")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallPropertyTree!= null):((lastMethodCallPropertyTree == null)||(!lastMethodCallPropertyTree.isLeaf())))) { + _other.lastMethodCall = this.lastMethodCall; + } + final PropertyTree lastMethodSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodSessionIdPropertyTree!= null):((lastMethodSessionIdPropertyTree == null)||(!lastMethodSessionIdPropertyTree.isLeaf())))) { + _other.lastMethodSessionId = this.lastMethodSessionId; + } + final PropertyTree lastMethodInputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodInputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodInputArgumentsPropertyTree!= null):((lastMethodInputArgumentsPropertyTree == null)||(!lastMethodInputArgumentsPropertyTree.isLeaf())))) { + _other.lastMethodInputArguments = this.lastMethodInputArguments; + } + final PropertyTree lastMethodOutputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodOutputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodOutputArgumentsPropertyTree!= null):((lastMethodOutputArgumentsPropertyTree == null)||(!lastMethodOutputArgumentsPropertyTree.isLeaf())))) { + _other.lastMethodOutputArguments = this.lastMethodOutputArguments; + } + final PropertyTree lastMethodInputValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodInputValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodInputValuesPropertyTree!= null):((lastMethodInputValuesPropertyTree == null)||(!lastMethodInputValuesPropertyTree.isLeaf())))) { + _other.lastMethodInputValues = this.lastMethodInputValues; + } + final PropertyTree lastMethodOutputValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodOutputValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodOutputValuesPropertyTree!= null):((lastMethodOutputValuesPropertyTree == null)||(!lastMethodOutputValuesPropertyTree.isLeaf())))) { + _other.lastMethodOutputValues = this.lastMethodOutputValues; + } + final PropertyTree lastMethodCallTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCallTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallTimePropertyTree!= null):((lastMethodCallTimePropertyTree == null)||(!lastMethodCallTimePropertyTree.isLeaf())))) { + _other.lastMethodCallTime = ((this.lastMethodCallTime == null)?null:((XMLGregorianCalendar) this.lastMethodCallTime.clone())); + } + final PropertyTree lastMethodReturnStatusPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodReturnStatus")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodReturnStatusPropertyTree!= null):((lastMethodReturnStatusPropertyTree == null)||(!lastMethodReturnStatusPropertyTree.isLeaf())))) { + _other.lastMethodReturnStatus = this.lastMethodReturnStatus; + } + } + + public<_B >ProgramDiagnostic2DataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ProgramDiagnostic2DataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ProgramDiagnostic2DataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ProgramDiagnostic2DataType.Builder<_B> copyOf(final ProgramDiagnostic2DataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ProgramDiagnostic2DataType.Builder<_B> _newBuilder = new ProgramDiagnostic2DataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ProgramDiagnostic2DataType.Builder copyExcept(final ProgramDiagnostic2DataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ProgramDiagnostic2DataType.Builder copyOnly(final ProgramDiagnostic2DataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ProgramDiagnostic2DataType _storedValue; + private JAXBElement createSessionId; + private JAXBElement createClientName; + private XMLGregorianCalendar invocationCreationTime; + private XMLGregorianCalendar lastTransitionTime; + private JAXBElement lastMethodCall; + private JAXBElement lastMethodSessionId; + private JAXBElement lastMethodInputArguments; + private JAXBElement lastMethodOutputArguments; + private JAXBElement lastMethodInputValues; + private JAXBElement lastMethodOutputValues; + private XMLGregorianCalendar lastMethodCallTime; + private JAXBElement lastMethodReturnStatus; + + public Builder(final _B _parentBuilder, final ProgramDiagnostic2DataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.createSessionId = _other.createSessionId; + this.createClientName = _other.createClientName; + this.invocationCreationTime = ((_other.invocationCreationTime == null)?null:((XMLGregorianCalendar) _other.invocationCreationTime.clone())); + this.lastTransitionTime = ((_other.lastTransitionTime == null)?null:((XMLGregorianCalendar) _other.lastTransitionTime.clone())); + this.lastMethodCall = _other.lastMethodCall; + this.lastMethodSessionId = _other.lastMethodSessionId; + this.lastMethodInputArguments = _other.lastMethodInputArguments; + this.lastMethodOutputArguments = _other.lastMethodOutputArguments; + this.lastMethodInputValues = _other.lastMethodInputValues; + this.lastMethodOutputValues = _other.lastMethodOutputValues; + this.lastMethodCallTime = ((_other.lastMethodCallTime == null)?null:((XMLGregorianCalendar) _other.lastMethodCallTime.clone())); + this.lastMethodReturnStatus = _other.lastMethodReturnStatus; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ProgramDiagnostic2DataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree createSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createSessionIdPropertyTree!= null):((createSessionIdPropertyTree == null)||(!createSessionIdPropertyTree.isLeaf())))) { + this.createSessionId = _other.createSessionId; + } + final PropertyTree createClientNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createClientName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createClientNamePropertyTree!= null):((createClientNamePropertyTree == null)||(!createClientNamePropertyTree.isLeaf())))) { + this.createClientName = _other.createClientName; + } + final PropertyTree invocationCreationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("invocationCreationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(invocationCreationTimePropertyTree!= null):((invocationCreationTimePropertyTree == null)||(!invocationCreationTimePropertyTree.isLeaf())))) { + this.invocationCreationTime = ((_other.invocationCreationTime == null)?null:((XMLGregorianCalendar) _other.invocationCreationTime.clone())); + } + final PropertyTree lastTransitionTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastTransitionTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastTransitionTimePropertyTree!= null):((lastTransitionTimePropertyTree == null)||(!lastTransitionTimePropertyTree.isLeaf())))) { + this.lastTransitionTime = ((_other.lastTransitionTime == null)?null:((XMLGregorianCalendar) _other.lastTransitionTime.clone())); + } + final PropertyTree lastMethodCallPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCall")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallPropertyTree!= null):((lastMethodCallPropertyTree == null)||(!lastMethodCallPropertyTree.isLeaf())))) { + this.lastMethodCall = _other.lastMethodCall; + } + final PropertyTree lastMethodSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodSessionIdPropertyTree!= null):((lastMethodSessionIdPropertyTree == null)||(!lastMethodSessionIdPropertyTree.isLeaf())))) { + this.lastMethodSessionId = _other.lastMethodSessionId; + } + final PropertyTree lastMethodInputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodInputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodInputArgumentsPropertyTree!= null):((lastMethodInputArgumentsPropertyTree == null)||(!lastMethodInputArgumentsPropertyTree.isLeaf())))) { + this.lastMethodInputArguments = _other.lastMethodInputArguments; + } + final PropertyTree lastMethodOutputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodOutputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodOutputArgumentsPropertyTree!= null):((lastMethodOutputArgumentsPropertyTree == null)||(!lastMethodOutputArgumentsPropertyTree.isLeaf())))) { + this.lastMethodOutputArguments = _other.lastMethodOutputArguments; + } + final PropertyTree lastMethodInputValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodInputValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodInputValuesPropertyTree!= null):((lastMethodInputValuesPropertyTree == null)||(!lastMethodInputValuesPropertyTree.isLeaf())))) { + this.lastMethodInputValues = _other.lastMethodInputValues; + } + final PropertyTree lastMethodOutputValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodOutputValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodOutputValuesPropertyTree!= null):((lastMethodOutputValuesPropertyTree == null)||(!lastMethodOutputValuesPropertyTree.isLeaf())))) { + this.lastMethodOutputValues = _other.lastMethodOutputValues; + } + final PropertyTree lastMethodCallTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCallTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallTimePropertyTree!= null):((lastMethodCallTimePropertyTree == null)||(!lastMethodCallTimePropertyTree.isLeaf())))) { + this.lastMethodCallTime = ((_other.lastMethodCallTime == null)?null:((XMLGregorianCalendar) _other.lastMethodCallTime.clone())); + } + final PropertyTree lastMethodReturnStatusPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodReturnStatus")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodReturnStatusPropertyTree!= null):((lastMethodReturnStatusPropertyTree == null)||(!lastMethodReturnStatusPropertyTree.isLeaf())))) { + this.lastMethodReturnStatus = _other.lastMethodReturnStatus; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ProgramDiagnostic2DataType >_P init(final _P _product) { + _product.createSessionId = this.createSessionId; + _product.createClientName = this.createClientName; + _product.invocationCreationTime = this.invocationCreationTime; + _product.lastTransitionTime = this.lastTransitionTime; + _product.lastMethodCall = this.lastMethodCall; + _product.lastMethodSessionId = this.lastMethodSessionId; + _product.lastMethodInputArguments = this.lastMethodInputArguments; + _product.lastMethodOutputArguments = this.lastMethodOutputArguments; + _product.lastMethodInputValues = this.lastMethodInputValues; + _product.lastMethodOutputValues = this.lastMethodOutputValues; + _product.lastMethodCallTime = this.lastMethodCallTime; + _product.lastMethodReturnStatus = this.lastMethodReturnStatus; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createSessionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param createSessionId + * Neuer Wert der Eigenschaft "createSessionId". + */ + public ProgramDiagnostic2DataType.Builder<_B> withCreateSessionId(final JAXBElement createSessionId) { + this.createSessionId = createSessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createClientName" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param createClientName + * Neuer Wert der Eigenschaft "createClientName". + */ + public ProgramDiagnostic2DataType.Builder<_B> withCreateClientName(final JAXBElement createClientName) { + this.createClientName = createClientName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "invocationCreationTime" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param invocationCreationTime + * Neuer Wert der Eigenschaft "invocationCreationTime". + */ + public ProgramDiagnostic2DataType.Builder<_B> withInvocationCreationTime(final XMLGregorianCalendar invocationCreationTime) { + this.invocationCreationTime = invocationCreationTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastTransitionTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastTransitionTime + * Neuer Wert der Eigenschaft "lastTransitionTime". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastTransitionTime(final XMLGregorianCalendar lastTransitionTime) { + this.lastTransitionTime = lastTransitionTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodCall" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param lastMethodCall + * Neuer Wert der Eigenschaft "lastMethodCall". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodCall(final JAXBElement lastMethodCall) { + this.lastMethodCall = lastMethodCall; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodSessionId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastMethodSessionId + * Neuer Wert der Eigenschaft "lastMethodSessionId". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodSessionId(final JAXBElement lastMethodSessionId) { + this.lastMethodSessionId = lastMethodSessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodInputArguments" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodInputArguments + * Neuer Wert der Eigenschaft "lastMethodInputArguments". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodInputArguments(final JAXBElement lastMethodInputArguments) { + this.lastMethodInputArguments = lastMethodInputArguments; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodOutputArguments" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodOutputArguments + * Neuer Wert der Eigenschaft "lastMethodOutputArguments". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodOutputArguments(final JAXBElement lastMethodOutputArguments) { + this.lastMethodOutputArguments = lastMethodOutputArguments; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodInputValues" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodInputValues + * Neuer Wert der Eigenschaft "lastMethodInputValues". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodInputValues(final JAXBElement lastMethodInputValues) { + this.lastMethodInputValues = lastMethodInputValues; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodOutputValues" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodOutputValues + * Neuer Wert der Eigenschaft "lastMethodOutputValues". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodOutputValues(final JAXBElement lastMethodOutputValues) { + this.lastMethodOutputValues = lastMethodOutputValues; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodCallTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastMethodCallTime + * Neuer Wert der Eigenschaft "lastMethodCallTime". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodCallTime(final XMLGregorianCalendar lastMethodCallTime) { + this.lastMethodCallTime = lastMethodCallTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodReturnStatus" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodReturnStatus + * Neuer Wert der Eigenschaft "lastMethodReturnStatus". + */ + public ProgramDiagnostic2DataType.Builder<_B> withLastMethodReturnStatus(final JAXBElement lastMethodReturnStatus) { + this.lastMethodReturnStatus = lastMethodReturnStatus; + return this; + } + + @Override + public ProgramDiagnostic2DataType build() { + if (_storedValue == null) { + return this.init(new ProgramDiagnostic2DataType()); + } else { + return ((ProgramDiagnostic2DataType) _storedValue); + } + } + + public ProgramDiagnostic2DataType.Builder<_B> copyOf(final ProgramDiagnostic2DataType _other) { + _other.copyTo(this); + return this; + } + + public ProgramDiagnostic2DataType.Builder<_B> copyOf(final ProgramDiagnostic2DataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ProgramDiagnostic2DataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ProgramDiagnostic2DataType.Select _root() { + return new ProgramDiagnostic2DataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> createSessionId = null; + private com.kscs.util.jaxb.Selector> createClientName = null; + private com.kscs.util.jaxb.Selector> invocationCreationTime = null; + private com.kscs.util.jaxb.Selector> lastTransitionTime = null; + private com.kscs.util.jaxb.Selector> lastMethodCall = null; + private com.kscs.util.jaxb.Selector> lastMethodSessionId = null; + private com.kscs.util.jaxb.Selector> lastMethodInputArguments = null; + private com.kscs.util.jaxb.Selector> lastMethodOutputArguments = null; + private com.kscs.util.jaxb.Selector> lastMethodInputValues = null; + private com.kscs.util.jaxb.Selector> lastMethodOutputValues = null; + private com.kscs.util.jaxb.Selector> lastMethodCallTime = null; + private com.kscs.util.jaxb.Selector> lastMethodReturnStatus = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.createSessionId!= null) { + products.put("createSessionId", this.createSessionId.init()); + } + if (this.createClientName!= null) { + products.put("createClientName", this.createClientName.init()); + } + if (this.invocationCreationTime!= null) { + products.put("invocationCreationTime", this.invocationCreationTime.init()); + } + if (this.lastTransitionTime!= null) { + products.put("lastTransitionTime", this.lastTransitionTime.init()); + } + if (this.lastMethodCall!= null) { + products.put("lastMethodCall", this.lastMethodCall.init()); + } + if (this.lastMethodSessionId!= null) { + products.put("lastMethodSessionId", this.lastMethodSessionId.init()); + } + if (this.lastMethodInputArguments!= null) { + products.put("lastMethodInputArguments", this.lastMethodInputArguments.init()); + } + if (this.lastMethodOutputArguments!= null) { + products.put("lastMethodOutputArguments", this.lastMethodOutputArguments.init()); + } + if (this.lastMethodInputValues!= null) { + products.put("lastMethodInputValues", this.lastMethodInputValues.init()); + } + if (this.lastMethodOutputValues!= null) { + products.put("lastMethodOutputValues", this.lastMethodOutputValues.init()); + } + if (this.lastMethodCallTime!= null) { + products.put("lastMethodCallTime", this.lastMethodCallTime.init()); + } + if (this.lastMethodReturnStatus!= null) { + products.put("lastMethodReturnStatus", this.lastMethodReturnStatus.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> createSessionId() { + return ((this.createSessionId == null)?this.createSessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "createSessionId"):this.createSessionId); + } + + public com.kscs.util.jaxb.Selector> createClientName() { + return ((this.createClientName == null)?this.createClientName = new com.kscs.util.jaxb.Selector>(this._root, this, "createClientName"):this.createClientName); + } + + public com.kscs.util.jaxb.Selector> invocationCreationTime() { + return ((this.invocationCreationTime == null)?this.invocationCreationTime = new com.kscs.util.jaxb.Selector>(this._root, this, "invocationCreationTime"):this.invocationCreationTime); + } + + public com.kscs.util.jaxb.Selector> lastTransitionTime() { + return ((this.lastTransitionTime == null)?this.lastTransitionTime = new com.kscs.util.jaxb.Selector>(this._root, this, "lastTransitionTime"):this.lastTransitionTime); + } + + public com.kscs.util.jaxb.Selector> lastMethodCall() { + return ((this.lastMethodCall == null)?this.lastMethodCall = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodCall"):this.lastMethodCall); + } + + public com.kscs.util.jaxb.Selector> lastMethodSessionId() { + return ((this.lastMethodSessionId == null)?this.lastMethodSessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodSessionId"):this.lastMethodSessionId); + } + + public com.kscs.util.jaxb.Selector> lastMethodInputArguments() { + return ((this.lastMethodInputArguments == null)?this.lastMethodInputArguments = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodInputArguments"):this.lastMethodInputArguments); + } + + public com.kscs.util.jaxb.Selector> lastMethodOutputArguments() { + return ((this.lastMethodOutputArguments == null)?this.lastMethodOutputArguments = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodOutputArguments"):this.lastMethodOutputArguments); + } + + public com.kscs.util.jaxb.Selector> lastMethodInputValues() { + return ((this.lastMethodInputValues == null)?this.lastMethodInputValues = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodInputValues"):this.lastMethodInputValues); + } + + public com.kscs.util.jaxb.Selector> lastMethodOutputValues() { + return ((this.lastMethodOutputValues == null)?this.lastMethodOutputValues = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodOutputValues"):this.lastMethodOutputValues); + } + + public com.kscs.util.jaxb.Selector> lastMethodCallTime() { + return ((this.lastMethodCallTime == null)?this.lastMethodCallTime = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodCallTime"):this.lastMethodCallTime); + } + + public com.kscs.util.jaxb.Selector> lastMethodReturnStatus() { + return ((this.lastMethodReturnStatus == null)?this.lastMethodReturnStatus = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodReturnStatus"):this.lastMethodReturnStatus); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnosticDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnosticDataType.java new file mode 100644 index 000000000..8c88e0a48 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ProgramDiagnosticDataType.java @@ -0,0 +1,806 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ProgramDiagnosticDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ProgramDiagnosticDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CreateSessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="CreateClientName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="InvocationCreationTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="LastTransitionTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="LastMethodCall" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="LastMethodSessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="LastMethodInputArguments" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfArgument" minOccurs="0"/>
+ *         <element name="LastMethodOutputArguments" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfArgument" minOccurs="0"/>
+ *         <element name="LastMethodCallTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="LastMethodReturnStatus" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusResult" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProgramDiagnosticDataType", propOrder = { + "createSessionId", + "createClientName", + "invocationCreationTime", + "lastTransitionTime", + "lastMethodCall", + "lastMethodSessionId", + "lastMethodInputArguments", + "lastMethodOutputArguments", + "lastMethodCallTime", + "lastMethodReturnStatus" +}) +public class ProgramDiagnosticDataType { + + @XmlElementRef(name = "CreateSessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement createSessionId; + @XmlElementRef(name = "CreateClientName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement createClientName; + @XmlElement(name = "InvocationCreationTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar invocationCreationTime; + @XmlElement(name = "LastTransitionTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar lastTransitionTime; + @XmlElementRef(name = "LastMethodCall", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodCall; + @XmlElementRef(name = "LastMethodSessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodSessionId; + @XmlElementRef(name = "LastMethodInputArguments", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodInputArguments; + @XmlElementRef(name = "LastMethodOutputArguments", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodOutputArguments; + @XmlElement(name = "LastMethodCallTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar lastMethodCallTime; + @XmlElementRef(name = "LastMethodReturnStatus", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement lastMethodReturnStatus; + + /** + * Ruft den Wert der createSessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getCreateSessionId() { + return createSessionId; + } + + /** + * Legt den Wert der createSessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setCreateSessionId(JAXBElement value) { + this.createSessionId = value; + } + + /** + * Ruft den Wert der createClientName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getCreateClientName() { + return createClientName; + } + + /** + * Legt den Wert der createClientName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setCreateClientName(JAXBElement value) { + this.createClientName = value; + } + + /** + * Ruft den Wert der invocationCreationTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getInvocationCreationTime() { + return invocationCreationTime; + } + + /** + * Legt den Wert der invocationCreationTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setInvocationCreationTime(XMLGregorianCalendar value) { + this.invocationCreationTime = value; + } + + /** + * Ruft den Wert der lastTransitionTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getLastTransitionTime() { + return lastTransitionTime; + } + + /** + * Legt den Wert der lastTransitionTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setLastTransitionTime(XMLGregorianCalendar value) { + this.lastTransitionTime = value; + } + + /** + * Ruft den Wert der lastMethodCall-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getLastMethodCall() { + return lastMethodCall; + } + + /** + * Legt den Wert der lastMethodCall-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setLastMethodCall(JAXBElement value) { + this.lastMethodCall = value; + } + + /** + * Ruft den Wert der lastMethodSessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getLastMethodSessionId() { + return lastMethodSessionId; + } + + /** + * Legt den Wert der lastMethodSessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setLastMethodSessionId(JAXBElement value) { + this.lastMethodSessionId = value; + } + + /** + * Ruft den Wert der lastMethodInputArguments-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public JAXBElement getLastMethodInputArguments() { + return lastMethodInputArguments; + } + + /** + * Legt den Wert der lastMethodInputArguments-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public void setLastMethodInputArguments(JAXBElement value) { + this.lastMethodInputArguments = value; + } + + /** + * Ruft den Wert der lastMethodOutputArguments-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public JAXBElement getLastMethodOutputArguments() { + return lastMethodOutputArguments; + } + + /** + * Legt den Wert der lastMethodOutputArguments-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfArgument }{@code >} + * + */ + public void setLastMethodOutputArguments(JAXBElement value) { + this.lastMethodOutputArguments = value; + } + + /** + * Ruft den Wert der lastMethodCallTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getLastMethodCallTime() { + return lastMethodCallTime; + } + + /** + * Legt den Wert der lastMethodCallTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setLastMethodCallTime(XMLGregorianCalendar value) { + this.lastMethodCallTime = value; + } + + /** + * Ruft den Wert der lastMethodReturnStatus-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + */ + public JAXBElement getLastMethodReturnStatus() { + return lastMethodReturnStatus; + } + + /** + * Legt den Wert der lastMethodReturnStatus-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link StatusResult }{@code >} + * + */ + public void setLastMethodReturnStatus(JAXBElement value) { + this.lastMethodReturnStatus = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ProgramDiagnosticDataType.Builder<_B> _other) { + _other.createSessionId = this.createSessionId; + _other.createClientName = this.createClientName; + _other.invocationCreationTime = ((this.invocationCreationTime == null)?null:((XMLGregorianCalendar) this.invocationCreationTime.clone())); + _other.lastTransitionTime = ((this.lastTransitionTime == null)?null:((XMLGregorianCalendar) this.lastTransitionTime.clone())); + _other.lastMethodCall = this.lastMethodCall; + _other.lastMethodSessionId = this.lastMethodSessionId; + _other.lastMethodInputArguments = this.lastMethodInputArguments; + _other.lastMethodOutputArguments = this.lastMethodOutputArguments; + _other.lastMethodCallTime = ((this.lastMethodCallTime == null)?null:((XMLGregorianCalendar) this.lastMethodCallTime.clone())); + _other.lastMethodReturnStatus = this.lastMethodReturnStatus; + } + + public<_B >ProgramDiagnosticDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ProgramDiagnosticDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ProgramDiagnosticDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ProgramDiagnosticDataType.Builder builder() { + return new ProgramDiagnosticDataType.Builder(null, null, false); + } + + public static<_B >ProgramDiagnosticDataType.Builder<_B> copyOf(final ProgramDiagnosticDataType _other) { + final ProgramDiagnosticDataType.Builder<_B> _newBuilder = new ProgramDiagnosticDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ProgramDiagnosticDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree createSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createSessionIdPropertyTree!= null):((createSessionIdPropertyTree == null)||(!createSessionIdPropertyTree.isLeaf())))) { + _other.createSessionId = this.createSessionId; + } + final PropertyTree createClientNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createClientName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createClientNamePropertyTree!= null):((createClientNamePropertyTree == null)||(!createClientNamePropertyTree.isLeaf())))) { + _other.createClientName = this.createClientName; + } + final PropertyTree invocationCreationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("invocationCreationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(invocationCreationTimePropertyTree!= null):((invocationCreationTimePropertyTree == null)||(!invocationCreationTimePropertyTree.isLeaf())))) { + _other.invocationCreationTime = ((this.invocationCreationTime == null)?null:((XMLGregorianCalendar) this.invocationCreationTime.clone())); + } + final PropertyTree lastTransitionTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastTransitionTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastTransitionTimePropertyTree!= null):((lastTransitionTimePropertyTree == null)||(!lastTransitionTimePropertyTree.isLeaf())))) { + _other.lastTransitionTime = ((this.lastTransitionTime == null)?null:((XMLGregorianCalendar) this.lastTransitionTime.clone())); + } + final PropertyTree lastMethodCallPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCall")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallPropertyTree!= null):((lastMethodCallPropertyTree == null)||(!lastMethodCallPropertyTree.isLeaf())))) { + _other.lastMethodCall = this.lastMethodCall; + } + final PropertyTree lastMethodSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodSessionIdPropertyTree!= null):((lastMethodSessionIdPropertyTree == null)||(!lastMethodSessionIdPropertyTree.isLeaf())))) { + _other.lastMethodSessionId = this.lastMethodSessionId; + } + final PropertyTree lastMethodInputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodInputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodInputArgumentsPropertyTree!= null):((lastMethodInputArgumentsPropertyTree == null)||(!lastMethodInputArgumentsPropertyTree.isLeaf())))) { + _other.lastMethodInputArguments = this.lastMethodInputArguments; + } + final PropertyTree lastMethodOutputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodOutputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodOutputArgumentsPropertyTree!= null):((lastMethodOutputArgumentsPropertyTree == null)||(!lastMethodOutputArgumentsPropertyTree.isLeaf())))) { + _other.lastMethodOutputArguments = this.lastMethodOutputArguments; + } + final PropertyTree lastMethodCallTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCallTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallTimePropertyTree!= null):((lastMethodCallTimePropertyTree == null)||(!lastMethodCallTimePropertyTree.isLeaf())))) { + _other.lastMethodCallTime = ((this.lastMethodCallTime == null)?null:((XMLGregorianCalendar) this.lastMethodCallTime.clone())); + } + final PropertyTree lastMethodReturnStatusPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodReturnStatus")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodReturnStatusPropertyTree!= null):((lastMethodReturnStatusPropertyTree == null)||(!lastMethodReturnStatusPropertyTree.isLeaf())))) { + _other.lastMethodReturnStatus = this.lastMethodReturnStatus; + } + } + + public<_B >ProgramDiagnosticDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ProgramDiagnosticDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ProgramDiagnosticDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ProgramDiagnosticDataType.Builder<_B> copyOf(final ProgramDiagnosticDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ProgramDiagnosticDataType.Builder<_B> _newBuilder = new ProgramDiagnosticDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ProgramDiagnosticDataType.Builder copyExcept(final ProgramDiagnosticDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ProgramDiagnosticDataType.Builder copyOnly(final ProgramDiagnosticDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ProgramDiagnosticDataType _storedValue; + private JAXBElement createSessionId; + private JAXBElement createClientName; + private XMLGregorianCalendar invocationCreationTime; + private XMLGregorianCalendar lastTransitionTime; + private JAXBElement lastMethodCall; + private JAXBElement lastMethodSessionId; + private JAXBElement lastMethodInputArguments; + private JAXBElement lastMethodOutputArguments; + private XMLGregorianCalendar lastMethodCallTime; + private JAXBElement lastMethodReturnStatus; + + public Builder(final _B _parentBuilder, final ProgramDiagnosticDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.createSessionId = _other.createSessionId; + this.createClientName = _other.createClientName; + this.invocationCreationTime = ((_other.invocationCreationTime == null)?null:((XMLGregorianCalendar) _other.invocationCreationTime.clone())); + this.lastTransitionTime = ((_other.lastTransitionTime == null)?null:((XMLGregorianCalendar) _other.lastTransitionTime.clone())); + this.lastMethodCall = _other.lastMethodCall; + this.lastMethodSessionId = _other.lastMethodSessionId; + this.lastMethodInputArguments = _other.lastMethodInputArguments; + this.lastMethodOutputArguments = _other.lastMethodOutputArguments; + this.lastMethodCallTime = ((_other.lastMethodCallTime == null)?null:((XMLGregorianCalendar) _other.lastMethodCallTime.clone())); + this.lastMethodReturnStatus = _other.lastMethodReturnStatus; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ProgramDiagnosticDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree createSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createSessionIdPropertyTree!= null):((createSessionIdPropertyTree == null)||(!createSessionIdPropertyTree.isLeaf())))) { + this.createSessionId = _other.createSessionId; + } + final PropertyTree createClientNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createClientName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createClientNamePropertyTree!= null):((createClientNamePropertyTree == null)||(!createClientNamePropertyTree.isLeaf())))) { + this.createClientName = _other.createClientName; + } + final PropertyTree invocationCreationTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("invocationCreationTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(invocationCreationTimePropertyTree!= null):((invocationCreationTimePropertyTree == null)||(!invocationCreationTimePropertyTree.isLeaf())))) { + this.invocationCreationTime = ((_other.invocationCreationTime == null)?null:((XMLGregorianCalendar) _other.invocationCreationTime.clone())); + } + final PropertyTree lastTransitionTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastTransitionTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastTransitionTimePropertyTree!= null):((lastTransitionTimePropertyTree == null)||(!lastTransitionTimePropertyTree.isLeaf())))) { + this.lastTransitionTime = ((_other.lastTransitionTime == null)?null:((XMLGregorianCalendar) _other.lastTransitionTime.clone())); + } + final PropertyTree lastMethodCallPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCall")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallPropertyTree!= null):((lastMethodCallPropertyTree == null)||(!lastMethodCallPropertyTree.isLeaf())))) { + this.lastMethodCall = _other.lastMethodCall; + } + final PropertyTree lastMethodSessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodSessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodSessionIdPropertyTree!= null):((lastMethodSessionIdPropertyTree == null)||(!lastMethodSessionIdPropertyTree.isLeaf())))) { + this.lastMethodSessionId = _other.lastMethodSessionId; + } + final PropertyTree lastMethodInputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodInputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodInputArgumentsPropertyTree!= null):((lastMethodInputArgumentsPropertyTree == null)||(!lastMethodInputArgumentsPropertyTree.isLeaf())))) { + this.lastMethodInputArguments = _other.lastMethodInputArguments; + } + final PropertyTree lastMethodOutputArgumentsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodOutputArguments")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodOutputArgumentsPropertyTree!= null):((lastMethodOutputArgumentsPropertyTree == null)||(!lastMethodOutputArgumentsPropertyTree.isLeaf())))) { + this.lastMethodOutputArguments = _other.lastMethodOutputArguments; + } + final PropertyTree lastMethodCallTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodCallTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodCallTimePropertyTree!= null):((lastMethodCallTimePropertyTree == null)||(!lastMethodCallTimePropertyTree.isLeaf())))) { + this.lastMethodCallTime = ((_other.lastMethodCallTime == null)?null:((XMLGregorianCalendar) _other.lastMethodCallTime.clone())); + } + final PropertyTree lastMethodReturnStatusPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("lastMethodReturnStatus")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lastMethodReturnStatusPropertyTree!= null):((lastMethodReturnStatusPropertyTree == null)||(!lastMethodReturnStatusPropertyTree.isLeaf())))) { + this.lastMethodReturnStatus = _other.lastMethodReturnStatus; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ProgramDiagnosticDataType >_P init(final _P _product) { + _product.createSessionId = this.createSessionId; + _product.createClientName = this.createClientName; + _product.invocationCreationTime = this.invocationCreationTime; + _product.lastTransitionTime = this.lastTransitionTime; + _product.lastMethodCall = this.lastMethodCall; + _product.lastMethodSessionId = this.lastMethodSessionId; + _product.lastMethodInputArguments = this.lastMethodInputArguments; + _product.lastMethodOutputArguments = this.lastMethodOutputArguments; + _product.lastMethodCallTime = this.lastMethodCallTime; + _product.lastMethodReturnStatus = this.lastMethodReturnStatus; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createSessionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param createSessionId + * Neuer Wert der Eigenschaft "createSessionId". + */ + public ProgramDiagnosticDataType.Builder<_B> withCreateSessionId(final JAXBElement createSessionId) { + this.createSessionId = createSessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createClientName" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param createClientName + * Neuer Wert der Eigenschaft "createClientName". + */ + public ProgramDiagnosticDataType.Builder<_B> withCreateClientName(final JAXBElement createClientName) { + this.createClientName = createClientName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "invocationCreationTime" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param invocationCreationTime + * Neuer Wert der Eigenschaft "invocationCreationTime". + */ + public ProgramDiagnosticDataType.Builder<_B> withInvocationCreationTime(final XMLGregorianCalendar invocationCreationTime) { + this.invocationCreationTime = invocationCreationTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastTransitionTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastTransitionTime + * Neuer Wert der Eigenschaft "lastTransitionTime". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastTransitionTime(final XMLGregorianCalendar lastTransitionTime) { + this.lastTransitionTime = lastTransitionTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodCall" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param lastMethodCall + * Neuer Wert der Eigenschaft "lastMethodCall". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastMethodCall(final JAXBElement lastMethodCall) { + this.lastMethodCall = lastMethodCall; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodSessionId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastMethodSessionId + * Neuer Wert der Eigenschaft "lastMethodSessionId". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastMethodSessionId(final JAXBElement lastMethodSessionId) { + this.lastMethodSessionId = lastMethodSessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodInputArguments" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodInputArguments + * Neuer Wert der Eigenschaft "lastMethodInputArguments". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastMethodInputArguments(final JAXBElement lastMethodInputArguments) { + this.lastMethodInputArguments = lastMethodInputArguments; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodOutputArguments" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodOutputArguments + * Neuer Wert der Eigenschaft "lastMethodOutputArguments". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastMethodOutputArguments(final JAXBElement lastMethodOutputArguments) { + this.lastMethodOutputArguments = lastMethodOutputArguments; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodCallTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param lastMethodCallTime + * Neuer Wert der Eigenschaft "lastMethodCallTime". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastMethodCallTime(final XMLGregorianCalendar lastMethodCallTime) { + this.lastMethodCallTime = lastMethodCallTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "lastMethodReturnStatus" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param lastMethodReturnStatus + * Neuer Wert der Eigenschaft "lastMethodReturnStatus". + */ + public ProgramDiagnosticDataType.Builder<_B> withLastMethodReturnStatus(final JAXBElement lastMethodReturnStatus) { + this.lastMethodReturnStatus = lastMethodReturnStatus; + return this; + } + + @Override + public ProgramDiagnosticDataType build() { + if (_storedValue == null) { + return this.init(new ProgramDiagnosticDataType()); + } else { + return ((ProgramDiagnosticDataType) _storedValue); + } + } + + public ProgramDiagnosticDataType.Builder<_B> copyOf(final ProgramDiagnosticDataType _other) { + _other.copyTo(this); + return this; + } + + public ProgramDiagnosticDataType.Builder<_B> copyOf(final ProgramDiagnosticDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ProgramDiagnosticDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ProgramDiagnosticDataType.Select _root() { + return new ProgramDiagnosticDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> createSessionId = null; + private com.kscs.util.jaxb.Selector> createClientName = null; + private com.kscs.util.jaxb.Selector> invocationCreationTime = null; + private com.kscs.util.jaxb.Selector> lastTransitionTime = null; + private com.kscs.util.jaxb.Selector> lastMethodCall = null; + private com.kscs.util.jaxb.Selector> lastMethodSessionId = null; + private com.kscs.util.jaxb.Selector> lastMethodInputArguments = null; + private com.kscs.util.jaxb.Selector> lastMethodOutputArguments = null; + private com.kscs.util.jaxb.Selector> lastMethodCallTime = null; + private com.kscs.util.jaxb.Selector> lastMethodReturnStatus = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.createSessionId!= null) { + products.put("createSessionId", this.createSessionId.init()); + } + if (this.createClientName!= null) { + products.put("createClientName", this.createClientName.init()); + } + if (this.invocationCreationTime!= null) { + products.put("invocationCreationTime", this.invocationCreationTime.init()); + } + if (this.lastTransitionTime!= null) { + products.put("lastTransitionTime", this.lastTransitionTime.init()); + } + if (this.lastMethodCall!= null) { + products.put("lastMethodCall", this.lastMethodCall.init()); + } + if (this.lastMethodSessionId!= null) { + products.put("lastMethodSessionId", this.lastMethodSessionId.init()); + } + if (this.lastMethodInputArguments!= null) { + products.put("lastMethodInputArguments", this.lastMethodInputArguments.init()); + } + if (this.lastMethodOutputArguments!= null) { + products.put("lastMethodOutputArguments", this.lastMethodOutputArguments.init()); + } + if (this.lastMethodCallTime!= null) { + products.put("lastMethodCallTime", this.lastMethodCallTime.init()); + } + if (this.lastMethodReturnStatus!= null) { + products.put("lastMethodReturnStatus", this.lastMethodReturnStatus.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> createSessionId() { + return ((this.createSessionId == null)?this.createSessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "createSessionId"):this.createSessionId); + } + + public com.kscs.util.jaxb.Selector> createClientName() { + return ((this.createClientName == null)?this.createClientName = new com.kscs.util.jaxb.Selector>(this._root, this, "createClientName"):this.createClientName); + } + + public com.kscs.util.jaxb.Selector> invocationCreationTime() { + return ((this.invocationCreationTime == null)?this.invocationCreationTime = new com.kscs.util.jaxb.Selector>(this._root, this, "invocationCreationTime"):this.invocationCreationTime); + } + + public com.kscs.util.jaxb.Selector> lastTransitionTime() { + return ((this.lastTransitionTime == null)?this.lastTransitionTime = new com.kscs.util.jaxb.Selector>(this._root, this, "lastTransitionTime"):this.lastTransitionTime); + } + + public com.kscs.util.jaxb.Selector> lastMethodCall() { + return ((this.lastMethodCall == null)?this.lastMethodCall = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodCall"):this.lastMethodCall); + } + + public com.kscs.util.jaxb.Selector> lastMethodSessionId() { + return ((this.lastMethodSessionId == null)?this.lastMethodSessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodSessionId"):this.lastMethodSessionId); + } + + public com.kscs.util.jaxb.Selector> lastMethodInputArguments() { + return ((this.lastMethodInputArguments == null)?this.lastMethodInputArguments = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodInputArguments"):this.lastMethodInputArguments); + } + + public com.kscs.util.jaxb.Selector> lastMethodOutputArguments() { + return ((this.lastMethodOutputArguments == null)?this.lastMethodOutputArguments = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodOutputArguments"):this.lastMethodOutputArguments); + } + + public com.kscs.util.jaxb.Selector> lastMethodCallTime() { + return ((this.lastMethodCallTime == null)?this.lastMethodCallTime = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodCallTime"):this.lastMethodCallTime); + } + + public com.kscs.util.jaxb.Selector> lastMethodReturnStatus() { + return ((this.lastMethodReturnStatus == null)?this.lastMethodReturnStatus = new com.kscs.util.jaxb.Selector>(this._root, this, "lastMethodReturnStatus"):this.lastMethodReturnStatus); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConfigurationDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConfigurationDataType.java new file mode 100644 index 000000000..14bef0e4f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConfigurationDataType.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PubSubConfigurationDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PubSubConfigurationDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedDataSets" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfPublishedDataSetDataType" minOccurs="0"/>
+ *         <element name="Connections" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfPubSubConnectionDataType" minOccurs="0"/>
+ *         <element name="Enabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PubSubConfigurationDataType", propOrder = { + "publishedDataSets", + "connections", + "enabled" +}) +public class PubSubConfigurationDataType { + + @XmlElementRef(name = "PublishedDataSets", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement publishedDataSets; + @XmlElementRef(name = "Connections", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement connections; + @XmlElement(name = "Enabled") + protected Boolean enabled; + + /** + * Ruft den Wert der publishedDataSets-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetDataType }{@code >} + * + */ + public JAXBElement getPublishedDataSets() { + return publishedDataSets; + } + + /** + * Legt den Wert der publishedDataSets-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfPublishedDataSetDataType }{@code >} + * + */ + public void setPublishedDataSets(JAXBElement value) { + this.publishedDataSets = value; + } + + /** + * Ruft den Wert der connections-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfPubSubConnectionDataType }{@code >} + * + */ + public JAXBElement getConnections() { + return connections; + } + + /** + * Legt den Wert der connections-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfPubSubConnectionDataType }{@code >} + * + */ + public void setConnections(JAXBElement value) { + this.connections = value; + } + + /** + * Ruft den Wert der enabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isEnabled() { + return enabled; + } + + /** + * Legt den Wert der enabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setEnabled(Boolean value) { + this.enabled = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PubSubConfigurationDataType.Builder<_B> _other) { + _other.publishedDataSets = this.publishedDataSets; + _other.connections = this.connections; + _other.enabled = this.enabled; + } + + public<_B >PubSubConfigurationDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PubSubConfigurationDataType.Builder<_B>(_parentBuilder, this, true); + } + + public PubSubConfigurationDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PubSubConfigurationDataType.Builder builder() { + return new PubSubConfigurationDataType.Builder(null, null, false); + } + + public static<_B >PubSubConfigurationDataType.Builder<_B> copyOf(final PubSubConfigurationDataType _other) { + final PubSubConfigurationDataType.Builder<_B> _newBuilder = new PubSubConfigurationDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PubSubConfigurationDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedDataSetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataSets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataSetsPropertyTree!= null):((publishedDataSetsPropertyTree == null)||(!publishedDataSetsPropertyTree.isLeaf())))) { + _other.publishedDataSets = this.publishedDataSets; + } + final PropertyTree connectionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connections")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectionsPropertyTree!= null):((connectionsPropertyTree == null)||(!connectionsPropertyTree.isLeaf())))) { + _other.connections = this.connections; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + _other.enabled = this.enabled; + } + } + + public<_B >PubSubConfigurationDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PubSubConfigurationDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PubSubConfigurationDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PubSubConfigurationDataType.Builder<_B> copyOf(final PubSubConfigurationDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PubSubConfigurationDataType.Builder<_B> _newBuilder = new PubSubConfigurationDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PubSubConfigurationDataType.Builder copyExcept(final PubSubConfigurationDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PubSubConfigurationDataType.Builder copyOnly(final PubSubConfigurationDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PubSubConfigurationDataType _storedValue; + private JAXBElement publishedDataSets; + private JAXBElement connections; + private Boolean enabled; + + public Builder(final _B _parentBuilder, final PubSubConfigurationDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.publishedDataSets = _other.publishedDataSets; + this.connections = _other.connections; + this.enabled = _other.enabled; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PubSubConfigurationDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedDataSetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedDataSets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataSetsPropertyTree!= null):((publishedDataSetsPropertyTree == null)||(!publishedDataSetsPropertyTree.isLeaf())))) { + this.publishedDataSets = _other.publishedDataSets; + } + final PropertyTree connectionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connections")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectionsPropertyTree!= null):((connectionsPropertyTree == null)||(!connectionsPropertyTree.isLeaf())))) { + this.connections = _other.connections; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + this.enabled = _other.enabled; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PubSubConfigurationDataType >_P init(final _P _product) { + _product.publishedDataSets = this.publishedDataSets; + _product.connections = this.connections; + _product.enabled = this.enabled; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedDataSets" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishedDataSets + * Neuer Wert der Eigenschaft "publishedDataSets". + */ + public PubSubConfigurationDataType.Builder<_B> withPublishedDataSets(final JAXBElement publishedDataSets) { + this.publishedDataSets = publishedDataSets; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "connections" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param connections + * Neuer Wert der Eigenschaft "connections". + */ + public PubSubConfigurationDataType.Builder<_B> withConnections(final JAXBElement connections) { + this.connections = connections; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + public PubSubConfigurationDataType.Builder<_B> withEnabled(final Boolean enabled) { + this.enabled = enabled; + return this; + } + + @Override + public PubSubConfigurationDataType build() { + if (_storedValue == null) { + return this.init(new PubSubConfigurationDataType()); + } else { + return ((PubSubConfigurationDataType) _storedValue); + } + } + + public PubSubConfigurationDataType.Builder<_B> copyOf(final PubSubConfigurationDataType _other) { + _other.copyTo(this); + return this; + } + + public PubSubConfigurationDataType.Builder<_B> copyOf(final PubSubConfigurationDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PubSubConfigurationDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PubSubConfigurationDataType.Select _root() { + return new PubSubConfigurationDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> publishedDataSets = null; + private com.kscs.util.jaxb.Selector> connections = null; + private com.kscs.util.jaxb.Selector> enabled = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedDataSets!= null) { + products.put("publishedDataSets", this.publishedDataSets.init()); + } + if (this.connections!= null) { + products.put("connections", this.connections.init()); + } + if (this.enabled!= null) { + products.put("enabled", this.enabled.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> publishedDataSets() { + return ((this.publishedDataSets == null)?this.publishedDataSets = new com.kscs.util.jaxb.Selector>(this._root, this, "publishedDataSets"):this.publishedDataSets); + } + + public com.kscs.util.jaxb.Selector> connections() { + return ((this.connections == null)?this.connections = new com.kscs.util.jaxb.Selector>(this._root, this, "connections"):this.connections); + } + + public com.kscs.util.jaxb.Selector> enabled() { + return ((this.enabled == null)?this.enabled = new com.kscs.util.jaxb.Selector>(this._root, this, "enabled"):this.enabled); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConnectionDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConnectionDataType.java new file mode 100644 index 000000000..a65346540 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubConnectionDataType.java @@ -0,0 +1,759 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PubSubConnectionDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PubSubConnectionDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Enabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="PublisherId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="TransportProfileUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Address" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="ConnectionProperties" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *         <element name="TransportSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="WriterGroups" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfWriterGroupDataType" minOccurs="0"/>
+ *         <element name="ReaderGroups" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfReaderGroupDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PubSubConnectionDataType", propOrder = { + "name", + "enabled", + "publisherId", + "transportProfileUri", + "address", + "connectionProperties", + "transportSettings", + "writerGroups", + "readerGroups" +}) +public class PubSubConnectionDataType { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElement(name = "Enabled") + protected Boolean enabled; + @XmlElement(name = "PublisherId") + protected Variant publisherId; + @XmlElementRef(name = "TransportProfileUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportProfileUri; + @XmlElementRef(name = "Address", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement address; + @XmlElementRef(name = "ConnectionProperties", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement connectionProperties; + @XmlElementRef(name = "TransportSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportSettings; + @XmlElementRef(name = "WriterGroups", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement writerGroups; + @XmlElementRef(name = "ReaderGroups", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement readerGroups; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der enabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isEnabled() { + return enabled; + } + + /** + * Legt den Wert der enabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setEnabled(Boolean value) { + this.enabled = value; + } + + /** + * Ruft den Wert der publisherId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getPublisherId() { + return publisherId; + } + + /** + * Legt den Wert der publisherId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setPublisherId(Variant value) { + this.publisherId = value; + } + + /** + * Ruft den Wert der transportProfileUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getTransportProfileUri() { + return transportProfileUri; + } + + /** + * Legt den Wert der transportProfileUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setTransportProfileUri(JAXBElement value) { + this.transportProfileUri = value; + } + + /** + * Ruft den Wert der address-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getAddress() { + return address; + } + + /** + * Legt den Wert der address-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setAddress(JAXBElement value) { + this.address = value; + } + + /** + * Ruft den Wert der connectionProperties-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getConnectionProperties() { + return connectionProperties; + } + + /** + * Legt den Wert der connectionProperties-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setConnectionProperties(JAXBElement value) { + this.connectionProperties = value; + } + + /** + * Ruft den Wert der transportSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getTransportSettings() { + return transportSettings; + } + + /** + * Legt den Wert der transportSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setTransportSettings(JAXBElement value) { + this.transportSettings = value; + } + + /** + * Ruft den Wert der writerGroups-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfWriterGroupDataType }{@code >} + * + */ + public JAXBElement getWriterGroups() { + return writerGroups; + } + + /** + * Legt den Wert der writerGroups-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfWriterGroupDataType }{@code >} + * + */ + public void setWriterGroups(JAXBElement value) { + this.writerGroups = value; + } + + /** + * Ruft den Wert der readerGroups-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfReaderGroupDataType }{@code >} + * + */ + public JAXBElement getReaderGroups() { + return readerGroups; + } + + /** + * Legt den Wert der readerGroups-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfReaderGroupDataType }{@code >} + * + */ + public void setReaderGroups(JAXBElement value) { + this.readerGroups = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PubSubConnectionDataType.Builder<_B> _other) { + _other.name = this.name; + _other.enabled = this.enabled; + _other.publisherId = ((this.publisherId == null)?null:this.publisherId.newCopyBuilder(_other)); + _other.transportProfileUri = this.transportProfileUri; + _other.address = this.address; + _other.connectionProperties = this.connectionProperties; + _other.transportSettings = this.transportSettings; + _other.writerGroups = this.writerGroups; + _other.readerGroups = this.readerGroups; + } + + public<_B >PubSubConnectionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PubSubConnectionDataType.Builder<_B>(_parentBuilder, this, true); + } + + public PubSubConnectionDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PubSubConnectionDataType.Builder builder() { + return new PubSubConnectionDataType.Builder(null, null, false); + } + + public static<_B >PubSubConnectionDataType.Builder<_B> copyOf(final PubSubConnectionDataType _other) { + final PubSubConnectionDataType.Builder<_B> _newBuilder = new PubSubConnectionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PubSubConnectionDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + _other.enabled = this.enabled; + } + final PropertyTree publisherIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publisherId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publisherIdPropertyTree!= null):((publisherIdPropertyTree == null)||(!publisherIdPropertyTree.isLeaf())))) { + _other.publisherId = ((this.publisherId == null)?null:this.publisherId.newCopyBuilder(_other, publisherIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree transportProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProfileUriPropertyTree!= null):((transportProfileUriPropertyTree == null)||(!transportProfileUriPropertyTree.isLeaf())))) { + _other.transportProfileUri = this.transportProfileUri; + } + final PropertyTree addressPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("address")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addressPropertyTree!= null):((addressPropertyTree == null)||(!addressPropertyTree.isLeaf())))) { + _other.address = this.address; + } + final PropertyTree connectionPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectionProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectionPropertiesPropertyTree!= null):((connectionPropertiesPropertyTree == null)||(!connectionPropertiesPropertyTree.isLeaf())))) { + _other.connectionProperties = this.connectionProperties; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + _other.transportSettings = this.transportSettings; + } + final PropertyTree writerGroupsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroups")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupsPropertyTree!= null):((writerGroupsPropertyTree == null)||(!writerGroupsPropertyTree.isLeaf())))) { + _other.writerGroups = this.writerGroups; + } + final PropertyTree readerGroupsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroups")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupsPropertyTree!= null):((readerGroupsPropertyTree == null)||(!readerGroupsPropertyTree.isLeaf())))) { + _other.readerGroups = this.readerGroups; + } + } + + public<_B >PubSubConnectionDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PubSubConnectionDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PubSubConnectionDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PubSubConnectionDataType.Builder<_B> copyOf(final PubSubConnectionDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PubSubConnectionDataType.Builder<_B> _newBuilder = new PubSubConnectionDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PubSubConnectionDataType.Builder copyExcept(final PubSubConnectionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PubSubConnectionDataType.Builder copyOnly(final PubSubConnectionDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PubSubConnectionDataType _storedValue; + private JAXBElement name; + private Boolean enabled; + private Variant.Builder> publisherId; + private JAXBElement transportProfileUri; + private JAXBElement address; + private JAXBElement connectionProperties; + private JAXBElement transportSettings; + private JAXBElement writerGroups; + private JAXBElement readerGroups; + + public Builder(final _B _parentBuilder, final PubSubConnectionDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.enabled = _other.enabled; + this.publisherId = ((_other.publisherId == null)?null:_other.publisherId.newCopyBuilder(this)); + this.transportProfileUri = _other.transportProfileUri; + this.address = _other.address; + this.connectionProperties = _other.connectionProperties; + this.transportSettings = _other.transportSettings; + this.writerGroups = _other.writerGroups; + this.readerGroups = _other.readerGroups; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PubSubConnectionDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + this.enabled = _other.enabled; + } + final PropertyTree publisherIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publisherId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publisherIdPropertyTree!= null):((publisherIdPropertyTree == null)||(!publisherIdPropertyTree.isLeaf())))) { + this.publisherId = ((_other.publisherId == null)?null:_other.publisherId.newCopyBuilder(this, publisherIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree transportProfileUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProfileUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProfileUriPropertyTree!= null):((transportProfileUriPropertyTree == null)||(!transportProfileUriPropertyTree.isLeaf())))) { + this.transportProfileUri = _other.transportProfileUri; + } + final PropertyTree addressPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("address")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addressPropertyTree!= null):((addressPropertyTree == null)||(!addressPropertyTree.isLeaf())))) { + this.address = _other.address; + } + final PropertyTree connectionPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("connectionProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(connectionPropertiesPropertyTree!= null):((connectionPropertiesPropertyTree == null)||(!connectionPropertiesPropertyTree.isLeaf())))) { + this.connectionProperties = _other.connectionProperties; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + this.transportSettings = _other.transportSettings; + } + final PropertyTree writerGroupsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroups")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupsPropertyTree!= null):((writerGroupsPropertyTree == null)||(!writerGroupsPropertyTree.isLeaf())))) { + this.writerGroups = _other.writerGroups; + } + final PropertyTree readerGroupsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readerGroups")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readerGroupsPropertyTree!= null):((readerGroupsPropertyTree == null)||(!readerGroupsPropertyTree.isLeaf())))) { + this.readerGroups = _other.readerGroups; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PubSubConnectionDataType >_P init(final _P _product) { + _product.name = this.name; + _product.enabled = this.enabled; + _product.publisherId = ((this.publisherId == null)?null:this.publisherId.build()); + _product.transportProfileUri = this.transportProfileUri; + _product.address = this.address; + _product.connectionProperties = this.connectionProperties; + _product.transportSettings = this.transportSettings; + _product.writerGroups = this.writerGroups; + _product.readerGroups = this.readerGroups; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public PubSubConnectionDataType.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + public PubSubConnectionDataType.Builder<_B> withEnabled(final Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publisherId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param publisherId + * Neuer Wert der Eigenschaft "publisherId". + */ + public PubSubConnectionDataType.Builder<_B> withPublisherId(final Variant publisherId) { + this.publisherId = ((publisherId == null)?null:new Variant.Builder>(this, publisherId, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "publisherId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "publisherId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withPublisherId() { + if (this.publisherId!= null) { + return this.publisherId; + } + return this.publisherId = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportProfileUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportProfileUri + * Neuer Wert der Eigenschaft "transportProfileUri". + */ + public PubSubConnectionDataType.Builder<_B> withTransportProfileUri(final JAXBElement transportProfileUri) { + this.transportProfileUri = transportProfileUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "address" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param address + * Neuer Wert der Eigenschaft "address". + */ + public PubSubConnectionDataType.Builder<_B> withAddress(final JAXBElement address) { + this.address = address; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "connectionProperties" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param connectionProperties + * Neuer Wert der Eigenschaft "connectionProperties". + */ + public PubSubConnectionDataType.Builder<_B> withConnectionProperties(final JAXBElement connectionProperties) { + this.connectionProperties = connectionProperties; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportSettings" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportSettings + * Neuer Wert der Eigenschaft "transportSettings". + */ + public PubSubConnectionDataType.Builder<_B> withTransportSettings(final JAXBElement transportSettings) { + this.transportSettings = transportSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroups" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param writerGroups + * Neuer Wert der Eigenschaft "writerGroups". + */ + public PubSubConnectionDataType.Builder<_B> withWriterGroups(final JAXBElement writerGroups) { + this.writerGroups = writerGroups; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readerGroups" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param readerGroups + * Neuer Wert der Eigenschaft "readerGroups". + */ + public PubSubConnectionDataType.Builder<_B> withReaderGroups(final JAXBElement readerGroups) { + this.readerGroups = readerGroups; + return this; + } + + @Override + public PubSubConnectionDataType build() { + if (_storedValue == null) { + return this.init(new PubSubConnectionDataType()); + } else { + return ((PubSubConnectionDataType) _storedValue); + } + } + + public PubSubConnectionDataType.Builder<_B> copyOf(final PubSubConnectionDataType _other) { + _other.copyTo(this); + return this; + } + + public PubSubConnectionDataType.Builder<_B> copyOf(final PubSubConnectionDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PubSubConnectionDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PubSubConnectionDataType.Select _root() { + return new PubSubConnectionDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> enabled = null; + private Variant.Selector> publisherId = null; + private com.kscs.util.jaxb.Selector> transportProfileUri = null; + private com.kscs.util.jaxb.Selector> address = null; + private com.kscs.util.jaxb.Selector> connectionProperties = null; + private com.kscs.util.jaxb.Selector> transportSettings = null; + private com.kscs.util.jaxb.Selector> writerGroups = null; + private com.kscs.util.jaxb.Selector> readerGroups = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.enabled!= null) { + products.put("enabled", this.enabled.init()); + } + if (this.publisherId!= null) { + products.put("publisherId", this.publisherId.init()); + } + if (this.transportProfileUri!= null) { + products.put("transportProfileUri", this.transportProfileUri.init()); + } + if (this.address!= null) { + products.put("address", this.address.init()); + } + if (this.connectionProperties!= null) { + products.put("connectionProperties", this.connectionProperties.init()); + } + if (this.transportSettings!= null) { + products.put("transportSettings", this.transportSettings.init()); + } + if (this.writerGroups!= null) { + products.put("writerGroups", this.writerGroups.init()); + } + if (this.readerGroups!= null) { + products.put("readerGroups", this.readerGroups.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> enabled() { + return ((this.enabled == null)?this.enabled = new com.kscs.util.jaxb.Selector>(this._root, this, "enabled"):this.enabled); + } + + public Variant.Selector> publisherId() { + return ((this.publisherId == null)?this.publisherId = new Variant.Selector>(this._root, this, "publisherId"):this.publisherId); + } + + public com.kscs.util.jaxb.Selector> transportProfileUri() { + return ((this.transportProfileUri == null)?this.transportProfileUri = new com.kscs.util.jaxb.Selector>(this._root, this, "transportProfileUri"):this.transportProfileUri); + } + + public com.kscs.util.jaxb.Selector> address() { + return ((this.address == null)?this.address = new com.kscs.util.jaxb.Selector>(this._root, this, "address"):this.address); + } + + public com.kscs.util.jaxb.Selector> connectionProperties() { + return ((this.connectionProperties == null)?this.connectionProperties = new com.kscs.util.jaxb.Selector>(this._root, this, "connectionProperties"):this.connectionProperties); + } + + public com.kscs.util.jaxb.Selector> transportSettings() { + return ((this.transportSettings == null)?this.transportSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "transportSettings"):this.transportSettings); + } + + public com.kscs.util.jaxb.Selector> writerGroups() { + return ((this.writerGroups == null)?this.writerGroups = new com.kscs.util.jaxb.Selector>(this._root, this, "writerGroups"):this.writerGroups); + } + + public com.kscs.util.jaxb.Selector> readerGroups() { + return ((this.readerGroups == null)?this.readerGroups = new com.kscs.util.jaxb.Selector>(this._root, this, "readerGroups"):this.readerGroups); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubDiagnosticsCounterClassification.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubDiagnosticsCounterClassification.java new file mode 100644 index 000000000..1d5bed4ad --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubDiagnosticsCounterClassification.java @@ -0,0 +1,58 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für PubSubDiagnosticsCounterClassification. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="PubSubDiagnosticsCounterClassification">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Information_0"/>
+ *     <enumeration value="Error_1"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "PubSubDiagnosticsCounterClassification") +@XmlEnum +public enum PubSubDiagnosticsCounterClassification { + + @XmlEnumValue("Information_0") + INFORMATION_0("Information_0"), + @XmlEnumValue("Error_1") + ERROR_1("Error_1"); + private final String value; + + PubSubDiagnosticsCounterClassification(String v) { + value = v; + } + + public String value() { + return value; + } + + public static PubSubDiagnosticsCounterClassification fromValue(String v) { + for (PubSubDiagnosticsCounterClassification c: PubSubDiagnosticsCounterClassification.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubGroupDataType.java new file mode 100644 index 000000000..c158cb94c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubGroupDataType.java @@ -0,0 +1,629 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PubSubGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PubSubGroupDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Enabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="SecurityMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MessageSecurityMode" minOccurs="0"/>
+ *         <element name="SecurityGroupId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityKeyServices" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfEndpointDescription" minOccurs="0"/>
+ *         <element name="MaxNetworkMessageSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="GroupProperties" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PubSubGroupDataType", propOrder = { + "name", + "enabled", + "securityMode", + "securityGroupId", + "securityKeyServices", + "maxNetworkMessageSize", + "groupProperties" +}) +@XmlSeeAlso({ + WriterGroupDataType.class, + ReaderGroupDataType.class +}) +public class PubSubGroupDataType { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElement(name = "Enabled") + protected Boolean enabled; + @XmlElement(name = "SecurityMode") + @XmlSchemaType(name = "string") + protected MessageSecurityMode securityMode; + @XmlElementRef(name = "SecurityGroupId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityGroupId; + @XmlElementRef(name = "SecurityKeyServices", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityKeyServices; + @XmlElement(name = "MaxNetworkMessageSize") + @XmlSchemaType(name = "unsignedInt") + protected Long maxNetworkMessageSize; + @XmlElementRef(name = "GroupProperties", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement groupProperties; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der enabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isEnabled() { + return enabled; + } + + /** + * Legt den Wert der enabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setEnabled(Boolean value) { + this.enabled = value; + } + + /** + * Ruft den Wert der securityMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MessageSecurityMode } + * + */ + public MessageSecurityMode getSecurityMode() { + return securityMode; + } + + /** + * Legt den Wert der securityMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MessageSecurityMode } + * + */ + public void setSecurityMode(MessageSecurityMode value) { + this.securityMode = value; + } + + /** + * Ruft den Wert der securityGroupId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSecurityGroupId() { + return securityGroupId; + } + + /** + * Legt den Wert der securityGroupId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSecurityGroupId(JAXBElement value) { + this.securityGroupId = value; + } + + /** + * Ruft den Wert der securityKeyServices-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public JAXBElement getSecurityKeyServices() { + return securityKeyServices; + } + + /** + * Legt den Wert der securityKeyServices-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfEndpointDescription }{@code >} + * + */ + public void setSecurityKeyServices(JAXBElement value) { + this.securityKeyServices = value; + } + + /** + * Ruft den Wert der maxNetworkMessageSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxNetworkMessageSize() { + return maxNetworkMessageSize; + } + + /** + * Legt den Wert der maxNetworkMessageSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxNetworkMessageSize(Long value) { + this.maxNetworkMessageSize = value; + } + + /** + * Ruft den Wert der groupProperties-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getGroupProperties() { + return groupProperties; + } + + /** + * Legt den Wert der groupProperties-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setGroupProperties(JAXBElement value) { + this.groupProperties = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PubSubGroupDataType.Builder<_B> _other) { + _other.name = this.name; + _other.enabled = this.enabled; + _other.securityMode = this.securityMode; + _other.securityGroupId = this.securityGroupId; + _other.securityKeyServices = this.securityKeyServices; + _other.maxNetworkMessageSize = this.maxNetworkMessageSize; + _other.groupProperties = this.groupProperties; + } + + public<_B >PubSubGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PubSubGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + public PubSubGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PubSubGroupDataType.Builder builder() { + return new PubSubGroupDataType.Builder(null, null, false); + } + + public static<_B >PubSubGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other) { + final PubSubGroupDataType.Builder<_B> _newBuilder = new PubSubGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PubSubGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + _other.enabled = this.enabled; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + _other.securityMode = this.securityMode; + } + final PropertyTree securityGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityGroupIdPropertyTree!= null):((securityGroupIdPropertyTree == null)||(!securityGroupIdPropertyTree.isLeaf())))) { + _other.securityGroupId = this.securityGroupId; + } + final PropertyTree securityKeyServicesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityKeyServices")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityKeyServicesPropertyTree!= null):((securityKeyServicesPropertyTree == null)||(!securityKeyServicesPropertyTree.isLeaf())))) { + _other.securityKeyServices = this.securityKeyServices; + } + final PropertyTree maxNetworkMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNetworkMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNetworkMessageSizePropertyTree!= null):((maxNetworkMessageSizePropertyTree == null)||(!maxNetworkMessageSizePropertyTree.isLeaf())))) { + _other.maxNetworkMessageSize = this.maxNetworkMessageSize; + } + final PropertyTree groupPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("groupProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(groupPropertiesPropertyTree!= null):((groupPropertiesPropertyTree == null)||(!groupPropertiesPropertyTree.isLeaf())))) { + _other.groupProperties = this.groupProperties; + } + } + + public<_B >PubSubGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PubSubGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PubSubGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PubSubGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PubSubGroupDataType.Builder<_B> _newBuilder = new PubSubGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PubSubGroupDataType.Builder copyExcept(final PubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PubSubGroupDataType.Builder copyOnly(final PubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PubSubGroupDataType _storedValue; + private JAXBElement name; + private Boolean enabled; + private MessageSecurityMode securityMode; + private JAXBElement securityGroupId; + private JAXBElement securityKeyServices; + private Long maxNetworkMessageSize; + private JAXBElement groupProperties; + + public Builder(final _B _parentBuilder, final PubSubGroupDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.enabled = _other.enabled; + this.securityMode = _other.securityMode; + this.securityGroupId = _other.securityGroupId; + this.securityKeyServices = _other.securityKeyServices; + this.maxNetworkMessageSize = _other.maxNetworkMessageSize; + this.groupProperties = _other.groupProperties; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PubSubGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree enabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enabledPropertyTree!= null):((enabledPropertyTree == null)||(!enabledPropertyTree.isLeaf())))) { + this.enabled = _other.enabled; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + this.securityMode = _other.securityMode; + } + final PropertyTree securityGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityGroupIdPropertyTree!= null):((securityGroupIdPropertyTree == null)||(!securityGroupIdPropertyTree.isLeaf())))) { + this.securityGroupId = _other.securityGroupId; + } + final PropertyTree securityKeyServicesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityKeyServices")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityKeyServicesPropertyTree!= null):((securityKeyServicesPropertyTree == null)||(!securityKeyServicesPropertyTree.isLeaf())))) { + this.securityKeyServices = _other.securityKeyServices; + } + final PropertyTree maxNetworkMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNetworkMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNetworkMessageSizePropertyTree!= null):((maxNetworkMessageSizePropertyTree == null)||(!maxNetworkMessageSizePropertyTree.isLeaf())))) { + this.maxNetworkMessageSize = _other.maxNetworkMessageSize; + } + final PropertyTree groupPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("groupProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(groupPropertiesPropertyTree!= null):((groupPropertiesPropertyTree == null)||(!groupPropertiesPropertyTree.isLeaf())))) { + this.groupProperties = _other.groupProperties; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PubSubGroupDataType >_P init(final _P _product) { + _product.name = this.name; + _product.enabled = this.enabled; + _product.securityMode = this.securityMode; + _product.securityGroupId = this.securityGroupId; + _product.securityKeyServices = this.securityKeyServices; + _product.maxNetworkMessageSize = this.maxNetworkMessageSize; + _product.groupProperties = this.groupProperties; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public PubSubGroupDataType.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + public PubSubGroupDataType.Builder<_B> withEnabled(final Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + public PubSubGroupDataType.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + this.securityMode = securityMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityGroupId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityGroupId + * Neuer Wert der Eigenschaft "securityGroupId". + */ + public PubSubGroupDataType.Builder<_B> withSecurityGroupId(final JAXBElement securityGroupId) { + this.securityGroupId = securityGroupId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityKeyServices" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityKeyServices + * Neuer Wert der Eigenschaft "securityKeyServices". + */ + public PubSubGroupDataType.Builder<_B> withSecurityKeyServices(final JAXBElement securityKeyServices) { + this.securityKeyServices = securityKeyServices; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxNetworkMessageSize" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxNetworkMessageSize + * Neuer Wert der Eigenschaft "maxNetworkMessageSize". + */ + public PubSubGroupDataType.Builder<_B> withMaxNetworkMessageSize(final Long maxNetworkMessageSize) { + this.maxNetworkMessageSize = maxNetworkMessageSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "groupProperties" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param groupProperties + * Neuer Wert der Eigenschaft "groupProperties". + */ + public PubSubGroupDataType.Builder<_B> withGroupProperties(final JAXBElement groupProperties) { + this.groupProperties = groupProperties; + return this; + } + + @Override + public PubSubGroupDataType build() { + if (_storedValue == null) { + return this.init(new PubSubGroupDataType()); + } else { + return ((PubSubGroupDataType) _storedValue); + } + } + + public PubSubGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public PubSubGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PubSubGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PubSubGroupDataType.Select _root() { + return new PubSubGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> enabled = null; + private com.kscs.util.jaxb.Selector> securityMode = null; + private com.kscs.util.jaxb.Selector> securityGroupId = null; + private com.kscs.util.jaxb.Selector> securityKeyServices = null; + private com.kscs.util.jaxb.Selector> maxNetworkMessageSize = null; + private com.kscs.util.jaxb.Selector> groupProperties = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.enabled!= null) { + products.put("enabled", this.enabled.init()); + } + if (this.securityMode!= null) { + products.put("securityMode", this.securityMode.init()); + } + if (this.securityGroupId!= null) { + products.put("securityGroupId", this.securityGroupId.init()); + } + if (this.securityKeyServices!= null) { + products.put("securityKeyServices", this.securityKeyServices.init()); + } + if (this.maxNetworkMessageSize!= null) { + products.put("maxNetworkMessageSize", this.maxNetworkMessageSize.init()); + } + if (this.groupProperties!= null) { + products.put("groupProperties", this.groupProperties.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> enabled() { + return ((this.enabled == null)?this.enabled = new com.kscs.util.jaxb.Selector>(this._root, this, "enabled"):this.enabled); + } + + public com.kscs.util.jaxb.Selector> securityMode() { + return ((this.securityMode == null)?this.securityMode = new com.kscs.util.jaxb.Selector>(this._root, this, "securityMode"):this.securityMode); + } + + public com.kscs.util.jaxb.Selector> securityGroupId() { + return ((this.securityGroupId == null)?this.securityGroupId = new com.kscs.util.jaxb.Selector>(this._root, this, "securityGroupId"):this.securityGroupId); + } + + public com.kscs.util.jaxb.Selector> securityKeyServices() { + return ((this.securityKeyServices == null)?this.securityKeyServices = new com.kscs.util.jaxb.Selector>(this._root, this, "securityKeyServices"):this.securityKeyServices); + } + + public com.kscs.util.jaxb.Selector> maxNetworkMessageSize() { + return ((this.maxNetworkMessageSize == null)?this.maxNetworkMessageSize = new com.kscs.util.jaxb.Selector>(this._root, this, "maxNetworkMessageSize"):this.maxNetworkMessageSize); + } + + public com.kscs.util.jaxb.Selector> groupProperties() { + return ((this.groupProperties == null)?this.groupProperties = new com.kscs.util.jaxb.Selector>(this._root, this, "groupProperties"):this.groupProperties); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubState.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubState.java new file mode 100644 index 000000000..65fa25c13 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PubSubState.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für PubSubState. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="PubSubState">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Disabled_0"/>
+ *     <enumeration value="Paused_1"/>
+ *     <enumeration value="Operational_2"/>
+ *     <enumeration value="Error_3"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "PubSubState") +@XmlEnum +public enum PubSubState { + + @XmlEnumValue("Disabled_0") + DISABLED_0("Disabled_0"), + @XmlEnumValue("Paused_1") + PAUSED_1("Paused_1"), + @XmlEnumValue("Operational_2") + OPERATIONAL_2("Operational_2"), + @XmlEnumValue("Error_3") + ERROR_3("Error_3"); + private final String value; + + PubSubState(String v) { + value = v; + } + + public String value() { + return value; + } + + public static PubSubState fromValue(String v) { + for (PubSubState c: PubSubState.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishRequest.java new file mode 100644 index 000000000..acdd65947 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionAcknowledgements" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfSubscriptionAcknowledgement" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishRequest", propOrder = { + "requestHeader", + "subscriptionAcknowledgements" +}) +public class PublishRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "SubscriptionAcknowledgements", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement subscriptionAcknowledgements; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionAcknowledgements-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfSubscriptionAcknowledgement }{@code >} + * + */ + public JAXBElement getSubscriptionAcknowledgements() { + return subscriptionAcknowledgements; + } + + /** + * Legt den Wert der subscriptionAcknowledgements-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfSubscriptionAcknowledgement }{@code >} + * + */ + public void setSubscriptionAcknowledgements(JAXBElement value) { + this.subscriptionAcknowledgements = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionAcknowledgements = this.subscriptionAcknowledgements; + } + + public<_B >PublishRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishRequest.Builder<_B>(_parentBuilder, this, true); + } + + public PublishRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishRequest.Builder builder() { + return new PublishRequest.Builder(null, null, false); + } + + public static<_B >PublishRequest.Builder<_B> copyOf(final PublishRequest _other) { + final PublishRequest.Builder<_B> _newBuilder = new PublishRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionAcknowledgementsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionAcknowledgements")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionAcknowledgementsPropertyTree!= null):((subscriptionAcknowledgementsPropertyTree == null)||(!subscriptionAcknowledgementsPropertyTree.isLeaf())))) { + _other.subscriptionAcknowledgements = this.subscriptionAcknowledgements; + } + } + + public<_B >PublishRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PublishRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishRequest.Builder<_B> copyOf(final PublishRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishRequest.Builder<_B> _newBuilder = new PublishRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishRequest.Builder copyExcept(final PublishRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishRequest.Builder copyOnly(final PublishRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PublishRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement subscriptionAcknowledgements; + + public Builder(final _B _parentBuilder, final PublishRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionAcknowledgements = _other.subscriptionAcknowledgements; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PublishRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionAcknowledgementsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionAcknowledgements")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionAcknowledgementsPropertyTree!= null):((subscriptionAcknowledgementsPropertyTree == null)||(!subscriptionAcknowledgementsPropertyTree.isLeaf())))) { + this.subscriptionAcknowledgements = _other.subscriptionAcknowledgements; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PublishRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionAcknowledgements = this.subscriptionAcknowledgements; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public PublishRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionAcknowledgements" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param subscriptionAcknowledgements + * Neuer Wert der Eigenschaft "subscriptionAcknowledgements". + */ + public PublishRequest.Builder<_B> withSubscriptionAcknowledgements(final JAXBElement subscriptionAcknowledgements) { + this.subscriptionAcknowledgements = subscriptionAcknowledgements; + return this; + } + + @Override + public PublishRequest build() { + if (_storedValue == null) { + return this.init(new PublishRequest()); + } else { + return ((PublishRequest) _storedValue); + } + } + + public PublishRequest.Builder<_B> copyOf(final PublishRequest _other) { + _other.copyTo(this); + return this; + } + + public PublishRequest.Builder<_B> copyOf(final PublishRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishRequest.Select _root() { + return new PublishRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionAcknowledgements = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionAcknowledgements!= null) { + products.put("subscriptionAcknowledgements", this.subscriptionAcknowledgements.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionAcknowledgements() { + return ((this.subscriptionAcknowledgements == null)?this.subscriptionAcknowledgements = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionAcknowledgements"):this.subscriptionAcknowledgements); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishResponse.java new file mode 100644 index 000000000..18c179fce --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishResponse.java @@ -0,0 +1,623 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="AvailableSequenceNumbers" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="MoreNotifications" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="NotificationMessage" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NotificationMessage" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishResponse", propOrder = { + "responseHeader", + "subscriptionId", + "availableSequenceNumbers", + "moreNotifications", + "notificationMessage", + "results", + "diagnosticInfos" +}) +public class PublishResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElementRef(name = "AvailableSequenceNumbers", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement availableSequenceNumbers; + @XmlElement(name = "MoreNotifications") + protected Boolean moreNotifications; + @XmlElementRef(name = "NotificationMessage", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement notificationMessage; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der availableSequenceNumbers-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getAvailableSequenceNumbers() { + return availableSequenceNumbers; + } + + /** + * Legt den Wert der availableSequenceNumbers-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setAvailableSequenceNumbers(JAXBElement value) { + this.availableSequenceNumbers = value; + } + + /** + * Ruft den Wert der moreNotifications-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isMoreNotifications() { + return moreNotifications; + } + + /** + * Legt den Wert der moreNotifications-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setMoreNotifications(Boolean value) { + this.moreNotifications = value; + } + + /** + * Ruft den Wert der notificationMessage-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + */ + public JAXBElement getNotificationMessage() { + return notificationMessage; + } + + /** + * Legt den Wert der notificationMessage-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + */ + public void setNotificationMessage(JAXBElement value) { + this.notificationMessage = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.subscriptionId = this.subscriptionId; + _other.availableSequenceNumbers = this.availableSequenceNumbers; + _other.moreNotifications = this.moreNotifications; + _other.notificationMessage = this.notificationMessage; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >PublishResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishResponse.Builder<_B>(_parentBuilder, this, true); + } + + public PublishResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishResponse.Builder builder() { + return new PublishResponse.Builder(null, null, false); + } + + public static<_B >PublishResponse.Builder<_B> copyOf(final PublishResponse _other) { + final PublishResponse.Builder<_B> _newBuilder = new PublishResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree availableSequenceNumbersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("availableSequenceNumbers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(availableSequenceNumbersPropertyTree!= null):((availableSequenceNumbersPropertyTree == null)||(!availableSequenceNumbersPropertyTree.isLeaf())))) { + _other.availableSequenceNumbers = this.availableSequenceNumbers; + } + final PropertyTree moreNotificationsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("moreNotifications")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(moreNotificationsPropertyTree!= null):((moreNotificationsPropertyTree == null)||(!moreNotificationsPropertyTree.isLeaf())))) { + _other.moreNotifications = this.moreNotifications; + } + final PropertyTree notificationMessagePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationMessage")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationMessagePropertyTree!= null):((notificationMessagePropertyTree == null)||(!notificationMessagePropertyTree.isLeaf())))) { + _other.notificationMessage = this.notificationMessage; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >PublishResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PublishResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishResponse.Builder<_B> copyOf(final PublishResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishResponse.Builder<_B> _newBuilder = new PublishResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishResponse.Builder copyExcept(final PublishResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishResponse.Builder copyOnly(final PublishResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PublishResponse _storedValue; + private JAXBElement responseHeader; + private Long subscriptionId; + private JAXBElement availableSequenceNumbers; + private Boolean moreNotifications; + private JAXBElement notificationMessage; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final PublishResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.subscriptionId = _other.subscriptionId; + this.availableSequenceNumbers = _other.availableSequenceNumbers; + this.moreNotifications = _other.moreNotifications; + this.notificationMessage = _other.notificationMessage; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PublishResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree availableSequenceNumbersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("availableSequenceNumbers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(availableSequenceNumbersPropertyTree!= null):((availableSequenceNumbersPropertyTree == null)||(!availableSequenceNumbersPropertyTree.isLeaf())))) { + this.availableSequenceNumbers = _other.availableSequenceNumbers; + } + final PropertyTree moreNotificationsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("moreNotifications")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(moreNotificationsPropertyTree!= null):((moreNotificationsPropertyTree == null)||(!moreNotificationsPropertyTree.isLeaf())))) { + this.moreNotifications = _other.moreNotifications; + } + final PropertyTree notificationMessagePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationMessage")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationMessagePropertyTree!= null):((notificationMessagePropertyTree == null)||(!notificationMessagePropertyTree.isLeaf())))) { + this.notificationMessage = _other.notificationMessage; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PublishResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.subscriptionId = this.subscriptionId; + _product.availableSequenceNumbers = this.availableSequenceNumbers; + _product.moreNotifications = this.moreNotifications; + _product.notificationMessage = this.notificationMessage; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public PublishResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public PublishResponse.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "availableSequenceNumbers" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param availableSequenceNumbers + * Neuer Wert der Eigenschaft "availableSequenceNumbers". + */ + public PublishResponse.Builder<_B> withAvailableSequenceNumbers(final JAXBElement availableSequenceNumbers) { + this.availableSequenceNumbers = availableSequenceNumbers; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "moreNotifications" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param moreNotifications + * Neuer Wert der Eigenschaft "moreNotifications". + */ + public PublishResponse.Builder<_B> withMoreNotifications(final Boolean moreNotifications) { + this.moreNotifications = moreNotifications; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "notificationMessage" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param notificationMessage + * Neuer Wert der Eigenschaft "notificationMessage". + */ + public PublishResponse.Builder<_B> withNotificationMessage(final JAXBElement notificationMessage) { + this.notificationMessage = notificationMessage; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public PublishResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public PublishResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public PublishResponse build() { + if (_storedValue == null) { + return this.init(new PublishResponse()); + } else { + return ((PublishResponse) _storedValue); + } + } + + public PublishResponse.Builder<_B> copyOf(final PublishResponse _other) { + _other.copyTo(this); + return this; + } + + public PublishResponse.Builder<_B> copyOf(final PublishResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishResponse.Select _root() { + return new PublishResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> availableSequenceNumbers = null; + private com.kscs.util.jaxb.Selector> moreNotifications = null; + private com.kscs.util.jaxb.Selector> notificationMessage = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.availableSequenceNumbers!= null) { + products.put("availableSequenceNumbers", this.availableSequenceNumbers.init()); + } + if (this.moreNotifications!= null) { + products.put("moreNotifications", this.moreNotifications.init()); + } + if (this.notificationMessage!= null) { + products.put("notificationMessage", this.notificationMessage.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> availableSequenceNumbers() { + return ((this.availableSequenceNumbers == null)?this.availableSequenceNumbers = new com.kscs.util.jaxb.Selector>(this._root, this, "availableSequenceNumbers"):this.availableSequenceNumbers); + } + + public com.kscs.util.jaxb.Selector> moreNotifications() { + return ((this.moreNotifications == null)?this.moreNotifications = new com.kscs.util.jaxb.Selector>(this._root, this, "moreNotifications"):this.moreNotifications); + } + + public com.kscs.util.jaxb.Selector> notificationMessage() { + return ((this.notificationMessage == null)?this.notificationMessage = new com.kscs.util.jaxb.Selector>(this._root, this, "notificationMessage"):this.notificationMessage); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataItemsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataItemsDataType.java new file mode 100644 index 000000000..e3b2cb480 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataItemsDataType.java @@ -0,0 +1,270 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishedDataItemsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishedDataItemsDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedDataSetSourceDataType">
+ *       <sequence>
+ *         <element name="PublishedData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfPublishedVariableDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishedDataItemsDataType", propOrder = { + "publishedData" +}) +public class PublishedDataItemsDataType + extends PublishedDataSetSourceDataType +{ + + @XmlElementRef(name = "PublishedData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement publishedData; + + /** + * Ruft den Wert der publishedData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfPublishedVariableDataType }{@code >} + * + */ + public JAXBElement getPublishedData() { + return publishedData; + } + + /** + * Legt den Wert der publishedData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfPublishedVariableDataType }{@code >} + * + */ + public void setPublishedData(JAXBElement value) { + this.publishedData = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedDataItemsDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.publishedData = this.publishedData; + } + + @Override + public<_B >PublishedDataItemsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishedDataItemsDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public PublishedDataItemsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishedDataItemsDataType.Builder builder() { + return new PublishedDataItemsDataType.Builder(null, null, false); + } + + public static<_B >PublishedDataItemsDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other) { + final PublishedDataItemsDataType.Builder<_B> _newBuilder = new PublishedDataItemsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >PublishedDataItemsDataType.Builder<_B> copyOf(final PublishedDataItemsDataType _other) { + final PublishedDataItemsDataType.Builder<_B> _newBuilder = new PublishedDataItemsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedDataItemsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree publishedDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataPropertyTree!= null):((publishedDataPropertyTree == null)||(!publishedDataPropertyTree.isLeaf())))) { + _other.publishedData = this.publishedData; + } + } + + @Override + public<_B >PublishedDataItemsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishedDataItemsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public PublishedDataItemsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishedDataItemsDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedDataItemsDataType.Builder<_B> _newBuilder = new PublishedDataItemsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >PublishedDataItemsDataType.Builder<_B> copyOf(final PublishedDataItemsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedDataItemsDataType.Builder<_B> _newBuilder = new PublishedDataItemsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishedDataItemsDataType.Builder copyExcept(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedDataItemsDataType.Builder copyExcept(final PublishedDataItemsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedDataItemsDataType.Builder copyOnly(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static PublishedDataItemsDataType.Builder copyOnly(final PublishedDataItemsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends PublishedDataSetSourceDataType.Builder<_B> + implements Buildable + { + + private JAXBElement publishedData; + + public Builder(final _B _parentBuilder, final PublishedDataItemsDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.publishedData = _other.publishedData; + } + } + + public Builder(final _B _parentBuilder, final PublishedDataItemsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree publishedDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedDataPropertyTree!= null):((publishedDataPropertyTree == null)||(!publishedDataPropertyTree.isLeaf())))) { + this.publishedData = _other.publishedData; + } + } + } + + protected<_P extends PublishedDataItemsDataType >_P init(final _P _product) { + _product.publishedData = this.publishedData; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param publishedData + * Neuer Wert der Eigenschaft "publishedData". + */ + public PublishedDataItemsDataType.Builder<_B> withPublishedData(final JAXBElement publishedData) { + this.publishedData = publishedData; + return this; + } + + @Override + public PublishedDataItemsDataType build() { + if (_storedValue == null) { + return this.init(new PublishedDataItemsDataType()); + } else { + return ((PublishedDataItemsDataType) _storedValue); + } + } + + public PublishedDataItemsDataType.Builder<_B> copyOf(final PublishedDataItemsDataType _other) { + _other.copyTo(this); + return this; + } + + public PublishedDataItemsDataType.Builder<_B> copyOf(final PublishedDataItemsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishedDataItemsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishedDataItemsDataType.Select _root() { + return new PublishedDataItemsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends PublishedDataSetSourceDataType.Selector + { + + private com.kscs.util.jaxb.Selector> publishedData = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedData!= null) { + products.put("publishedData", this.publishedData.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> publishedData() { + return ((this.publishedData == null)?this.publishedData = new com.kscs.util.jaxb.Selector>(this._root, this, "publishedData"):this.publishedData); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetDataType.java new file mode 100644 index 000000000..465389e01 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetDataType.java @@ -0,0 +1,500 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishedDataSetDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishedDataSetDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DataSetFolder" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="DataSetMetaData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetMetaDataType" minOccurs="0"/>
+ *         <element name="ExtensionFields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *         <element name="DataSetSource" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishedDataSetDataType", propOrder = { + "name", + "dataSetFolder", + "dataSetMetaData", + "extensionFields", + "dataSetSource" +}) +public class PublishedDataSetDataType { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElementRef(name = "DataSetFolder", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetFolder; + @XmlElementRef(name = "DataSetMetaData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetMetaData; + @XmlElementRef(name = "ExtensionFields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement extensionFields; + @XmlElementRef(name = "DataSetSource", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetSource; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der dataSetFolder-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getDataSetFolder() { + return dataSetFolder; + } + + /** + * Legt den Wert der dataSetFolder-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setDataSetFolder(JAXBElement value) { + this.dataSetFolder = value; + } + + /** + * Ruft den Wert der dataSetMetaData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + */ + public JAXBElement getDataSetMetaData() { + return dataSetMetaData; + } + + /** + * Legt den Wert der dataSetMetaData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DataSetMetaDataType }{@code >} + * + */ + public void setDataSetMetaData(JAXBElement value) { + this.dataSetMetaData = value; + } + + /** + * Ruft den Wert der extensionFields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getExtensionFields() { + return extensionFields; + } + + /** + * Legt den Wert der extensionFields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setExtensionFields(JAXBElement value) { + this.extensionFields = value; + } + + /** + * Ruft den Wert der dataSetSource-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getDataSetSource() { + return dataSetSource; + } + + /** + * Legt den Wert der dataSetSource-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setDataSetSource(JAXBElement value) { + this.dataSetSource = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedDataSetDataType.Builder<_B> _other) { + _other.name = this.name; + _other.dataSetFolder = this.dataSetFolder; + _other.dataSetMetaData = this.dataSetMetaData; + _other.extensionFields = this.extensionFields; + _other.dataSetSource = this.dataSetSource; + } + + public<_B >PublishedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishedDataSetDataType.Builder<_B>(_parentBuilder, this, true); + } + + public PublishedDataSetDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishedDataSetDataType.Builder builder() { + return new PublishedDataSetDataType.Builder(null, null, false); + } + + public static<_B >PublishedDataSetDataType.Builder<_B> copyOf(final PublishedDataSetDataType _other) { + final PublishedDataSetDataType.Builder<_B> _newBuilder = new PublishedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedDataSetDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree dataSetFolderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFolder")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFolderPropertyTree!= null):((dataSetFolderPropertyTree == null)||(!dataSetFolderPropertyTree.isLeaf())))) { + _other.dataSetFolder = this.dataSetFolder; + } + final PropertyTree dataSetMetaDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMetaData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMetaDataPropertyTree!= null):((dataSetMetaDataPropertyTree == null)||(!dataSetMetaDataPropertyTree.isLeaf())))) { + _other.dataSetMetaData = this.dataSetMetaData; + } + final PropertyTree extensionFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("extensionFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(extensionFieldsPropertyTree!= null):((extensionFieldsPropertyTree == null)||(!extensionFieldsPropertyTree.isLeaf())))) { + _other.extensionFields = this.extensionFields; + } + final PropertyTree dataSetSourcePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetSource")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetSourcePropertyTree!= null):((dataSetSourcePropertyTree == null)||(!dataSetSourcePropertyTree.isLeaf())))) { + _other.dataSetSource = this.dataSetSource; + } + } + + public<_B >PublishedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishedDataSetDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PublishedDataSetDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishedDataSetDataType.Builder<_B> copyOf(final PublishedDataSetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedDataSetDataType.Builder<_B> _newBuilder = new PublishedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishedDataSetDataType.Builder copyExcept(final PublishedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedDataSetDataType.Builder copyOnly(final PublishedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PublishedDataSetDataType _storedValue; + private JAXBElement name; + private JAXBElement dataSetFolder; + private JAXBElement dataSetMetaData; + private JAXBElement extensionFields; + private JAXBElement dataSetSource; + + public Builder(final _B _parentBuilder, final PublishedDataSetDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.dataSetFolder = _other.dataSetFolder; + this.dataSetMetaData = _other.dataSetMetaData; + this.extensionFields = _other.extensionFields; + this.dataSetSource = _other.dataSetSource; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PublishedDataSetDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree dataSetFolderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetFolder")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetFolderPropertyTree!= null):((dataSetFolderPropertyTree == null)||(!dataSetFolderPropertyTree.isLeaf())))) { + this.dataSetFolder = _other.dataSetFolder; + } + final PropertyTree dataSetMetaDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMetaData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMetaDataPropertyTree!= null):((dataSetMetaDataPropertyTree == null)||(!dataSetMetaDataPropertyTree.isLeaf())))) { + this.dataSetMetaData = _other.dataSetMetaData; + } + final PropertyTree extensionFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("extensionFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(extensionFieldsPropertyTree!= null):((extensionFieldsPropertyTree == null)||(!extensionFieldsPropertyTree.isLeaf())))) { + this.extensionFields = _other.extensionFields; + } + final PropertyTree dataSetSourcePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetSource")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetSourcePropertyTree!= null):((dataSetSourcePropertyTree == null)||(!dataSetSourcePropertyTree.isLeaf())))) { + this.dataSetSource = _other.dataSetSource; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PublishedDataSetDataType >_P init(final _P _product) { + _product.name = this.name; + _product.dataSetFolder = this.dataSetFolder; + _product.dataSetMetaData = this.dataSetMetaData; + _product.extensionFields = this.extensionFields; + _product.dataSetSource = this.dataSetSource; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public PublishedDataSetDataType.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetFolder" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetFolder + * Neuer Wert der Eigenschaft "dataSetFolder". + */ + public PublishedDataSetDataType.Builder<_B> withDataSetFolder(final JAXBElement dataSetFolder) { + this.dataSetFolder = dataSetFolder; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMetaData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetMetaData + * Neuer Wert der Eigenschaft "dataSetMetaData". + */ + public PublishedDataSetDataType.Builder<_B> withDataSetMetaData(final JAXBElement dataSetMetaData) { + this.dataSetMetaData = dataSetMetaData; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "extensionFields" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param extensionFields + * Neuer Wert der Eigenschaft "extensionFields". + */ + public PublishedDataSetDataType.Builder<_B> withExtensionFields(final JAXBElement extensionFields) { + this.extensionFields = extensionFields; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetSource" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetSource + * Neuer Wert der Eigenschaft "dataSetSource". + */ + public PublishedDataSetDataType.Builder<_B> withDataSetSource(final JAXBElement dataSetSource) { + this.dataSetSource = dataSetSource; + return this; + } + + @Override + public PublishedDataSetDataType build() { + if (_storedValue == null) { + return this.init(new PublishedDataSetDataType()); + } else { + return ((PublishedDataSetDataType) _storedValue); + } + } + + public PublishedDataSetDataType.Builder<_B> copyOf(final PublishedDataSetDataType _other) { + _other.copyTo(this); + return this; + } + + public PublishedDataSetDataType.Builder<_B> copyOf(final PublishedDataSetDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishedDataSetDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishedDataSetDataType.Select _root() { + return new PublishedDataSetDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> dataSetFolder = null; + private com.kscs.util.jaxb.Selector> dataSetMetaData = null; + private com.kscs.util.jaxb.Selector> extensionFields = null; + private com.kscs.util.jaxb.Selector> dataSetSource = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.dataSetFolder!= null) { + products.put("dataSetFolder", this.dataSetFolder.init()); + } + if (this.dataSetMetaData!= null) { + products.put("dataSetMetaData", this.dataSetMetaData.init()); + } + if (this.extensionFields!= null) { + products.put("extensionFields", this.extensionFields.init()); + } + if (this.dataSetSource!= null) { + products.put("dataSetSource", this.dataSetSource.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> dataSetFolder() { + return ((this.dataSetFolder == null)?this.dataSetFolder = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetFolder"):this.dataSetFolder); + } + + public com.kscs.util.jaxb.Selector> dataSetMetaData() { + return ((this.dataSetMetaData == null)?this.dataSetMetaData = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetMetaData"):this.dataSetMetaData); + } + + public com.kscs.util.jaxb.Selector> extensionFields() { + return ((this.extensionFields == null)?this.extensionFields = new com.kscs.util.jaxb.Selector>(this._root, this, "extensionFields"):this.extensionFields); + } + + public com.kscs.util.jaxb.Selector> dataSetSource() { + return ((this.dataSetSource == null)?this.dataSetSource = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetSource"):this.dataSetSource); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetSourceDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetSourceDataType.java new file mode 100644 index 000000000..d0f21c876 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedDataSetSourceDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishedDataSetSourceDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishedDataSetSourceDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishedDataSetSourceDataType") +@XmlSeeAlso({ + PublishedDataItemsDataType.class, + PublishedEventsDataType.class +}) +public class PublishedDataSetSourceDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedDataSetSourceDataType.Builder<_B> _other) { + } + + public<_B >PublishedDataSetSourceDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishedDataSetSourceDataType.Builder<_B>(_parentBuilder, this, true); + } + + public PublishedDataSetSourceDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishedDataSetSourceDataType.Builder builder() { + return new PublishedDataSetSourceDataType.Builder(null, null, false); + } + + public static<_B >PublishedDataSetSourceDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other) { + final PublishedDataSetSourceDataType.Builder<_B> _newBuilder = new PublishedDataSetSourceDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedDataSetSourceDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >PublishedDataSetSourceDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishedDataSetSourceDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PublishedDataSetSourceDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishedDataSetSourceDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedDataSetSourceDataType.Builder<_B> _newBuilder = new PublishedDataSetSourceDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishedDataSetSourceDataType.Builder copyExcept(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedDataSetSourceDataType.Builder copyOnly(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PublishedDataSetSourceDataType _storedValue; + + public Builder(final _B _parentBuilder, final PublishedDataSetSourceDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PublishedDataSetSourceDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PublishedDataSetSourceDataType >_P init(final _P _product) { + return _product; + } + + @Override + public PublishedDataSetSourceDataType build() { + if (_storedValue == null) { + return this.init(new PublishedDataSetSourceDataType()); + } else { + return ((PublishedDataSetSourceDataType) _storedValue); + } + } + + public PublishedDataSetSourceDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other) { + _other.copyTo(this); + return this; + } + + public PublishedDataSetSourceDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishedDataSetSourceDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishedDataSetSourceDataType.Select _root() { + return new PublishedDataSetSourceDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedEventsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedEventsDataType.java new file mode 100644 index 000000000..f67f6d838 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedEventsDataType.java @@ -0,0 +1,390 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishedEventsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishedEventsDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}PublishedDataSetSourceDataType">
+ *       <sequence>
+ *         <element name="EventNotifier" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="SelectedFields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfSimpleAttributeOperand" minOccurs="0"/>
+ *         <element name="Filter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilter" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishedEventsDataType", propOrder = { + "eventNotifier", + "selectedFields", + "filter" +}) +public class PublishedEventsDataType + extends PublishedDataSetSourceDataType +{ + + @XmlElementRef(name = "EventNotifier", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement eventNotifier; + @XmlElementRef(name = "SelectedFields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement selectedFields; + @XmlElementRef(name = "Filter", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filter; + + /** + * Ruft den Wert der eventNotifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getEventNotifier() { + return eventNotifier; + } + + /** + * Legt den Wert der eventNotifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setEventNotifier(JAXBElement value) { + this.eventNotifier = value; + } + + /** + * Ruft den Wert der selectedFields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + */ + public JAXBElement getSelectedFields() { + return selectedFields; + } + + /** + * Legt den Wert der selectedFields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfSimpleAttributeOperand }{@code >} + * + */ + public void setSelectedFields(JAXBElement value) { + this.selectedFields = value; + } + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + */ + public JAXBElement getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + */ + public void setFilter(JAXBElement value) { + this.filter = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedEventsDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.eventNotifier = this.eventNotifier; + _other.selectedFields = this.selectedFields; + _other.filter = this.filter; + } + + @Override + public<_B >PublishedEventsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishedEventsDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public PublishedEventsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishedEventsDataType.Builder builder() { + return new PublishedEventsDataType.Builder(null, null, false); + } + + public static<_B >PublishedEventsDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other) { + final PublishedEventsDataType.Builder<_B> _newBuilder = new PublishedEventsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >PublishedEventsDataType.Builder<_B> copyOf(final PublishedEventsDataType _other) { + final PublishedEventsDataType.Builder<_B> _newBuilder = new PublishedEventsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedEventsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + _other.eventNotifier = this.eventNotifier; + } + final PropertyTree selectedFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectedFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectedFieldsPropertyTree!= null):((selectedFieldsPropertyTree == null)||(!selectedFieldsPropertyTree.isLeaf())))) { + _other.selectedFields = this.selectedFields; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + _other.filter = this.filter; + } + } + + @Override + public<_B >PublishedEventsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishedEventsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public PublishedEventsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishedEventsDataType.Builder<_B> copyOf(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedEventsDataType.Builder<_B> _newBuilder = new PublishedEventsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >PublishedEventsDataType.Builder<_B> copyOf(final PublishedEventsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedEventsDataType.Builder<_B> _newBuilder = new PublishedEventsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishedEventsDataType.Builder copyExcept(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedEventsDataType.Builder copyExcept(final PublishedEventsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedEventsDataType.Builder copyOnly(final PublishedDataSetSourceDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static PublishedEventsDataType.Builder copyOnly(final PublishedEventsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends PublishedDataSetSourceDataType.Builder<_B> + implements Buildable + { + + private JAXBElement eventNotifier; + private JAXBElement selectedFields; + private JAXBElement filter; + + public Builder(final _B _parentBuilder, final PublishedEventsDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.eventNotifier = _other.eventNotifier; + this.selectedFields = _other.selectedFields; + this.filter = _other.filter; + } + } + + public Builder(final _B _parentBuilder, final PublishedEventsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + this.eventNotifier = _other.eventNotifier; + } + final PropertyTree selectedFieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("selectedFields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(selectedFieldsPropertyTree!= null):((selectedFieldsPropertyTree == null)||(!selectedFieldsPropertyTree.isLeaf())))) { + this.selectedFields = _other.selectedFields; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + this.filter = _other.filter; + } + } + } + + protected<_P extends PublishedEventsDataType >_P init(final _P _product) { + _product.eventNotifier = this.eventNotifier; + _product.selectedFields = this.selectedFields; + _product.filter = this.filter; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventNotifier" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventNotifier + * Neuer Wert der Eigenschaft "eventNotifier". + */ + public PublishedEventsDataType.Builder<_B> withEventNotifier(final JAXBElement eventNotifier) { + this.eventNotifier = eventNotifier; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "selectedFields" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param selectedFields + * Neuer Wert der Eigenschaft "selectedFields". + */ + public PublishedEventsDataType.Builder<_B> withSelectedFields(final JAXBElement selectedFields) { + this.selectedFields = selectedFields; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filter" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param filter + * Neuer Wert der Eigenschaft "filter". + */ + public PublishedEventsDataType.Builder<_B> withFilter(final JAXBElement filter) { + this.filter = filter; + return this; + } + + @Override + public PublishedEventsDataType build() { + if (_storedValue == null) { + return this.init(new PublishedEventsDataType()); + } else { + return ((PublishedEventsDataType) _storedValue); + } + } + + public PublishedEventsDataType.Builder<_B> copyOf(final PublishedEventsDataType _other) { + _other.copyTo(this); + return this; + } + + public PublishedEventsDataType.Builder<_B> copyOf(final PublishedEventsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishedEventsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishedEventsDataType.Select _root() { + return new PublishedEventsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends PublishedDataSetSourceDataType.Selector + { + + private com.kscs.util.jaxb.Selector> eventNotifier = null; + private com.kscs.util.jaxb.Selector> selectedFields = null; + private com.kscs.util.jaxb.Selector> filter = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.eventNotifier!= null) { + products.put("eventNotifier", this.eventNotifier.init()); + } + if (this.selectedFields!= null) { + products.put("selectedFields", this.selectedFields.init()); + } + if (this.filter!= null) { + products.put("filter", this.filter.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> eventNotifier() { + return ((this.eventNotifier == null)?this.eventNotifier = new com.kscs.util.jaxb.Selector>(this._root, this, "eventNotifier"):this.eventNotifier); + } + + public com.kscs.util.jaxb.Selector> selectedFields() { + return ((this.selectedFields == null)?this.selectedFields = new com.kscs.util.jaxb.Selector>(this._root, this, "selectedFields"):this.selectedFields); + } + + public com.kscs.util.jaxb.Selector> filter() { + return ((this.filter == null)?this.filter = new com.kscs.util.jaxb.Selector>(this._root, this, "filter"):this.filter); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedVariableDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedVariableDataType.java new file mode 100644 index 000000000..bc9760952 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/PublishedVariableDataType.java @@ -0,0 +1,703 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für PublishedVariableDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PublishedVariableDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PublishedVariable" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SamplingIntervalHint" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="DeadbandType" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DeadbandValue" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SubstituteValue" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="MetaDataProperties" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfQualifiedName" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PublishedVariableDataType", propOrder = { + "publishedVariable", + "attributeId", + "samplingIntervalHint", + "deadbandType", + "deadbandValue", + "indexRange", + "substituteValue", + "metaDataProperties" +}) +public class PublishedVariableDataType { + + @XmlElementRef(name = "PublishedVariable", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement publishedVariable; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElement(name = "SamplingIntervalHint") + protected Double samplingIntervalHint; + @XmlElement(name = "DeadbandType") + @XmlSchemaType(name = "unsignedInt") + protected Long deadbandType; + @XmlElement(name = "DeadbandValue") + protected Double deadbandValue; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + @XmlElement(name = "SubstituteValue") + protected Variant substituteValue; + @XmlElementRef(name = "MetaDataProperties", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement metaDataProperties; + + /** + * Ruft den Wert der publishedVariable-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getPublishedVariable() { + return publishedVariable; + } + + /** + * Legt den Wert der publishedVariable-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setPublishedVariable(JAXBElement value) { + this.publishedVariable = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der samplingIntervalHint-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getSamplingIntervalHint() { + return samplingIntervalHint; + } + + /** + * Legt den Wert der samplingIntervalHint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setSamplingIntervalHint(Double value) { + this.samplingIntervalHint = value; + } + + /** + * Ruft den Wert der deadbandType-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDeadbandType() { + return deadbandType; + } + + /** + * Legt den Wert der deadbandType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDeadbandType(Long value) { + this.deadbandType = value; + } + + /** + * Ruft den Wert der deadbandValue-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getDeadbandValue() { + return deadbandValue; + } + + /** + * Legt den Wert der deadbandValue-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setDeadbandValue(Double value) { + this.deadbandValue = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Ruft den Wert der substituteValue-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getSubstituteValue() { + return substituteValue; + } + + /** + * Legt den Wert der substituteValue-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setSubstituteValue(Variant value) { + this.substituteValue = value; + } + + /** + * Ruft den Wert der metaDataProperties-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + */ + public JAXBElement getMetaDataProperties() { + return metaDataProperties; + } + + /** + * Legt den Wert der metaDataProperties-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + */ + public void setMetaDataProperties(JAXBElement value) { + this.metaDataProperties = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedVariableDataType.Builder<_B> _other) { + _other.publishedVariable = this.publishedVariable; + _other.attributeId = this.attributeId; + _other.samplingIntervalHint = this.samplingIntervalHint; + _other.deadbandType = this.deadbandType; + _other.deadbandValue = this.deadbandValue; + _other.indexRange = this.indexRange; + _other.substituteValue = ((this.substituteValue == null)?null:this.substituteValue.newCopyBuilder(_other)); + _other.metaDataProperties = this.metaDataProperties; + } + + public<_B >PublishedVariableDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new PublishedVariableDataType.Builder<_B>(_parentBuilder, this, true); + } + + public PublishedVariableDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static PublishedVariableDataType.Builder builder() { + return new PublishedVariableDataType.Builder(null, null, false); + } + + public static<_B >PublishedVariableDataType.Builder<_B> copyOf(final PublishedVariableDataType _other) { + final PublishedVariableDataType.Builder<_B> _newBuilder = new PublishedVariableDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final PublishedVariableDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree publishedVariablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedVariable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedVariablePropertyTree!= null):((publishedVariablePropertyTree == null)||(!publishedVariablePropertyTree.isLeaf())))) { + _other.publishedVariable = this.publishedVariable; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree samplingIntervalHintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingIntervalHint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalHintPropertyTree!= null):((samplingIntervalHintPropertyTree == null)||(!samplingIntervalHintPropertyTree.isLeaf())))) { + _other.samplingIntervalHint = this.samplingIntervalHint; + } + final PropertyTree deadbandTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandTypePropertyTree!= null):((deadbandTypePropertyTree == null)||(!deadbandTypePropertyTree.isLeaf())))) { + _other.deadbandType = this.deadbandType; + } + final PropertyTree deadbandValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandValuePropertyTree!= null):((deadbandValuePropertyTree == null)||(!deadbandValuePropertyTree.isLeaf())))) { + _other.deadbandValue = this.deadbandValue; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + final PropertyTree substituteValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("substituteValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(substituteValuePropertyTree!= null):((substituteValuePropertyTree == null)||(!substituteValuePropertyTree.isLeaf())))) { + _other.substituteValue = ((this.substituteValue == null)?null:this.substituteValue.newCopyBuilder(_other, substituteValuePropertyTree, _propertyTreeUse)); + } + final PropertyTree metaDataPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataPropertiesPropertyTree!= null):((metaDataPropertiesPropertyTree == null)||(!metaDataPropertiesPropertyTree.isLeaf())))) { + _other.metaDataProperties = this.metaDataProperties; + } + } + + public<_B >PublishedVariableDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new PublishedVariableDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public PublishedVariableDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >PublishedVariableDataType.Builder<_B> copyOf(final PublishedVariableDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PublishedVariableDataType.Builder<_B> _newBuilder = new PublishedVariableDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static PublishedVariableDataType.Builder copyExcept(final PublishedVariableDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static PublishedVariableDataType.Builder copyOnly(final PublishedVariableDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final PublishedVariableDataType _storedValue; + private JAXBElement publishedVariable; + private Long attributeId; + private Double samplingIntervalHint; + private Long deadbandType; + private Double deadbandValue; + private JAXBElement indexRange; + private Variant.Builder> substituteValue; + private JAXBElement metaDataProperties; + + public Builder(final _B _parentBuilder, final PublishedVariableDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.publishedVariable = _other.publishedVariable; + this.attributeId = _other.attributeId; + this.samplingIntervalHint = _other.samplingIntervalHint; + this.deadbandType = _other.deadbandType; + this.deadbandValue = _other.deadbandValue; + this.indexRange = _other.indexRange; + this.substituteValue = ((_other.substituteValue == null)?null:_other.substituteValue.newCopyBuilder(this)); + this.metaDataProperties = _other.metaDataProperties; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final PublishedVariableDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree publishedVariablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishedVariable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishedVariablePropertyTree!= null):((publishedVariablePropertyTree == null)||(!publishedVariablePropertyTree.isLeaf())))) { + this.publishedVariable = _other.publishedVariable; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree samplingIntervalHintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingIntervalHint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalHintPropertyTree!= null):((samplingIntervalHintPropertyTree == null)||(!samplingIntervalHintPropertyTree.isLeaf())))) { + this.samplingIntervalHint = _other.samplingIntervalHint; + } + final PropertyTree deadbandTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandTypePropertyTree!= null):((deadbandTypePropertyTree == null)||(!deadbandTypePropertyTree.isLeaf())))) { + this.deadbandType = _other.deadbandType; + } + final PropertyTree deadbandValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deadbandValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deadbandValuePropertyTree!= null):((deadbandValuePropertyTree == null)||(!deadbandValuePropertyTree.isLeaf())))) { + this.deadbandValue = _other.deadbandValue; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + final PropertyTree substituteValuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("substituteValue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(substituteValuePropertyTree!= null):((substituteValuePropertyTree == null)||(!substituteValuePropertyTree.isLeaf())))) { + this.substituteValue = ((_other.substituteValue == null)?null:_other.substituteValue.newCopyBuilder(this, substituteValuePropertyTree, _propertyTreeUse)); + } + final PropertyTree metaDataPropertiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("metaDataProperties")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(metaDataPropertiesPropertyTree!= null):((metaDataPropertiesPropertyTree == null)||(!metaDataPropertiesPropertyTree.isLeaf())))) { + this.metaDataProperties = _other.metaDataProperties; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends PublishedVariableDataType >_P init(final _P _product) { + _product.publishedVariable = this.publishedVariable; + _product.attributeId = this.attributeId; + _product.samplingIntervalHint = this.samplingIntervalHint; + _product.deadbandType = this.deadbandType; + _product.deadbandValue = this.deadbandValue; + _product.indexRange = this.indexRange; + _product.substituteValue = ((this.substituteValue == null)?null:this.substituteValue.build()); + _product.metaDataProperties = this.metaDataProperties; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishedVariable" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishedVariable + * Neuer Wert der Eigenschaft "publishedVariable". + */ + public PublishedVariableDataType.Builder<_B> withPublishedVariable(final JAXBElement publishedVariable) { + this.publishedVariable = publishedVariable; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public PublishedVariableDataType.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "samplingIntervalHint" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param samplingIntervalHint + * Neuer Wert der Eigenschaft "samplingIntervalHint". + */ + public PublishedVariableDataType.Builder<_B> withSamplingIntervalHint(final Double samplingIntervalHint) { + this.samplingIntervalHint = samplingIntervalHint; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deadbandType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param deadbandType + * Neuer Wert der Eigenschaft "deadbandType". + */ + public PublishedVariableDataType.Builder<_B> withDeadbandType(final Long deadbandType) { + this.deadbandType = deadbandType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deadbandValue" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param deadbandValue + * Neuer Wert der Eigenschaft "deadbandValue". + */ + public PublishedVariableDataType.Builder<_B> withDeadbandValue(final Double deadbandValue) { + this.deadbandValue = deadbandValue; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public PublishedVariableDataType.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "substituteValue" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param substituteValue + * Neuer Wert der Eigenschaft "substituteValue". + */ + public PublishedVariableDataType.Builder<_B> withSubstituteValue(final Variant substituteValue) { + this.substituteValue = ((substituteValue == null)?null:new Variant.Builder>(this, substituteValue, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "substituteValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "substituteValue". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withSubstituteValue() { + if (this.substituteValue!= null) { + return this.substituteValue; + } + return this.substituteValue = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "metaDataProperties" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param metaDataProperties + * Neuer Wert der Eigenschaft "metaDataProperties". + */ + public PublishedVariableDataType.Builder<_B> withMetaDataProperties(final JAXBElement metaDataProperties) { + this.metaDataProperties = metaDataProperties; + return this; + } + + @Override + public PublishedVariableDataType build() { + if (_storedValue == null) { + return this.init(new PublishedVariableDataType()); + } else { + return ((PublishedVariableDataType) _storedValue); + } + } + + public PublishedVariableDataType.Builder<_B> copyOf(final PublishedVariableDataType _other) { + _other.copyTo(this); + return this; + } + + public PublishedVariableDataType.Builder<_B> copyOf(final PublishedVariableDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends PublishedVariableDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static PublishedVariableDataType.Select _root() { + return new PublishedVariableDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> publishedVariable = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> samplingIntervalHint = null; + private com.kscs.util.jaxb.Selector> deadbandType = null; + private com.kscs.util.jaxb.Selector> deadbandValue = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + private Variant.Selector> substituteValue = null; + private com.kscs.util.jaxb.Selector> metaDataProperties = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.publishedVariable!= null) { + products.put("publishedVariable", this.publishedVariable.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.samplingIntervalHint!= null) { + products.put("samplingIntervalHint", this.samplingIntervalHint.init()); + } + if (this.deadbandType!= null) { + products.put("deadbandType", this.deadbandType.init()); + } + if (this.deadbandValue!= null) { + products.put("deadbandValue", this.deadbandValue.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + if (this.substituteValue!= null) { + products.put("substituteValue", this.substituteValue.init()); + } + if (this.metaDataProperties!= null) { + products.put("metaDataProperties", this.metaDataProperties.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> publishedVariable() { + return ((this.publishedVariable == null)?this.publishedVariable = new com.kscs.util.jaxb.Selector>(this._root, this, "publishedVariable"):this.publishedVariable); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> samplingIntervalHint() { + return ((this.samplingIntervalHint == null)?this.samplingIntervalHint = new com.kscs.util.jaxb.Selector>(this._root, this, "samplingIntervalHint"):this.samplingIntervalHint); + } + + public com.kscs.util.jaxb.Selector> deadbandType() { + return ((this.deadbandType == null)?this.deadbandType = new com.kscs.util.jaxb.Selector>(this._root, this, "deadbandType"):this.deadbandType); + } + + public com.kscs.util.jaxb.Selector> deadbandValue() { + return ((this.deadbandValue == null)?this.deadbandValue = new com.kscs.util.jaxb.Selector>(this._root, this, "deadbandValue"):this.deadbandValue); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + public Variant.Selector> substituteValue() { + return ((this.substituteValue == null)?this.substituteValue = new Variant.Selector>(this._root, this, "substituteValue"):this.substituteValue); + } + + public com.kscs.util.jaxb.Selector> metaDataProperties() { + return ((this.metaDataProperties == null)?this.metaDataProperties = new com.kscs.util.jaxb.Selector>(this._root, this, "metaDataProperties"):this.metaDataProperties); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QualifiedName.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QualifiedName.java new file mode 100644 index 000000000..7a9862ac4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QualifiedName.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QualifiedName complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QualifiedName">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NamespaceIndex" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QualifiedName", propOrder = { + "namespaceIndex", + "name" +}) +public class QualifiedName { + + @XmlElement(name = "NamespaceIndex") + @XmlSchemaType(name = "unsignedShort") + protected Integer namespaceIndex; + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + + /** + * Ruft den Wert der namespaceIndex-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getNamespaceIndex() { + return namespaceIndex; + } + + /** + * Legt den Wert der namespaceIndex-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setNamespaceIndex(Integer value) { + this.namespaceIndex = value; + } + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QualifiedName.Builder<_B> _other) { + _other.namespaceIndex = this.namespaceIndex; + _other.name = this.name; + } + + public<_B >QualifiedName.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QualifiedName.Builder<_B>(_parentBuilder, this, true); + } + + public QualifiedName.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QualifiedName.Builder builder() { + return new QualifiedName.Builder(null, null, false); + } + + public static<_B >QualifiedName.Builder<_B> copyOf(final QualifiedName _other) { + final QualifiedName.Builder<_B> _newBuilder = new QualifiedName.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QualifiedName.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namespaceIndexPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceIndex")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceIndexPropertyTree!= null):((namespaceIndexPropertyTree == null)||(!namespaceIndexPropertyTree.isLeaf())))) { + _other.namespaceIndex = this.namespaceIndex; + } + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + } + + public<_B >QualifiedName.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QualifiedName.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QualifiedName.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QualifiedName.Builder<_B> copyOf(final QualifiedName _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QualifiedName.Builder<_B> _newBuilder = new QualifiedName.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QualifiedName.Builder copyExcept(final QualifiedName _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QualifiedName.Builder copyOnly(final QualifiedName _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QualifiedName _storedValue; + private Integer namespaceIndex; + private JAXBElement name; + + public Builder(final _B _parentBuilder, final QualifiedName _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.namespaceIndex = _other.namespaceIndex; + this.name = _other.name; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QualifiedName _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namespaceIndexPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceIndex")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceIndexPropertyTree!= null):((namespaceIndexPropertyTree == null)||(!namespaceIndexPropertyTree.isLeaf())))) { + this.namespaceIndex = _other.namespaceIndex; + } + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QualifiedName >_P init(final _P _product) { + _product.namespaceIndex = this.namespaceIndex; + _product.name = this.name; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaceIndex" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param namespaceIndex + * Neuer Wert der Eigenschaft "namespaceIndex". + */ + public QualifiedName.Builder<_B> withNamespaceIndex(final Integer namespaceIndex) { + this.namespaceIndex = namespaceIndex; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public QualifiedName.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + @Override + public QualifiedName build() { + if (_storedValue == null) { + return this.init(new QualifiedName()); + } else { + return ((QualifiedName) _storedValue); + } + } + + public QualifiedName.Builder<_B> copyOf(final QualifiedName _other) { + _other.copyTo(this); + return this; + } + + public QualifiedName.Builder<_B> copyOf(final QualifiedName.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QualifiedName.Selector + { + + + Select() { + super(null, null, null); + } + + public static QualifiedName.Select _root() { + return new QualifiedName.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> namespaceIndex = null; + private com.kscs.util.jaxb.Selector> name = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.namespaceIndex!= null) { + products.put("namespaceIndex", this.namespaceIndex.init()); + } + if (this.name!= null) { + products.put("name", this.name.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> namespaceIndex() { + return ((this.namespaceIndex == null)?this.namespaceIndex = new com.kscs.util.jaxb.Selector>(this._root, this, "namespaceIndex"):this.namespaceIndex); + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataDescription.java new file mode 100644 index 000000000..0da703c0f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataDescription.java @@ -0,0 +1,383 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QueryDataDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QueryDataDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RelativePath" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RelativePath" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QueryDataDescription", propOrder = { + "relativePath", + "attributeId", + "indexRange" +}) +public class QueryDataDescription { + + @XmlElementRef(name = "RelativePath", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement relativePath; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + + /** + * Ruft den Wert der relativePath-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + */ + public JAXBElement getRelativePath() { + return relativePath; + } + + /** + * Legt den Wert der relativePath-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RelativePath }{@code >} + * + */ + public void setRelativePath(JAXBElement value) { + this.relativePath = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryDataDescription.Builder<_B> _other) { + _other.relativePath = this.relativePath; + _other.attributeId = this.attributeId; + _other.indexRange = this.indexRange; + } + + public<_B >QueryDataDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QueryDataDescription.Builder<_B>(_parentBuilder, this, true); + } + + public QueryDataDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QueryDataDescription.Builder builder() { + return new QueryDataDescription.Builder(null, null, false); + } + + public static<_B >QueryDataDescription.Builder<_B> copyOf(final QueryDataDescription _other) { + final QueryDataDescription.Builder<_B> _newBuilder = new QueryDataDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryDataDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree relativePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("relativePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(relativePathPropertyTree!= null):((relativePathPropertyTree == null)||(!relativePathPropertyTree.isLeaf())))) { + _other.relativePath = this.relativePath; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + } + + public<_B >QueryDataDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QueryDataDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QueryDataDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QueryDataDescription.Builder<_B> copyOf(final QueryDataDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QueryDataDescription.Builder<_B> _newBuilder = new QueryDataDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QueryDataDescription.Builder copyExcept(final QueryDataDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QueryDataDescription.Builder copyOnly(final QueryDataDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QueryDataDescription _storedValue; + private JAXBElement relativePath; + private Long attributeId; + private JAXBElement indexRange; + + public Builder(final _B _parentBuilder, final QueryDataDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.relativePath = _other.relativePath; + this.attributeId = _other.attributeId; + this.indexRange = _other.indexRange; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QueryDataDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree relativePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("relativePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(relativePathPropertyTree!= null):((relativePathPropertyTree == null)||(!relativePathPropertyTree.isLeaf())))) { + this.relativePath = _other.relativePath; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QueryDataDescription >_P init(final _P _product) { + _product.relativePath = this.relativePath; + _product.attributeId = this.attributeId; + _product.indexRange = this.indexRange; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "relativePath" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param relativePath + * Neuer Wert der Eigenschaft "relativePath". + */ + public QueryDataDescription.Builder<_B> withRelativePath(final JAXBElement relativePath) { + this.relativePath = relativePath; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public QueryDataDescription.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public QueryDataDescription.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + @Override + public QueryDataDescription build() { + if (_storedValue == null) { + return this.init(new QueryDataDescription()); + } else { + return ((QueryDataDescription) _storedValue); + } + } + + public QueryDataDescription.Builder<_B> copyOf(final QueryDataDescription _other) { + _other.copyTo(this); + return this; + } + + public QueryDataDescription.Builder<_B> copyOf(final QueryDataDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QueryDataDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static QueryDataDescription.Select _root() { + return new QueryDataDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> relativePath = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.relativePath!= null) { + products.put("relativePath", this.relativePath.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> relativePath() { + return ((this.relativePath == null)?this.relativePath = new com.kscs.util.jaxb.Selector>(this._root, this, "relativePath"):this.relativePath); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataSet.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataSet.java new file mode 100644 index 000000000..0b172b183 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryDataSet.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QueryDataSet complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QueryDataSet">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="TypeDefinitionNode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="Values" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfVariant" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QueryDataSet", propOrder = { + "nodeId", + "typeDefinitionNode", + "values" +}) +public class QueryDataSet { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElementRef(name = "TypeDefinitionNode", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement typeDefinitionNode; + @XmlElementRef(name = "Values", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement values; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der typeDefinitionNode-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTypeDefinitionNode() { + return typeDefinitionNode; + } + + /** + * Legt den Wert der typeDefinitionNode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTypeDefinitionNode(JAXBElement value) { + this.typeDefinitionNode = value; + } + + /** + * Ruft den Wert der values-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public JAXBElement getValues() { + return values; + } + + /** + * Legt den Wert der values-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfVariant }{@code >} + * + */ + public void setValues(JAXBElement value) { + this.values = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryDataSet.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.typeDefinitionNode = this.typeDefinitionNode; + _other.values = this.values; + } + + public<_B >QueryDataSet.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QueryDataSet.Builder<_B>(_parentBuilder, this, true); + } + + public QueryDataSet.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QueryDataSet.Builder builder() { + return new QueryDataSet.Builder(null, null, false); + } + + public static<_B >QueryDataSet.Builder<_B> copyOf(final QueryDataSet _other) { + final QueryDataSet.Builder<_B> _newBuilder = new QueryDataSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryDataSet.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree typeDefinitionNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinitionNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionNodePropertyTree!= null):((typeDefinitionNodePropertyTree == null)||(!typeDefinitionNodePropertyTree.isLeaf())))) { + _other.typeDefinitionNode = this.typeDefinitionNode; + } + final PropertyTree valuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("values")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuesPropertyTree!= null):((valuesPropertyTree == null)||(!valuesPropertyTree.isLeaf())))) { + _other.values = this.values; + } + } + + public<_B >QueryDataSet.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QueryDataSet.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QueryDataSet.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QueryDataSet.Builder<_B> copyOf(final QueryDataSet _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QueryDataSet.Builder<_B> _newBuilder = new QueryDataSet.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QueryDataSet.Builder copyExcept(final QueryDataSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QueryDataSet.Builder copyOnly(final QueryDataSet _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QueryDataSet _storedValue; + private JAXBElement nodeId; + private JAXBElement typeDefinitionNode; + private JAXBElement values; + + public Builder(final _B _parentBuilder, final QueryDataSet _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.typeDefinitionNode = _other.typeDefinitionNode; + this.values = _other.values; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QueryDataSet _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree typeDefinitionNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinitionNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionNodePropertyTree!= null):((typeDefinitionNodePropertyTree == null)||(!typeDefinitionNodePropertyTree.isLeaf())))) { + this.typeDefinitionNode = _other.typeDefinitionNode; + } + final PropertyTree valuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("values")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuesPropertyTree!= null):((valuesPropertyTree == null)||(!valuesPropertyTree.isLeaf())))) { + this.values = _other.values; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QueryDataSet >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.typeDefinitionNode = this.typeDefinitionNode; + _product.values = this.values; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public QueryDataSet.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "typeDefinitionNode" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param typeDefinitionNode + * Neuer Wert der Eigenschaft "typeDefinitionNode". + */ + public QueryDataSet.Builder<_B> withTypeDefinitionNode(final JAXBElement typeDefinitionNode) { + this.typeDefinitionNode = typeDefinitionNode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "values" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param values + * Neuer Wert der Eigenschaft "values". + */ + public QueryDataSet.Builder<_B> withValues(final JAXBElement values) { + this.values = values; + return this; + } + + @Override + public QueryDataSet build() { + if (_storedValue == null) { + return this.init(new QueryDataSet()); + } else { + return ((QueryDataSet) _storedValue); + } + } + + public QueryDataSet.Builder<_B> copyOf(final QueryDataSet _other) { + _other.copyTo(this); + return this; + } + + public QueryDataSet.Builder<_B> copyOf(final QueryDataSet.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QueryDataSet.Selector + { + + + Select() { + super(null, null, null); + } + + public static QueryDataSet.Select _root() { + return new QueryDataSet.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> typeDefinitionNode = null; + private com.kscs.util.jaxb.Selector> values = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.typeDefinitionNode!= null) { + products.put("typeDefinitionNode", this.typeDefinitionNode.init()); + } + if (this.values!= null) { + products.put("values", this.values.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> typeDefinitionNode() { + return ((this.typeDefinitionNode == null)?this.typeDefinitionNode = new com.kscs.util.jaxb.Selector>(this._root, this, "typeDefinitionNode"):this.typeDefinitionNode); + } + + public com.kscs.util.jaxb.Selector> values() { + return ((this.values == null)?this.values = new com.kscs.util.jaxb.Selector>(this._root, this, "values"):this.values); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstRequest.java new file mode 100644 index 000000000..aadb31fa7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstRequest.java @@ -0,0 +1,564 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QueryFirstRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QueryFirstRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="View" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ViewDescription" minOccurs="0"/>
+ *         <element name="NodeTypes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfNodeTypeDescription" minOccurs="0"/>
+ *         <element name="Filter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilter" minOccurs="0"/>
+ *         <element name="MaxDataSetsToReturn" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxReferencesToReturn" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QueryFirstRequest", propOrder = { + "requestHeader", + "view", + "nodeTypes", + "filter", + "maxDataSetsToReturn", + "maxReferencesToReturn" +}) +public class QueryFirstRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "View", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement view; + @XmlElementRef(name = "NodeTypes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeTypes; + @XmlElementRef(name = "Filter", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filter; + @XmlElement(name = "MaxDataSetsToReturn") + @XmlSchemaType(name = "unsignedInt") + protected Long maxDataSetsToReturn; + @XmlElement(name = "MaxReferencesToReturn") + @XmlSchemaType(name = "unsignedInt") + protected Long maxReferencesToReturn; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der view-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + */ + public JAXBElement getView() { + return view; + } + + /** + * Legt den Wert der view-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ViewDescription }{@code >} + * + */ + public void setView(JAXBElement value) { + this.view = value; + } + + /** + * Ruft den Wert der nodeTypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfNodeTypeDescription }{@code >} + * + */ + public JAXBElement getNodeTypes() { + return nodeTypes; + } + + /** + * Legt den Wert der nodeTypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfNodeTypeDescription }{@code >} + * + */ + public void setNodeTypes(JAXBElement value) { + this.nodeTypes = value; + } + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + */ + public JAXBElement getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ContentFilter }{@code >} + * + */ + public void setFilter(JAXBElement value) { + this.filter = value; + } + + /** + * Ruft den Wert der maxDataSetsToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxDataSetsToReturn() { + return maxDataSetsToReturn; + } + + /** + * Legt den Wert der maxDataSetsToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxDataSetsToReturn(Long value) { + this.maxDataSetsToReturn = value; + } + + /** + * Ruft den Wert der maxReferencesToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxReferencesToReturn() { + return maxReferencesToReturn; + } + + /** + * Legt den Wert der maxReferencesToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxReferencesToReturn(Long value) { + this.maxReferencesToReturn = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryFirstRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.view = this.view; + _other.nodeTypes = this.nodeTypes; + _other.filter = this.filter; + _other.maxDataSetsToReturn = this.maxDataSetsToReturn; + _other.maxReferencesToReturn = this.maxReferencesToReturn; + } + + public<_B >QueryFirstRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QueryFirstRequest.Builder<_B>(_parentBuilder, this, true); + } + + public QueryFirstRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QueryFirstRequest.Builder builder() { + return new QueryFirstRequest.Builder(null, null, false); + } + + public static<_B >QueryFirstRequest.Builder<_B> copyOf(final QueryFirstRequest _other) { + final QueryFirstRequest.Builder<_B> _newBuilder = new QueryFirstRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryFirstRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree viewPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("view")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewPropertyTree!= null):((viewPropertyTree == null)||(!viewPropertyTree.isLeaf())))) { + _other.view = this.view; + } + final PropertyTree nodeTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeTypesPropertyTree!= null):((nodeTypesPropertyTree == null)||(!nodeTypesPropertyTree.isLeaf())))) { + _other.nodeTypes = this.nodeTypes; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + _other.filter = this.filter; + } + final PropertyTree maxDataSetsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxDataSetsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxDataSetsToReturnPropertyTree!= null):((maxDataSetsToReturnPropertyTree == null)||(!maxDataSetsToReturnPropertyTree.isLeaf())))) { + _other.maxDataSetsToReturn = this.maxDataSetsToReturn; + } + final PropertyTree maxReferencesToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxReferencesToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxReferencesToReturnPropertyTree!= null):((maxReferencesToReturnPropertyTree == null)||(!maxReferencesToReturnPropertyTree.isLeaf())))) { + _other.maxReferencesToReturn = this.maxReferencesToReturn; + } + } + + public<_B >QueryFirstRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QueryFirstRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QueryFirstRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QueryFirstRequest.Builder<_B> copyOf(final QueryFirstRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QueryFirstRequest.Builder<_B> _newBuilder = new QueryFirstRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QueryFirstRequest.Builder copyExcept(final QueryFirstRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QueryFirstRequest.Builder copyOnly(final QueryFirstRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QueryFirstRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement view; + private JAXBElement nodeTypes; + private JAXBElement filter; + private Long maxDataSetsToReturn; + private Long maxReferencesToReturn; + + public Builder(final _B _parentBuilder, final QueryFirstRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.view = _other.view; + this.nodeTypes = _other.nodeTypes; + this.filter = _other.filter; + this.maxDataSetsToReturn = _other.maxDataSetsToReturn; + this.maxReferencesToReturn = _other.maxReferencesToReturn; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QueryFirstRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree viewPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("view")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewPropertyTree!= null):((viewPropertyTree == null)||(!viewPropertyTree.isLeaf())))) { + this.view = _other.view; + } + final PropertyTree nodeTypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeTypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeTypesPropertyTree!= null):((nodeTypesPropertyTree == null)||(!nodeTypesPropertyTree.isLeaf())))) { + this.nodeTypes = _other.nodeTypes; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + this.filter = _other.filter; + } + final PropertyTree maxDataSetsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxDataSetsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxDataSetsToReturnPropertyTree!= null):((maxDataSetsToReturnPropertyTree == null)||(!maxDataSetsToReturnPropertyTree.isLeaf())))) { + this.maxDataSetsToReturn = _other.maxDataSetsToReturn; + } + final PropertyTree maxReferencesToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxReferencesToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxReferencesToReturnPropertyTree!= null):((maxReferencesToReturnPropertyTree == null)||(!maxReferencesToReturnPropertyTree.isLeaf())))) { + this.maxReferencesToReturn = _other.maxReferencesToReturn; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QueryFirstRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.view = this.view; + _product.nodeTypes = this.nodeTypes; + _product.filter = this.filter; + _product.maxDataSetsToReturn = this.maxDataSetsToReturn; + _product.maxReferencesToReturn = this.maxReferencesToReturn; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public QueryFirstRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "view" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param view + * Neuer Wert der Eigenschaft "view". + */ + public QueryFirstRequest.Builder<_B> withView(final JAXBElement view) { + this.view = view; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeTypes" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeTypes + * Neuer Wert der Eigenschaft "nodeTypes". + */ + public QueryFirstRequest.Builder<_B> withNodeTypes(final JAXBElement nodeTypes) { + this.nodeTypes = nodeTypes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filter" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param filter + * Neuer Wert der Eigenschaft "filter". + */ + public QueryFirstRequest.Builder<_B> withFilter(final JAXBElement filter) { + this.filter = filter; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxDataSetsToReturn" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param maxDataSetsToReturn + * Neuer Wert der Eigenschaft "maxDataSetsToReturn". + */ + public QueryFirstRequest.Builder<_B> withMaxDataSetsToReturn(final Long maxDataSetsToReturn) { + this.maxDataSetsToReturn = maxDataSetsToReturn; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxReferencesToReturn" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxReferencesToReturn + * Neuer Wert der Eigenschaft "maxReferencesToReturn". + */ + public QueryFirstRequest.Builder<_B> withMaxReferencesToReturn(final Long maxReferencesToReturn) { + this.maxReferencesToReturn = maxReferencesToReturn; + return this; + } + + @Override + public QueryFirstRequest build() { + if (_storedValue == null) { + return this.init(new QueryFirstRequest()); + } else { + return ((QueryFirstRequest) _storedValue); + } + } + + public QueryFirstRequest.Builder<_B> copyOf(final QueryFirstRequest _other) { + _other.copyTo(this); + return this; + } + + public QueryFirstRequest.Builder<_B> copyOf(final QueryFirstRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QueryFirstRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static QueryFirstRequest.Select _root() { + return new QueryFirstRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> view = null; + private com.kscs.util.jaxb.Selector> nodeTypes = null; + private com.kscs.util.jaxb.Selector> filter = null; + private com.kscs.util.jaxb.Selector> maxDataSetsToReturn = null; + private com.kscs.util.jaxb.Selector> maxReferencesToReturn = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.view!= null) { + products.put("view", this.view.init()); + } + if (this.nodeTypes!= null) { + products.put("nodeTypes", this.nodeTypes.init()); + } + if (this.filter!= null) { + products.put("filter", this.filter.init()); + } + if (this.maxDataSetsToReturn!= null) { + products.put("maxDataSetsToReturn", this.maxDataSetsToReturn.init()); + } + if (this.maxReferencesToReturn!= null) { + products.put("maxReferencesToReturn", this.maxReferencesToReturn.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> view() { + return ((this.view == null)?this.view = new com.kscs.util.jaxb.Selector>(this._root, this, "view"):this.view); + } + + public com.kscs.util.jaxb.Selector> nodeTypes() { + return ((this.nodeTypes == null)?this.nodeTypes = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeTypes"):this.nodeTypes); + } + + public com.kscs.util.jaxb.Selector> filter() { + return ((this.filter == null)?this.filter = new com.kscs.util.jaxb.Selector>(this._root, this, "filter"):this.filter); + } + + public com.kscs.util.jaxb.Selector> maxDataSetsToReturn() { + return ((this.maxDataSetsToReturn == null)?this.maxDataSetsToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "maxDataSetsToReturn"):this.maxDataSetsToReturn); + } + + public com.kscs.util.jaxb.Selector> maxReferencesToReturn() { + return ((this.maxReferencesToReturn == null)?this.maxReferencesToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "maxReferencesToReturn"):this.maxReferencesToReturn); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstResponse.java new file mode 100644 index 000000000..26b134e23 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryFirstResponse.java @@ -0,0 +1,560 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QueryFirstResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QueryFirstResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="QueryDataSets" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfQueryDataSet" minOccurs="0"/>
+ *         <element name="ContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="ParsingResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfParsingResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *         <element name="FilterResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ContentFilterResult" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QueryFirstResponse", propOrder = { + "responseHeader", + "queryDataSets", + "continuationPoint", + "parsingResults", + "diagnosticInfos", + "filterResult" +}) +public class QueryFirstResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "QueryDataSets", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queryDataSets; + @XmlElementRef(name = "ContinuationPoint", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement continuationPoint; + @XmlElementRef(name = "ParsingResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement parsingResults; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + @XmlElementRef(name = "FilterResult", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filterResult; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der queryDataSets-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + */ + public JAXBElement getQueryDataSets() { + return queryDataSets; + } + + /** + * Legt den Wert der queryDataSets-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + */ + public void setQueryDataSets(JAXBElement value) { + this.queryDataSets = value; + } + + /** + * Ruft den Wert der continuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getContinuationPoint() { + return continuationPoint; + } + + /** + * Legt den Wert der continuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setContinuationPoint(JAXBElement value) { + this.continuationPoint = value; + } + + /** + * Ruft den Wert der parsingResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfParsingResult }{@code >} + * + */ + public JAXBElement getParsingResults() { + return parsingResults; + } + + /** + * Legt den Wert der parsingResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfParsingResult }{@code >} + * + */ + public void setParsingResults(JAXBElement value) { + this.parsingResults = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Ruft den Wert der filterResult-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + */ + public JAXBElement getFilterResult() { + return filterResult; + } + + /** + * Legt den Wert der filterResult-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ContentFilterResult }{@code >} + * + */ + public void setFilterResult(JAXBElement value) { + this.filterResult = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryFirstResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.queryDataSets = this.queryDataSets; + _other.continuationPoint = this.continuationPoint; + _other.parsingResults = this.parsingResults; + _other.diagnosticInfos = this.diagnosticInfos; + _other.filterResult = this.filterResult; + } + + public<_B >QueryFirstResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QueryFirstResponse.Builder<_B>(_parentBuilder, this, true); + } + + public QueryFirstResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QueryFirstResponse.Builder builder() { + return new QueryFirstResponse.Builder(null, null, false); + } + + public static<_B >QueryFirstResponse.Builder<_B> copyOf(final QueryFirstResponse _other) { + final QueryFirstResponse.Builder<_B> _newBuilder = new QueryFirstResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryFirstResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree queryDataSetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataSets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataSetsPropertyTree!= null):((queryDataSetsPropertyTree == null)||(!queryDataSetsPropertyTree.isLeaf())))) { + _other.queryDataSets = this.queryDataSets; + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + _other.continuationPoint = this.continuationPoint; + } + final PropertyTree parsingResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parsingResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parsingResultsPropertyTree!= null):((parsingResultsPropertyTree == null)||(!parsingResultsPropertyTree.isLeaf())))) { + _other.parsingResults = this.parsingResults; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + final PropertyTree filterResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterResultPropertyTree!= null):((filterResultPropertyTree == null)||(!filterResultPropertyTree.isLeaf())))) { + _other.filterResult = this.filterResult; + } + } + + public<_B >QueryFirstResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QueryFirstResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QueryFirstResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QueryFirstResponse.Builder<_B> copyOf(final QueryFirstResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QueryFirstResponse.Builder<_B> _newBuilder = new QueryFirstResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QueryFirstResponse.Builder copyExcept(final QueryFirstResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QueryFirstResponse.Builder copyOnly(final QueryFirstResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QueryFirstResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement queryDataSets; + private JAXBElement continuationPoint; + private JAXBElement parsingResults; + private JAXBElement diagnosticInfos; + private JAXBElement filterResult; + + public Builder(final _B _parentBuilder, final QueryFirstResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.queryDataSets = _other.queryDataSets; + this.continuationPoint = _other.continuationPoint; + this.parsingResults = _other.parsingResults; + this.diagnosticInfos = _other.diagnosticInfos; + this.filterResult = _other.filterResult; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QueryFirstResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree queryDataSetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataSets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataSetsPropertyTree!= null):((queryDataSetsPropertyTree == null)||(!queryDataSetsPropertyTree.isLeaf())))) { + this.queryDataSets = _other.queryDataSets; + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + this.continuationPoint = _other.continuationPoint; + } + final PropertyTree parsingResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parsingResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parsingResultsPropertyTree!= null):((parsingResultsPropertyTree == null)||(!parsingResultsPropertyTree.isLeaf())))) { + this.parsingResults = _other.parsingResults; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + final PropertyTree filterResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filterResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterResultPropertyTree!= null):((filterResultPropertyTree == null)||(!filterResultPropertyTree.isLeaf())))) { + this.filterResult = _other.filterResult; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QueryFirstResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.queryDataSets = this.queryDataSets; + _product.continuationPoint = this.continuationPoint; + _product.parsingResults = this.parsingResults; + _product.diagnosticInfos = this.diagnosticInfos; + _product.filterResult = this.filterResult; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public QueryFirstResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryDataSets" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param queryDataSets + * Neuer Wert der Eigenschaft "queryDataSets". + */ + public QueryFirstResponse.Builder<_B> withQueryDataSets(final JAXBElement queryDataSets) { + this.queryDataSets = queryDataSets; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "continuationPoint" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param continuationPoint + * Neuer Wert der Eigenschaft "continuationPoint". + */ + public QueryFirstResponse.Builder<_B> withContinuationPoint(final JAXBElement continuationPoint) { + this.continuationPoint = continuationPoint; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "parsingResults" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param parsingResults + * Neuer Wert der Eigenschaft "parsingResults". + */ + public QueryFirstResponse.Builder<_B> withParsingResults(final JAXBElement parsingResults) { + this.parsingResults = parsingResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public QueryFirstResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filterResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param filterResult + * Neuer Wert der Eigenschaft "filterResult". + */ + public QueryFirstResponse.Builder<_B> withFilterResult(final JAXBElement filterResult) { + this.filterResult = filterResult; + return this; + } + + @Override + public QueryFirstResponse build() { + if (_storedValue == null) { + return this.init(new QueryFirstResponse()); + } else { + return ((QueryFirstResponse) _storedValue); + } + } + + public QueryFirstResponse.Builder<_B> copyOf(final QueryFirstResponse _other) { + _other.copyTo(this); + return this; + } + + public QueryFirstResponse.Builder<_B> copyOf(final QueryFirstResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QueryFirstResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static QueryFirstResponse.Select _root() { + return new QueryFirstResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> queryDataSets = null; + private com.kscs.util.jaxb.Selector> continuationPoint = null; + private com.kscs.util.jaxb.Selector> parsingResults = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + private com.kscs.util.jaxb.Selector> filterResult = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.queryDataSets!= null) { + products.put("queryDataSets", this.queryDataSets.init()); + } + if (this.continuationPoint!= null) { + products.put("continuationPoint", this.continuationPoint.init()); + } + if (this.parsingResults!= null) { + products.put("parsingResults", this.parsingResults.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + if (this.filterResult!= null) { + products.put("filterResult", this.filterResult.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> queryDataSets() { + return ((this.queryDataSets == null)?this.queryDataSets = new com.kscs.util.jaxb.Selector>(this._root, this, "queryDataSets"):this.queryDataSets); + } + + public com.kscs.util.jaxb.Selector> continuationPoint() { + return ((this.continuationPoint == null)?this.continuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "continuationPoint"):this.continuationPoint); + } + + public com.kscs.util.jaxb.Selector> parsingResults() { + return ((this.parsingResults == null)?this.parsingResults = new com.kscs.util.jaxb.Selector>(this._root, this, "parsingResults"):this.parsingResults); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + public com.kscs.util.jaxb.Selector> filterResult() { + return ((this.filterResult == null)?this.filterResult = new com.kscs.util.jaxb.Selector>(this._root, this, "filterResult"):this.filterResult); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextRequest.java new file mode 100644 index 000000000..20a3d9a4d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextRequest.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QueryNextRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QueryNextRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="ReleaseContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="ContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QueryNextRequest", propOrder = { + "requestHeader", + "releaseContinuationPoint", + "continuationPoint" +}) +public class QueryNextRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "ReleaseContinuationPoint") + protected Boolean releaseContinuationPoint; + @XmlElementRef(name = "ContinuationPoint", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement continuationPoint; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der releaseContinuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isReleaseContinuationPoint() { + return releaseContinuationPoint; + } + + /** + * Legt den Wert der releaseContinuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setReleaseContinuationPoint(Boolean value) { + this.releaseContinuationPoint = value; + } + + /** + * Ruft den Wert der continuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getContinuationPoint() { + return continuationPoint; + } + + /** + * Legt den Wert der continuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setContinuationPoint(JAXBElement value) { + this.continuationPoint = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryNextRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.releaseContinuationPoint = this.releaseContinuationPoint; + _other.continuationPoint = this.continuationPoint; + } + + public<_B >QueryNextRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QueryNextRequest.Builder<_B>(_parentBuilder, this, true); + } + + public QueryNextRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QueryNextRequest.Builder builder() { + return new QueryNextRequest.Builder(null, null, false); + } + + public static<_B >QueryNextRequest.Builder<_B> copyOf(final QueryNextRequest _other) { + final QueryNextRequest.Builder<_B> _newBuilder = new QueryNextRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryNextRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree releaseContinuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("releaseContinuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(releaseContinuationPointPropertyTree!= null):((releaseContinuationPointPropertyTree == null)||(!releaseContinuationPointPropertyTree.isLeaf())))) { + _other.releaseContinuationPoint = this.releaseContinuationPoint; + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + _other.continuationPoint = this.continuationPoint; + } + } + + public<_B >QueryNextRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QueryNextRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QueryNextRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QueryNextRequest.Builder<_B> copyOf(final QueryNextRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QueryNextRequest.Builder<_B> _newBuilder = new QueryNextRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QueryNextRequest.Builder copyExcept(final QueryNextRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QueryNextRequest.Builder copyOnly(final QueryNextRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QueryNextRequest _storedValue; + private JAXBElement requestHeader; + private Boolean releaseContinuationPoint; + private JAXBElement continuationPoint; + + public Builder(final _B _parentBuilder, final QueryNextRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.releaseContinuationPoint = _other.releaseContinuationPoint; + this.continuationPoint = _other.continuationPoint; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QueryNextRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree releaseContinuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("releaseContinuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(releaseContinuationPointPropertyTree!= null):((releaseContinuationPointPropertyTree == null)||(!releaseContinuationPointPropertyTree.isLeaf())))) { + this.releaseContinuationPoint = _other.releaseContinuationPoint; + } + final PropertyTree continuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("continuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(continuationPointPropertyTree!= null):((continuationPointPropertyTree == null)||(!continuationPointPropertyTree.isLeaf())))) { + this.continuationPoint = _other.continuationPoint; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QueryNextRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.releaseContinuationPoint = this.releaseContinuationPoint; + _product.continuationPoint = this.continuationPoint; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public QueryNextRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "releaseContinuationPoint" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param releaseContinuationPoint + * Neuer Wert der Eigenschaft "releaseContinuationPoint". + */ + public QueryNextRequest.Builder<_B> withReleaseContinuationPoint(final Boolean releaseContinuationPoint) { + this.releaseContinuationPoint = releaseContinuationPoint; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "continuationPoint" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param continuationPoint + * Neuer Wert der Eigenschaft "continuationPoint". + */ + public QueryNextRequest.Builder<_B> withContinuationPoint(final JAXBElement continuationPoint) { + this.continuationPoint = continuationPoint; + return this; + } + + @Override + public QueryNextRequest build() { + if (_storedValue == null) { + return this.init(new QueryNextRequest()); + } else { + return ((QueryNextRequest) _storedValue); + } + } + + public QueryNextRequest.Builder<_B> copyOf(final QueryNextRequest _other) { + _other.copyTo(this); + return this; + } + + public QueryNextRequest.Builder<_B> copyOf(final QueryNextRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QueryNextRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static QueryNextRequest.Select _root() { + return new QueryNextRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> releaseContinuationPoint = null; + private com.kscs.util.jaxb.Selector> continuationPoint = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.releaseContinuationPoint!= null) { + products.put("releaseContinuationPoint", this.releaseContinuationPoint.init()); + } + if (this.continuationPoint!= null) { + products.put("continuationPoint", this.continuationPoint.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> releaseContinuationPoint() { + return ((this.releaseContinuationPoint == null)?this.releaseContinuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "releaseContinuationPoint"):this.releaseContinuationPoint); + } + + public com.kscs.util.jaxb.Selector> continuationPoint() { + return ((this.continuationPoint == null)?this.continuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "continuationPoint"):this.continuationPoint); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextResponse.java new file mode 100644 index 000000000..bae2957fe --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/QueryNextResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für QueryNextResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QueryNextResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="QueryDataSets" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfQueryDataSet" minOccurs="0"/>
+ *         <element name="RevisedContinuationPoint" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QueryNextResponse", propOrder = { + "responseHeader", + "queryDataSets", + "revisedContinuationPoint" +}) +public class QueryNextResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "QueryDataSets", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queryDataSets; + @XmlElementRef(name = "RevisedContinuationPoint", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement revisedContinuationPoint; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der queryDataSets-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + */ + public JAXBElement getQueryDataSets() { + return queryDataSets; + } + + /** + * Legt den Wert der queryDataSets-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfQueryDataSet }{@code >} + * + */ + public void setQueryDataSets(JAXBElement value) { + this.queryDataSets = value; + } + + /** + * Ruft den Wert der revisedContinuationPoint-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getRevisedContinuationPoint() { + return revisedContinuationPoint; + } + + /** + * Legt den Wert der revisedContinuationPoint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setRevisedContinuationPoint(JAXBElement value) { + this.revisedContinuationPoint = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryNextResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.queryDataSets = this.queryDataSets; + _other.revisedContinuationPoint = this.revisedContinuationPoint; + } + + public<_B >QueryNextResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new QueryNextResponse.Builder<_B>(_parentBuilder, this, true); + } + + public QueryNextResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static QueryNextResponse.Builder builder() { + return new QueryNextResponse.Builder(null, null, false); + } + + public static<_B >QueryNextResponse.Builder<_B> copyOf(final QueryNextResponse _other) { + final QueryNextResponse.Builder<_B> _newBuilder = new QueryNextResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final QueryNextResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree queryDataSetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataSets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataSetsPropertyTree!= null):((queryDataSetsPropertyTree == null)||(!queryDataSetsPropertyTree.isLeaf())))) { + _other.queryDataSets = this.queryDataSets; + } + final PropertyTree revisedContinuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedContinuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedContinuationPointPropertyTree!= null):((revisedContinuationPointPropertyTree == null)||(!revisedContinuationPointPropertyTree.isLeaf())))) { + _other.revisedContinuationPoint = this.revisedContinuationPoint; + } + } + + public<_B >QueryNextResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new QueryNextResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public QueryNextResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >QueryNextResponse.Builder<_B> copyOf(final QueryNextResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final QueryNextResponse.Builder<_B> _newBuilder = new QueryNextResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static QueryNextResponse.Builder copyExcept(final QueryNextResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static QueryNextResponse.Builder copyOnly(final QueryNextResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final QueryNextResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement queryDataSets; + private JAXBElement revisedContinuationPoint; + + public Builder(final _B _parentBuilder, final QueryNextResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.queryDataSets = _other.queryDataSets; + this.revisedContinuationPoint = _other.revisedContinuationPoint; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final QueryNextResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree queryDataSetsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryDataSets")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryDataSetsPropertyTree!= null):((queryDataSetsPropertyTree == null)||(!queryDataSetsPropertyTree.isLeaf())))) { + this.queryDataSets = _other.queryDataSets; + } + final PropertyTree revisedContinuationPointPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("revisedContinuationPoint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(revisedContinuationPointPropertyTree!= null):((revisedContinuationPointPropertyTree == null)||(!revisedContinuationPointPropertyTree.isLeaf())))) { + this.revisedContinuationPoint = _other.revisedContinuationPoint; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends QueryNextResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.queryDataSets = this.queryDataSets; + _product.revisedContinuationPoint = this.revisedContinuationPoint; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public QueryNextResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryDataSets" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param queryDataSets + * Neuer Wert der Eigenschaft "queryDataSets". + */ + public QueryNextResponse.Builder<_B> withQueryDataSets(final JAXBElement queryDataSets) { + this.queryDataSets = queryDataSets; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "revisedContinuationPoint" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param revisedContinuationPoint + * Neuer Wert der Eigenschaft "revisedContinuationPoint". + */ + public QueryNextResponse.Builder<_B> withRevisedContinuationPoint(final JAXBElement revisedContinuationPoint) { + this.revisedContinuationPoint = revisedContinuationPoint; + return this; + } + + @Override + public QueryNextResponse build() { + if (_storedValue == null) { + return this.init(new QueryNextResponse()); + } else { + return ((QueryNextResponse) _storedValue); + } + } + + public QueryNextResponse.Builder<_B> copyOf(final QueryNextResponse _other) { + _other.copyTo(this); + return this; + } + + public QueryNextResponse.Builder<_B> copyOf(final QueryNextResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends QueryNextResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static QueryNextResponse.Select _root() { + return new QueryNextResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> queryDataSets = null; + private com.kscs.util.jaxb.Selector> revisedContinuationPoint = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.queryDataSets!= null) { + products.put("queryDataSets", this.queryDataSets.init()); + } + if (this.revisedContinuationPoint!= null) { + products.put("revisedContinuationPoint", this.revisedContinuationPoint.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> queryDataSets() { + return ((this.queryDataSets == null)?this.queryDataSets = new com.kscs.util.jaxb.Selector>(this._root, this, "queryDataSets"):this.queryDataSets); + } + + public com.kscs.util.jaxb.Selector> revisedContinuationPoint() { + return ((this.revisedContinuationPoint == null)?this.revisedContinuationPoint = new com.kscs.util.jaxb.Selector>(this._root, this, "revisedContinuationPoint"):this.revisedContinuationPoint); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Range.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Range.java new file mode 100644 index 000000000..8b563ccc5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Range.java @@ -0,0 +1,319 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Range complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Range">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Low" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="High" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Range", propOrder = { + "low", + "high" +}) +public class Range { + + @XmlElement(name = "Low") + protected Double low; + @XmlElement(name = "High") + protected Double high; + + /** + * Ruft den Wert der low-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getLow() { + return low; + } + + /** + * Legt den Wert der low-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setLow(Double value) { + this.low = value; + } + + /** + * Ruft den Wert der high-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getHigh() { + return high; + } + + /** + * Legt den Wert der high-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setHigh(Double value) { + this.high = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Range.Builder<_B> _other) { + _other.low = this.low; + _other.high = this.high; + } + + public<_B >Range.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Range.Builder<_B>(_parentBuilder, this, true); + } + + public Range.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Range.Builder builder() { + return new Range.Builder(null, null, false); + } + + public static<_B >Range.Builder<_B> copyOf(final Range _other) { + final Range.Builder<_B> _newBuilder = new Range.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Range.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree lowPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("low")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lowPropertyTree!= null):((lowPropertyTree == null)||(!lowPropertyTree.isLeaf())))) { + _other.low = this.low; + } + final PropertyTree highPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("high")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(highPropertyTree!= null):((highPropertyTree == null)||(!highPropertyTree.isLeaf())))) { + _other.high = this.high; + } + } + + public<_B >Range.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Range.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Range.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Range.Builder<_B> copyOf(final Range _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Range.Builder<_B> _newBuilder = new Range.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Range.Builder copyExcept(final Range _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Range.Builder copyOnly(final Range _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Range _storedValue; + private Double low; + private Double high; + + public Builder(final _B _parentBuilder, final Range _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.low = _other.low; + this.high = _other.high; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Range _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree lowPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("low")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(lowPropertyTree!= null):((lowPropertyTree == null)||(!lowPropertyTree.isLeaf())))) { + this.low = _other.low; + } + final PropertyTree highPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("high")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(highPropertyTree!= null):((highPropertyTree == null)||(!highPropertyTree.isLeaf())))) { + this.high = _other.high; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Range >_P init(final _P _product) { + _product.low = this.low; + _product.high = this.high; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "low" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param low + * Neuer Wert der Eigenschaft "low". + */ + public Range.Builder<_B> withLow(final Double low) { + this.low = low; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "high" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param high + * Neuer Wert der Eigenschaft "high". + */ + public Range.Builder<_B> withHigh(final Double high) { + this.high = high; + return this; + } + + @Override + public Range build() { + if (_storedValue == null) { + return this.init(new Range()); + } else { + return ((Range) _storedValue); + } + } + + public Range.Builder<_B> copyOf(final Range _other) { + _other.copyTo(this); + return this; + } + + public Range.Builder<_B> copyOf(final Range.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Range.Selector + { + + + Select() { + super(null, null, null); + } + + public static Range.Select _root() { + return new Range.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> low = null; + private com.kscs.util.jaxb.Selector> high = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.low!= null) { + products.put("low", this.low.init()); + } + if (this.high!= null) { + products.put("high", this.high.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> low() { + return ((this.low == null)?this.low = new com.kscs.util.jaxb.Selector>(this._root, this, "low"):this.low); + } + + public com.kscs.util.jaxb.Selector> high() { + return ((this.high == null)?this.high = new com.kscs.util.jaxb.Selector>(this._root, this, "high"):this.high); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RationalNumber.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RationalNumber.java new file mode 100644 index 000000000..96e9b6cfb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RationalNumber.java @@ -0,0 +1,321 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RationalNumber complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RationalNumber">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Numerator" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="Denominator" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RationalNumber", propOrder = { + "numerator", + "denominator" +}) +public class RationalNumber { + + @XmlElement(name = "Numerator") + protected Integer numerator; + @XmlElement(name = "Denominator") + @XmlSchemaType(name = "unsignedInt") + protected Long denominator; + + /** + * Ruft den Wert der numerator-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getNumerator() { + return numerator; + } + + /** + * Legt den Wert der numerator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setNumerator(Integer value) { + this.numerator = value; + } + + /** + * Ruft den Wert der denominator-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDenominator() { + return denominator; + } + + /** + * Legt den Wert der denominator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDenominator(Long value) { + this.denominator = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RationalNumber.Builder<_B> _other) { + _other.numerator = this.numerator; + _other.denominator = this.denominator; + } + + public<_B >RationalNumber.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RationalNumber.Builder<_B>(_parentBuilder, this, true); + } + + public RationalNumber.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RationalNumber.Builder builder() { + return new RationalNumber.Builder(null, null, false); + } + + public static<_B >RationalNumber.Builder<_B> copyOf(final RationalNumber _other) { + final RationalNumber.Builder<_B> _newBuilder = new RationalNumber.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RationalNumber.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree numeratorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numerator")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numeratorPropertyTree!= null):((numeratorPropertyTree == null)||(!numeratorPropertyTree.isLeaf())))) { + _other.numerator = this.numerator; + } + final PropertyTree denominatorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("denominator")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(denominatorPropertyTree!= null):((denominatorPropertyTree == null)||(!denominatorPropertyTree.isLeaf())))) { + _other.denominator = this.denominator; + } + } + + public<_B >RationalNumber.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RationalNumber.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RationalNumber.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RationalNumber.Builder<_B> copyOf(final RationalNumber _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RationalNumber.Builder<_B> _newBuilder = new RationalNumber.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RationalNumber.Builder copyExcept(final RationalNumber _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RationalNumber.Builder copyOnly(final RationalNumber _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RationalNumber _storedValue; + private Integer numerator; + private Long denominator; + + public Builder(final _B _parentBuilder, final RationalNumber _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.numerator = _other.numerator; + this.denominator = _other.denominator; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RationalNumber _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree numeratorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numerator")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numeratorPropertyTree!= null):((numeratorPropertyTree == null)||(!numeratorPropertyTree.isLeaf())))) { + this.numerator = _other.numerator; + } + final PropertyTree denominatorPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("denominator")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(denominatorPropertyTree!= null):((denominatorPropertyTree == null)||(!denominatorPropertyTree.isLeaf())))) { + this.denominator = _other.denominator; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RationalNumber >_P init(final _P _product) { + _product.numerator = this.numerator; + _product.denominator = this.denominator; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "numerator" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param numerator + * Neuer Wert der Eigenschaft "numerator". + */ + public RationalNumber.Builder<_B> withNumerator(final Integer numerator) { + this.numerator = numerator; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "denominator" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param denominator + * Neuer Wert der Eigenschaft "denominator". + */ + public RationalNumber.Builder<_B> withDenominator(final Long denominator) { + this.denominator = denominator; + return this; + } + + @Override + public RationalNumber build() { + if (_storedValue == null) { + return this.init(new RationalNumber()); + } else { + return ((RationalNumber) _storedValue); + } + } + + public RationalNumber.Builder<_B> copyOf(final RationalNumber _other) { + _other.copyTo(this); + return this; + } + + public RationalNumber.Builder<_B> copyOf(final RationalNumber.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RationalNumber.Selector + { + + + Select() { + super(null, null, null); + } + + public static RationalNumber.Select _root() { + return new RationalNumber.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> numerator = null; + private com.kscs.util.jaxb.Selector> denominator = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.numerator!= null) { + products.put("numerator", this.numerator.init()); + } + if (this.denominator!= null) { + products.put("denominator", this.denominator.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> numerator() { + return ((this.numerator == null)?this.numerator = new com.kscs.util.jaxb.Selector>(this._root, this, "numerator"):this.numerator); + } + + public com.kscs.util.jaxb.Selector> denominator() { + return ((this.denominator == null)?this.denominator = new com.kscs.util.jaxb.Selector>(this._root, this, "denominator"):this.denominator); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAnnotationDataDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAnnotationDataDetails.java new file mode 100644 index 000000000..80f47c1cf --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAnnotationDataDetails.java @@ -0,0 +1,270 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadAnnotationDataDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadAnnotationDataDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadDetails">
+ *       <sequence>
+ *         <element name="ReqTimes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDateTime" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadAnnotationDataDetails", propOrder = { + "reqTimes" +}) +public class ReadAnnotationDataDetails + extends HistoryReadDetails +{ + + @XmlElementRef(name = "ReqTimes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement reqTimes; + + /** + * Ruft den Wert der reqTimes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + */ + public JAXBElement getReqTimes() { + return reqTimes; + } + + /** + * Legt den Wert der reqTimes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + */ + public void setReqTimes(JAXBElement value) { + this.reqTimes = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadAnnotationDataDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.reqTimes = this.reqTimes; + } + + @Override + public<_B >ReadAnnotationDataDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadAnnotationDataDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReadAnnotationDataDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadAnnotationDataDetails.Builder builder() { + return new ReadAnnotationDataDetails.Builder(null, null, false); + } + + public static<_B >ReadAnnotationDataDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + final ReadAnnotationDataDetails.Builder<_B> _newBuilder = new ReadAnnotationDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReadAnnotationDataDetails.Builder<_B> copyOf(final ReadAnnotationDataDetails _other) { + final ReadAnnotationDataDetails.Builder<_B> _newBuilder = new ReadAnnotationDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadAnnotationDataDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree reqTimesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("reqTimes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(reqTimesPropertyTree!= null):((reqTimesPropertyTree == null)||(!reqTimesPropertyTree.isLeaf())))) { + _other.reqTimes = this.reqTimes; + } + } + + @Override + public<_B >ReadAnnotationDataDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadAnnotationDataDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReadAnnotationDataDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadAnnotationDataDetails.Builder<_B> copyOf(final HistoryReadDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadAnnotationDataDetails.Builder<_B> _newBuilder = new ReadAnnotationDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReadAnnotationDataDetails.Builder<_B> copyOf(final ReadAnnotationDataDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadAnnotationDataDetails.Builder<_B> _newBuilder = new ReadAnnotationDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadAnnotationDataDetails.Builder copyExcept(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadAnnotationDataDetails.Builder copyExcept(final ReadAnnotationDataDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadAnnotationDataDetails.Builder copyOnly(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReadAnnotationDataDetails.Builder copyOnly(final ReadAnnotationDataDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryReadDetails.Builder<_B> + implements Buildable + { + + private JAXBElement reqTimes; + + public Builder(final _B _parentBuilder, final ReadAnnotationDataDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.reqTimes = _other.reqTimes; + } + } + + public Builder(final _B _parentBuilder, final ReadAnnotationDataDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree reqTimesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("reqTimes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(reqTimesPropertyTree!= null):((reqTimesPropertyTree == null)||(!reqTimesPropertyTree.isLeaf())))) { + this.reqTimes = _other.reqTimes; + } + } + } + + protected<_P extends ReadAnnotationDataDetails >_P init(final _P _product) { + _product.reqTimes = this.reqTimes; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "reqTimes" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param reqTimes + * Neuer Wert der Eigenschaft "reqTimes". + */ + public ReadAnnotationDataDetails.Builder<_B> withReqTimes(final JAXBElement reqTimes) { + this.reqTimes = reqTimes; + return this; + } + + @Override + public ReadAnnotationDataDetails build() { + if (_storedValue == null) { + return this.init(new ReadAnnotationDataDetails()); + } else { + return ((ReadAnnotationDataDetails) _storedValue); + } + } + + public ReadAnnotationDataDetails.Builder<_B> copyOf(final ReadAnnotationDataDetails _other) { + _other.copyTo(this); + return this; + } + + public ReadAnnotationDataDetails.Builder<_B> copyOf(final ReadAnnotationDataDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadAnnotationDataDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadAnnotationDataDetails.Select _root() { + return new ReadAnnotationDataDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryReadDetails.Selector + { + + private com.kscs.util.jaxb.Selector> reqTimes = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.reqTimes!= null) { + products.put("reqTimes", this.reqTimes.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> reqTimes() { + return ((this.reqTimes == null)?this.reqTimes = new com.kscs.util.jaxb.Selector>(this._root, this, "reqTimes"):this.reqTimes); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAtTimeDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAtTimeDetails.java new file mode 100644 index 000000000..b7ea0d026 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadAtTimeDetails.java @@ -0,0 +1,331 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadAtTimeDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadAtTimeDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadDetails">
+ *       <sequence>
+ *         <element name="ReqTimes" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDateTime" minOccurs="0"/>
+ *         <element name="UseSimpleBounds" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadAtTimeDetails", propOrder = { + "reqTimes", + "useSimpleBounds" +}) +public class ReadAtTimeDetails + extends HistoryReadDetails +{ + + @XmlElementRef(name = "ReqTimes", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement reqTimes; + @XmlElement(name = "UseSimpleBounds") + protected Boolean useSimpleBounds; + + /** + * Ruft den Wert der reqTimes-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + */ + public JAXBElement getReqTimes() { + return reqTimes; + } + + /** + * Legt den Wert der reqTimes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDateTime }{@code >} + * + */ + public void setReqTimes(JAXBElement value) { + this.reqTimes = value; + } + + /** + * Ruft den Wert der useSimpleBounds-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isUseSimpleBounds() { + return useSimpleBounds; + } + + /** + * Legt den Wert der useSimpleBounds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setUseSimpleBounds(Boolean value) { + this.useSimpleBounds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadAtTimeDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.reqTimes = this.reqTimes; + _other.useSimpleBounds = this.useSimpleBounds; + } + + @Override + public<_B >ReadAtTimeDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadAtTimeDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReadAtTimeDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadAtTimeDetails.Builder builder() { + return new ReadAtTimeDetails.Builder(null, null, false); + } + + public static<_B >ReadAtTimeDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + final ReadAtTimeDetails.Builder<_B> _newBuilder = new ReadAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReadAtTimeDetails.Builder<_B> copyOf(final ReadAtTimeDetails _other) { + final ReadAtTimeDetails.Builder<_B> _newBuilder = new ReadAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadAtTimeDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree reqTimesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("reqTimes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(reqTimesPropertyTree!= null):((reqTimesPropertyTree == null)||(!reqTimesPropertyTree.isLeaf())))) { + _other.reqTimes = this.reqTimes; + } + final PropertyTree useSimpleBoundsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useSimpleBounds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useSimpleBoundsPropertyTree!= null):((useSimpleBoundsPropertyTree == null)||(!useSimpleBoundsPropertyTree.isLeaf())))) { + _other.useSimpleBounds = this.useSimpleBounds; + } + } + + @Override + public<_B >ReadAtTimeDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadAtTimeDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReadAtTimeDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadAtTimeDetails.Builder<_B> copyOf(final HistoryReadDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadAtTimeDetails.Builder<_B> _newBuilder = new ReadAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReadAtTimeDetails.Builder<_B> copyOf(final ReadAtTimeDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadAtTimeDetails.Builder<_B> _newBuilder = new ReadAtTimeDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadAtTimeDetails.Builder copyExcept(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadAtTimeDetails.Builder copyExcept(final ReadAtTimeDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadAtTimeDetails.Builder copyOnly(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReadAtTimeDetails.Builder copyOnly(final ReadAtTimeDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryReadDetails.Builder<_B> + implements Buildable + { + + private JAXBElement reqTimes; + private Boolean useSimpleBounds; + + public Builder(final _B _parentBuilder, final ReadAtTimeDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.reqTimes = _other.reqTimes; + this.useSimpleBounds = _other.useSimpleBounds; + } + } + + public Builder(final _B _parentBuilder, final ReadAtTimeDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree reqTimesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("reqTimes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(reqTimesPropertyTree!= null):((reqTimesPropertyTree == null)||(!reqTimesPropertyTree.isLeaf())))) { + this.reqTimes = _other.reqTimes; + } + final PropertyTree useSimpleBoundsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("useSimpleBounds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(useSimpleBoundsPropertyTree!= null):((useSimpleBoundsPropertyTree == null)||(!useSimpleBoundsPropertyTree.isLeaf())))) { + this.useSimpleBounds = _other.useSimpleBounds; + } + } + } + + protected<_P extends ReadAtTimeDetails >_P init(final _P _product) { + _product.reqTimes = this.reqTimes; + _product.useSimpleBounds = this.useSimpleBounds; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "reqTimes" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param reqTimes + * Neuer Wert der Eigenschaft "reqTimes". + */ + public ReadAtTimeDetails.Builder<_B> withReqTimes(final JAXBElement reqTimes) { + this.reqTimes = reqTimes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "useSimpleBounds" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param useSimpleBounds + * Neuer Wert der Eigenschaft "useSimpleBounds". + */ + public ReadAtTimeDetails.Builder<_B> withUseSimpleBounds(final Boolean useSimpleBounds) { + this.useSimpleBounds = useSimpleBounds; + return this; + } + + @Override + public ReadAtTimeDetails build() { + if (_storedValue == null) { + return this.init(new ReadAtTimeDetails()); + } else { + return ((ReadAtTimeDetails) _storedValue); + } + } + + public ReadAtTimeDetails.Builder<_B> copyOf(final ReadAtTimeDetails _other) { + _other.copyTo(this); + return this; + } + + public ReadAtTimeDetails.Builder<_B> copyOf(final ReadAtTimeDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadAtTimeDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadAtTimeDetails.Select _root() { + return new ReadAtTimeDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryReadDetails.Selector + { + + private com.kscs.util.jaxb.Selector> reqTimes = null; + private com.kscs.util.jaxb.Selector> useSimpleBounds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.reqTimes!= null) { + products.put("reqTimes", this.reqTimes.init()); + } + if (this.useSimpleBounds!= null) { + products.put("useSimpleBounds", this.useSimpleBounds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> reqTimes() { + return ((this.reqTimes == null)?this.reqTimes = new com.kscs.util.jaxb.Selector>(this._root, this, "reqTimes"):this.reqTimes); + } + + public com.kscs.util.jaxb.Selector> useSimpleBounds() { + return ((this.useSimpleBounds == null)?this.useSimpleBounds = new com.kscs.util.jaxb.Selector>(this._root, this, "useSimpleBounds"):this.useSimpleBounds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadEventDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadEventDetails.java new file mode 100644 index 000000000..289e4260e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadEventDetails.java @@ -0,0 +1,456 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadEventDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadEventDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadDetails">
+ *       <sequence>
+ *         <element name="NumValuesPerNode" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="StartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="EndTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="Filter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EventFilter" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadEventDetails", propOrder = { + "numValuesPerNode", + "startTime", + "endTime", + "filter" +}) +public class ReadEventDetails + extends HistoryReadDetails +{ + + @XmlElement(name = "NumValuesPerNode") + @XmlSchemaType(name = "unsignedInt") + protected Long numValuesPerNode; + @XmlElement(name = "StartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar startTime; + @XmlElement(name = "EndTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar endTime; + @XmlElementRef(name = "Filter", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filter; + + /** + * Ruft den Wert der numValuesPerNode-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNumValuesPerNode() { + return numValuesPerNode; + } + + /** + * Legt den Wert der numValuesPerNode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNumValuesPerNode(Long value) { + this.numValuesPerNode = value; + } + + /** + * Ruft den Wert der startTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getStartTime() { + return startTime; + } + + /** + * Legt den Wert der startTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setStartTime(XMLGregorianCalendar value) { + this.startTime = value; + } + + /** + * Ruft den Wert der endTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getEndTime() { + return endTime; + } + + /** + * Legt den Wert der endTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setEndTime(XMLGregorianCalendar value) { + this.endTime = value; + } + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + */ + public JAXBElement getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + */ + public void setFilter(JAXBElement value) { + this.filter = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadEventDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.numValuesPerNode = this.numValuesPerNode; + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + _other.filter = this.filter; + } + + @Override + public<_B >ReadEventDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadEventDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReadEventDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadEventDetails.Builder builder() { + return new ReadEventDetails.Builder(null, null, false); + } + + public static<_B >ReadEventDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + final ReadEventDetails.Builder<_B> _newBuilder = new ReadEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReadEventDetails.Builder<_B> copyOf(final ReadEventDetails _other) { + final ReadEventDetails.Builder<_B> _newBuilder = new ReadEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadEventDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree numValuesPerNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numValuesPerNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numValuesPerNodePropertyTree!= null):((numValuesPerNodePropertyTree == null)||(!numValuesPerNodePropertyTree.isLeaf())))) { + _other.numValuesPerNode = this.numValuesPerNode; + } + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + _other.filter = this.filter; + } + } + + @Override + public<_B >ReadEventDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadEventDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReadEventDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadEventDetails.Builder<_B> copyOf(final HistoryReadDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadEventDetails.Builder<_B> _newBuilder = new ReadEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReadEventDetails.Builder<_B> copyOf(final ReadEventDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadEventDetails.Builder<_B> _newBuilder = new ReadEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadEventDetails.Builder copyExcept(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadEventDetails.Builder copyExcept(final ReadEventDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadEventDetails.Builder copyOnly(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReadEventDetails.Builder copyOnly(final ReadEventDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryReadDetails.Builder<_B> + implements Buildable + { + + private Long numValuesPerNode; + private XMLGregorianCalendar startTime; + private XMLGregorianCalendar endTime; + private JAXBElement filter; + + public Builder(final _B _parentBuilder, final ReadEventDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.numValuesPerNode = _other.numValuesPerNode; + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + this.filter = _other.filter; + } + } + + public Builder(final _B _parentBuilder, final ReadEventDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree numValuesPerNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numValuesPerNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numValuesPerNodePropertyTree!= null):((numValuesPerNodePropertyTree == null)||(!numValuesPerNodePropertyTree.isLeaf())))) { + this.numValuesPerNode = _other.numValuesPerNode; + } + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + this.filter = _other.filter; + } + } + } + + protected<_P extends ReadEventDetails >_P init(final _P _product) { + _product.numValuesPerNode = this.numValuesPerNode; + _product.startTime = this.startTime; + _product.endTime = this.endTime; + _product.filter = this.filter; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "numValuesPerNode" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param numValuesPerNode + * Neuer Wert der Eigenschaft "numValuesPerNode". + */ + public ReadEventDetails.Builder<_B> withNumValuesPerNode(final Long numValuesPerNode) { + this.numValuesPerNode = numValuesPerNode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "startTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param startTime + * Neuer Wert der Eigenschaft "startTime". + */ + public ReadEventDetails.Builder<_B> withStartTime(final XMLGregorianCalendar startTime) { + this.startTime = startTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param endTime + * Neuer Wert der Eigenschaft "endTime". + */ + public ReadEventDetails.Builder<_B> withEndTime(final XMLGregorianCalendar endTime) { + this.endTime = endTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filter" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param filter + * Neuer Wert der Eigenschaft "filter". + */ + public ReadEventDetails.Builder<_B> withFilter(final JAXBElement filter) { + this.filter = filter; + return this; + } + + @Override + public ReadEventDetails build() { + if (_storedValue == null) { + return this.init(new ReadEventDetails()); + } else { + return ((ReadEventDetails) _storedValue); + } + } + + public ReadEventDetails.Builder<_B> copyOf(final ReadEventDetails _other) { + _other.copyTo(this); + return this; + } + + public ReadEventDetails.Builder<_B> copyOf(final ReadEventDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadEventDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadEventDetails.Select _root() { + return new ReadEventDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryReadDetails.Selector + { + + private com.kscs.util.jaxb.Selector> numValuesPerNode = null; + private com.kscs.util.jaxb.Selector> startTime = null; + private com.kscs.util.jaxb.Selector> endTime = null; + private com.kscs.util.jaxb.Selector> filter = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.numValuesPerNode!= null) { + products.put("numValuesPerNode", this.numValuesPerNode.init()); + } + if (this.startTime!= null) { + products.put("startTime", this.startTime.init()); + } + if (this.endTime!= null) { + products.put("endTime", this.endTime.init()); + } + if (this.filter!= null) { + products.put("filter", this.filter.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> numValuesPerNode() { + return ((this.numValuesPerNode == null)?this.numValuesPerNode = new com.kscs.util.jaxb.Selector>(this._root, this, "numValuesPerNode"):this.numValuesPerNode); + } + + public com.kscs.util.jaxb.Selector> startTime() { + return ((this.startTime == null)?this.startTime = new com.kscs.util.jaxb.Selector>(this._root, this, "startTime"):this.startTime); + } + + public com.kscs.util.jaxb.Selector> endTime() { + return ((this.endTime == null)?this.endTime = new com.kscs.util.jaxb.Selector>(this._root, this, "endTime"):this.endTime); + } + + public com.kscs.util.jaxb.Selector> filter() { + return ((this.filter == null)?this.filter = new com.kscs.util.jaxb.Selector>(this._root, this, "filter"):this.filter); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadProcessedDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadProcessedDetails.java new file mode 100644 index 000000000..3777b1d20 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadProcessedDetails.java @@ -0,0 +1,515 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadProcessedDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadProcessedDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadDetails">
+ *       <sequence>
+ *         <element name="StartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="EndTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="ProcessingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="AggregateType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfNodeId" minOccurs="0"/>
+ *         <element name="AggregateConfiguration" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}AggregateConfiguration" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadProcessedDetails", propOrder = { + "startTime", + "endTime", + "processingInterval", + "aggregateType", + "aggregateConfiguration" +}) +public class ReadProcessedDetails + extends HistoryReadDetails +{ + + @XmlElement(name = "StartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar startTime; + @XmlElement(name = "EndTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar endTime; + @XmlElement(name = "ProcessingInterval") + protected Double processingInterval; + @XmlElementRef(name = "AggregateType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement aggregateType; + @XmlElementRef(name = "AggregateConfiguration", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement aggregateConfiguration; + + /** + * Ruft den Wert der startTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getStartTime() { + return startTime; + } + + /** + * Legt den Wert der startTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setStartTime(XMLGregorianCalendar value) { + this.startTime = value; + } + + /** + * Ruft den Wert der endTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getEndTime() { + return endTime; + } + + /** + * Legt den Wert der endTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setEndTime(XMLGregorianCalendar value) { + this.endTime = value; + } + + /** + * Ruft den Wert der processingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getProcessingInterval() { + return processingInterval; + } + + /** + * Legt den Wert der processingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setProcessingInterval(Double value) { + this.processingInterval = value; + } + + /** + * Ruft den Wert der aggregateType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public JAXBElement getAggregateType() { + return aggregateType; + } + + /** + * Legt den Wert der aggregateType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public void setAggregateType(JAXBElement value) { + this.aggregateType = value; + } + + /** + * Ruft den Wert der aggregateConfiguration-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + */ + public JAXBElement getAggregateConfiguration() { + return aggregateConfiguration; + } + + /** + * Legt den Wert der aggregateConfiguration-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link AggregateConfiguration }{@code >} + * + */ + public void setAggregateConfiguration(JAXBElement value) { + this.aggregateConfiguration = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadProcessedDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + _other.processingInterval = this.processingInterval; + _other.aggregateType = this.aggregateType; + _other.aggregateConfiguration = this.aggregateConfiguration; + } + + @Override + public<_B >ReadProcessedDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadProcessedDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReadProcessedDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadProcessedDetails.Builder builder() { + return new ReadProcessedDetails.Builder(null, null, false); + } + + public static<_B >ReadProcessedDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + final ReadProcessedDetails.Builder<_B> _newBuilder = new ReadProcessedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReadProcessedDetails.Builder<_B> copyOf(final ReadProcessedDetails _other) { + final ReadProcessedDetails.Builder<_B> _newBuilder = new ReadProcessedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadProcessedDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + } + final PropertyTree processingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("processingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(processingIntervalPropertyTree!= null):((processingIntervalPropertyTree == null)||(!processingIntervalPropertyTree.isLeaf())))) { + _other.processingInterval = this.processingInterval; + } + final PropertyTree aggregateTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateTypePropertyTree!= null):((aggregateTypePropertyTree == null)||(!aggregateTypePropertyTree.isLeaf())))) { + _other.aggregateType = this.aggregateType; + } + final PropertyTree aggregateConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateConfigurationPropertyTree!= null):((aggregateConfigurationPropertyTree == null)||(!aggregateConfigurationPropertyTree.isLeaf())))) { + _other.aggregateConfiguration = this.aggregateConfiguration; + } + } + + @Override + public<_B >ReadProcessedDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadProcessedDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReadProcessedDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadProcessedDetails.Builder<_B> copyOf(final HistoryReadDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadProcessedDetails.Builder<_B> _newBuilder = new ReadProcessedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReadProcessedDetails.Builder<_B> copyOf(final ReadProcessedDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadProcessedDetails.Builder<_B> _newBuilder = new ReadProcessedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadProcessedDetails.Builder copyExcept(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadProcessedDetails.Builder copyExcept(final ReadProcessedDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadProcessedDetails.Builder copyOnly(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReadProcessedDetails.Builder copyOnly(final ReadProcessedDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryReadDetails.Builder<_B> + implements Buildable + { + + private XMLGregorianCalendar startTime; + private XMLGregorianCalendar endTime; + private Double processingInterval; + private JAXBElement aggregateType; + private JAXBElement aggregateConfiguration; + + public Builder(final _B _parentBuilder, final ReadProcessedDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + this.processingInterval = _other.processingInterval; + this.aggregateType = _other.aggregateType; + this.aggregateConfiguration = _other.aggregateConfiguration; + } + } + + public Builder(final _B _parentBuilder, final ReadProcessedDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + } + final PropertyTree processingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("processingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(processingIntervalPropertyTree!= null):((processingIntervalPropertyTree == null)||(!processingIntervalPropertyTree.isLeaf())))) { + this.processingInterval = _other.processingInterval; + } + final PropertyTree aggregateTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateTypePropertyTree!= null):((aggregateTypePropertyTree == null)||(!aggregateTypePropertyTree.isLeaf())))) { + this.aggregateType = _other.aggregateType; + } + final PropertyTree aggregateConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("aggregateConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aggregateConfigurationPropertyTree!= null):((aggregateConfigurationPropertyTree == null)||(!aggregateConfigurationPropertyTree.isLeaf())))) { + this.aggregateConfiguration = _other.aggregateConfiguration; + } + } + } + + protected<_P extends ReadProcessedDetails >_P init(final _P _product) { + _product.startTime = this.startTime; + _product.endTime = this.endTime; + _product.processingInterval = this.processingInterval; + _product.aggregateType = this.aggregateType; + _product.aggregateConfiguration = this.aggregateConfiguration; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "startTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param startTime + * Neuer Wert der Eigenschaft "startTime". + */ + public ReadProcessedDetails.Builder<_B> withStartTime(final XMLGregorianCalendar startTime) { + this.startTime = startTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param endTime + * Neuer Wert der Eigenschaft "endTime". + */ + public ReadProcessedDetails.Builder<_B> withEndTime(final XMLGregorianCalendar endTime) { + this.endTime = endTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "processingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param processingInterval + * Neuer Wert der Eigenschaft "processingInterval". + */ + public ReadProcessedDetails.Builder<_B> withProcessingInterval(final Double processingInterval) { + this.processingInterval = processingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aggregateType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param aggregateType + * Neuer Wert der Eigenschaft "aggregateType". + */ + public ReadProcessedDetails.Builder<_B> withAggregateType(final JAXBElement aggregateType) { + this.aggregateType = aggregateType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "aggregateConfiguration" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param aggregateConfiguration + * Neuer Wert der Eigenschaft "aggregateConfiguration". + */ + public ReadProcessedDetails.Builder<_B> withAggregateConfiguration(final JAXBElement aggregateConfiguration) { + this.aggregateConfiguration = aggregateConfiguration; + return this; + } + + @Override + public ReadProcessedDetails build() { + if (_storedValue == null) { + return this.init(new ReadProcessedDetails()); + } else { + return ((ReadProcessedDetails) _storedValue); + } + } + + public ReadProcessedDetails.Builder<_B> copyOf(final ReadProcessedDetails _other) { + _other.copyTo(this); + return this; + } + + public ReadProcessedDetails.Builder<_B> copyOf(final ReadProcessedDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadProcessedDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadProcessedDetails.Select _root() { + return new ReadProcessedDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryReadDetails.Selector + { + + private com.kscs.util.jaxb.Selector> startTime = null; + private com.kscs.util.jaxb.Selector> endTime = null; + private com.kscs.util.jaxb.Selector> processingInterval = null; + private com.kscs.util.jaxb.Selector> aggregateType = null; + private com.kscs.util.jaxb.Selector> aggregateConfiguration = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.startTime!= null) { + products.put("startTime", this.startTime.init()); + } + if (this.endTime!= null) { + products.put("endTime", this.endTime.init()); + } + if (this.processingInterval!= null) { + products.put("processingInterval", this.processingInterval.init()); + } + if (this.aggregateType!= null) { + products.put("aggregateType", this.aggregateType.init()); + } + if (this.aggregateConfiguration!= null) { + products.put("aggregateConfiguration", this.aggregateConfiguration.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> startTime() { + return ((this.startTime == null)?this.startTime = new com.kscs.util.jaxb.Selector>(this._root, this, "startTime"):this.startTime); + } + + public com.kscs.util.jaxb.Selector> endTime() { + return ((this.endTime == null)?this.endTime = new com.kscs.util.jaxb.Selector>(this._root, this, "endTime"):this.endTime); + } + + public com.kscs.util.jaxb.Selector> processingInterval() { + return ((this.processingInterval == null)?this.processingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "processingInterval"):this.processingInterval); + } + + public com.kscs.util.jaxb.Selector> aggregateType() { + return ((this.aggregateType == null)?this.aggregateType = new com.kscs.util.jaxb.Selector>(this._root, this, "aggregateType"):this.aggregateType); + } + + public com.kscs.util.jaxb.Selector> aggregateConfiguration() { + return ((this.aggregateConfiguration == null)?this.aggregateConfiguration = new com.kscs.util.jaxb.Selector>(this._root, this, "aggregateConfiguration"):this.aggregateConfiguration); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRawModifiedDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRawModifiedDetails.java new file mode 100644 index 000000000..e019da970 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRawModifiedDetails.java @@ -0,0 +1,514 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadRawModifiedDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadRawModifiedDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryReadDetails">
+ *       <sequence>
+ *         <element name="IsReadModified" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="StartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="EndTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="NumValuesPerNode" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ReturnBounds" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadRawModifiedDetails", propOrder = { + "isReadModified", + "startTime", + "endTime", + "numValuesPerNode", + "returnBounds" +}) +public class ReadRawModifiedDetails + extends HistoryReadDetails +{ + + @XmlElement(name = "IsReadModified") + protected Boolean isReadModified; + @XmlElement(name = "StartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar startTime; + @XmlElement(name = "EndTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar endTime; + @XmlElement(name = "NumValuesPerNode") + @XmlSchemaType(name = "unsignedInt") + protected Long numValuesPerNode; + @XmlElement(name = "ReturnBounds") + protected Boolean returnBounds; + + /** + * Ruft den Wert der isReadModified-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsReadModified() { + return isReadModified; + } + + /** + * Legt den Wert der isReadModified-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsReadModified(Boolean value) { + this.isReadModified = value; + } + + /** + * Ruft den Wert der startTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getStartTime() { + return startTime; + } + + /** + * Legt den Wert der startTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setStartTime(XMLGregorianCalendar value) { + this.startTime = value; + } + + /** + * Ruft den Wert der endTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getEndTime() { + return endTime; + } + + /** + * Legt den Wert der endTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setEndTime(XMLGregorianCalendar value) { + this.endTime = value; + } + + /** + * Ruft den Wert der numValuesPerNode-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNumValuesPerNode() { + return numValuesPerNode; + } + + /** + * Legt den Wert der numValuesPerNode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNumValuesPerNode(Long value) { + this.numValuesPerNode = value; + } + + /** + * Ruft den Wert der returnBounds-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isReturnBounds() { + return returnBounds; + } + + /** + * Legt den Wert der returnBounds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setReturnBounds(Boolean value) { + this.returnBounds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadRawModifiedDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.isReadModified = this.isReadModified; + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + _other.numValuesPerNode = this.numValuesPerNode; + _other.returnBounds = this.returnBounds; + } + + @Override + public<_B >ReadRawModifiedDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadRawModifiedDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReadRawModifiedDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadRawModifiedDetails.Builder builder() { + return new ReadRawModifiedDetails.Builder(null, null, false); + } + + public static<_B >ReadRawModifiedDetails.Builder<_B> copyOf(final HistoryReadDetails _other) { + final ReadRawModifiedDetails.Builder<_B> _newBuilder = new ReadRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReadRawModifiedDetails.Builder<_B> copyOf(final ReadRawModifiedDetails _other) { + final ReadRawModifiedDetails.Builder<_B> _newBuilder = new ReadRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadRawModifiedDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isReadModifiedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isReadModified")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isReadModifiedPropertyTree!= null):((isReadModifiedPropertyTree == null)||(!isReadModifiedPropertyTree.isLeaf())))) { + _other.isReadModified = this.isReadModified; + } + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + _other.endTime = ((this.endTime == null)?null:((XMLGregorianCalendar) this.endTime.clone())); + } + final PropertyTree numValuesPerNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numValuesPerNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numValuesPerNodePropertyTree!= null):((numValuesPerNodePropertyTree == null)||(!numValuesPerNodePropertyTree.isLeaf())))) { + _other.numValuesPerNode = this.numValuesPerNode; + } + final PropertyTree returnBoundsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("returnBounds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(returnBoundsPropertyTree!= null):((returnBoundsPropertyTree == null)||(!returnBoundsPropertyTree.isLeaf())))) { + _other.returnBounds = this.returnBounds; + } + } + + @Override + public<_B >ReadRawModifiedDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadRawModifiedDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReadRawModifiedDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadRawModifiedDetails.Builder<_B> copyOf(final HistoryReadDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadRawModifiedDetails.Builder<_B> _newBuilder = new ReadRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReadRawModifiedDetails.Builder<_B> copyOf(final ReadRawModifiedDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadRawModifiedDetails.Builder<_B> _newBuilder = new ReadRawModifiedDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadRawModifiedDetails.Builder copyExcept(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadRawModifiedDetails.Builder copyExcept(final ReadRawModifiedDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadRawModifiedDetails.Builder copyOnly(final HistoryReadDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReadRawModifiedDetails.Builder copyOnly(final ReadRawModifiedDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryReadDetails.Builder<_B> + implements Buildable + { + + private Boolean isReadModified; + private XMLGregorianCalendar startTime; + private XMLGregorianCalendar endTime; + private Long numValuesPerNode; + private Boolean returnBounds; + + public Builder(final _B _parentBuilder, final ReadRawModifiedDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isReadModified = _other.isReadModified; + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + this.numValuesPerNode = _other.numValuesPerNode; + this.returnBounds = _other.returnBounds; + } + } + + public Builder(final _B _parentBuilder, final ReadRawModifiedDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isReadModifiedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isReadModified")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isReadModifiedPropertyTree!= null):((isReadModifiedPropertyTree == null)||(!isReadModifiedPropertyTree.isLeaf())))) { + this.isReadModified = _other.isReadModified; + } + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + } + final PropertyTree endTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endTimePropertyTree!= null):((endTimePropertyTree == null)||(!endTimePropertyTree.isLeaf())))) { + this.endTime = ((_other.endTime == null)?null:((XMLGregorianCalendar) _other.endTime.clone())); + } + final PropertyTree numValuesPerNodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("numValuesPerNode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(numValuesPerNodePropertyTree!= null):((numValuesPerNodePropertyTree == null)||(!numValuesPerNodePropertyTree.isLeaf())))) { + this.numValuesPerNode = _other.numValuesPerNode; + } + final PropertyTree returnBoundsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("returnBounds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(returnBoundsPropertyTree!= null):((returnBoundsPropertyTree == null)||(!returnBoundsPropertyTree.isLeaf())))) { + this.returnBounds = _other.returnBounds; + } + } + } + + protected<_P extends ReadRawModifiedDetails >_P init(final _P _product) { + _product.isReadModified = this.isReadModified; + _product.startTime = this.startTime; + _product.endTime = this.endTime; + _product.numValuesPerNode = this.numValuesPerNode; + _product.returnBounds = this.returnBounds; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isReadModified" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param isReadModified + * Neuer Wert der Eigenschaft "isReadModified". + */ + public ReadRawModifiedDetails.Builder<_B> withIsReadModified(final Boolean isReadModified) { + this.isReadModified = isReadModified; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "startTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param startTime + * Neuer Wert der Eigenschaft "startTime". + */ + public ReadRawModifiedDetails.Builder<_B> withStartTime(final XMLGregorianCalendar startTime) { + this.startTime = startTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param endTime + * Neuer Wert der Eigenschaft "endTime". + */ + public ReadRawModifiedDetails.Builder<_B> withEndTime(final XMLGregorianCalendar endTime) { + this.endTime = endTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "numValuesPerNode" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param numValuesPerNode + * Neuer Wert der Eigenschaft "numValuesPerNode". + */ + public ReadRawModifiedDetails.Builder<_B> withNumValuesPerNode(final Long numValuesPerNode) { + this.numValuesPerNode = numValuesPerNode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "returnBounds" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param returnBounds + * Neuer Wert der Eigenschaft "returnBounds". + */ + public ReadRawModifiedDetails.Builder<_B> withReturnBounds(final Boolean returnBounds) { + this.returnBounds = returnBounds; + return this; + } + + @Override + public ReadRawModifiedDetails build() { + if (_storedValue == null) { + return this.init(new ReadRawModifiedDetails()); + } else { + return ((ReadRawModifiedDetails) _storedValue); + } + } + + public ReadRawModifiedDetails.Builder<_B> copyOf(final ReadRawModifiedDetails _other) { + _other.copyTo(this); + return this; + } + + public ReadRawModifiedDetails.Builder<_B> copyOf(final ReadRawModifiedDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadRawModifiedDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadRawModifiedDetails.Select _root() { + return new ReadRawModifiedDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryReadDetails.Selector + { + + private com.kscs.util.jaxb.Selector> isReadModified = null; + private com.kscs.util.jaxb.Selector> startTime = null; + private com.kscs.util.jaxb.Selector> endTime = null; + private com.kscs.util.jaxb.Selector> numValuesPerNode = null; + private com.kscs.util.jaxb.Selector> returnBounds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isReadModified!= null) { + products.put("isReadModified", this.isReadModified.init()); + } + if (this.startTime!= null) { + products.put("startTime", this.startTime.init()); + } + if (this.endTime!= null) { + products.put("endTime", this.endTime.init()); + } + if (this.numValuesPerNode!= null) { + products.put("numValuesPerNode", this.numValuesPerNode.init()); + } + if (this.returnBounds!= null) { + products.put("returnBounds", this.returnBounds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isReadModified() { + return ((this.isReadModified == null)?this.isReadModified = new com.kscs.util.jaxb.Selector>(this._root, this, "isReadModified"):this.isReadModified); + } + + public com.kscs.util.jaxb.Selector> startTime() { + return ((this.startTime == null)?this.startTime = new com.kscs.util.jaxb.Selector>(this._root, this, "startTime"):this.startTime); + } + + public com.kscs.util.jaxb.Selector> endTime() { + return ((this.endTime == null)?this.endTime = new com.kscs.util.jaxb.Selector>(this._root, this, "endTime"):this.endTime); + } + + public com.kscs.util.jaxb.Selector> numValuesPerNode() { + return ((this.numValuesPerNode == null)?this.numValuesPerNode = new com.kscs.util.jaxb.Selector>(this._root, this, "numValuesPerNode"):this.numValuesPerNode); + } + + public com.kscs.util.jaxb.Selector> returnBounds() { + return ((this.returnBounds == null)?this.returnBounds = new com.kscs.util.jaxb.Selector>(this._root, this, "returnBounds"):this.returnBounds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRequest.java new file mode 100644 index 000000000..6928474f0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadRequest.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="MaxAge" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="TimestampsToReturn" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}TimestampsToReturn" minOccurs="0"/>
+ *         <element name="NodesToRead" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfReadValueId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadRequest", propOrder = { + "requestHeader", + "maxAge", + "timestampsToReturn", + "nodesToRead" +}) +public class ReadRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "MaxAge") + protected Double maxAge; + @XmlElement(name = "TimestampsToReturn") + @XmlSchemaType(name = "string") + protected TimestampsToReturn timestampsToReturn; + @XmlElementRef(name = "NodesToRead", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToRead; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der maxAge-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getMaxAge() { + return maxAge; + } + + /** + * Legt den Wert der maxAge-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setMaxAge(Double value) { + this.maxAge = value; + } + + /** + * Ruft den Wert der timestampsToReturn-Eigenschaft ab. + * + * @return + * possible object is + * {@link TimestampsToReturn } + * + */ + public TimestampsToReturn getTimestampsToReturn() { + return timestampsToReturn; + } + + /** + * Legt den Wert der timestampsToReturn-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TimestampsToReturn } + * + */ + public void setTimestampsToReturn(TimestampsToReturn value) { + this.timestampsToReturn = value; + } + + /** + * Ruft den Wert der nodesToRead-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfReadValueId }{@code >} + * + */ + public JAXBElement getNodesToRead() { + return nodesToRead; + } + + /** + * Legt den Wert der nodesToRead-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfReadValueId }{@code >} + * + */ + public void setNodesToRead(JAXBElement value) { + this.nodesToRead = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.maxAge = this.maxAge; + _other.timestampsToReturn = this.timestampsToReturn; + _other.nodesToRead = this.nodesToRead; + } + + public<_B >ReadRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadRequest.Builder<_B>(_parentBuilder, this, true); + } + + public ReadRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadRequest.Builder builder() { + return new ReadRequest.Builder(null, null, false); + } + + public static<_B >ReadRequest.Builder<_B> copyOf(final ReadRequest _other) { + final ReadRequest.Builder<_B> _newBuilder = new ReadRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree maxAgePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxAge")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxAgePropertyTree!= null):((maxAgePropertyTree == null)||(!maxAgePropertyTree.isLeaf())))) { + _other.maxAge = this.maxAge; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + _other.timestampsToReturn = this.timestampsToReturn; + } + final PropertyTree nodesToReadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToRead")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToReadPropertyTree!= null):((nodesToReadPropertyTree == null)||(!nodesToReadPropertyTree.isLeaf())))) { + _other.nodesToRead = this.nodesToRead; + } + } + + public<_B >ReadRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReadRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadRequest.Builder<_B> copyOf(final ReadRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadRequest.Builder<_B> _newBuilder = new ReadRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadRequest.Builder copyExcept(final ReadRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadRequest.Builder copyOnly(final ReadRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReadRequest _storedValue; + private JAXBElement requestHeader; + private Double maxAge; + private TimestampsToReturn timestampsToReturn; + private JAXBElement nodesToRead; + + public Builder(final _B _parentBuilder, final ReadRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.maxAge = _other.maxAge; + this.timestampsToReturn = _other.timestampsToReturn; + this.nodesToRead = _other.nodesToRead; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReadRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree maxAgePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxAge")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxAgePropertyTree!= null):((maxAgePropertyTree == null)||(!maxAgePropertyTree.isLeaf())))) { + this.maxAge = _other.maxAge; + } + final PropertyTree timestampsToReturnPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestampsToReturn")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampsToReturnPropertyTree!= null):((timestampsToReturnPropertyTree == null)||(!timestampsToReturnPropertyTree.isLeaf())))) { + this.timestampsToReturn = _other.timestampsToReturn; + } + final PropertyTree nodesToReadPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToRead")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToReadPropertyTree!= null):((nodesToReadPropertyTree == null)||(!nodesToReadPropertyTree.isLeaf())))) { + this.nodesToRead = _other.nodesToRead; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReadRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.maxAge = this.maxAge; + _product.timestampsToReturn = this.timestampsToReturn; + _product.nodesToRead = this.nodesToRead; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public ReadRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxAge" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param maxAge + * Neuer Wert der Eigenschaft "maxAge". + */ + public ReadRequest.Builder<_B> withMaxAge(final Double maxAge) { + this.maxAge = maxAge; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestampsToReturn" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param timestampsToReturn + * Neuer Wert der Eigenschaft "timestampsToReturn". + */ + public ReadRequest.Builder<_B> withTimestampsToReturn(final TimestampsToReturn timestampsToReturn) { + this.timestampsToReturn = timestampsToReturn; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToRead" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodesToRead + * Neuer Wert der Eigenschaft "nodesToRead". + */ + public ReadRequest.Builder<_B> withNodesToRead(final JAXBElement nodesToRead) { + this.nodesToRead = nodesToRead; + return this; + } + + @Override + public ReadRequest build() { + if (_storedValue == null) { + return this.init(new ReadRequest()); + } else { + return ((ReadRequest) _storedValue); + } + } + + public ReadRequest.Builder<_B> copyOf(final ReadRequest _other) { + _other.copyTo(this); + return this; + } + + public ReadRequest.Builder<_B> copyOf(final ReadRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadRequest.Select _root() { + return new ReadRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> maxAge = null; + private com.kscs.util.jaxb.Selector> timestampsToReturn = null; + private com.kscs.util.jaxb.Selector> nodesToRead = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.maxAge!= null) { + products.put("maxAge", this.maxAge.init()); + } + if (this.timestampsToReturn!= null) { + products.put("timestampsToReturn", this.timestampsToReturn.init()); + } + if (this.nodesToRead!= null) { + products.put("nodesToRead", this.nodesToRead.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> maxAge() { + return ((this.maxAge == null)?this.maxAge = new com.kscs.util.jaxb.Selector>(this._root, this, "maxAge"):this.maxAge); + } + + public com.kscs.util.jaxb.Selector> timestampsToReturn() { + return ((this.timestampsToReturn == null)?this.timestampsToReturn = new com.kscs.util.jaxb.Selector>(this._root, this, "timestampsToReturn"):this.timestampsToReturn); + } + + public com.kscs.util.jaxb.Selector> nodesToRead() { + return ((this.nodesToRead == null)?this.nodesToRead = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToRead"):this.nodesToRead); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadResponse.java new file mode 100644 index 000000000..27c109985 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDataValue" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class ReadResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >ReadResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadResponse.Builder<_B>(_parentBuilder, this, true); + } + + public ReadResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadResponse.Builder builder() { + return new ReadResponse.Builder(null, null, false); + } + + public static<_B >ReadResponse.Builder<_B> copyOf(final ReadResponse _other) { + final ReadResponse.Builder<_B> _newBuilder = new ReadResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >ReadResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReadResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadResponse.Builder<_B> copyOf(final ReadResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadResponse.Builder<_B> _newBuilder = new ReadResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadResponse.Builder copyExcept(final ReadResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadResponse.Builder copyOnly(final ReadResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReadResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final ReadResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReadResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReadResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public ReadResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public ReadResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public ReadResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public ReadResponse build() { + if (_storedValue == null) { + return this.init(new ReadResponse()); + } else { + return ((ReadResponse) _storedValue); + } + } + + public ReadResponse.Builder<_B> copyOf(final ReadResponse _other) { + _other.copyTo(this); + return this; + } + + public ReadResponse.Builder<_B> copyOf(final ReadResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadResponse.Select _root() { + return new ReadResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadValueId.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadValueId.java new file mode 100644 index 000000000..47764f937 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReadValueId.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReadValueId complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReadValueId">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DataEncoding" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReadValueId", propOrder = { + "nodeId", + "attributeId", + "indexRange", + "dataEncoding" +}) +public class ReadValueId { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + @XmlElementRef(name = "DataEncoding", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataEncoding; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Ruft den Wert der dataEncoding-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getDataEncoding() { + return dataEncoding; + } + + /** + * Legt den Wert der dataEncoding-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setDataEncoding(JAXBElement value) { + this.dataEncoding = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadValueId.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.attributeId = this.attributeId; + _other.indexRange = this.indexRange; + _other.dataEncoding = this.dataEncoding; + } + + public<_B >ReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReadValueId.Builder<_B>(_parentBuilder, this, true); + } + + public ReadValueId.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReadValueId.Builder builder() { + return new ReadValueId.Builder(null, null, false); + } + + public static<_B >ReadValueId.Builder<_B> copyOf(final ReadValueId _other) { + final ReadValueId.Builder<_B> _newBuilder = new ReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReadValueId.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + final PropertyTree dataEncodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataEncoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataEncodingPropertyTree!= null):((dataEncodingPropertyTree == null)||(!dataEncodingPropertyTree.isLeaf())))) { + _other.dataEncoding = this.dataEncoding; + } + } + + public<_B >ReadValueId.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReadValueId.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReadValueId.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReadValueId.Builder<_B> copyOf(final ReadValueId _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReadValueId.Builder<_B> _newBuilder = new ReadValueId.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReadValueId.Builder copyExcept(final ReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReadValueId.Builder copyOnly(final ReadValueId _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReadValueId _storedValue; + private JAXBElement nodeId; + private Long attributeId; + private JAXBElement indexRange; + private JAXBElement dataEncoding; + + public Builder(final _B _parentBuilder, final ReadValueId _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.attributeId = _other.attributeId; + this.indexRange = _other.indexRange; + this.dataEncoding = _other.dataEncoding; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReadValueId _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + final PropertyTree dataEncodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataEncoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataEncodingPropertyTree!= null):((dataEncodingPropertyTree == null)||(!dataEncodingPropertyTree.isLeaf())))) { + this.dataEncoding = _other.dataEncoding; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReadValueId >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.attributeId = this.attributeId; + _product.indexRange = this.indexRange; + _product.dataEncoding = this.dataEncoding; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public ReadValueId.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public ReadValueId.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public ReadValueId.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataEncoding" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataEncoding + * Neuer Wert der Eigenschaft "dataEncoding". + */ + public ReadValueId.Builder<_B> withDataEncoding(final JAXBElement dataEncoding) { + this.dataEncoding = dataEncoding; + return this; + } + + @Override + public ReadValueId build() { + if (_storedValue == null) { + return this.init(new ReadValueId()); + } else { + return ((ReadValueId) _storedValue); + } + } + + public ReadValueId.Builder<_B> copyOf(final ReadValueId _other) { + _other.copyTo(this); + return this; + } + + public ReadValueId.Builder<_B> copyOf(final ReadValueId.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReadValueId.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReadValueId.Select _root() { + return new ReadValueId.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + private com.kscs.util.jaxb.Selector> dataEncoding = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + if (this.dataEncoding!= null) { + products.put("dataEncoding", this.dataEncoding.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + public com.kscs.util.jaxb.Selector> dataEncoding() { + return ((this.dataEncoding == null)?this.dataEncoding = new com.kscs.util.jaxb.Selector>(this._root, this, "dataEncoding"):this.dataEncoding); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupDataType.java new file mode 100644 index 000000000..a2d61eb9a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupDataType.java @@ -0,0 +1,481 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReaderGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReaderGroupDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubGroupDataType">
+ *       <sequence>
+ *         <element name="TransportSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="MessageSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="DataSetReaders" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDataSetReaderDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReaderGroupDataType", propOrder = { + "transportSettings", + "messageSettings", + "dataSetReaders" +}) +public class ReaderGroupDataType + extends PubSubGroupDataType +{ + + @XmlElementRef(name = "TransportSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportSettings; + @XmlElementRef(name = "MessageSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement messageSettings; + @XmlElementRef(name = "DataSetReaders", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetReaders; + + /** + * Ruft den Wert der transportSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getTransportSettings() { + return transportSettings; + } + + /** + * Legt den Wert der transportSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setTransportSettings(JAXBElement value) { + this.transportSettings = value; + } + + /** + * Ruft den Wert der messageSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getMessageSettings() { + return messageSettings; + } + + /** + * Legt den Wert der messageSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setMessageSettings(JAXBElement value) { + this.messageSettings = value; + } + + /** + * Ruft den Wert der dataSetReaders-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDataSetReaderDataType }{@code >} + * + */ + public JAXBElement getDataSetReaders() { + return dataSetReaders; + } + + /** + * Legt den Wert der dataSetReaders-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDataSetReaderDataType }{@code >} + * + */ + public void setDataSetReaders(JAXBElement value) { + this.dataSetReaders = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReaderGroupDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.transportSettings = this.transportSettings; + _other.messageSettings = this.messageSettings; + _other.dataSetReaders = this.dataSetReaders; + } + + @Override + public<_B >ReaderGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReaderGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReaderGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReaderGroupDataType.Builder builder() { + return new ReaderGroupDataType.Builder(null, null, false); + } + + public static<_B >ReaderGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other) { + final ReaderGroupDataType.Builder<_B> _newBuilder = new ReaderGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReaderGroupDataType.Builder<_B> copyOf(final ReaderGroupDataType _other) { + final ReaderGroupDataType.Builder<_B> _newBuilder = new ReaderGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReaderGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + _other.transportSettings = this.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + _other.messageSettings = this.messageSettings; + } + final PropertyTree dataSetReadersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaders")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReadersPropertyTree!= null):((dataSetReadersPropertyTree == null)||(!dataSetReadersPropertyTree.isLeaf())))) { + _other.dataSetReaders = this.dataSetReaders; + } + } + + @Override + public<_B >ReaderGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReaderGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReaderGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReaderGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReaderGroupDataType.Builder<_B> _newBuilder = new ReaderGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReaderGroupDataType.Builder<_B> copyOf(final ReaderGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReaderGroupDataType.Builder<_B> _newBuilder = new ReaderGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReaderGroupDataType.Builder copyExcept(final PubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReaderGroupDataType.Builder copyExcept(final ReaderGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReaderGroupDataType.Builder copyOnly(final PubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReaderGroupDataType.Builder copyOnly(final ReaderGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends PubSubGroupDataType.Builder<_B> + implements Buildable + { + + private JAXBElement transportSettings; + private JAXBElement messageSettings; + private JAXBElement dataSetReaders; + + public Builder(final _B _parentBuilder, final ReaderGroupDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.transportSettings = _other.transportSettings; + this.messageSettings = _other.messageSettings; + this.dataSetReaders = _other.dataSetReaders; + } + } + + public Builder(final _B _parentBuilder, final ReaderGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + this.transportSettings = _other.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + this.messageSettings = _other.messageSettings; + } + final PropertyTree dataSetReadersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetReaders")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetReadersPropertyTree!= null):((dataSetReadersPropertyTree == null)||(!dataSetReadersPropertyTree.isLeaf())))) { + this.dataSetReaders = _other.dataSetReaders; + } + } + } + + protected<_P extends ReaderGroupDataType >_P init(final _P _product) { + _product.transportSettings = this.transportSettings; + _product.messageSettings = this.messageSettings; + _product.dataSetReaders = this.dataSetReaders; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportSettings" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportSettings + * Neuer Wert der Eigenschaft "transportSettings". + */ + public ReaderGroupDataType.Builder<_B> withTransportSettings(final JAXBElement transportSettings) { + this.transportSettings = transportSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageSettings" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param messageSettings + * Neuer Wert der Eigenschaft "messageSettings". + */ + public ReaderGroupDataType.Builder<_B> withMessageSettings(final JAXBElement messageSettings) { + this.messageSettings = messageSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetReaders" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetReaders + * Neuer Wert der Eigenschaft "dataSetReaders". + */ + public ReaderGroupDataType.Builder<_B> withDataSetReaders(final JAXBElement dataSetReaders) { + this.dataSetReaders = dataSetReaders; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + @Override + public ReaderGroupDataType.Builder<_B> withName(final JAXBElement name) { + super.withName(name); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + @Override + public ReaderGroupDataType.Builder<_B> withEnabled(final Boolean enabled) { + super.withEnabled(enabled); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + @Override + public ReaderGroupDataType.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + super.withSecurityMode(securityMode); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityGroupId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityGroupId + * Neuer Wert der Eigenschaft "securityGroupId". + */ + @Override + public ReaderGroupDataType.Builder<_B> withSecurityGroupId(final JAXBElement securityGroupId) { + super.withSecurityGroupId(securityGroupId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityKeyServices" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityKeyServices + * Neuer Wert der Eigenschaft "securityKeyServices". + */ + @Override + public ReaderGroupDataType.Builder<_B> withSecurityKeyServices(final JAXBElement securityKeyServices) { + super.withSecurityKeyServices(securityKeyServices); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxNetworkMessageSize" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxNetworkMessageSize + * Neuer Wert der Eigenschaft "maxNetworkMessageSize". + */ + @Override + public ReaderGroupDataType.Builder<_B> withMaxNetworkMessageSize(final Long maxNetworkMessageSize) { + super.withMaxNetworkMessageSize(maxNetworkMessageSize); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "groupProperties" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param groupProperties + * Neuer Wert der Eigenschaft "groupProperties". + */ + @Override + public ReaderGroupDataType.Builder<_B> withGroupProperties(final JAXBElement groupProperties) { + super.withGroupProperties(groupProperties); + return this; + } + + @Override + public ReaderGroupDataType build() { + if (_storedValue == null) { + return this.init(new ReaderGroupDataType()); + } else { + return ((ReaderGroupDataType) _storedValue); + } + } + + public ReaderGroupDataType.Builder<_B> copyOf(final ReaderGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public ReaderGroupDataType.Builder<_B> copyOf(final ReaderGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReaderGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReaderGroupDataType.Select _root() { + return new ReaderGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends PubSubGroupDataType.Selector + { + + private com.kscs.util.jaxb.Selector> transportSettings = null; + private com.kscs.util.jaxb.Selector> messageSettings = null; + private com.kscs.util.jaxb.Selector> dataSetReaders = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.transportSettings!= null) { + products.put("transportSettings", this.transportSettings.init()); + } + if (this.messageSettings!= null) { + products.put("messageSettings", this.messageSettings.init()); + } + if (this.dataSetReaders!= null) { + products.put("dataSetReaders", this.dataSetReaders.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> transportSettings() { + return ((this.transportSettings == null)?this.transportSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "transportSettings"):this.transportSettings); + } + + public com.kscs.util.jaxb.Selector> messageSettings() { + return ((this.messageSettings == null)?this.messageSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "messageSettings"):this.messageSettings); + } + + public com.kscs.util.jaxb.Selector> dataSetReaders() { + return ((this.dataSetReaders == null)?this.dataSetReaders = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetReaders"):this.dataSetReaders); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupMessageDataType.java new file mode 100644 index 000000000..3bf0aebf8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupMessageDataType.java @@ -0,0 +1,197 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReaderGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReaderGroupMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReaderGroupMessageDataType") +public class ReaderGroupMessageDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReaderGroupMessageDataType.Builder<_B> _other) { + } + + public<_B >ReaderGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReaderGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ReaderGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReaderGroupMessageDataType.Builder builder() { + return new ReaderGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >ReaderGroupMessageDataType.Builder<_B> copyOf(final ReaderGroupMessageDataType _other) { + final ReaderGroupMessageDataType.Builder<_B> _newBuilder = new ReaderGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReaderGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >ReaderGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReaderGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReaderGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReaderGroupMessageDataType.Builder<_B> copyOf(final ReaderGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReaderGroupMessageDataType.Builder<_B> _newBuilder = new ReaderGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReaderGroupMessageDataType.Builder copyExcept(final ReaderGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReaderGroupMessageDataType.Builder copyOnly(final ReaderGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReaderGroupMessageDataType _storedValue; + + public Builder(final _B _parentBuilder, final ReaderGroupMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReaderGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReaderGroupMessageDataType >_P init(final _P _product) { + return _product; + } + + @Override + public ReaderGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new ReaderGroupMessageDataType()); + } else { + return ((ReaderGroupMessageDataType) _storedValue); + } + } + + public ReaderGroupMessageDataType.Builder<_B> copyOf(final ReaderGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public ReaderGroupMessageDataType.Builder<_B> copyOf(final ReaderGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReaderGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReaderGroupMessageDataType.Select _root() { + return new ReaderGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupTransportDataType.java new file mode 100644 index 000000000..ebaf236c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReaderGroupTransportDataType.java @@ -0,0 +1,197 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReaderGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReaderGroupTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReaderGroupTransportDataType") +public class ReaderGroupTransportDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReaderGroupTransportDataType.Builder<_B> _other) { + } + + public<_B >ReaderGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReaderGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ReaderGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReaderGroupTransportDataType.Builder builder() { + return new ReaderGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >ReaderGroupTransportDataType.Builder<_B> copyOf(final ReaderGroupTransportDataType _other) { + final ReaderGroupTransportDataType.Builder<_B> _newBuilder = new ReaderGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReaderGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >ReaderGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReaderGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReaderGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReaderGroupTransportDataType.Builder<_B> copyOf(final ReaderGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReaderGroupTransportDataType.Builder<_B> _newBuilder = new ReaderGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReaderGroupTransportDataType.Builder copyExcept(final ReaderGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReaderGroupTransportDataType.Builder copyOnly(final ReaderGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReaderGroupTransportDataType _storedValue; + + public Builder(final _B _parentBuilder, final ReaderGroupTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReaderGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReaderGroupTransportDataType >_P init(final _P _product) { + return _product; + } + + @Override + public ReaderGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new ReaderGroupTransportDataType()); + } else { + return ((ReaderGroupTransportDataType) _storedValue); + } + } + + public ReaderGroupTransportDataType.Builder<_B> copyOf(final ReaderGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public ReaderGroupTransportDataType.Builder<_B> copyOf(final ReaderGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReaderGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReaderGroupTransportDataType.Select _root() { + return new ReaderGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundancySupport.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundancySupport.java new file mode 100644 index 000000000..bb6c13583 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundancySupport.java @@ -0,0 +1,70 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für RedundancySupport. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="RedundancySupport">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="None_0"/>
+ *     <enumeration value="Cold_1"/>
+ *     <enumeration value="Warm_2"/>
+ *     <enumeration value="Hot_3"/>
+ *     <enumeration value="Transparent_4"/>
+ *     <enumeration value="HotAndMirrored_5"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "RedundancySupport") +@XmlEnum +public enum RedundancySupport { + + @XmlEnumValue("None_0") + NONE_0("None_0"), + @XmlEnumValue("Cold_1") + COLD_1("Cold_1"), + @XmlEnumValue("Warm_2") + WARM_2("Warm_2"), + @XmlEnumValue("Hot_3") + HOT_3("Hot_3"), + @XmlEnumValue("Transparent_4") + TRANSPARENT_4("Transparent_4"), + @XmlEnumValue("HotAndMirrored_5") + HOT_AND_MIRRORED_5("HotAndMirrored_5"); + private final String value; + + RedundancySupport(String v) { + value = v; + } + + public String value() { + return value; + } + + public static RedundancySupport fromValue(String v) { + for (RedundancySupport c: RedundancySupport.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundantServerDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundantServerDataType.java new file mode 100644 index 000000000..4a2751682 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RedundantServerDataType.java @@ -0,0 +1,384 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RedundantServerDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RedundantServerDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ServerId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ServiceLevel" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="ServerState" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServerState" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RedundantServerDataType", propOrder = { + "serverId", + "serviceLevel", + "serverState" +}) +public class RedundantServerDataType { + + @XmlElementRef(name = "ServerId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverId; + @XmlElement(name = "ServiceLevel") + @XmlSchemaType(name = "unsignedByte") + protected Short serviceLevel; + @XmlElement(name = "ServerState") + @XmlSchemaType(name = "string") + protected ServerState serverState; + + /** + * Ruft den Wert der serverId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getServerId() { + return serverId; + } + + /** + * Legt den Wert der serverId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setServerId(JAXBElement value) { + this.serverId = value; + } + + /** + * Ruft den Wert der serviceLevel-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getServiceLevel() { + return serviceLevel; + } + + /** + * Legt den Wert der serviceLevel-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setServiceLevel(Short value) { + this.serviceLevel = value; + } + + /** + * Ruft den Wert der serverState-Eigenschaft ab. + * + * @return + * possible object is + * {@link ServerState } + * + */ + public ServerState getServerState() { + return serverState; + } + + /** + * Legt den Wert der serverState-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ServerState } + * + */ + public void setServerState(ServerState value) { + this.serverState = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RedundantServerDataType.Builder<_B> _other) { + _other.serverId = this.serverId; + _other.serviceLevel = this.serviceLevel; + _other.serverState = this.serverState; + } + + public<_B >RedundantServerDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RedundantServerDataType.Builder<_B>(_parentBuilder, this, true); + } + + public RedundantServerDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RedundantServerDataType.Builder builder() { + return new RedundantServerDataType.Builder(null, null, false); + } + + public static<_B >RedundantServerDataType.Builder<_B> copyOf(final RedundantServerDataType _other) { + final RedundantServerDataType.Builder<_B> _newBuilder = new RedundantServerDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RedundantServerDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree serverIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverIdPropertyTree!= null):((serverIdPropertyTree == null)||(!serverIdPropertyTree.isLeaf())))) { + _other.serverId = this.serverId; + } + final PropertyTree serviceLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceLevelPropertyTree!= null):((serviceLevelPropertyTree == null)||(!serviceLevelPropertyTree.isLeaf())))) { + _other.serviceLevel = this.serviceLevel; + } + final PropertyTree serverStatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverState")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverStatePropertyTree!= null):((serverStatePropertyTree == null)||(!serverStatePropertyTree.isLeaf())))) { + _other.serverState = this.serverState; + } + } + + public<_B >RedundantServerDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RedundantServerDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RedundantServerDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RedundantServerDataType.Builder<_B> copyOf(final RedundantServerDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RedundantServerDataType.Builder<_B> _newBuilder = new RedundantServerDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RedundantServerDataType.Builder copyExcept(final RedundantServerDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RedundantServerDataType.Builder copyOnly(final RedundantServerDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RedundantServerDataType _storedValue; + private JAXBElement serverId; + private Short serviceLevel; + private ServerState serverState; + + public Builder(final _B _parentBuilder, final RedundantServerDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.serverId = _other.serverId; + this.serviceLevel = _other.serviceLevel; + this.serverState = _other.serverState; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RedundantServerDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree serverIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverIdPropertyTree!= null):((serverIdPropertyTree == null)||(!serverIdPropertyTree.isLeaf())))) { + this.serverId = _other.serverId; + } + final PropertyTree serviceLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceLevelPropertyTree!= null):((serviceLevelPropertyTree == null)||(!serviceLevelPropertyTree.isLeaf())))) { + this.serviceLevel = _other.serviceLevel; + } + final PropertyTree serverStatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverState")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverStatePropertyTree!= null):((serverStatePropertyTree == null)||(!serverStatePropertyTree.isLeaf())))) { + this.serverState = _other.serverState; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RedundantServerDataType >_P init(final _P _product) { + _product.serverId = this.serverId; + _product.serviceLevel = this.serviceLevel; + _product.serverState = this.serverState; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverId + * Neuer Wert der Eigenschaft "serverId". + */ + public RedundantServerDataType.Builder<_B> withServerId(final JAXBElement serverId) { + this.serverId = serverId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serviceLevel" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serviceLevel + * Neuer Wert der Eigenschaft "serviceLevel". + */ + public RedundantServerDataType.Builder<_B> withServiceLevel(final Short serviceLevel) { + this.serviceLevel = serviceLevel; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverState" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverState + * Neuer Wert der Eigenschaft "serverState". + */ + public RedundantServerDataType.Builder<_B> withServerState(final ServerState serverState) { + this.serverState = serverState; + return this; + } + + @Override + public RedundantServerDataType build() { + if (_storedValue == null) { + return this.init(new RedundantServerDataType()); + } else { + return ((RedundantServerDataType) _storedValue); + } + } + + public RedundantServerDataType.Builder<_B> copyOf(final RedundantServerDataType _other) { + _other.copyTo(this); + return this; + } + + public RedundantServerDataType.Builder<_B> copyOf(final RedundantServerDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RedundantServerDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static RedundantServerDataType.Select _root() { + return new RedundantServerDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> serverId = null; + private com.kscs.util.jaxb.Selector> serviceLevel = null; + private com.kscs.util.jaxb.Selector> serverState = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.serverId!= null) { + products.put("serverId", this.serverId.init()); + } + if (this.serviceLevel!= null) { + products.put("serviceLevel", this.serviceLevel.init()); + } + if (this.serverState!= null) { + products.put("serverState", this.serverState.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> serverId() { + return ((this.serverId == null)?this.serverId = new com.kscs.util.jaxb.Selector>(this._root, this, "serverId"):this.serverId); + } + + public com.kscs.util.jaxb.Selector> serviceLevel() { + return ((this.serviceLevel == null)?this.serviceLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "serviceLevel"):this.serviceLevel); + } + + public com.kscs.util.jaxb.Selector> serverState() { + return ((this.serverState == null)?this.serverState = new com.kscs.util.jaxb.Selector>(this._root, this, "serverState"):this.serverState); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceDescription.java new file mode 100644 index 000000000..e1ed78a71 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceDescription.java @@ -0,0 +1,623 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReferenceDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferenceDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IsForward" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *         <element name="BrowseName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *         <element name="DisplayName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="NodeClass" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeClass" minOccurs="0"/>
+ *         <element name="TypeDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferenceDescription", propOrder = { + "referenceTypeId", + "isForward", + "nodeId", + "browseName", + "displayName", + "nodeClass", + "typeDefinition" +}) +public class ReferenceDescription { + + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IsForward") + protected Boolean isForward; + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElementRef(name = "BrowseName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browseName; + @XmlElementRef(name = "DisplayName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement displayName; + @XmlElement(name = "NodeClass") + @XmlSchemaType(name = "string") + protected NodeClass nodeClass; + @XmlElementRef(name = "TypeDefinition", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement typeDefinition; + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der isForward-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsForward() { + return isForward; + } + + /** + * Legt den Wert der isForward-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsForward(Boolean value) { + this.isForward = value; + } + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der browseName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getBrowseName() { + return browseName; + } + + /** + * Legt den Wert der browseName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setBrowseName(JAXBElement value) { + this.browseName = value; + } + + /** + * Ruft den Wert der displayName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDisplayName() { + return displayName; + } + + /** + * Legt den Wert der displayName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDisplayName(JAXBElement value) { + this.displayName = value; + } + + /** + * Ruft den Wert der nodeClass-Eigenschaft ab. + * + * @return + * possible object is + * {@link NodeClass } + * + */ + public NodeClass getNodeClass() { + return nodeClass; + } + + /** + * Legt den Wert der nodeClass-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link NodeClass } + * + */ + public void setNodeClass(NodeClass value) { + this.nodeClass = value; + } + + /** + * Ruft den Wert der typeDefinition-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTypeDefinition() { + return typeDefinition; + } + + /** + * Legt den Wert der typeDefinition-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTypeDefinition(JAXBElement value) { + this.typeDefinition = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceDescription.Builder<_B> _other) { + _other.referenceTypeId = this.referenceTypeId; + _other.isForward = this.isForward; + _other.nodeId = this.nodeId; + _other.browseName = this.browseName; + _other.displayName = this.displayName; + _other.nodeClass = this.nodeClass; + _other.typeDefinition = this.typeDefinition; + } + + public<_B >ReferenceDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReferenceDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ReferenceDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReferenceDescription.Builder builder() { + return new ReferenceDescription.Builder(null, null, false); + } + + public static<_B >ReferenceDescription.Builder<_B> copyOf(final ReferenceDescription _other) { + final ReferenceDescription.Builder<_B> _newBuilder = new ReferenceDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + _other.isForward = this.isForward; + } + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree browseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNamePropertyTree!= null):((browseNamePropertyTree == null)||(!browseNamePropertyTree.isLeaf())))) { + _other.browseName = this.browseName; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + _other.displayName = this.displayName; + } + final PropertyTree nodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassPropertyTree!= null):((nodeClassPropertyTree == null)||(!nodeClassPropertyTree.isLeaf())))) { + _other.nodeClass = this.nodeClass; + } + final PropertyTree typeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionPropertyTree!= null):((typeDefinitionPropertyTree == null)||(!typeDefinitionPropertyTree.isLeaf())))) { + _other.typeDefinition = this.typeDefinition; + } + } + + public<_B >ReferenceDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReferenceDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReferenceDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReferenceDescription.Builder<_B> copyOf(final ReferenceDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceDescription.Builder<_B> _newBuilder = new ReferenceDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReferenceDescription.Builder copyExcept(final ReferenceDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceDescription.Builder copyOnly(final ReferenceDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReferenceDescription _storedValue; + private JAXBElement referenceTypeId; + private Boolean isForward; + private JAXBElement nodeId; + private JAXBElement browseName; + private JAXBElement displayName; + private NodeClass nodeClass; + private JAXBElement typeDefinition; + + public Builder(final _B _parentBuilder, final ReferenceDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.referenceTypeId = _other.referenceTypeId; + this.isForward = _other.isForward; + this.nodeId = _other.nodeId; + this.browseName = _other.browseName; + this.displayName = _other.displayName; + this.nodeClass = _other.nodeClass; + this.typeDefinition = _other.typeDefinition; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReferenceDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree isForwardPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isForward")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isForwardPropertyTree!= null):((isForwardPropertyTree == null)||(!isForwardPropertyTree.isLeaf())))) { + this.isForward = _other.isForward; + } + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree browseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNamePropertyTree!= null):((browseNamePropertyTree == null)||(!browseNamePropertyTree.isLeaf())))) { + this.browseName = _other.browseName; + } + final PropertyTree displayNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("displayName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(displayNamePropertyTree!= null):((displayNamePropertyTree == null)||(!displayNamePropertyTree.isLeaf())))) { + this.displayName = _other.displayName; + } + final PropertyTree nodeClassPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeClass")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeClassPropertyTree!= null):((nodeClassPropertyTree == null)||(!nodeClassPropertyTree.isLeaf())))) { + this.nodeClass = _other.nodeClass; + } + final PropertyTree typeDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionPropertyTree!= null):((typeDefinitionPropertyTree == null)||(!typeDefinitionPropertyTree.isLeaf())))) { + this.typeDefinition = _other.typeDefinition; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReferenceDescription >_P init(final _P _product) { + _product.referenceTypeId = this.referenceTypeId; + _product.isForward = this.isForward; + _product.nodeId = this.nodeId; + _product.browseName = this.browseName; + _product.displayName = this.displayName; + _product.nodeClass = this.nodeClass; + _product.typeDefinition = this.typeDefinition; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public ReferenceDescription.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isForward" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isForward + * Neuer Wert der Eigenschaft "isForward". + */ + public ReferenceDescription.Builder<_B> withIsForward(final Boolean isForward) { + this.isForward = isForward; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public ReferenceDescription.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + public ReferenceDescription.Builder<_B> withBrowseName(final JAXBElement browseName) { + this.browseName = browseName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + public ReferenceDescription.Builder<_B> withDisplayName(final JAXBElement displayName) { + this.displayName = displayName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + public ReferenceDescription.Builder<_B> withNodeClass(final NodeClass nodeClass) { + this.nodeClass = nodeClass; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "typeDefinition" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param typeDefinition + * Neuer Wert der Eigenschaft "typeDefinition". + */ + public ReferenceDescription.Builder<_B> withTypeDefinition(final JAXBElement typeDefinition) { + this.typeDefinition = typeDefinition; + return this; + } + + @Override + public ReferenceDescription build() { + if (_storedValue == null) { + return this.init(new ReferenceDescription()); + } else { + return ((ReferenceDescription) _storedValue); + } + } + + public ReferenceDescription.Builder<_B> copyOf(final ReferenceDescription _other) { + _other.copyTo(this); + return this; + } + + public ReferenceDescription.Builder<_B> copyOf(final ReferenceDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReferenceDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReferenceDescription.Select _root() { + return new ReferenceDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> isForward = null; + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> browseName = null; + private com.kscs.util.jaxb.Selector> displayName = null; + private com.kscs.util.jaxb.Selector> nodeClass = null; + private com.kscs.util.jaxb.Selector> typeDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.isForward!= null) { + products.put("isForward", this.isForward.init()); + } + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.browseName!= null) { + products.put("browseName", this.browseName.init()); + } + if (this.displayName!= null) { + products.put("displayName", this.displayName.init()); + } + if (this.nodeClass!= null) { + products.put("nodeClass", this.nodeClass.init()); + } + if (this.typeDefinition!= null) { + products.put("typeDefinition", this.typeDefinition.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> isForward() { + return ((this.isForward == null)?this.isForward = new com.kscs.util.jaxb.Selector>(this._root, this, "isForward"):this.isForward); + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> browseName() { + return ((this.browseName == null)?this.browseName = new com.kscs.util.jaxb.Selector>(this._root, this, "browseName"):this.browseName); + } + + public com.kscs.util.jaxb.Selector> displayName() { + return ((this.displayName == null)?this.displayName = new com.kscs.util.jaxb.Selector>(this._root, this, "displayName"):this.displayName); + } + + public com.kscs.util.jaxb.Selector> nodeClass() { + return ((this.nodeClass == null)?this.nodeClass = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeClass"):this.nodeClass); + } + + public com.kscs.util.jaxb.Selector> typeDefinition() { + return ((this.typeDefinition == null)?this.typeDefinition = new com.kscs.util.jaxb.Selector>(this._root, this, "typeDefinition"):this.typeDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceNode.java new file mode 100644 index 000000000..f356cb634 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceNode.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReferenceNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferenceNode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IsInverse" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="TargetId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExpandedNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferenceNode", propOrder = { + "referenceTypeId", + "isInverse", + "targetId" +}) +public class ReferenceNode { + + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IsInverse") + protected Boolean isInverse; + @XmlElementRef(name = "TargetId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetId; + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der isInverse-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsInverse() { + return isInverse; + } + + /** + * Legt den Wert der isInverse-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsInverse(Boolean value) { + this.isInverse = value; + } + + /** + * Ruft den Wert der targetId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public JAXBElement getTargetId() { + return targetId; + } + + /** + * Legt den Wert der targetId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExpandedNodeId }{@code >} + * + */ + public void setTargetId(JAXBElement value) { + this.targetId = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceNode.Builder<_B> _other) { + _other.referenceTypeId = this.referenceTypeId; + _other.isInverse = this.isInverse; + _other.targetId = this.targetId; + } + + public<_B >ReferenceNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReferenceNode.Builder<_B>(_parentBuilder, this, true); + } + + public ReferenceNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReferenceNode.Builder builder() { + return new ReferenceNode.Builder(null, null, false); + } + + public static<_B >ReferenceNode.Builder<_B> copyOf(final ReferenceNode _other) { + final ReferenceNode.Builder<_B> _newBuilder = new ReferenceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree isInversePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isInverse")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isInversePropertyTree!= null):((isInversePropertyTree == null)||(!isInversePropertyTree.isLeaf())))) { + _other.isInverse = this.isInverse; + } + final PropertyTree targetIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetIdPropertyTree!= null):((targetIdPropertyTree == null)||(!targetIdPropertyTree.isLeaf())))) { + _other.targetId = this.targetId; + } + } + + public<_B >ReferenceNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReferenceNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ReferenceNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReferenceNode.Builder<_B> copyOf(final ReferenceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceNode.Builder<_B> _newBuilder = new ReferenceNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReferenceNode.Builder copyExcept(final ReferenceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceNode.Builder copyOnly(final ReferenceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ReferenceNode _storedValue; + private JAXBElement referenceTypeId; + private Boolean isInverse; + private JAXBElement targetId; + + public Builder(final _B _parentBuilder, final ReferenceNode _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.referenceTypeId = _other.referenceTypeId; + this.isInverse = _other.isInverse; + this.targetId = _other.targetId; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ReferenceNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree isInversePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isInverse")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isInversePropertyTree!= null):((isInversePropertyTree == null)||(!isInversePropertyTree.isLeaf())))) { + this.isInverse = _other.isInverse; + } + final PropertyTree targetIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetIdPropertyTree!= null):((targetIdPropertyTree == null)||(!targetIdPropertyTree.isLeaf())))) { + this.targetId = _other.targetId; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ReferenceNode >_P init(final _P _product) { + _product.referenceTypeId = this.referenceTypeId; + _product.isInverse = this.isInverse; + _product.targetId = this.targetId; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public ReferenceNode.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isInverse" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isInverse + * Neuer Wert der Eigenschaft "isInverse". + */ + public ReferenceNode.Builder<_B> withIsInverse(final Boolean isInverse) { + this.isInverse = isInverse; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param targetId + * Neuer Wert der Eigenschaft "targetId". + */ + public ReferenceNode.Builder<_B> withTargetId(final JAXBElement targetId) { + this.targetId = targetId; + return this; + } + + @Override + public ReferenceNode build() { + if (_storedValue == null) { + return this.init(new ReferenceNode()); + } else { + return ((ReferenceNode) _storedValue); + } + } + + public ReferenceNode.Builder<_B> copyOf(final ReferenceNode _other) { + _other.copyTo(this); + return this; + } + + public ReferenceNode.Builder<_B> copyOf(final ReferenceNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReferenceNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReferenceNode.Select _root() { + return new ReferenceNode.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> isInverse = null; + private com.kscs.util.jaxb.Selector> targetId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.isInverse!= null) { + products.put("isInverse", this.isInverse.init()); + } + if (this.targetId!= null) { + products.put("targetId", this.targetId.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> isInverse() { + return ((this.isInverse == null)?this.isInverse = new com.kscs.util.jaxb.Selector>(this._root, this, "isInverse"):this.isInverse); + } + + public com.kscs.util.jaxb.Selector> targetId() { + return ((this.targetId == null)?this.targetId = new com.kscs.util.jaxb.Selector>(this._root, this, "targetId"):this.targetId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeAttributes.java new file mode 100644 index 000000000..db87af040 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeAttributes.java @@ -0,0 +1,456 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReferenceTypeAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferenceTypeAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="Symmetric" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="InverseName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferenceTypeAttributes", propOrder = { + "isAbstract", + "symmetric", + "inverseName" +}) +public class ReferenceTypeAttributes + extends NodeAttributes +{ + + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + @XmlElement(name = "Symmetric") + protected Boolean symmetric; + @XmlElementRef(name = "InverseName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement inverseName; + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Ruft den Wert der symmetric-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isSymmetric() { + return symmetric; + } + + /** + * Legt den Wert der symmetric-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setSymmetric(Boolean value) { + this.symmetric = value; + } + + /** + * Ruft den Wert der inverseName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getInverseName() { + return inverseName; + } + + /** + * Legt den Wert der inverseName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setInverseName(JAXBElement value) { + this.inverseName = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceTypeAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.isAbstract = this.isAbstract; + _other.symmetric = this.symmetric; + _other.inverseName = this.inverseName; + } + + @Override + public<_B >ReferenceTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReferenceTypeAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReferenceTypeAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReferenceTypeAttributes.Builder builder() { + return new ReferenceTypeAttributes.Builder(null, null, false); + } + + public static<_B >ReferenceTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final ReferenceTypeAttributes.Builder<_B> _newBuilder = new ReferenceTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReferenceTypeAttributes.Builder<_B> copyOf(final ReferenceTypeAttributes _other) { + final ReferenceTypeAttributes.Builder<_B> _newBuilder = new ReferenceTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceTypeAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + final PropertyTree symmetricPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("symmetric")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(symmetricPropertyTree!= null):((symmetricPropertyTree == null)||(!symmetricPropertyTree.isLeaf())))) { + _other.symmetric = this.symmetric; + } + final PropertyTree inverseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inverseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inverseNamePropertyTree!= null):((inverseNamePropertyTree == null)||(!inverseNamePropertyTree.isLeaf())))) { + _other.inverseName = this.inverseName; + } + } + + @Override + public<_B >ReferenceTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReferenceTypeAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReferenceTypeAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReferenceTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceTypeAttributes.Builder<_B> _newBuilder = new ReferenceTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReferenceTypeAttributes.Builder<_B> copyOf(final ReferenceTypeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceTypeAttributes.Builder<_B> _newBuilder = new ReferenceTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReferenceTypeAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceTypeAttributes.Builder copyExcept(final ReferenceTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceTypeAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReferenceTypeAttributes.Builder copyOnly(final ReferenceTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Boolean isAbstract; + private Boolean symmetric; + private JAXBElement inverseName; + + public Builder(final _B _parentBuilder, final ReferenceTypeAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isAbstract = _other.isAbstract; + this.symmetric = _other.symmetric; + this.inverseName = _other.inverseName; + } + } + + public Builder(final _B _parentBuilder, final ReferenceTypeAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + final PropertyTree symmetricPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("symmetric")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(symmetricPropertyTree!= null):((symmetricPropertyTree == null)||(!symmetricPropertyTree.isLeaf())))) { + this.symmetric = _other.symmetric; + } + final PropertyTree inverseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inverseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inverseNamePropertyTree!= null):((inverseNamePropertyTree == null)||(!inverseNamePropertyTree.isLeaf())))) { + this.inverseName = _other.inverseName; + } + } + } + + protected<_P extends ReferenceTypeAttributes >_P init(final _P _product) { + _product.isAbstract = this.isAbstract; + _product.symmetric = this.symmetric; + _product.inverseName = this.inverseName; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public ReferenceTypeAttributes.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "symmetric" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param symmetric + * Neuer Wert der Eigenschaft "symmetric". + */ + public ReferenceTypeAttributes.Builder<_B> withSymmetric(final Boolean symmetric) { + this.symmetric = symmetric; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "inverseName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param inverseName + * Neuer Wert der Eigenschaft "inverseName". + */ + public ReferenceTypeAttributes.Builder<_B> withInverseName(final JAXBElement inverseName) { + this.inverseName = inverseName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public ReferenceTypeAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ReferenceTypeAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ReferenceTypeAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ReferenceTypeAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ReferenceTypeAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public ReferenceTypeAttributes build() { + if (_storedValue == null) { + return this.init(new ReferenceTypeAttributes()); + } else { + return ((ReferenceTypeAttributes) _storedValue); + } + } + + public ReferenceTypeAttributes.Builder<_B> copyOf(final ReferenceTypeAttributes _other) { + _other.copyTo(this); + return this; + } + + public ReferenceTypeAttributes.Builder<_B> copyOf(final ReferenceTypeAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReferenceTypeAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReferenceTypeAttributes.Select _root() { + return new ReferenceTypeAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> isAbstract = null; + private com.kscs.util.jaxb.Selector> symmetric = null; + private com.kscs.util.jaxb.Selector> inverseName = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + if (this.symmetric!= null) { + products.put("symmetric", this.symmetric.init()); + } + if (this.inverseName!= null) { + products.put("inverseName", this.inverseName.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + public com.kscs.util.jaxb.Selector> symmetric() { + return ((this.symmetric == null)?this.symmetric = new com.kscs.util.jaxb.Selector>(this._root, this, "symmetric"):this.symmetric); + } + + public com.kscs.util.jaxb.Selector> inverseName() { + return ((this.inverseName == null)?this.inverseName = new com.kscs.util.jaxb.Selector>(this._root, this, "inverseName"):this.inverseName); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeNode.java new file mode 100644 index 000000000..cde533a87 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ReferenceTypeNode.java @@ -0,0 +1,554 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ReferenceTypeNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferenceTypeNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}TypeNode">
+ *       <sequence>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="Symmetric" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="InverseName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferenceTypeNode", propOrder = { + "isAbstract", + "symmetric", + "inverseName" +}) +public class ReferenceTypeNode + extends TypeNode +{ + + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + @XmlElement(name = "Symmetric") + protected Boolean symmetric; + @XmlElementRef(name = "InverseName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement inverseName; + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Ruft den Wert der symmetric-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isSymmetric() { + return symmetric; + } + + /** + * Legt den Wert der symmetric-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setSymmetric(Boolean value) { + this.symmetric = value; + } + + /** + * Ruft den Wert der inverseName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getInverseName() { + return inverseName; + } + + /** + * Legt den Wert der inverseName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setInverseName(JAXBElement value) { + this.inverseName = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceTypeNode.Builder<_B> _other) { + super.copyTo(_other); + _other.isAbstract = this.isAbstract; + _other.symmetric = this.symmetric; + _other.inverseName = this.inverseName; + } + + @Override + public<_B >ReferenceTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ReferenceTypeNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ReferenceTypeNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ReferenceTypeNode.Builder builder() { + return new ReferenceTypeNode.Builder(null, null, false); + } + + public static<_B >ReferenceTypeNode.Builder<_B> copyOf(final Node _other) { + final ReferenceTypeNode.Builder<_B> _newBuilder = new ReferenceTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReferenceTypeNode.Builder<_B> copyOf(final TypeNode _other) { + final ReferenceTypeNode.Builder<_B> _newBuilder = new ReferenceTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ReferenceTypeNode.Builder<_B> copyOf(final ReferenceTypeNode _other) { + final ReferenceTypeNode.Builder<_B> _newBuilder = new ReferenceTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ReferenceTypeNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + final PropertyTree symmetricPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("symmetric")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(symmetricPropertyTree!= null):((symmetricPropertyTree == null)||(!symmetricPropertyTree.isLeaf())))) { + _other.symmetric = this.symmetric; + } + final PropertyTree inverseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inverseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inverseNamePropertyTree!= null):((inverseNamePropertyTree == null)||(!inverseNamePropertyTree.isLeaf())))) { + _other.inverseName = this.inverseName; + } + } + + @Override + public<_B >ReferenceTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ReferenceTypeNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ReferenceTypeNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ReferenceTypeNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceTypeNode.Builder<_B> _newBuilder = new ReferenceTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReferenceTypeNode.Builder<_B> copyOf(final TypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceTypeNode.Builder<_B> _newBuilder = new ReferenceTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ReferenceTypeNode.Builder<_B> copyOf(final ReferenceTypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ReferenceTypeNode.Builder<_B> _newBuilder = new ReferenceTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ReferenceTypeNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceTypeNode.Builder copyExcept(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceTypeNode.Builder copyExcept(final ReferenceTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ReferenceTypeNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReferenceTypeNode.Builder copyOnly(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ReferenceTypeNode.Builder copyOnly(final ReferenceTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends TypeNode.Builder<_B> + implements Buildable + { + + private Boolean isAbstract; + private Boolean symmetric; + private JAXBElement inverseName; + + public Builder(final _B _parentBuilder, final ReferenceTypeNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.isAbstract = _other.isAbstract; + this.symmetric = _other.symmetric; + this.inverseName = _other.inverseName; + } + } + + public Builder(final _B _parentBuilder, final ReferenceTypeNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + final PropertyTree symmetricPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("symmetric")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(symmetricPropertyTree!= null):((symmetricPropertyTree == null)||(!symmetricPropertyTree.isLeaf())))) { + this.symmetric = _other.symmetric; + } + final PropertyTree inverseNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("inverseName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(inverseNamePropertyTree!= null):((inverseNamePropertyTree == null)||(!inverseNamePropertyTree.isLeaf())))) { + this.inverseName = _other.inverseName; + } + } + } + + protected<_P extends ReferenceTypeNode >_P init(final _P _product) { + _product.isAbstract = this.isAbstract; + _product.symmetric = this.symmetric; + _product.inverseName = this.inverseName; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public ReferenceTypeNode.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "symmetric" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param symmetric + * Neuer Wert der Eigenschaft "symmetric". + */ + public ReferenceTypeNode.Builder<_B> withSymmetric(final Boolean symmetric) { + this.symmetric = symmetric; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "inverseName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param inverseName + * Neuer Wert der Eigenschaft "inverseName". + */ + public ReferenceTypeNode.Builder<_B> withInverseName(final JAXBElement inverseName) { + this.inverseName = inverseName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public ReferenceTypeNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public ReferenceTypeNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public ReferenceTypeNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ReferenceTypeNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ReferenceTypeNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ReferenceTypeNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ReferenceTypeNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public ReferenceTypeNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public ReferenceTypeNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public ReferenceTypeNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public ReferenceTypeNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public ReferenceTypeNode build() { + if (_storedValue == null) { + return this.init(new ReferenceTypeNode()); + } else { + return ((ReferenceTypeNode) _storedValue); + } + } + + public ReferenceTypeNode.Builder<_B> copyOf(final ReferenceTypeNode _other) { + _other.copyTo(this); + return this; + } + + public ReferenceTypeNode.Builder<_B> copyOf(final ReferenceTypeNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ReferenceTypeNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ReferenceTypeNode.Select _root() { + return new ReferenceTypeNode.Select(); + } + + } + + public static class Selector , TParent > + extends TypeNode.Selector + { + + private com.kscs.util.jaxb.Selector> isAbstract = null; + private com.kscs.util.jaxb.Selector> symmetric = null; + private com.kscs.util.jaxb.Selector> inverseName = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + if (this.symmetric!= null) { + products.put("symmetric", this.symmetric.init()); + } + if (this.inverseName!= null) { + products.put("inverseName", this.inverseName.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + public com.kscs.util.jaxb.Selector> symmetric() { + return ((this.symmetric == null)?this.symmetric = new com.kscs.util.jaxb.Selector>(this._root, this, "symmetric"):this.symmetric); + } + + public com.kscs.util.jaxb.Selector> inverseName() { + return ((this.inverseName == null)?this.inverseName = new com.kscs.util.jaxb.Selector>(this._root, this, "inverseName"):this.inverseName); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesRequest.java new file mode 100644 index 000000000..92f7cbfe9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisterNodesRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisterNodesRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="NodesToRegister" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisterNodesRequest", propOrder = { + "requestHeader", + "nodesToRegister" +}) +public class RegisterNodesRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "NodesToRegister", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToRegister; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der nodesToRegister-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public JAXBElement getNodesToRegister() { + return nodesToRegister; + } + + /** + * Legt den Wert der nodesToRegister-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public void setNodesToRegister(JAXBElement value) { + this.nodesToRegister = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterNodesRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.nodesToRegister = this.nodesToRegister; + } + + public<_B >RegisterNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisterNodesRequest.Builder<_B>(_parentBuilder, this, true); + } + + public RegisterNodesRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisterNodesRequest.Builder builder() { + return new RegisterNodesRequest.Builder(null, null, false); + } + + public static<_B >RegisterNodesRequest.Builder<_B> copyOf(final RegisterNodesRequest _other) { + final RegisterNodesRequest.Builder<_B> _newBuilder = new RegisterNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterNodesRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree nodesToRegisterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToRegister")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToRegisterPropertyTree!= null):((nodesToRegisterPropertyTree == null)||(!nodesToRegisterPropertyTree.isLeaf())))) { + _other.nodesToRegister = this.nodesToRegister; + } + } + + public<_B >RegisterNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisterNodesRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisterNodesRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisterNodesRequest.Builder<_B> copyOf(final RegisterNodesRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisterNodesRequest.Builder<_B> _newBuilder = new RegisterNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisterNodesRequest.Builder copyExcept(final RegisterNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisterNodesRequest.Builder copyOnly(final RegisterNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisterNodesRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement nodesToRegister; + + public Builder(final _B _parentBuilder, final RegisterNodesRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.nodesToRegister = _other.nodesToRegister; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisterNodesRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree nodesToRegisterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToRegister")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToRegisterPropertyTree!= null):((nodesToRegisterPropertyTree == null)||(!nodesToRegisterPropertyTree.isLeaf())))) { + this.nodesToRegister = _other.nodesToRegister; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisterNodesRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.nodesToRegister = this.nodesToRegister; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public RegisterNodesRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToRegister" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodesToRegister + * Neuer Wert der Eigenschaft "nodesToRegister". + */ + public RegisterNodesRequest.Builder<_B> withNodesToRegister(final JAXBElement nodesToRegister) { + this.nodesToRegister = nodesToRegister; + return this; + } + + @Override + public RegisterNodesRequest build() { + if (_storedValue == null) { + return this.init(new RegisterNodesRequest()); + } else { + return ((RegisterNodesRequest) _storedValue); + } + } + + public RegisterNodesRequest.Builder<_B> copyOf(final RegisterNodesRequest _other) { + _other.copyTo(this); + return this; + } + + public RegisterNodesRequest.Builder<_B> copyOf(final RegisterNodesRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisterNodesRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisterNodesRequest.Select _root() { + return new RegisterNodesRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> nodesToRegister = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.nodesToRegister!= null) { + products.put("nodesToRegister", this.nodesToRegister.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> nodesToRegister() { + return ((this.nodesToRegister == null)?this.nodesToRegister = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToRegister"):this.nodesToRegister); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesResponse.java new file mode 100644 index 000000000..e9b1389e2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterNodesResponse.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisterNodesResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisterNodesResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="RegisteredNodeIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisterNodesResponse", propOrder = { + "responseHeader", + "registeredNodeIds" +}) +public class RegisterNodesResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "RegisteredNodeIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement registeredNodeIds; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der registeredNodeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public JAXBElement getRegisteredNodeIds() { + return registeredNodeIds; + } + + /** + * Legt den Wert der registeredNodeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public void setRegisteredNodeIds(JAXBElement value) { + this.registeredNodeIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterNodesResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.registeredNodeIds = this.registeredNodeIds; + } + + public<_B >RegisterNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisterNodesResponse.Builder<_B>(_parentBuilder, this, true); + } + + public RegisterNodesResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisterNodesResponse.Builder builder() { + return new RegisterNodesResponse.Builder(null, null, false); + } + + public static<_B >RegisterNodesResponse.Builder<_B> copyOf(final RegisterNodesResponse _other) { + final RegisterNodesResponse.Builder<_B> _newBuilder = new RegisterNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterNodesResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree registeredNodeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("registeredNodeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(registeredNodeIdsPropertyTree!= null):((registeredNodeIdsPropertyTree == null)||(!registeredNodeIdsPropertyTree.isLeaf())))) { + _other.registeredNodeIds = this.registeredNodeIds; + } + } + + public<_B >RegisterNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisterNodesResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisterNodesResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisterNodesResponse.Builder<_B> copyOf(final RegisterNodesResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisterNodesResponse.Builder<_B> _newBuilder = new RegisterNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisterNodesResponse.Builder copyExcept(final RegisterNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisterNodesResponse.Builder copyOnly(final RegisterNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisterNodesResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement registeredNodeIds; + + public Builder(final _B _parentBuilder, final RegisterNodesResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.registeredNodeIds = _other.registeredNodeIds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisterNodesResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree registeredNodeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("registeredNodeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(registeredNodeIdsPropertyTree!= null):((registeredNodeIdsPropertyTree == null)||(!registeredNodeIdsPropertyTree.isLeaf())))) { + this.registeredNodeIds = _other.registeredNodeIds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisterNodesResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.registeredNodeIds = this.registeredNodeIds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public RegisterNodesResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "registeredNodeIds" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param registeredNodeIds + * Neuer Wert der Eigenschaft "registeredNodeIds". + */ + public RegisterNodesResponse.Builder<_B> withRegisteredNodeIds(final JAXBElement registeredNodeIds) { + this.registeredNodeIds = registeredNodeIds; + return this; + } + + @Override + public RegisterNodesResponse build() { + if (_storedValue == null) { + return this.init(new RegisterNodesResponse()); + } else { + return ((RegisterNodesResponse) _storedValue); + } + } + + public RegisterNodesResponse.Builder<_B> copyOf(final RegisterNodesResponse _other) { + _other.copyTo(this); + return this; + } + + public RegisterNodesResponse.Builder<_B> copyOf(final RegisterNodesResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisterNodesResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisterNodesResponse.Select _root() { + return new RegisterNodesResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> registeredNodeIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.registeredNodeIds!= null) { + products.put("registeredNodeIds", this.registeredNodeIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> registeredNodeIds() { + return ((this.registeredNodeIds == null)?this.registeredNodeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "registeredNodeIds"):this.registeredNodeIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Request.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Request.java new file mode 100644 index 000000000..9ccb7beb3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Request.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisterServer2Request complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisterServer2Request">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="Server" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RegisteredServer" minOccurs="0"/>
+ *         <element name="DiscoveryConfiguration" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisterServer2Request", propOrder = { + "requestHeader", + "server", + "discoveryConfiguration" +}) +public class RegisterServer2Request { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "Server", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement server; + @XmlElementRef(name = "DiscoveryConfiguration", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement discoveryConfiguration; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der server-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + */ + public JAXBElement getServer() { + return server; + } + + /** + * Legt den Wert der server-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + */ + public void setServer(JAXBElement value) { + this.server = value; + } + + /** + * Ruft den Wert der discoveryConfiguration-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public JAXBElement getDiscoveryConfiguration() { + return discoveryConfiguration; + } + + /** + * Legt den Wert der discoveryConfiguration-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfExtensionObject }{@code >} + * + */ + public void setDiscoveryConfiguration(JAXBElement value) { + this.discoveryConfiguration = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServer2Request.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.server = this.server; + _other.discoveryConfiguration = this.discoveryConfiguration; + } + + public<_B >RegisterServer2Request.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisterServer2Request.Builder<_B>(_parentBuilder, this, true); + } + + public RegisterServer2Request.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisterServer2Request.Builder builder() { + return new RegisterServer2Request.Builder(null, null, false); + } + + public static<_B >RegisterServer2Request.Builder<_B> copyOf(final RegisterServer2Request _other) { + final RegisterServer2Request.Builder<_B> _newBuilder = new RegisterServer2Request.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServer2Request.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree serverPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("server")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPropertyTree!= null):((serverPropertyTree == null)||(!serverPropertyTree.isLeaf())))) { + _other.server = this.server; + } + final PropertyTree discoveryConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryConfigurationPropertyTree!= null):((discoveryConfigurationPropertyTree == null)||(!discoveryConfigurationPropertyTree.isLeaf())))) { + _other.discoveryConfiguration = this.discoveryConfiguration; + } + } + + public<_B >RegisterServer2Request.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisterServer2Request.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisterServer2Request.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisterServer2Request.Builder<_B> copyOf(final RegisterServer2Request _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisterServer2Request.Builder<_B> _newBuilder = new RegisterServer2Request.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisterServer2Request.Builder copyExcept(final RegisterServer2Request _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisterServer2Request.Builder copyOnly(final RegisterServer2Request _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisterServer2Request _storedValue; + private JAXBElement requestHeader; + private JAXBElement server; + private JAXBElement discoveryConfiguration; + + public Builder(final _B _parentBuilder, final RegisterServer2Request _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.server = _other.server; + this.discoveryConfiguration = _other.discoveryConfiguration; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisterServer2Request _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree serverPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("server")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPropertyTree!= null):((serverPropertyTree == null)||(!serverPropertyTree.isLeaf())))) { + this.server = _other.server; + } + final PropertyTree discoveryConfigurationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryConfiguration")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryConfigurationPropertyTree!= null):((discoveryConfigurationPropertyTree == null)||(!discoveryConfigurationPropertyTree.isLeaf())))) { + this.discoveryConfiguration = _other.discoveryConfiguration; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisterServer2Request >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.server = this.server; + _product.discoveryConfiguration = this.discoveryConfiguration; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public RegisterServer2Request.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "server" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param server + * Neuer Wert der Eigenschaft "server". + */ + public RegisterServer2Request.Builder<_B> withServer(final JAXBElement server) { + this.server = server; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discoveryConfiguration" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param discoveryConfiguration + * Neuer Wert der Eigenschaft "discoveryConfiguration". + */ + public RegisterServer2Request.Builder<_B> withDiscoveryConfiguration(final JAXBElement discoveryConfiguration) { + this.discoveryConfiguration = discoveryConfiguration; + return this; + } + + @Override + public RegisterServer2Request build() { + if (_storedValue == null) { + return this.init(new RegisterServer2Request()); + } else { + return ((RegisterServer2Request) _storedValue); + } + } + + public RegisterServer2Request.Builder<_B> copyOf(final RegisterServer2Request _other) { + _other.copyTo(this); + return this; + } + + public RegisterServer2Request.Builder<_B> copyOf(final RegisterServer2Request.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisterServer2Request.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisterServer2Request.Select _root() { + return new RegisterServer2Request.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> server = null; + private com.kscs.util.jaxb.Selector> discoveryConfiguration = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.server!= null) { + products.put("server", this.server.init()); + } + if (this.discoveryConfiguration!= null) { + products.put("discoveryConfiguration", this.discoveryConfiguration.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> server() { + return ((this.server == null)?this.server = new com.kscs.util.jaxb.Selector>(this._root, this, "server"):this.server); + } + + public com.kscs.util.jaxb.Selector> discoveryConfiguration() { + return ((this.discoveryConfiguration == null)?this.discoveryConfiguration = new com.kscs.util.jaxb.Selector>(this._root, this, "discoveryConfiguration"):this.discoveryConfiguration); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Response.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Response.java new file mode 100644 index 000000000..160aa7d22 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServer2Response.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisterServer2Response complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisterServer2Response">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="ConfigurationResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisterServer2Response", propOrder = { + "responseHeader", + "configurationResults", + "diagnosticInfos" +}) +public class RegisterServer2Response { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "ConfigurationResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement configurationResults; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der configurationResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getConfigurationResults() { + return configurationResults; + } + + /** + * Legt den Wert der configurationResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setConfigurationResults(JAXBElement value) { + this.configurationResults = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServer2Response.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.configurationResults = this.configurationResults; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >RegisterServer2Response.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisterServer2Response.Builder<_B>(_parentBuilder, this, true); + } + + public RegisterServer2Response.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisterServer2Response.Builder builder() { + return new RegisterServer2Response.Builder(null, null, false); + } + + public static<_B >RegisterServer2Response.Builder<_B> copyOf(final RegisterServer2Response _other) { + final RegisterServer2Response.Builder<_B> _newBuilder = new RegisterServer2Response.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServer2Response.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree configurationResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configurationResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configurationResultsPropertyTree!= null):((configurationResultsPropertyTree == null)||(!configurationResultsPropertyTree.isLeaf())))) { + _other.configurationResults = this.configurationResults; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >RegisterServer2Response.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisterServer2Response.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisterServer2Response.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisterServer2Response.Builder<_B> copyOf(final RegisterServer2Response _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisterServer2Response.Builder<_B> _newBuilder = new RegisterServer2Response.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisterServer2Response.Builder copyExcept(final RegisterServer2Response _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisterServer2Response.Builder copyOnly(final RegisterServer2Response _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisterServer2Response _storedValue; + private JAXBElement responseHeader; + private JAXBElement configurationResults; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final RegisterServer2Response _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.configurationResults = _other.configurationResults; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisterServer2Response _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree configurationResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configurationResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configurationResultsPropertyTree!= null):((configurationResultsPropertyTree == null)||(!configurationResultsPropertyTree.isLeaf())))) { + this.configurationResults = _other.configurationResults; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisterServer2Response >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.configurationResults = this.configurationResults; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public RegisterServer2Response.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "configurationResults" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param configurationResults + * Neuer Wert der Eigenschaft "configurationResults". + */ + public RegisterServer2Response.Builder<_B> withConfigurationResults(final JAXBElement configurationResults) { + this.configurationResults = configurationResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public RegisterServer2Response.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public RegisterServer2Response build() { + if (_storedValue == null) { + return this.init(new RegisterServer2Response()); + } else { + return ((RegisterServer2Response) _storedValue); + } + } + + public RegisterServer2Response.Builder<_B> copyOf(final RegisterServer2Response _other) { + _other.copyTo(this); + return this; + } + + public RegisterServer2Response.Builder<_B> copyOf(final RegisterServer2Response.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisterServer2Response.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisterServer2Response.Select _root() { + return new RegisterServer2Response.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> configurationResults = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.configurationResults!= null) { + products.put("configurationResults", this.configurationResults.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> configurationResults() { + return ((this.configurationResults == null)?this.configurationResults = new com.kscs.util.jaxb.Selector>(this._root, this, "configurationResults"):this.configurationResults); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerRequest.java new file mode 100644 index 000000000..141f967b9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisterServerRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisterServerRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="Server" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RegisteredServer" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisterServerRequest", propOrder = { + "requestHeader", + "server" +}) +public class RegisterServerRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "Server", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement server; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der server-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + */ + public JAXBElement getServer() { + return server; + } + + /** + * Legt den Wert der server-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RegisteredServer }{@code >} + * + */ + public void setServer(JAXBElement value) { + this.server = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServerRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.server = this.server; + } + + public<_B >RegisterServerRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisterServerRequest.Builder<_B>(_parentBuilder, this, true); + } + + public RegisterServerRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisterServerRequest.Builder builder() { + return new RegisterServerRequest.Builder(null, null, false); + } + + public static<_B >RegisterServerRequest.Builder<_B> copyOf(final RegisterServerRequest _other) { + final RegisterServerRequest.Builder<_B> _newBuilder = new RegisterServerRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServerRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree serverPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("server")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPropertyTree!= null):((serverPropertyTree == null)||(!serverPropertyTree.isLeaf())))) { + _other.server = this.server; + } + } + + public<_B >RegisterServerRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisterServerRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisterServerRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisterServerRequest.Builder<_B> copyOf(final RegisterServerRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisterServerRequest.Builder<_B> _newBuilder = new RegisterServerRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisterServerRequest.Builder copyExcept(final RegisterServerRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisterServerRequest.Builder copyOnly(final RegisterServerRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisterServerRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement server; + + public Builder(final _B _parentBuilder, final RegisterServerRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.server = _other.server; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisterServerRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree serverPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("server")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverPropertyTree!= null):((serverPropertyTree == null)||(!serverPropertyTree.isLeaf())))) { + this.server = _other.server; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisterServerRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.server = this.server; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public RegisterServerRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "server" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param server + * Neuer Wert der Eigenschaft "server". + */ + public RegisterServerRequest.Builder<_B> withServer(final JAXBElement server) { + this.server = server; + return this; + } + + @Override + public RegisterServerRequest build() { + if (_storedValue == null) { + return this.init(new RegisterServerRequest()); + } else { + return ((RegisterServerRequest) _storedValue); + } + } + + public RegisterServerRequest.Builder<_B> copyOf(final RegisterServerRequest _other) { + _other.copyTo(this); + return this; + } + + public RegisterServerRequest.Builder<_B> copyOf(final RegisterServerRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisterServerRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisterServerRequest.Select _root() { + return new RegisterServerRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> server = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.server!= null) { + products.put("server", this.server.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> server() { + return ((this.server == null)?this.server = new com.kscs.util.jaxb.Selector>(this._root, this, "server"):this.server); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerResponse.java new file mode 100644 index 000000000..2437d26d9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisterServerResponse.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisterServerResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisterServerResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisterServerResponse", propOrder = { + "responseHeader" +}) +public class RegisterServerResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServerResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + } + + public<_B >RegisterServerResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisterServerResponse.Builder<_B>(_parentBuilder, this, true); + } + + public RegisterServerResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisterServerResponse.Builder builder() { + return new RegisterServerResponse.Builder(null, null, false); + } + + public static<_B >RegisterServerResponse.Builder<_B> copyOf(final RegisterServerResponse _other) { + final RegisterServerResponse.Builder<_B> _newBuilder = new RegisterServerResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisterServerResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + } + + public<_B >RegisterServerResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisterServerResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisterServerResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisterServerResponse.Builder<_B> copyOf(final RegisterServerResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisterServerResponse.Builder<_B> _newBuilder = new RegisterServerResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisterServerResponse.Builder copyExcept(final RegisterServerResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisterServerResponse.Builder copyOnly(final RegisterServerResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisterServerResponse _storedValue; + private JAXBElement responseHeader; + + public Builder(final _B _parentBuilder, final RegisterServerResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisterServerResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisterServerResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public RegisterServerResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + @Override + public RegisterServerResponse build() { + if (_storedValue == null) { + return this.init(new RegisterServerResponse()); + } else { + return ((RegisterServerResponse) _storedValue); + } + } + + public RegisterServerResponse.Builder<_B> copyOf(final RegisterServerResponse _other) { + _other.copyTo(this); + return this; + } + + public RegisterServerResponse.Builder<_B> copyOf(final RegisterServerResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisterServerResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisterServerResponse.Select _root() { + return new RegisterServerResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisteredServer.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisteredServer.java new file mode 100644 index 000000000..ab8b42078 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RegisteredServer.java @@ -0,0 +1,683 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RegisteredServer complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RegisteredServer">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ProductUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ServerNames" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfLocalizedText" minOccurs="0"/>
+ *         <element name="ServerType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ApplicationType" minOccurs="0"/>
+ *         <element name="GatewayServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DiscoveryUrls" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="SemaphoreFilePath" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="IsOnline" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RegisteredServer", propOrder = { + "serverUri", + "productUri", + "serverNames", + "serverType", + "gatewayServerUri", + "discoveryUrls", + "semaphoreFilePath", + "isOnline" +}) +public class RegisteredServer { + + @XmlElementRef(name = "ServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUri; + @XmlElementRef(name = "ProductUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement productUri; + @XmlElementRef(name = "ServerNames", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverNames; + @XmlElement(name = "ServerType") + @XmlSchemaType(name = "string") + protected ApplicationType serverType; + @XmlElementRef(name = "GatewayServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement gatewayServerUri; + @XmlElementRef(name = "DiscoveryUrls", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement discoveryUrls; + @XmlElementRef(name = "SemaphoreFilePath", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement semaphoreFilePath; + @XmlElement(name = "IsOnline") + protected Boolean isOnline; + + /** + * Ruft den Wert der serverUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getServerUri() { + return serverUri; + } + + /** + * Legt den Wert der serverUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setServerUri(JAXBElement value) { + this.serverUri = value; + } + + /** + * Ruft den Wert der productUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getProductUri() { + return productUri; + } + + /** + * Legt den Wert der productUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setProductUri(JAXBElement value) { + this.productUri = value; + } + + /** + * Ruft den Wert der serverNames-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfLocalizedText }{@code >} + * + */ + public JAXBElement getServerNames() { + return serverNames; + } + + /** + * Legt den Wert der serverNames-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfLocalizedText }{@code >} + * + */ + public void setServerNames(JAXBElement value) { + this.serverNames = value; + } + + /** + * Ruft den Wert der serverType-Eigenschaft ab. + * + * @return + * possible object is + * {@link ApplicationType } + * + */ + public ApplicationType getServerType() { + return serverType; + } + + /** + * Legt den Wert der serverType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ApplicationType } + * + */ + public void setServerType(ApplicationType value) { + this.serverType = value; + } + + /** + * Ruft den Wert der gatewayServerUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getGatewayServerUri() { + return gatewayServerUri; + } + + /** + * Legt den Wert der gatewayServerUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setGatewayServerUri(JAXBElement value) { + this.gatewayServerUri = value; + } + + /** + * Ruft den Wert der discoveryUrls-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getDiscoveryUrls() { + return discoveryUrls; + } + + /** + * Legt den Wert der discoveryUrls-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setDiscoveryUrls(JAXBElement value) { + this.discoveryUrls = value; + } + + /** + * Ruft den Wert der semaphoreFilePath-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSemaphoreFilePath() { + return semaphoreFilePath; + } + + /** + * Legt den Wert der semaphoreFilePath-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSemaphoreFilePath(JAXBElement value) { + this.semaphoreFilePath = value; + } + + /** + * Ruft den Wert der isOnline-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsOnline() { + return isOnline; + } + + /** + * Legt den Wert der isOnline-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsOnline(Boolean value) { + this.isOnline = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisteredServer.Builder<_B> _other) { + _other.serverUri = this.serverUri; + _other.productUri = this.productUri; + _other.serverNames = this.serverNames; + _other.serverType = this.serverType; + _other.gatewayServerUri = this.gatewayServerUri; + _other.discoveryUrls = this.discoveryUrls; + _other.semaphoreFilePath = this.semaphoreFilePath; + _other.isOnline = this.isOnline; + } + + public<_B >RegisteredServer.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RegisteredServer.Builder<_B>(_parentBuilder, this, true); + } + + public RegisteredServer.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RegisteredServer.Builder builder() { + return new RegisteredServer.Builder(null, null, false); + } + + public static<_B >RegisteredServer.Builder<_B> copyOf(final RegisteredServer _other) { + final RegisteredServer.Builder<_B> _newBuilder = new RegisteredServer.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RegisteredServer.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + _other.serverUri = this.serverUri; + } + final PropertyTree productUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productUriPropertyTree!= null):((productUriPropertyTree == null)||(!productUriPropertyTree.isLeaf())))) { + _other.productUri = this.productUri; + } + final PropertyTree serverNamesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNames")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNamesPropertyTree!= null):((serverNamesPropertyTree == null)||(!serverNamesPropertyTree.isLeaf())))) { + _other.serverNames = this.serverNames; + } + final PropertyTree serverTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverTypePropertyTree!= null):((serverTypePropertyTree == null)||(!serverTypePropertyTree.isLeaf())))) { + _other.serverType = this.serverType; + } + final PropertyTree gatewayServerUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("gatewayServerUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(gatewayServerUriPropertyTree!= null):((gatewayServerUriPropertyTree == null)||(!gatewayServerUriPropertyTree.isLeaf())))) { + _other.gatewayServerUri = this.gatewayServerUri; + } + final PropertyTree discoveryUrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryUrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryUrlsPropertyTree!= null):((discoveryUrlsPropertyTree == null)||(!discoveryUrlsPropertyTree.isLeaf())))) { + _other.discoveryUrls = this.discoveryUrls; + } + final PropertyTree semaphoreFilePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("semaphoreFilePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(semaphoreFilePathPropertyTree!= null):((semaphoreFilePathPropertyTree == null)||(!semaphoreFilePathPropertyTree.isLeaf())))) { + _other.semaphoreFilePath = this.semaphoreFilePath; + } + final PropertyTree isOnlinePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isOnline")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isOnlinePropertyTree!= null):((isOnlinePropertyTree == null)||(!isOnlinePropertyTree.isLeaf())))) { + _other.isOnline = this.isOnline; + } + } + + public<_B >RegisteredServer.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RegisteredServer.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RegisteredServer.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RegisteredServer.Builder<_B> copyOf(final RegisteredServer _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RegisteredServer.Builder<_B> _newBuilder = new RegisteredServer.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RegisteredServer.Builder copyExcept(final RegisteredServer _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RegisteredServer.Builder copyOnly(final RegisteredServer _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RegisteredServer _storedValue; + private JAXBElement serverUri; + private JAXBElement productUri; + private JAXBElement serverNames; + private ApplicationType serverType; + private JAXBElement gatewayServerUri; + private JAXBElement discoveryUrls; + private JAXBElement semaphoreFilePath; + private Boolean isOnline; + + public Builder(final _B _parentBuilder, final RegisteredServer _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.serverUri = _other.serverUri; + this.productUri = _other.productUri; + this.serverNames = _other.serverNames; + this.serverType = _other.serverType; + this.gatewayServerUri = _other.gatewayServerUri; + this.discoveryUrls = _other.discoveryUrls; + this.semaphoreFilePath = _other.semaphoreFilePath; + this.isOnline = _other.isOnline; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RegisteredServer _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + this.serverUri = _other.serverUri; + } + final PropertyTree productUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("productUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(productUriPropertyTree!= null):((productUriPropertyTree == null)||(!productUriPropertyTree.isLeaf())))) { + this.productUri = _other.productUri; + } + final PropertyTree serverNamesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverNames")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNamesPropertyTree!= null):((serverNamesPropertyTree == null)||(!serverNamesPropertyTree.isLeaf())))) { + this.serverNames = _other.serverNames; + } + final PropertyTree serverTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverTypePropertyTree!= null):((serverTypePropertyTree == null)||(!serverTypePropertyTree.isLeaf())))) { + this.serverType = _other.serverType; + } + final PropertyTree gatewayServerUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("gatewayServerUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(gatewayServerUriPropertyTree!= null):((gatewayServerUriPropertyTree == null)||(!gatewayServerUriPropertyTree.isLeaf())))) { + this.gatewayServerUri = _other.gatewayServerUri; + } + final PropertyTree discoveryUrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryUrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryUrlsPropertyTree!= null):((discoveryUrlsPropertyTree == null)||(!discoveryUrlsPropertyTree.isLeaf())))) { + this.discoveryUrls = _other.discoveryUrls; + } + final PropertyTree semaphoreFilePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("semaphoreFilePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(semaphoreFilePathPropertyTree!= null):((semaphoreFilePathPropertyTree == null)||(!semaphoreFilePathPropertyTree.isLeaf())))) { + this.semaphoreFilePath = _other.semaphoreFilePath; + } + final PropertyTree isOnlinePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isOnline")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isOnlinePropertyTree!= null):((isOnlinePropertyTree == null)||(!isOnlinePropertyTree.isLeaf())))) { + this.isOnline = _other.isOnline; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RegisteredServer >_P init(final _P _product) { + _product.serverUri = this.serverUri; + _product.productUri = this.productUri; + _product.serverNames = this.serverNames; + _product.serverType = this.serverType; + _product.gatewayServerUri = this.gatewayServerUri; + _product.discoveryUrls = this.discoveryUrls; + _product.semaphoreFilePath = this.semaphoreFilePath; + _product.isOnline = this.isOnline; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUri + * Neuer Wert der Eigenschaft "serverUri". + */ + public RegisteredServer.Builder<_B> withServerUri(final JAXBElement serverUri) { + this.serverUri = serverUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "productUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param productUri + * Neuer Wert der Eigenschaft "productUri". + */ + public RegisteredServer.Builder<_B> withProductUri(final JAXBElement productUri) { + this.productUri = productUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverNames" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverNames + * Neuer Wert der Eigenschaft "serverNames". + */ + public RegisteredServer.Builder<_B> withServerNames(final JAXBElement serverNames) { + this.serverNames = serverNames; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverType + * Neuer Wert der Eigenschaft "serverType". + */ + public RegisteredServer.Builder<_B> withServerType(final ApplicationType serverType) { + this.serverType = serverType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "gatewayServerUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param gatewayServerUri + * Neuer Wert der Eigenschaft "gatewayServerUri". + */ + public RegisteredServer.Builder<_B> withGatewayServerUri(final JAXBElement gatewayServerUri) { + this.gatewayServerUri = gatewayServerUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discoveryUrls" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param discoveryUrls + * Neuer Wert der Eigenschaft "discoveryUrls". + */ + public RegisteredServer.Builder<_B> withDiscoveryUrls(final JAXBElement discoveryUrls) { + this.discoveryUrls = discoveryUrls; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "semaphoreFilePath" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param semaphoreFilePath + * Neuer Wert der Eigenschaft "semaphoreFilePath". + */ + public RegisteredServer.Builder<_B> withSemaphoreFilePath(final JAXBElement semaphoreFilePath) { + this.semaphoreFilePath = semaphoreFilePath; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isOnline" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isOnline + * Neuer Wert der Eigenschaft "isOnline". + */ + public RegisteredServer.Builder<_B> withIsOnline(final Boolean isOnline) { + this.isOnline = isOnline; + return this; + } + + @Override + public RegisteredServer build() { + if (_storedValue == null) { + return this.init(new RegisteredServer()); + } else { + return ((RegisteredServer) _storedValue); + } + } + + public RegisteredServer.Builder<_B> copyOf(final RegisteredServer _other) { + _other.copyTo(this); + return this; + } + + public RegisteredServer.Builder<_B> copyOf(final RegisteredServer.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RegisteredServer.Selector + { + + + Select() { + super(null, null, null); + } + + public static RegisteredServer.Select _root() { + return new RegisteredServer.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> serverUri = null; + private com.kscs.util.jaxb.Selector> productUri = null; + private com.kscs.util.jaxb.Selector> serverNames = null; + private com.kscs.util.jaxb.Selector> serverType = null; + private com.kscs.util.jaxb.Selector> gatewayServerUri = null; + private com.kscs.util.jaxb.Selector> discoveryUrls = null; + private com.kscs.util.jaxb.Selector> semaphoreFilePath = null; + private com.kscs.util.jaxb.Selector> isOnline = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.serverUri!= null) { + products.put("serverUri", this.serverUri.init()); + } + if (this.productUri!= null) { + products.put("productUri", this.productUri.init()); + } + if (this.serverNames!= null) { + products.put("serverNames", this.serverNames.init()); + } + if (this.serverType!= null) { + products.put("serverType", this.serverType.init()); + } + if (this.gatewayServerUri!= null) { + products.put("gatewayServerUri", this.gatewayServerUri.init()); + } + if (this.discoveryUrls!= null) { + products.put("discoveryUrls", this.discoveryUrls.init()); + } + if (this.semaphoreFilePath!= null) { + products.put("semaphoreFilePath", this.semaphoreFilePath.init()); + } + if (this.isOnline!= null) { + products.put("isOnline", this.isOnline.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> serverUri() { + return ((this.serverUri == null)?this.serverUri = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUri"):this.serverUri); + } + + public com.kscs.util.jaxb.Selector> productUri() { + return ((this.productUri == null)?this.productUri = new com.kscs.util.jaxb.Selector>(this._root, this, "productUri"):this.productUri); + } + + public com.kscs.util.jaxb.Selector> serverNames() { + return ((this.serverNames == null)?this.serverNames = new com.kscs.util.jaxb.Selector>(this._root, this, "serverNames"):this.serverNames); + } + + public com.kscs.util.jaxb.Selector> serverType() { + return ((this.serverType == null)?this.serverType = new com.kscs.util.jaxb.Selector>(this._root, this, "serverType"):this.serverType); + } + + public com.kscs.util.jaxb.Selector> gatewayServerUri() { + return ((this.gatewayServerUri == null)?this.gatewayServerUri = new com.kscs.util.jaxb.Selector>(this._root, this, "gatewayServerUri"):this.gatewayServerUri); + } + + public com.kscs.util.jaxb.Selector> discoveryUrls() { + return ((this.discoveryUrls == null)?this.discoveryUrls = new com.kscs.util.jaxb.Selector>(this._root, this, "discoveryUrls"):this.discoveryUrls); + } + + public com.kscs.util.jaxb.Selector> semaphoreFilePath() { + return ((this.semaphoreFilePath == null)?this.semaphoreFilePath = new com.kscs.util.jaxb.Selector>(this._root, this, "semaphoreFilePath"):this.semaphoreFilePath); + } + + public com.kscs.util.jaxb.Selector> isOnline() { + return ((this.isOnline == null)?this.isOnline = new com.kscs.util.jaxb.Selector>(this._root, this, "isOnline"):this.isOnline); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePath.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePath.java new file mode 100644 index 000000000..d925023a1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePath.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RelativePath complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RelativePath">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Elements" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfRelativePathElement" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RelativePath", propOrder = { + "elements" +}) +public class RelativePath { + + @XmlElementRef(name = "Elements", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement elements; + + /** + * Ruft den Wert der elements-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfRelativePathElement }{@code >} + * + */ + public JAXBElement getElements() { + return elements; + } + + /** + * Legt den Wert der elements-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfRelativePathElement }{@code >} + * + */ + public void setElements(JAXBElement value) { + this.elements = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RelativePath.Builder<_B> _other) { + _other.elements = this.elements; + } + + public<_B >RelativePath.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RelativePath.Builder<_B>(_parentBuilder, this, true); + } + + public RelativePath.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RelativePath.Builder builder() { + return new RelativePath.Builder(null, null, false); + } + + public static<_B >RelativePath.Builder<_B> copyOf(final RelativePath _other) { + final RelativePath.Builder<_B> _newBuilder = new RelativePath.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RelativePath.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree elementsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elements")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementsPropertyTree!= null):((elementsPropertyTree == null)||(!elementsPropertyTree.isLeaf())))) { + _other.elements = this.elements; + } + } + + public<_B >RelativePath.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RelativePath.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RelativePath.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RelativePath.Builder<_B> copyOf(final RelativePath _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RelativePath.Builder<_B> _newBuilder = new RelativePath.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RelativePath.Builder copyExcept(final RelativePath _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RelativePath.Builder copyOnly(final RelativePath _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RelativePath _storedValue; + private JAXBElement elements; + + public Builder(final _B _parentBuilder, final RelativePath _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.elements = _other.elements; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RelativePath _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree elementsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("elements")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(elementsPropertyTree!= null):((elementsPropertyTree == null)||(!elementsPropertyTree.isLeaf())))) { + this.elements = _other.elements; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RelativePath >_P init(final _P _product) { + _product.elements = this.elements; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "elements" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param elements + * Neuer Wert der Eigenschaft "elements". + */ + public RelativePath.Builder<_B> withElements(final JAXBElement elements) { + this.elements = elements; + return this; + } + + @Override + public RelativePath build() { + if (_storedValue == null) { + return this.init(new RelativePath()); + } else { + return ((RelativePath) _storedValue); + } + } + + public RelativePath.Builder<_B> copyOf(final RelativePath _other) { + _other.copyTo(this); + return this; + } + + public RelativePath.Builder<_B> copyOf(final RelativePath.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RelativePath.Selector + { + + + Select() { + super(null, null, null); + } + + public static RelativePath.Select _root() { + return new RelativePath.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> elements = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.elements!= null) { + products.put("elements", this.elements.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> elements() { + return ((this.elements == null)?this.elements = new com.kscs.util.jaxb.Selector>(this._root, this, "elements"):this.elements); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePathElement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePathElement.java new file mode 100644 index 000000000..75d213077 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RelativePathElement.java @@ -0,0 +1,441 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RelativePathElement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RelativePathElement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ReferenceTypeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="IsInverse" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="IncludeSubtypes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="TargetName" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}QualifiedName" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RelativePathElement", propOrder = { + "referenceTypeId", + "isInverse", + "includeSubtypes", + "targetName" +}) +public class RelativePathElement { + + @XmlElementRef(name = "ReferenceTypeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement referenceTypeId; + @XmlElement(name = "IsInverse") + protected Boolean isInverse; + @XmlElement(name = "IncludeSubtypes") + protected Boolean includeSubtypes; + @XmlElementRef(name = "TargetName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetName; + + /** + * Ruft den Wert der referenceTypeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getReferenceTypeId() { + return referenceTypeId; + } + + /** + * Legt den Wert der referenceTypeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setReferenceTypeId(JAXBElement value) { + this.referenceTypeId = value; + } + + /** + * Ruft den Wert der isInverse-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsInverse() { + return isInverse; + } + + /** + * Legt den Wert der isInverse-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsInverse(Boolean value) { + this.isInverse = value; + } + + /** + * Ruft den Wert der includeSubtypes-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIncludeSubtypes() { + return includeSubtypes; + } + + /** + * Legt den Wert der includeSubtypes-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIncludeSubtypes(Boolean value) { + this.includeSubtypes = value; + } + + /** + * Ruft den Wert der targetName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public JAXBElement getTargetName() { + return targetName; + } + + /** + * Legt den Wert der targetName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link QualifiedName }{@code >} + * + */ + public void setTargetName(JAXBElement value) { + this.targetName = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RelativePathElement.Builder<_B> _other) { + _other.referenceTypeId = this.referenceTypeId; + _other.isInverse = this.isInverse; + _other.includeSubtypes = this.includeSubtypes; + _other.targetName = this.targetName; + } + + public<_B >RelativePathElement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RelativePathElement.Builder<_B>(_parentBuilder, this, true); + } + + public RelativePathElement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RelativePathElement.Builder builder() { + return new RelativePathElement.Builder(null, null, false); + } + + public static<_B >RelativePathElement.Builder<_B> copyOf(final RelativePathElement _other) { + final RelativePathElement.Builder<_B> _newBuilder = new RelativePathElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RelativePathElement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + _other.referenceTypeId = this.referenceTypeId; + } + final PropertyTree isInversePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isInverse")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isInversePropertyTree!= null):((isInversePropertyTree == null)||(!isInversePropertyTree.isLeaf())))) { + _other.isInverse = this.isInverse; + } + final PropertyTree includeSubtypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("includeSubtypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(includeSubtypesPropertyTree!= null):((includeSubtypesPropertyTree == null)||(!includeSubtypesPropertyTree.isLeaf())))) { + _other.includeSubtypes = this.includeSubtypes; + } + final PropertyTree targetNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNamePropertyTree!= null):((targetNamePropertyTree == null)||(!targetNamePropertyTree.isLeaf())))) { + _other.targetName = this.targetName; + } + } + + public<_B >RelativePathElement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RelativePathElement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RelativePathElement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RelativePathElement.Builder<_B> copyOf(final RelativePathElement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RelativePathElement.Builder<_B> _newBuilder = new RelativePathElement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RelativePathElement.Builder copyExcept(final RelativePathElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RelativePathElement.Builder copyOnly(final RelativePathElement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RelativePathElement _storedValue; + private JAXBElement referenceTypeId; + private Boolean isInverse; + private Boolean includeSubtypes; + private JAXBElement targetName; + + public Builder(final _B _parentBuilder, final RelativePathElement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.referenceTypeId = _other.referenceTypeId; + this.isInverse = _other.isInverse; + this.includeSubtypes = _other.includeSubtypes; + this.targetName = _other.targetName; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RelativePathElement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree referenceTypeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("referenceTypeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(referenceTypeIdPropertyTree!= null):((referenceTypeIdPropertyTree == null)||(!referenceTypeIdPropertyTree.isLeaf())))) { + this.referenceTypeId = _other.referenceTypeId; + } + final PropertyTree isInversePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isInverse")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isInversePropertyTree!= null):((isInversePropertyTree == null)||(!isInversePropertyTree.isLeaf())))) { + this.isInverse = _other.isInverse; + } + final PropertyTree includeSubtypesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("includeSubtypes")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(includeSubtypesPropertyTree!= null):((includeSubtypesPropertyTree == null)||(!includeSubtypesPropertyTree.isLeaf())))) { + this.includeSubtypes = _other.includeSubtypes; + } + final PropertyTree targetNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetNamePropertyTree!= null):((targetNamePropertyTree == null)||(!targetNamePropertyTree.isLeaf())))) { + this.targetName = _other.targetName; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RelativePathElement >_P init(final _P _product) { + _product.referenceTypeId = this.referenceTypeId; + _product.isInverse = this.isInverse; + _product.includeSubtypes = this.includeSubtypes; + _product.targetName = this.targetName; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "referenceTypeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param referenceTypeId + * Neuer Wert der Eigenschaft "referenceTypeId". + */ + public RelativePathElement.Builder<_B> withReferenceTypeId(final JAXBElement referenceTypeId) { + this.referenceTypeId = referenceTypeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isInverse" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isInverse + * Neuer Wert der Eigenschaft "isInverse". + */ + public RelativePathElement.Builder<_B> withIsInverse(final Boolean isInverse) { + this.isInverse = isInverse; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "includeSubtypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param includeSubtypes + * Neuer Wert der Eigenschaft "includeSubtypes". + */ + public RelativePathElement.Builder<_B> withIncludeSubtypes(final Boolean includeSubtypes) { + this.includeSubtypes = includeSubtypes; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param targetName + * Neuer Wert der Eigenschaft "targetName". + */ + public RelativePathElement.Builder<_B> withTargetName(final JAXBElement targetName) { + this.targetName = targetName; + return this; + } + + @Override + public RelativePathElement build() { + if (_storedValue == null) { + return this.init(new RelativePathElement()); + } else { + return ((RelativePathElement) _storedValue); + } + } + + public RelativePathElement.Builder<_B> copyOf(final RelativePathElement _other) { + _other.copyTo(this); + return this; + } + + public RelativePathElement.Builder<_B> copyOf(final RelativePathElement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RelativePathElement.Selector + { + + + Select() { + super(null, null, null); + } + + public static RelativePathElement.Select _root() { + return new RelativePathElement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> referenceTypeId = null; + private com.kscs.util.jaxb.Selector> isInverse = null; + private com.kscs.util.jaxb.Selector> includeSubtypes = null; + private com.kscs.util.jaxb.Selector> targetName = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.referenceTypeId!= null) { + products.put("referenceTypeId", this.referenceTypeId.init()); + } + if (this.isInverse!= null) { + products.put("isInverse", this.isInverse.init()); + } + if (this.includeSubtypes!= null) { + products.put("includeSubtypes", this.includeSubtypes.init()); + } + if (this.targetName!= null) { + products.put("targetName", this.targetName.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> referenceTypeId() { + return ((this.referenceTypeId == null)?this.referenceTypeId = new com.kscs.util.jaxb.Selector>(this._root, this, "referenceTypeId"):this.referenceTypeId); + } + + public com.kscs.util.jaxb.Selector> isInverse() { + return ((this.isInverse == null)?this.isInverse = new com.kscs.util.jaxb.Selector>(this._root, this, "isInverse"):this.isInverse); + } + + public com.kscs.util.jaxb.Selector> includeSubtypes() { + return ((this.includeSubtypes == null)?this.includeSubtypes = new com.kscs.util.jaxb.Selector>(this._root, this, "includeSubtypes"):this.includeSubtypes); + } + + public com.kscs.util.jaxb.Selector> targetName() { + return ((this.targetName == null)?this.targetName = new com.kscs.util.jaxb.Selector>(this._root, this, "targetName"):this.targetName); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishRequest.java new file mode 100644 index 000000000..9088fdd99 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishRequest.java @@ -0,0 +1,384 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RepublishRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RepublishRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RetransmitSequenceNumber" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RepublishRequest", propOrder = { + "requestHeader", + "subscriptionId", + "retransmitSequenceNumber" +}) +public class RepublishRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "RetransmitSequenceNumber") + @XmlSchemaType(name = "unsignedInt") + protected Long retransmitSequenceNumber; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der retransmitSequenceNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRetransmitSequenceNumber() { + return retransmitSequenceNumber; + } + + /** + * Legt den Wert der retransmitSequenceNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRetransmitSequenceNumber(Long value) { + this.retransmitSequenceNumber = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RepublishRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.retransmitSequenceNumber = this.retransmitSequenceNumber; + } + + public<_B >RepublishRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RepublishRequest.Builder<_B>(_parentBuilder, this, true); + } + + public RepublishRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RepublishRequest.Builder builder() { + return new RepublishRequest.Builder(null, null, false); + } + + public static<_B >RepublishRequest.Builder<_B> copyOf(final RepublishRequest _other) { + final RepublishRequest.Builder<_B> _newBuilder = new RepublishRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RepublishRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree retransmitSequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("retransmitSequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(retransmitSequenceNumberPropertyTree!= null):((retransmitSequenceNumberPropertyTree == null)||(!retransmitSequenceNumberPropertyTree.isLeaf())))) { + _other.retransmitSequenceNumber = this.retransmitSequenceNumber; + } + } + + public<_B >RepublishRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RepublishRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RepublishRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RepublishRequest.Builder<_B> copyOf(final RepublishRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RepublishRequest.Builder<_B> _newBuilder = new RepublishRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RepublishRequest.Builder copyExcept(final RepublishRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RepublishRequest.Builder copyOnly(final RepublishRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RepublishRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private Long retransmitSequenceNumber; + + public Builder(final _B _parentBuilder, final RepublishRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.retransmitSequenceNumber = _other.retransmitSequenceNumber; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RepublishRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree retransmitSequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("retransmitSequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(retransmitSequenceNumberPropertyTree!= null):((retransmitSequenceNumberPropertyTree == null)||(!retransmitSequenceNumberPropertyTree.isLeaf())))) { + this.retransmitSequenceNumber = _other.retransmitSequenceNumber; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RepublishRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.retransmitSequenceNumber = this.retransmitSequenceNumber; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public RepublishRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public RepublishRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "retransmitSequenceNumber" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param retransmitSequenceNumber + * Neuer Wert der Eigenschaft "retransmitSequenceNumber". + */ + public RepublishRequest.Builder<_B> withRetransmitSequenceNumber(final Long retransmitSequenceNumber) { + this.retransmitSequenceNumber = retransmitSequenceNumber; + return this; + } + + @Override + public RepublishRequest build() { + if (_storedValue == null) { + return this.init(new RepublishRequest()); + } else { + return ((RepublishRequest) _storedValue); + } + } + + public RepublishRequest.Builder<_B> copyOf(final RepublishRequest _other) { + _other.copyTo(this); + return this; + } + + public RepublishRequest.Builder<_B> copyOf(final RepublishRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RepublishRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static RepublishRequest.Select _root() { + return new RepublishRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> retransmitSequenceNumber = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.retransmitSequenceNumber!= null) { + products.put("retransmitSequenceNumber", this.retransmitSequenceNumber.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> retransmitSequenceNumber() { + return ((this.retransmitSequenceNumber == null)?this.retransmitSequenceNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "retransmitSequenceNumber"):this.retransmitSequenceNumber); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishResponse.java new file mode 100644 index 000000000..fd11ee659 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RepublishResponse.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RepublishResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RepublishResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="NotificationMessage" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NotificationMessage" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RepublishResponse", propOrder = { + "responseHeader", + "notificationMessage" +}) +public class RepublishResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "NotificationMessage", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement notificationMessage; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der notificationMessage-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + */ + public JAXBElement getNotificationMessage() { + return notificationMessage; + } + + /** + * Legt den Wert der notificationMessage-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NotificationMessage }{@code >} + * + */ + public void setNotificationMessage(JAXBElement value) { + this.notificationMessage = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RepublishResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.notificationMessage = this.notificationMessage; + } + + public<_B >RepublishResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RepublishResponse.Builder<_B>(_parentBuilder, this, true); + } + + public RepublishResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RepublishResponse.Builder builder() { + return new RepublishResponse.Builder(null, null, false); + } + + public static<_B >RepublishResponse.Builder<_B> copyOf(final RepublishResponse _other) { + final RepublishResponse.Builder<_B> _newBuilder = new RepublishResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RepublishResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree notificationMessagePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationMessage")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationMessagePropertyTree!= null):((notificationMessagePropertyTree == null)||(!notificationMessagePropertyTree.isLeaf())))) { + _other.notificationMessage = this.notificationMessage; + } + } + + public<_B >RepublishResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RepublishResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RepublishResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RepublishResponse.Builder<_B> copyOf(final RepublishResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RepublishResponse.Builder<_B> _newBuilder = new RepublishResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RepublishResponse.Builder copyExcept(final RepublishResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RepublishResponse.Builder copyOnly(final RepublishResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RepublishResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement notificationMessage; + + public Builder(final _B _parentBuilder, final RepublishResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.notificationMessage = _other.notificationMessage; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RepublishResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree notificationMessagePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationMessage")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationMessagePropertyTree!= null):((notificationMessagePropertyTree == null)||(!notificationMessagePropertyTree.isLeaf())))) { + this.notificationMessage = _other.notificationMessage; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RepublishResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.notificationMessage = this.notificationMessage; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public RepublishResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "notificationMessage" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param notificationMessage + * Neuer Wert der Eigenschaft "notificationMessage". + */ + public RepublishResponse.Builder<_B> withNotificationMessage(final JAXBElement notificationMessage) { + this.notificationMessage = notificationMessage; + return this; + } + + @Override + public RepublishResponse build() { + if (_storedValue == null) { + return this.init(new RepublishResponse()); + } else { + return ((RepublishResponse) _storedValue); + } + } + + public RepublishResponse.Builder<_B> copyOf(final RepublishResponse _other) { + _other.copyTo(this); + return this; + } + + public RepublishResponse.Builder<_B> copyOf(final RepublishResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RepublishResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static RepublishResponse.Select _root() { + return new RepublishResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> notificationMessage = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.notificationMessage!= null) { + products.put("notificationMessage", this.notificationMessage.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> notificationMessage() { + return ((this.notificationMessage == null)?this.notificationMessage = new com.kscs.util.jaxb.Selector>(this._root, this, "notificationMessage"):this.notificationMessage); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RequestHeader.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RequestHeader.java new file mode 100644 index 000000000..23048c4ad --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RequestHeader.java @@ -0,0 +1,627 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RequestHeader complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RequestHeader">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AuthenticationToken" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Timestamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="RequestHandle" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ReturnDiagnostics" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="AuditEntryId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TimeoutHint" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="AdditionalHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RequestHeader", propOrder = { + "authenticationToken", + "timestamp", + "requestHandle", + "returnDiagnostics", + "auditEntryId", + "timeoutHint", + "additionalHeader" +}) +public class RequestHeader { + + @XmlElementRef(name = "AuthenticationToken", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationToken; + @XmlElement(name = "Timestamp") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar timestamp; + @XmlElement(name = "RequestHandle") + @XmlSchemaType(name = "unsignedInt") + protected Long requestHandle; + @XmlElement(name = "ReturnDiagnostics") + @XmlSchemaType(name = "unsignedInt") + protected Long returnDiagnostics; + @XmlElementRef(name = "AuditEntryId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement auditEntryId; + @XmlElement(name = "TimeoutHint") + @XmlSchemaType(name = "unsignedInt") + protected Long timeoutHint; + @XmlElementRef(name = "AdditionalHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement additionalHeader; + + /** + * Ruft den Wert der authenticationToken-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAuthenticationToken() { + return authenticationToken; + } + + /** + * Legt den Wert der authenticationToken-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAuthenticationToken(JAXBElement value) { + this.authenticationToken = value; + } + + /** + * Ruft den Wert der timestamp-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getTimestamp() { + return timestamp; + } + + /** + * Legt den Wert der timestamp-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setTimestamp(XMLGregorianCalendar value) { + this.timestamp = value; + } + + /** + * Ruft den Wert der requestHandle-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestHandle() { + return requestHandle; + } + + /** + * Legt den Wert der requestHandle-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestHandle(Long value) { + this.requestHandle = value; + } + + /** + * Ruft den Wert der returnDiagnostics-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getReturnDiagnostics() { + return returnDiagnostics; + } + + /** + * Legt den Wert der returnDiagnostics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setReturnDiagnostics(Long value) { + this.returnDiagnostics = value; + } + + /** + * Ruft den Wert der auditEntryId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAuditEntryId() { + return auditEntryId; + } + + /** + * Legt den Wert der auditEntryId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAuditEntryId(JAXBElement value) { + this.auditEntryId = value; + } + + /** + * Ruft den Wert der timeoutHint-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTimeoutHint() { + return timeoutHint; + } + + /** + * Legt den Wert der timeoutHint-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTimeoutHint(Long value) { + this.timeoutHint = value; + } + + /** + * Ruft den Wert der additionalHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getAdditionalHeader() { + return additionalHeader; + } + + /** + * Legt den Wert der additionalHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setAdditionalHeader(JAXBElement value) { + this.additionalHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RequestHeader.Builder<_B> _other) { + _other.authenticationToken = this.authenticationToken; + _other.timestamp = ((this.timestamp == null)?null:((XMLGregorianCalendar) this.timestamp.clone())); + _other.requestHandle = this.requestHandle; + _other.returnDiagnostics = this.returnDiagnostics; + _other.auditEntryId = this.auditEntryId; + _other.timeoutHint = this.timeoutHint; + _other.additionalHeader = this.additionalHeader; + } + + public<_B >RequestHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RequestHeader.Builder<_B>(_parentBuilder, this, true); + } + + public RequestHeader.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RequestHeader.Builder builder() { + return new RequestHeader.Builder(null, null, false); + } + + public static<_B >RequestHeader.Builder<_B> copyOf(final RequestHeader _other) { + final RequestHeader.Builder<_B> _newBuilder = new RequestHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RequestHeader.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree authenticationTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationTokenPropertyTree!= null):((authenticationTokenPropertyTree == null)||(!authenticationTokenPropertyTree.isLeaf())))) { + _other.authenticationToken = this.authenticationToken; + } + final PropertyTree timestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampPropertyTree!= null):((timestampPropertyTree == null)||(!timestampPropertyTree.isLeaf())))) { + _other.timestamp = ((this.timestamp == null)?null:((XMLGregorianCalendar) this.timestamp.clone())); + } + final PropertyTree requestHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHandlePropertyTree!= null):((requestHandlePropertyTree == null)||(!requestHandlePropertyTree.isLeaf())))) { + _other.requestHandle = this.requestHandle; + } + final PropertyTree returnDiagnosticsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("returnDiagnostics")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(returnDiagnosticsPropertyTree!= null):((returnDiagnosticsPropertyTree == null)||(!returnDiagnosticsPropertyTree.isLeaf())))) { + _other.returnDiagnostics = this.returnDiagnostics; + } + final PropertyTree auditEntryIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("auditEntryId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(auditEntryIdPropertyTree!= null):((auditEntryIdPropertyTree == null)||(!auditEntryIdPropertyTree.isLeaf())))) { + _other.auditEntryId = this.auditEntryId; + } + final PropertyTree timeoutHintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timeoutHint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timeoutHintPropertyTree!= null):((timeoutHintPropertyTree == null)||(!timeoutHintPropertyTree.isLeaf())))) { + _other.timeoutHint = this.timeoutHint; + } + final PropertyTree additionalHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("additionalHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(additionalHeaderPropertyTree!= null):((additionalHeaderPropertyTree == null)||(!additionalHeaderPropertyTree.isLeaf())))) { + _other.additionalHeader = this.additionalHeader; + } + } + + public<_B >RequestHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RequestHeader.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RequestHeader.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RequestHeader.Builder<_B> copyOf(final RequestHeader _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RequestHeader.Builder<_B> _newBuilder = new RequestHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RequestHeader.Builder copyExcept(final RequestHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RequestHeader.Builder copyOnly(final RequestHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RequestHeader _storedValue; + private JAXBElement authenticationToken; + private XMLGregorianCalendar timestamp; + private Long requestHandle; + private Long returnDiagnostics; + private JAXBElement auditEntryId; + private Long timeoutHint; + private JAXBElement additionalHeader; + + public Builder(final _B _parentBuilder, final RequestHeader _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.authenticationToken = _other.authenticationToken; + this.timestamp = ((_other.timestamp == null)?null:((XMLGregorianCalendar) _other.timestamp.clone())); + this.requestHandle = _other.requestHandle; + this.returnDiagnostics = _other.returnDiagnostics; + this.auditEntryId = _other.auditEntryId; + this.timeoutHint = _other.timeoutHint; + this.additionalHeader = _other.additionalHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RequestHeader _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree authenticationTokenPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationToken")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationTokenPropertyTree!= null):((authenticationTokenPropertyTree == null)||(!authenticationTokenPropertyTree.isLeaf())))) { + this.authenticationToken = _other.authenticationToken; + } + final PropertyTree timestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampPropertyTree!= null):((timestampPropertyTree == null)||(!timestampPropertyTree.isLeaf())))) { + this.timestamp = ((_other.timestamp == null)?null:((XMLGregorianCalendar) _other.timestamp.clone())); + } + final PropertyTree requestHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHandlePropertyTree!= null):((requestHandlePropertyTree == null)||(!requestHandlePropertyTree.isLeaf())))) { + this.requestHandle = _other.requestHandle; + } + final PropertyTree returnDiagnosticsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("returnDiagnostics")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(returnDiagnosticsPropertyTree!= null):((returnDiagnosticsPropertyTree == null)||(!returnDiagnosticsPropertyTree.isLeaf())))) { + this.returnDiagnostics = _other.returnDiagnostics; + } + final PropertyTree auditEntryIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("auditEntryId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(auditEntryIdPropertyTree!= null):((auditEntryIdPropertyTree == null)||(!auditEntryIdPropertyTree.isLeaf())))) { + this.auditEntryId = _other.auditEntryId; + } + final PropertyTree timeoutHintPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timeoutHint")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timeoutHintPropertyTree!= null):((timeoutHintPropertyTree == null)||(!timeoutHintPropertyTree.isLeaf())))) { + this.timeoutHint = _other.timeoutHint; + } + final PropertyTree additionalHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("additionalHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(additionalHeaderPropertyTree!= null):((additionalHeaderPropertyTree == null)||(!additionalHeaderPropertyTree.isLeaf())))) { + this.additionalHeader = _other.additionalHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RequestHeader >_P init(final _P _product) { + _product.authenticationToken = this.authenticationToken; + _product.timestamp = this.timestamp; + _product.requestHandle = this.requestHandle; + _product.returnDiagnostics = this.returnDiagnostics; + _product.auditEntryId = this.auditEntryId; + _product.timeoutHint = this.timeoutHint; + _product.additionalHeader = this.additionalHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationToken" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param authenticationToken + * Neuer Wert der Eigenschaft "authenticationToken". + */ + public RequestHeader.Builder<_B> withAuthenticationToken(final JAXBElement authenticationToken) { + this.authenticationToken = authenticationToken; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestamp" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param timestamp + * Neuer Wert der Eigenschaft "timestamp". + */ + public RequestHeader.Builder<_B> withTimestamp(final XMLGregorianCalendar timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHandle" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHandle + * Neuer Wert der Eigenschaft "requestHandle". + */ + public RequestHeader.Builder<_B> withRequestHandle(final Long requestHandle) { + this.requestHandle = requestHandle; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "returnDiagnostics" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param returnDiagnostics + * Neuer Wert der Eigenschaft "returnDiagnostics". + */ + public RequestHeader.Builder<_B> withReturnDiagnostics(final Long returnDiagnostics) { + this.returnDiagnostics = returnDiagnostics; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "auditEntryId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param auditEntryId + * Neuer Wert der Eigenschaft "auditEntryId". + */ + public RequestHeader.Builder<_B> withAuditEntryId(final JAXBElement auditEntryId) { + this.auditEntryId = auditEntryId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timeoutHint" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param timeoutHint + * Neuer Wert der Eigenschaft "timeoutHint". + */ + public RequestHeader.Builder<_B> withTimeoutHint(final Long timeoutHint) { + this.timeoutHint = timeoutHint; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "additionalHeader" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param additionalHeader + * Neuer Wert der Eigenschaft "additionalHeader". + */ + public RequestHeader.Builder<_B> withAdditionalHeader(final JAXBElement additionalHeader) { + this.additionalHeader = additionalHeader; + return this; + } + + @Override + public RequestHeader build() { + if (_storedValue == null) { + return this.init(new RequestHeader()); + } else { + return ((RequestHeader) _storedValue); + } + } + + public RequestHeader.Builder<_B> copyOf(final RequestHeader _other) { + _other.copyTo(this); + return this; + } + + public RequestHeader.Builder<_B> copyOf(final RequestHeader.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RequestHeader.Selector + { + + + Select() { + super(null, null, null); + } + + public static RequestHeader.Select _root() { + return new RequestHeader.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> authenticationToken = null; + private com.kscs.util.jaxb.Selector> timestamp = null; + private com.kscs.util.jaxb.Selector> requestHandle = null; + private com.kscs.util.jaxb.Selector> returnDiagnostics = null; + private com.kscs.util.jaxb.Selector> auditEntryId = null; + private com.kscs.util.jaxb.Selector> timeoutHint = null; + private com.kscs.util.jaxb.Selector> additionalHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.authenticationToken!= null) { + products.put("authenticationToken", this.authenticationToken.init()); + } + if (this.timestamp!= null) { + products.put("timestamp", this.timestamp.init()); + } + if (this.requestHandle!= null) { + products.put("requestHandle", this.requestHandle.init()); + } + if (this.returnDiagnostics!= null) { + products.put("returnDiagnostics", this.returnDiagnostics.init()); + } + if (this.auditEntryId!= null) { + products.put("auditEntryId", this.auditEntryId.init()); + } + if (this.timeoutHint!= null) { + products.put("timeoutHint", this.timeoutHint.init()); + } + if (this.additionalHeader!= null) { + products.put("additionalHeader", this.additionalHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> authenticationToken() { + return ((this.authenticationToken == null)?this.authenticationToken = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationToken"):this.authenticationToken); + } + + public com.kscs.util.jaxb.Selector> timestamp() { + return ((this.timestamp == null)?this.timestamp = new com.kscs.util.jaxb.Selector>(this._root, this, "timestamp"):this.timestamp); + } + + public com.kscs.util.jaxb.Selector> requestHandle() { + return ((this.requestHandle == null)?this.requestHandle = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHandle"):this.requestHandle); + } + + public com.kscs.util.jaxb.Selector> returnDiagnostics() { + return ((this.returnDiagnostics == null)?this.returnDiagnostics = new com.kscs.util.jaxb.Selector>(this._root, this, "returnDiagnostics"):this.returnDiagnostics); + } + + public com.kscs.util.jaxb.Selector> auditEntryId() { + return ((this.auditEntryId == null)?this.auditEntryId = new com.kscs.util.jaxb.Selector>(this._root, this, "auditEntryId"):this.auditEntryId); + } + + public com.kscs.util.jaxb.Selector> timeoutHint() { + return ((this.timeoutHint == null)?this.timeoutHint = new com.kscs.util.jaxb.Selector>(this._root, this, "timeoutHint"):this.timeoutHint); + } + + public com.kscs.util.jaxb.Selector> additionalHeader() { + return ((this.additionalHeader == null)?this.additionalHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "additionalHeader"):this.additionalHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ResponseHeader.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ResponseHeader.java new file mode 100644 index 000000000..fc71119c3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ResponseHeader.java @@ -0,0 +1,584 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ResponseHeader complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ResponseHeader">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Timestamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="RequestHandle" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ServiceResult" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="ServiceDiagnostics" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiagnosticInfo" minOccurs="0"/>
+ *         <element name="StringTable" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="AdditionalHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResponseHeader", propOrder = { + "timestamp", + "requestHandle", + "serviceResult", + "serviceDiagnostics", + "stringTable", + "additionalHeader" +}) +public class ResponseHeader { + + @XmlElement(name = "Timestamp") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar timestamp; + @XmlElement(name = "RequestHandle") + @XmlSchemaType(name = "unsignedInt") + protected Long requestHandle; + @XmlElement(name = "ServiceResult") + protected StatusCode serviceResult; + @XmlElementRef(name = "ServiceDiagnostics", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serviceDiagnostics; + @XmlElementRef(name = "StringTable", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement stringTable; + @XmlElementRef(name = "AdditionalHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement additionalHeader; + + /** + * Ruft den Wert der timestamp-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getTimestamp() { + return timestamp; + } + + /** + * Legt den Wert der timestamp-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setTimestamp(XMLGregorianCalendar value) { + this.timestamp = value; + } + + /** + * Ruft den Wert der requestHandle-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRequestHandle() { + return requestHandle; + } + + /** + * Legt den Wert der requestHandle-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRequestHandle(Long value) { + this.requestHandle = value; + } + + /** + * Ruft den Wert der serviceResult-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getServiceResult() { + return serviceResult; + } + + /** + * Legt den Wert der serviceResult-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setServiceResult(StatusCode value) { + this.serviceResult = value; + } + + /** + * Ruft den Wert der serviceDiagnostics-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + */ + public JAXBElement getServiceDiagnostics() { + return serviceDiagnostics; + } + + /** + * Legt den Wert der serviceDiagnostics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + */ + public void setServiceDiagnostics(JAXBElement value) { + this.serviceDiagnostics = value; + } + + /** + * Ruft den Wert der stringTable-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getStringTable() { + return stringTable; + } + + /** + * Legt den Wert der stringTable-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setStringTable(JAXBElement value) { + this.stringTable = value; + } + + /** + * Ruft den Wert der additionalHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getAdditionalHeader() { + return additionalHeader; + } + + /** + * Legt den Wert der additionalHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setAdditionalHeader(JAXBElement value) { + this.additionalHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ResponseHeader.Builder<_B> _other) { + _other.timestamp = ((this.timestamp == null)?null:((XMLGregorianCalendar) this.timestamp.clone())); + _other.requestHandle = this.requestHandle; + _other.serviceResult = ((this.serviceResult == null)?null:this.serviceResult.newCopyBuilder(_other)); + _other.serviceDiagnostics = this.serviceDiagnostics; + _other.stringTable = this.stringTable; + _other.additionalHeader = this.additionalHeader; + } + + public<_B >ResponseHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ResponseHeader.Builder<_B>(_parentBuilder, this, true); + } + + public ResponseHeader.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ResponseHeader.Builder builder() { + return new ResponseHeader.Builder(null, null, false); + } + + public static<_B >ResponseHeader.Builder<_B> copyOf(final ResponseHeader _other) { + final ResponseHeader.Builder<_B> _newBuilder = new ResponseHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ResponseHeader.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree timestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampPropertyTree!= null):((timestampPropertyTree == null)||(!timestampPropertyTree.isLeaf())))) { + _other.timestamp = ((this.timestamp == null)?null:((XMLGregorianCalendar) this.timestamp.clone())); + } + final PropertyTree requestHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHandlePropertyTree!= null):((requestHandlePropertyTree == null)||(!requestHandlePropertyTree.isLeaf())))) { + _other.requestHandle = this.requestHandle; + } + final PropertyTree serviceResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceResultPropertyTree!= null):((serviceResultPropertyTree == null)||(!serviceResultPropertyTree.isLeaf())))) { + _other.serviceResult = ((this.serviceResult == null)?null:this.serviceResult.newCopyBuilder(_other, serviceResultPropertyTree, _propertyTreeUse)); + } + final PropertyTree serviceDiagnosticsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceDiagnostics")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceDiagnosticsPropertyTree!= null):((serviceDiagnosticsPropertyTree == null)||(!serviceDiagnosticsPropertyTree.isLeaf())))) { + _other.serviceDiagnostics = this.serviceDiagnostics; + } + final PropertyTree stringTablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("stringTable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stringTablePropertyTree!= null):((stringTablePropertyTree == null)||(!stringTablePropertyTree.isLeaf())))) { + _other.stringTable = this.stringTable; + } + final PropertyTree additionalHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("additionalHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(additionalHeaderPropertyTree!= null):((additionalHeaderPropertyTree == null)||(!additionalHeaderPropertyTree.isLeaf())))) { + _other.additionalHeader = this.additionalHeader; + } + } + + public<_B >ResponseHeader.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ResponseHeader.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ResponseHeader.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ResponseHeader.Builder<_B> copyOf(final ResponseHeader _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ResponseHeader.Builder<_B> _newBuilder = new ResponseHeader.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ResponseHeader.Builder copyExcept(final ResponseHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ResponseHeader.Builder copyOnly(final ResponseHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ResponseHeader _storedValue; + private XMLGregorianCalendar timestamp; + private Long requestHandle; + private StatusCode.Builder> serviceResult; + private JAXBElement serviceDiagnostics; + private JAXBElement stringTable; + private JAXBElement additionalHeader; + + public Builder(final _B _parentBuilder, final ResponseHeader _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.timestamp = ((_other.timestamp == null)?null:((XMLGregorianCalendar) _other.timestamp.clone())); + this.requestHandle = _other.requestHandle; + this.serviceResult = ((_other.serviceResult == null)?null:_other.serviceResult.newCopyBuilder(this)); + this.serviceDiagnostics = _other.serviceDiagnostics; + this.stringTable = _other.stringTable; + this.additionalHeader = _other.additionalHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ResponseHeader _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree timestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampPropertyTree!= null):((timestampPropertyTree == null)||(!timestampPropertyTree.isLeaf())))) { + this.timestamp = ((_other.timestamp == null)?null:((XMLGregorianCalendar) _other.timestamp.clone())); + } + final PropertyTree requestHandlePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHandle")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHandlePropertyTree!= null):((requestHandlePropertyTree == null)||(!requestHandlePropertyTree.isLeaf())))) { + this.requestHandle = _other.requestHandle; + } + final PropertyTree serviceResultPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceResult")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceResultPropertyTree!= null):((serviceResultPropertyTree == null)||(!serviceResultPropertyTree.isLeaf())))) { + this.serviceResult = ((_other.serviceResult == null)?null:_other.serviceResult.newCopyBuilder(this, serviceResultPropertyTree, _propertyTreeUse)); + } + final PropertyTree serviceDiagnosticsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceDiagnostics")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceDiagnosticsPropertyTree!= null):((serviceDiagnosticsPropertyTree == null)||(!serviceDiagnosticsPropertyTree.isLeaf())))) { + this.serviceDiagnostics = _other.serviceDiagnostics; + } + final PropertyTree stringTablePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("stringTable")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(stringTablePropertyTree!= null):((stringTablePropertyTree == null)||(!stringTablePropertyTree.isLeaf())))) { + this.stringTable = _other.stringTable; + } + final PropertyTree additionalHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("additionalHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(additionalHeaderPropertyTree!= null):((additionalHeaderPropertyTree == null)||(!additionalHeaderPropertyTree.isLeaf())))) { + this.additionalHeader = _other.additionalHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ResponseHeader >_P init(final _P _product) { + _product.timestamp = this.timestamp; + _product.requestHandle = this.requestHandle; + _product.serviceResult = ((this.serviceResult == null)?null:this.serviceResult.build()); + _product.serviceDiagnostics = this.serviceDiagnostics; + _product.stringTable = this.stringTable; + _product.additionalHeader = this.additionalHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestamp" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param timestamp + * Neuer Wert der Eigenschaft "timestamp". + */ + public ResponseHeader.Builder<_B> withTimestamp(final XMLGregorianCalendar timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHandle" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHandle + * Neuer Wert der Eigenschaft "requestHandle". + */ + public ResponseHeader.Builder<_B> withRequestHandle(final Long requestHandle) { + this.requestHandle = requestHandle; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serviceResult" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serviceResult + * Neuer Wert der Eigenschaft "serviceResult". + */ + public ResponseHeader.Builder<_B> withServiceResult(final StatusCode serviceResult) { + this.serviceResult = ((serviceResult == null)?null:new StatusCode.Builder>(this, serviceResult, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "serviceResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "serviceResult". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withServiceResult() { + if (this.serviceResult!= null) { + return this.serviceResult; + } + return this.serviceResult = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "serviceDiagnostics" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param serviceDiagnostics + * Neuer Wert der Eigenschaft "serviceDiagnostics". + */ + public ResponseHeader.Builder<_B> withServiceDiagnostics(final JAXBElement serviceDiagnostics) { + this.serviceDiagnostics = serviceDiagnostics; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "stringTable" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param stringTable + * Neuer Wert der Eigenschaft "stringTable". + */ + public ResponseHeader.Builder<_B> withStringTable(final JAXBElement stringTable) { + this.stringTable = stringTable; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "additionalHeader" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param additionalHeader + * Neuer Wert der Eigenschaft "additionalHeader". + */ + public ResponseHeader.Builder<_B> withAdditionalHeader(final JAXBElement additionalHeader) { + this.additionalHeader = additionalHeader; + return this; + } + + @Override + public ResponseHeader build() { + if (_storedValue == null) { + return this.init(new ResponseHeader()); + } else { + return ((ResponseHeader) _storedValue); + } + } + + public ResponseHeader.Builder<_B> copyOf(final ResponseHeader _other) { + _other.copyTo(this); + return this; + } + + public ResponseHeader.Builder<_B> copyOf(final ResponseHeader.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ResponseHeader.Selector + { + + + Select() { + super(null, null, null); + } + + public static ResponseHeader.Select _root() { + return new ResponseHeader.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> timestamp = null; + private com.kscs.util.jaxb.Selector> requestHandle = null; + private StatusCode.Selector> serviceResult = null; + private com.kscs.util.jaxb.Selector> serviceDiagnostics = null; + private com.kscs.util.jaxb.Selector> stringTable = null; + private com.kscs.util.jaxb.Selector> additionalHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.timestamp!= null) { + products.put("timestamp", this.timestamp.init()); + } + if (this.requestHandle!= null) { + products.put("requestHandle", this.requestHandle.init()); + } + if (this.serviceResult!= null) { + products.put("serviceResult", this.serviceResult.init()); + } + if (this.serviceDiagnostics!= null) { + products.put("serviceDiagnostics", this.serviceDiagnostics.init()); + } + if (this.stringTable!= null) { + products.put("stringTable", this.stringTable.init()); + } + if (this.additionalHeader!= null) { + products.put("additionalHeader", this.additionalHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> timestamp() { + return ((this.timestamp == null)?this.timestamp = new com.kscs.util.jaxb.Selector>(this._root, this, "timestamp"):this.timestamp); + } + + public com.kscs.util.jaxb.Selector> requestHandle() { + return ((this.requestHandle == null)?this.requestHandle = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHandle"):this.requestHandle); + } + + public StatusCode.Selector> serviceResult() { + return ((this.serviceResult == null)?this.serviceResult = new StatusCode.Selector>(this._root, this, "serviceResult"):this.serviceResult); + } + + public com.kscs.util.jaxb.Selector> serviceDiagnostics() { + return ((this.serviceDiagnostics == null)?this.serviceDiagnostics = new com.kscs.util.jaxb.Selector>(this._root, this, "serviceDiagnostics"):this.serviceDiagnostics); + } + + public com.kscs.util.jaxb.Selector> stringTable() { + return ((this.stringTable == null)?this.stringTable = new com.kscs.util.jaxb.Selector>(this._root, this, "stringTable"):this.stringTable); + } + + public com.kscs.util.jaxb.Selector> additionalHeader() { + return ((this.additionalHeader == null)?this.additionalHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "additionalHeader"):this.additionalHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RolePermissionType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RolePermissionType.java new file mode 100644 index 000000000..f74bfe7c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/RolePermissionType.java @@ -0,0 +1,323 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für RolePermissionType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="RolePermissionType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RoleId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Permissions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PermissionType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RolePermissionType", propOrder = { + "roleId", + "permissions" +}) +public class RolePermissionType { + + @XmlElementRef(name = "RoleId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement roleId; + @XmlElement(name = "Permissions") + @XmlSchemaType(name = "unsignedInt") + protected Long permissions; + + /** + * Ruft den Wert der roleId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getRoleId() { + return roleId; + } + + /** + * Legt den Wert der roleId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setRoleId(JAXBElement value) { + this.roleId = value; + } + + /** + * Ruft den Wert der permissions-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getPermissions() { + return permissions; + } + + /** + * Legt den Wert der permissions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setPermissions(Long value) { + this.permissions = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RolePermissionType.Builder<_B> _other) { + _other.roleId = this.roleId; + _other.permissions = this.permissions; + } + + public<_B >RolePermissionType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new RolePermissionType.Builder<_B>(_parentBuilder, this, true); + } + + public RolePermissionType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static RolePermissionType.Builder builder() { + return new RolePermissionType.Builder(null, null, false); + } + + public static<_B >RolePermissionType.Builder<_B> copyOf(final RolePermissionType _other) { + final RolePermissionType.Builder<_B> _newBuilder = new RolePermissionType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final RolePermissionType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree roleIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("roleId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(roleIdPropertyTree!= null):((roleIdPropertyTree == null)||(!roleIdPropertyTree.isLeaf())))) { + _other.roleId = this.roleId; + } + final PropertyTree permissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("permissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(permissionsPropertyTree!= null):((permissionsPropertyTree == null)||(!permissionsPropertyTree.isLeaf())))) { + _other.permissions = this.permissions; + } + } + + public<_B >RolePermissionType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new RolePermissionType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public RolePermissionType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >RolePermissionType.Builder<_B> copyOf(final RolePermissionType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final RolePermissionType.Builder<_B> _newBuilder = new RolePermissionType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static RolePermissionType.Builder copyExcept(final RolePermissionType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static RolePermissionType.Builder copyOnly(final RolePermissionType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final RolePermissionType _storedValue; + private JAXBElement roleId; + private Long permissions; + + public Builder(final _B _parentBuilder, final RolePermissionType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.roleId = _other.roleId; + this.permissions = _other.permissions; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final RolePermissionType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree roleIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("roleId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(roleIdPropertyTree!= null):((roleIdPropertyTree == null)||(!roleIdPropertyTree.isLeaf())))) { + this.roleId = _other.roleId; + } + final PropertyTree permissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("permissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(permissionsPropertyTree!= null):((permissionsPropertyTree == null)||(!permissionsPropertyTree.isLeaf())))) { + this.permissions = _other.permissions; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends RolePermissionType >_P init(final _P _product) { + _product.roleId = this.roleId; + _product.permissions = this.permissions; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "roleId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param roleId + * Neuer Wert der Eigenschaft "roleId". + */ + public RolePermissionType.Builder<_B> withRoleId(final JAXBElement roleId) { + this.roleId = roleId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "permissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param permissions + * Neuer Wert der Eigenschaft "permissions". + */ + public RolePermissionType.Builder<_B> withPermissions(final Long permissions) { + this.permissions = permissions; + return this; + } + + @Override + public RolePermissionType build() { + if (_storedValue == null) { + return this.init(new RolePermissionType()); + } else { + return ((RolePermissionType) _storedValue); + } + } + + public RolePermissionType.Builder<_B> copyOf(final RolePermissionType _other) { + _other.copyTo(this); + return this; + } + + public RolePermissionType.Builder<_B> copyOf(final RolePermissionType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends RolePermissionType.Selector + { + + + Select() { + super(null, null, null); + } + + public static RolePermissionType.Select _root() { + return new RolePermissionType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> roleId = null; + private com.kscs.util.jaxb.Selector> permissions = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.roleId!= null) { + products.put("roleId", this.roleId.init()); + } + if (this.permissions!= null) { + products.put("permissions", this.permissions.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> roleId() { + return ((this.roleId == null)?this.roleId = new com.kscs.util.jaxb.Selector>(this._root, this, "roleId"):this.roleId); + } + + public com.kscs.util.jaxb.Selector> permissions() { + return ((this.permissions == null)?this.permissions = new com.kscs.util.jaxb.Selector>(this._root, this, "permissions"):this.permissions); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SamplingIntervalDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SamplingIntervalDiagnosticsDataType.java new file mode 100644 index 000000000..22310fd21 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SamplingIntervalDiagnosticsDataType.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SamplingIntervalDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SamplingIntervalDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SamplingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="MonitoredItemCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxMonitoredItemCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DisabledMonitoredItemCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SamplingIntervalDiagnosticsDataType", propOrder = { + "samplingInterval", + "monitoredItemCount", + "maxMonitoredItemCount", + "disabledMonitoredItemCount" +}) +public class SamplingIntervalDiagnosticsDataType { + + @XmlElement(name = "SamplingInterval") + protected Double samplingInterval; + @XmlElement(name = "MonitoredItemCount") + @XmlSchemaType(name = "unsignedInt") + protected Long monitoredItemCount; + @XmlElement(name = "MaxMonitoredItemCount") + @XmlSchemaType(name = "unsignedInt") + protected Long maxMonitoredItemCount; + @XmlElement(name = "DisabledMonitoredItemCount") + @XmlSchemaType(name = "unsignedInt") + protected Long disabledMonitoredItemCount; + + /** + * Ruft den Wert der samplingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getSamplingInterval() { + return samplingInterval; + } + + /** + * Legt den Wert der samplingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setSamplingInterval(Double value) { + this.samplingInterval = value; + } + + /** + * Ruft den Wert der monitoredItemCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMonitoredItemCount() { + return monitoredItemCount; + } + + /** + * Legt den Wert der monitoredItemCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMonitoredItemCount(Long value) { + this.monitoredItemCount = value; + } + + /** + * Ruft den Wert der maxMonitoredItemCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxMonitoredItemCount() { + return maxMonitoredItemCount; + } + + /** + * Legt den Wert der maxMonitoredItemCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxMonitoredItemCount(Long value) { + this.maxMonitoredItemCount = value; + } + + /** + * Ruft den Wert der disabledMonitoredItemCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDisabledMonitoredItemCount() { + return disabledMonitoredItemCount; + } + + /** + * Legt den Wert der disabledMonitoredItemCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDisabledMonitoredItemCount(Long value) { + this.disabledMonitoredItemCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SamplingIntervalDiagnosticsDataType.Builder<_B> _other) { + _other.samplingInterval = this.samplingInterval; + _other.monitoredItemCount = this.monitoredItemCount; + _other.maxMonitoredItemCount = this.maxMonitoredItemCount; + _other.disabledMonitoredItemCount = this.disabledMonitoredItemCount; + } + + public<_B >SamplingIntervalDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SamplingIntervalDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public SamplingIntervalDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SamplingIntervalDiagnosticsDataType.Builder builder() { + return new SamplingIntervalDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >SamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final SamplingIntervalDiagnosticsDataType _other) { + final SamplingIntervalDiagnosticsDataType.Builder<_B> _newBuilder = new SamplingIntervalDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SamplingIntervalDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree samplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalPropertyTree!= null):((samplingIntervalPropertyTree == null)||(!samplingIntervalPropertyTree.isLeaf())))) { + _other.samplingInterval = this.samplingInterval; + } + final PropertyTree monitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCountPropertyTree!= null):((monitoredItemCountPropertyTree == null)||(!monitoredItemCountPropertyTree.isLeaf())))) { + _other.monitoredItemCount = this.monitoredItemCount; + } + final PropertyTree maxMonitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxMonitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxMonitoredItemCountPropertyTree!= null):((maxMonitoredItemCountPropertyTree == null)||(!maxMonitoredItemCountPropertyTree.isLeaf())))) { + _other.maxMonitoredItemCount = this.maxMonitoredItemCount; + } + final PropertyTree disabledMonitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("disabledMonitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(disabledMonitoredItemCountPropertyTree!= null):((disabledMonitoredItemCountPropertyTree == null)||(!disabledMonitoredItemCountPropertyTree.isLeaf())))) { + _other.disabledMonitoredItemCount = this.disabledMonitoredItemCount; + } + } + + public<_B >SamplingIntervalDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SamplingIntervalDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SamplingIntervalDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final SamplingIntervalDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SamplingIntervalDiagnosticsDataType.Builder<_B> _newBuilder = new SamplingIntervalDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SamplingIntervalDiagnosticsDataType.Builder copyExcept(final SamplingIntervalDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SamplingIntervalDiagnosticsDataType.Builder copyOnly(final SamplingIntervalDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SamplingIntervalDiagnosticsDataType _storedValue; + private Double samplingInterval; + private Long monitoredItemCount; + private Long maxMonitoredItemCount; + private Long disabledMonitoredItemCount; + + public Builder(final _B _parentBuilder, final SamplingIntervalDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.samplingInterval = _other.samplingInterval; + this.monitoredItemCount = _other.monitoredItemCount; + this.maxMonitoredItemCount = _other.maxMonitoredItemCount; + this.disabledMonitoredItemCount = _other.disabledMonitoredItemCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SamplingIntervalDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree samplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingIntervalPropertyTree!= null):((samplingIntervalPropertyTree == null)||(!samplingIntervalPropertyTree.isLeaf())))) { + this.samplingInterval = _other.samplingInterval; + } + final PropertyTree monitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCountPropertyTree!= null):((monitoredItemCountPropertyTree == null)||(!monitoredItemCountPropertyTree.isLeaf())))) { + this.monitoredItemCount = _other.monitoredItemCount; + } + final PropertyTree maxMonitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxMonitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxMonitoredItemCountPropertyTree!= null):((maxMonitoredItemCountPropertyTree == null)||(!maxMonitoredItemCountPropertyTree.isLeaf())))) { + this.maxMonitoredItemCount = _other.maxMonitoredItemCount; + } + final PropertyTree disabledMonitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("disabledMonitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(disabledMonitoredItemCountPropertyTree!= null):((disabledMonitoredItemCountPropertyTree == null)||(!disabledMonitoredItemCountPropertyTree.isLeaf())))) { + this.disabledMonitoredItemCount = _other.disabledMonitoredItemCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SamplingIntervalDiagnosticsDataType >_P init(final _P _product) { + _product.samplingInterval = this.samplingInterval; + _product.monitoredItemCount = this.monitoredItemCount; + _product.maxMonitoredItemCount = this.maxMonitoredItemCount; + _product.disabledMonitoredItemCount = this.disabledMonitoredItemCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "samplingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param samplingInterval + * Neuer Wert der Eigenschaft "samplingInterval". + */ + public SamplingIntervalDiagnosticsDataType.Builder<_B> withSamplingInterval(final Double samplingInterval) { + this.samplingInterval = samplingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param monitoredItemCount + * Neuer Wert der Eigenschaft "monitoredItemCount". + */ + public SamplingIntervalDiagnosticsDataType.Builder<_B> withMonitoredItemCount(final Long monitoredItemCount) { + this.monitoredItemCount = monitoredItemCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxMonitoredItemCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxMonitoredItemCount + * Neuer Wert der Eigenschaft "maxMonitoredItemCount". + */ + public SamplingIntervalDiagnosticsDataType.Builder<_B> withMaxMonitoredItemCount(final Long maxMonitoredItemCount) { + this.maxMonitoredItemCount = maxMonitoredItemCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "disabledMonitoredItemCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param disabledMonitoredItemCount + * Neuer Wert der Eigenschaft "disabledMonitoredItemCount". + */ + public SamplingIntervalDiagnosticsDataType.Builder<_B> withDisabledMonitoredItemCount(final Long disabledMonitoredItemCount) { + this.disabledMonitoredItemCount = disabledMonitoredItemCount; + return this; + } + + @Override + public SamplingIntervalDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new SamplingIntervalDiagnosticsDataType()); + } else { + return ((SamplingIntervalDiagnosticsDataType) _storedValue); + } + } + + public SamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final SamplingIntervalDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public SamplingIntervalDiagnosticsDataType.Builder<_B> copyOf(final SamplingIntervalDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SamplingIntervalDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SamplingIntervalDiagnosticsDataType.Select _root() { + return new SamplingIntervalDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> samplingInterval = null; + private com.kscs.util.jaxb.Selector> monitoredItemCount = null; + private com.kscs.util.jaxb.Selector> maxMonitoredItemCount = null; + private com.kscs.util.jaxb.Selector> disabledMonitoredItemCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.samplingInterval!= null) { + products.put("samplingInterval", this.samplingInterval.init()); + } + if (this.monitoredItemCount!= null) { + products.put("monitoredItemCount", this.monitoredItemCount.init()); + } + if (this.maxMonitoredItemCount!= null) { + products.put("maxMonitoredItemCount", this.maxMonitoredItemCount.init()); + } + if (this.disabledMonitoredItemCount!= null) { + products.put("disabledMonitoredItemCount", this.disabledMonitoredItemCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> samplingInterval() { + return ((this.samplingInterval == null)?this.samplingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "samplingInterval"):this.samplingInterval); + } + + public com.kscs.util.jaxb.Selector> monitoredItemCount() { + return ((this.monitoredItemCount == null)?this.monitoredItemCount = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItemCount"):this.monitoredItemCount); + } + + public com.kscs.util.jaxb.Selector> maxMonitoredItemCount() { + return ((this.maxMonitoredItemCount == null)?this.maxMonitoredItemCount = new com.kscs.util.jaxb.Selector>(this._root, this, "maxMonitoredItemCount"):this.maxMonitoredItemCount); + } + + public com.kscs.util.jaxb.Selector> disabledMonitoredItemCount() { + return ((this.disabledMonitoredItemCount == null)?this.disabledMonitoredItemCount = new com.kscs.util.jaxb.Selector>(this._root, this, "disabledMonitoredItemCount"):this.disabledMonitoredItemCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SecurityTokenRequestType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SecurityTokenRequestType.java new file mode 100644 index 000000000..445354282 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SecurityTokenRequestType.java @@ -0,0 +1,58 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für SecurityTokenRequestType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="SecurityTokenRequestType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Issue_0"/>
+ *     <enumeration value="Renew_1"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "SecurityTokenRequestType") +@XmlEnum +public enum SecurityTokenRequestType { + + @XmlEnumValue("Issue_0") + ISSUE_0("Issue_0"), + @XmlEnumValue("Renew_1") + RENEW_1("Renew_1"); + private final String value; + + SecurityTokenRequestType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static SecurityTokenRequestType fromValue(String v) { + for (SecurityTokenRequestType c: SecurityTokenRequestType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SemanticChangeStructureDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SemanticChangeStructureDataType.java new file mode 100644 index 000000000..b3feec09a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SemanticChangeStructureDataType.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SemanticChangeStructureDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SemanticChangeStructureDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Affected" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AffectedType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SemanticChangeStructureDataType", propOrder = { + "affected", + "affectedType" +}) +public class SemanticChangeStructureDataType { + + @XmlElementRef(name = "Affected", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement affected; + @XmlElementRef(name = "AffectedType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement affectedType; + + /** + * Ruft den Wert der affected-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAffected() { + return affected; + } + + /** + * Legt den Wert der affected-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAffected(JAXBElement value) { + this.affected = value; + } + + /** + * Ruft den Wert der affectedType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getAffectedType() { + return affectedType; + } + + /** + * Legt den Wert der affectedType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setAffectedType(JAXBElement value) { + this.affectedType = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SemanticChangeStructureDataType.Builder<_B> _other) { + _other.affected = this.affected; + _other.affectedType = this.affectedType; + } + + public<_B >SemanticChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SemanticChangeStructureDataType.Builder<_B>(_parentBuilder, this, true); + } + + public SemanticChangeStructureDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SemanticChangeStructureDataType.Builder builder() { + return new SemanticChangeStructureDataType.Builder(null, null, false); + } + + public static<_B >SemanticChangeStructureDataType.Builder<_B> copyOf(final SemanticChangeStructureDataType _other) { + final SemanticChangeStructureDataType.Builder<_B> _newBuilder = new SemanticChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SemanticChangeStructureDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree affectedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affected")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedPropertyTree!= null):((affectedPropertyTree == null)||(!affectedPropertyTree.isLeaf())))) { + _other.affected = this.affected; + } + final PropertyTree affectedTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affectedType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedTypePropertyTree!= null):((affectedTypePropertyTree == null)||(!affectedTypePropertyTree.isLeaf())))) { + _other.affectedType = this.affectedType; + } + } + + public<_B >SemanticChangeStructureDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SemanticChangeStructureDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SemanticChangeStructureDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SemanticChangeStructureDataType.Builder<_B> copyOf(final SemanticChangeStructureDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SemanticChangeStructureDataType.Builder<_B> _newBuilder = new SemanticChangeStructureDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SemanticChangeStructureDataType.Builder copyExcept(final SemanticChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SemanticChangeStructureDataType.Builder copyOnly(final SemanticChangeStructureDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SemanticChangeStructureDataType _storedValue; + private JAXBElement affected; + private JAXBElement affectedType; + + public Builder(final _B _parentBuilder, final SemanticChangeStructureDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.affected = _other.affected; + this.affectedType = _other.affectedType; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SemanticChangeStructureDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree affectedPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affected")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedPropertyTree!= null):((affectedPropertyTree == null)||(!affectedPropertyTree.isLeaf())))) { + this.affected = _other.affected; + } + final PropertyTree affectedTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("affectedType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(affectedTypePropertyTree!= null):((affectedTypePropertyTree == null)||(!affectedTypePropertyTree.isLeaf())))) { + this.affectedType = _other.affectedType; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SemanticChangeStructureDataType >_P init(final _P _product) { + _product.affected = this.affected; + _product.affectedType = this.affectedType; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "affected" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param affected + * Neuer Wert der Eigenschaft "affected". + */ + public SemanticChangeStructureDataType.Builder<_B> withAffected(final JAXBElement affected) { + this.affected = affected; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "affectedType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param affectedType + * Neuer Wert der Eigenschaft "affectedType". + */ + public SemanticChangeStructureDataType.Builder<_B> withAffectedType(final JAXBElement affectedType) { + this.affectedType = affectedType; + return this; + } + + @Override + public SemanticChangeStructureDataType build() { + if (_storedValue == null) { + return this.init(new SemanticChangeStructureDataType()); + } else { + return ((SemanticChangeStructureDataType) _storedValue); + } + } + + public SemanticChangeStructureDataType.Builder<_B> copyOf(final SemanticChangeStructureDataType _other) { + _other.copyTo(this); + return this; + } + + public SemanticChangeStructureDataType.Builder<_B> copyOf(final SemanticChangeStructureDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SemanticChangeStructureDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SemanticChangeStructureDataType.Select _root() { + return new SemanticChangeStructureDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> affected = null; + private com.kscs.util.jaxb.Selector> affectedType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.affected!= null) { + products.put("affected", this.affected.init()); + } + if (this.affectedType!= null) { + products.put("affectedType", this.affectedType.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> affected() { + return ((this.affected == null)?this.affected = new com.kscs.util.jaxb.Selector>(this._root, this, "affected"):this.affected); + } + + public com.kscs.util.jaxb.Selector> affectedType() { + return ((this.affectedType == null)?this.affectedType = new com.kscs.util.jaxb.Selector>(this._root, this, "affectedType"):this.affectedType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerDiagnosticsSummaryDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerDiagnosticsSummaryDataType.java new file mode 100644 index 000000000..217d61555 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerDiagnosticsSummaryDataType.java @@ -0,0 +1,932 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ServerDiagnosticsSummaryDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ServerDiagnosticsSummaryDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ServerViewCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CurrentSessionCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CumulatedSessionCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SecurityRejectedSessionCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RejectedSessionCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SessionTimeoutCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SessionAbortCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CurrentSubscriptionCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CumulatedSubscriptionCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="PublishingIntervalCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SecurityRejectedRequestsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RejectedRequestsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ServerDiagnosticsSummaryDataType", propOrder = { + "serverViewCount", + "currentSessionCount", + "cumulatedSessionCount", + "securityRejectedSessionCount", + "rejectedSessionCount", + "sessionTimeoutCount", + "sessionAbortCount", + "currentSubscriptionCount", + "cumulatedSubscriptionCount", + "publishingIntervalCount", + "securityRejectedRequestsCount", + "rejectedRequestsCount" +}) +public class ServerDiagnosticsSummaryDataType { + + @XmlElement(name = "ServerViewCount") + @XmlSchemaType(name = "unsignedInt") + protected Long serverViewCount; + @XmlElement(name = "CurrentSessionCount") + @XmlSchemaType(name = "unsignedInt") + protected Long currentSessionCount; + @XmlElement(name = "CumulatedSessionCount") + @XmlSchemaType(name = "unsignedInt") + protected Long cumulatedSessionCount; + @XmlElement(name = "SecurityRejectedSessionCount") + @XmlSchemaType(name = "unsignedInt") + protected Long securityRejectedSessionCount; + @XmlElement(name = "RejectedSessionCount") + @XmlSchemaType(name = "unsignedInt") + protected Long rejectedSessionCount; + @XmlElement(name = "SessionTimeoutCount") + @XmlSchemaType(name = "unsignedInt") + protected Long sessionTimeoutCount; + @XmlElement(name = "SessionAbortCount") + @XmlSchemaType(name = "unsignedInt") + protected Long sessionAbortCount; + @XmlElement(name = "CurrentSubscriptionCount") + @XmlSchemaType(name = "unsignedInt") + protected Long currentSubscriptionCount; + @XmlElement(name = "CumulatedSubscriptionCount") + @XmlSchemaType(name = "unsignedInt") + protected Long cumulatedSubscriptionCount; + @XmlElement(name = "PublishingIntervalCount") + @XmlSchemaType(name = "unsignedInt") + protected Long publishingIntervalCount; + @XmlElement(name = "SecurityRejectedRequestsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long securityRejectedRequestsCount; + @XmlElement(name = "RejectedRequestsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long rejectedRequestsCount; + + /** + * Ruft den Wert der serverViewCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getServerViewCount() { + return serverViewCount; + } + + /** + * Legt den Wert der serverViewCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setServerViewCount(Long value) { + this.serverViewCount = value; + } + + /** + * Ruft den Wert der currentSessionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentSessionCount() { + return currentSessionCount; + } + + /** + * Legt den Wert der currentSessionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentSessionCount(Long value) { + this.currentSessionCount = value; + } + + /** + * Ruft den Wert der cumulatedSessionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCumulatedSessionCount() { + return cumulatedSessionCount; + } + + /** + * Legt den Wert der cumulatedSessionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCumulatedSessionCount(Long value) { + this.cumulatedSessionCount = value; + } + + /** + * Ruft den Wert der securityRejectedSessionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSecurityRejectedSessionCount() { + return securityRejectedSessionCount; + } + + /** + * Legt den Wert der securityRejectedSessionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSecurityRejectedSessionCount(Long value) { + this.securityRejectedSessionCount = value; + } + + /** + * Ruft den Wert der rejectedSessionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRejectedSessionCount() { + return rejectedSessionCount; + } + + /** + * Legt den Wert der rejectedSessionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRejectedSessionCount(Long value) { + this.rejectedSessionCount = value; + } + + /** + * Ruft den Wert der sessionTimeoutCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSessionTimeoutCount() { + return sessionTimeoutCount; + } + + /** + * Legt den Wert der sessionTimeoutCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSessionTimeoutCount(Long value) { + this.sessionTimeoutCount = value; + } + + /** + * Ruft den Wert der sessionAbortCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSessionAbortCount() { + return sessionAbortCount; + } + + /** + * Legt den Wert der sessionAbortCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSessionAbortCount(Long value) { + this.sessionAbortCount = value; + } + + /** + * Ruft den Wert der currentSubscriptionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentSubscriptionCount() { + return currentSubscriptionCount; + } + + /** + * Legt den Wert der currentSubscriptionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentSubscriptionCount(Long value) { + this.currentSubscriptionCount = value; + } + + /** + * Ruft den Wert der cumulatedSubscriptionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCumulatedSubscriptionCount() { + return cumulatedSubscriptionCount; + } + + /** + * Legt den Wert der cumulatedSubscriptionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCumulatedSubscriptionCount(Long value) { + this.cumulatedSubscriptionCount = value; + } + + /** + * Ruft den Wert der publishingIntervalCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getPublishingIntervalCount() { + return publishingIntervalCount; + } + + /** + * Legt den Wert der publishingIntervalCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setPublishingIntervalCount(Long value) { + this.publishingIntervalCount = value; + } + + /** + * Ruft den Wert der securityRejectedRequestsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSecurityRejectedRequestsCount() { + return securityRejectedRequestsCount; + } + + /** + * Legt den Wert der securityRejectedRequestsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSecurityRejectedRequestsCount(Long value) { + this.securityRejectedRequestsCount = value; + } + + /** + * Ruft den Wert der rejectedRequestsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRejectedRequestsCount() { + return rejectedRequestsCount; + } + + /** + * Legt den Wert der rejectedRequestsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRejectedRequestsCount(Long value) { + this.rejectedRequestsCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServerDiagnosticsSummaryDataType.Builder<_B> _other) { + _other.serverViewCount = this.serverViewCount; + _other.currentSessionCount = this.currentSessionCount; + _other.cumulatedSessionCount = this.cumulatedSessionCount; + _other.securityRejectedSessionCount = this.securityRejectedSessionCount; + _other.rejectedSessionCount = this.rejectedSessionCount; + _other.sessionTimeoutCount = this.sessionTimeoutCount; + _other.sessionAbortCount = this.sessionAbortCount; + _other.currentSubscriptionCount = this.currentSubscriptionCount; + _other.cumulatedSubscriptionCount = this.cumulatedSubscriptionCount; + _other.publishingIntervalCount = this.publishingIntervalCount; + _other.securityRejectedRequestsCount = this.securityRejectedRequestsCount; + _other.rejectedRequestsCount = this.rejectedRequestsCount; + } + + public<_B >ServerDiagnosticsSummaryDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ServerDiagnosticsSummaryDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ServerDiagnosticsSummaryDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ServerDiagnosticsSummaryDataType.Builder builder() { + return new ServerDiagnosticsSummaryDataType.Builder(null, null, false); + } + + public static<_B >ServerDiagnosticsSummaryDataType.Builder<_B> copyOf(final ServerDiagnosticsSummaryDataType _other) { + final ServerDiagnosticsSummaryDataType.Builder<_B> _newBuilder = new ServerDiagnosticsSummaryDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServerDiagnosticsSummaryDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree serverViewCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverViewCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverViewCountPropertyTree!= null):((serverViewCountPropertyTree == null)||(!serverViewCountPropertyTree.isLeaf())))) { + _other.serverViewCount = this.serverViewCount; + } + final PropertyTree currentSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentSessionCountPropertyTree!= null):((currentSessionCountPropertyTree == null)||(!currentSessionCountPropertyTree.isLeaf())))) { + _other.currentSessionCount = this.currentSessionCount; + } + final PropertyTree cumulatedSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cumulatedSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cumulatedSessionCountPropertyTree!= null):((cumulatedSessionCountPropertyTree == null)||(!cumulatedSessionCountPropertyTree.isLeaf())))) { + _other.cumulatedSessionCount = this.cumulatedSessionCount; + } + final PropertyTree securityRejectedSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityRejectedSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityRejectedSessionCountPropertyTree!= null):((securityRejectedSessionCountPropertyTree == null)||(!securityRejectedSessionCountPropertyTree.isLeaf())))) { + _other.securityRejectedSessionCount = this.securityRejectedSessionCount; + } + final PropertyTree rejectedSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rejectedSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rejectedSessionCountPropertyTree!= null):((rejectedSessionCountPropertyTree == null)||(!rejectedSessionCountPropertyTree.isLeaf())))) { + _other.rejectedSessionCount = this.rejectedSessionCount; + } + final PropertyTree sessionTimeoutCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionTimeoutCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionTimeoutCountPropertyTree!= null):((sessionTimeoutCountPropertyTree == null)||(!sessionTimeoutCountPropertyTree.isLeaf())))) { + _other.sessionTimeoutCount = this.sessionTimeoutCount; + } + final PropertyTree sessionAbortCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionAbortCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionAbortCountPropertyTree!= null):((sessionAbortCountPropertyTree == null)||(!sessionAbortCountPropertyTree.isLeaf())))) { + _other.sessionAbortCount = this.sessionAbortCount; + } + final PropertyTree currentSubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentSubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentSubscriptionCountPropertyTree!= null):((currentSubscriptionCountPropertyTree == null)||(!currentSubscriptionCountPropertyTree.isLeaf())))) { + _other.currentSubscriptionCount = this.currentSubscriptionCount; + } + final PropertyTree cumulatedSubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cumulatedSubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cumulatedSubscriptionCountPropertyTree!= null):((cumulatedSubscriptionCountPropertyTree == null)||(!cumulatedSubscriptionCountPropertyTree.isLeaf())))) { + _other.cumulatedSubscriptionCount = this.cumulatedSubscriptionCount; + } + final PropertyTree publishingIntervalCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingIntervalCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalCountPropertyTree!= null):((publishingIntervalCountPropertyTree == null)||(!publishingIntervalCountPropertyTree.isLeaf())))) { + _other.publishingIntervalCount = this.publishingIntervalCount; + } + final PropertyTree securityRejectedRequestsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityRejectedRequestsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityRejectedRequestsCountPropertyTree!= null):((securityRejectedRequestsCountPropertyTree == null)||(!securityRejectedRequestsCountPropertyTree.isLeaf())))) { + _other.securityRejectedRequestsCount = this.securityRejectedRequestsCount; + } + final PropertyTree rejectedRequestsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rejectedRequestsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rejectedRequestsCountPropertyTree!= null):((rejectedRequestsCountPropertyTree == null)||(!rejectedRequestsCountPropertyTree.isLeaf())))) { + _other.rejectedRequestsCount = this.rejectedRequestsCount; + } + } + + public<_B >ServerDiagnosticsSummaryDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ServerDiagnosticsSummaryDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ServerDiagnosticsSummaryDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ServerDiagnosticsSummaryDataType.Builder<_B> copyOf(final ServerDiagnosticsSummaryDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ServerDiagnosticsSummaryDataType.Builder<_B> _newBuilder = new ServerDiagnosticsSummaryDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ServerDiagnosticsSummaryDataType.Builder copyExcept(final ServerDiagnosticsSummaryDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ServerDiagnosticsSummaryDataType.Builder copyOnly(final ServerDiagnosticsSummaryDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ServerDiagnosticsSummaryDataType _storedValue; + private Long serverViewCount; + private Long currentSessionCount; + private Long cumulatedSessionCount; + private Long securityRejectedSessionCount; + private Long rejectedSessionCount; + private Long sessionTimeoutCount; + private Long sessionAbortCount; + private Long currentSubscriptionCount; + private Long cumulatedSubscriptionCount; + private Long publishingIntervalCount; + private Long securityRejectedRequestsCount; + private Long rejectedRequestsCount; + + public Builder(final _B _parentBuilder, final ServerDiagnosticsSummaryDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.serverViewCount = _other.serverViewCount; + this.currentSessionCount = _other.currentSessionCount; + this.cumulatedSessionCount = _other.cumulatedSessionCount; + this.securityRejectedSessionCount = _other.securityRejectedSessionCount; + this.rejectedSessionCount = _other.rejectedSessionCount; + this.sessionTimeoutCount = _other.sessionTimeoutCount; + this.sessionAbortCount = _other.sessionAbortCount; + this.currentSubscriptionCount = _other.currentSubscriptionCount; + this.cumulatedSubscriptionCount = _other.cumulatedSubscriptionCount; + this.publishingIntervalCount = _other.publishingIntervalCount; + this.securityRejectedRequestsCount = _other.securityRejectedRequestsCount; + this.rejectedRequestsCount = _other.rejectedRequestsCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ServerDiagnosticsSummaryDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree serverViewCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverViewCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverViewCountPropertyTree!= null):((serverViewCountPropertyTree == null)||(!serverViewCountPropertyTree.isLeaf())))) { + this.serverViewCount = _other.serverViewCount; + } + final PropertyTree currentSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentSessionCountPropertyTree!= null):((currentSessionCountPropertyTree == null)||(!currentSessionCountPropertyTree.isLeaf())))) { + this.currentSessionCount = _other.currentSessionCount; + } + final PropertyTree cumulatedSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cumulatedSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cumulatedSessionCountPropertyTree!= null):((cumulatedSessionCountPropertyTree == null)||(!cumulatedSessionCountPropertyTree.isLeaf())))) { + this.cumulatedSessionCount = _other.cumulatedSessionCount; + } + final PropertyTree securityRejectedSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityRejectedSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityRejectedSessionCountPropertyTree!= null):((securityRejectedSessionCountPropertyTree == null)||(!securityRejectedSessionCountPropertyTree.isLeaf())))) { + this.securityRejectedSessionCount = _other.securityRejectedSessionCount; + } + final PropertyTree rejectedSessionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rejectedSessionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rejectedSessionCountPropertyTree!= null):((rejectedSessionCountPropertyTree == null)||(!rejectedSessionCountPropertyTree.isLeaf())))) { + this.rejectedSessionCount = _other.rejectedSessionCount; + } + final PropertyTree sessionTimeoutCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionTimeoutCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionTimeoutCountPropertyTree!= null):((sessionTimeoutCountPropertyTree == null)||(!sessionTimeoutCountPropertyTree.isLeaf())))) { + this.sessionTimeoutCount = _other.sessionTimeoutCount; + } + final PropertyTree sessionAbortCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionAbortCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionAbortCountPropertyTree!= null):((sessionAbortCountPropertyTree == null)||(!sessionAbortCountPropertyTree.isLeaf())))) { + this.sessionAbortCount = _other.sessionAbortCount; + } + final PropertyTree currentSubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentSubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentSubscriptionCountPropertyTree!= null):((currentSubscriptionCountPropertyTree == null)||(!currentSubscriptionCountPropertyTree.isLeaf())))) { + this.currentSubscriptionCount = _other.currentSubscriptionCount; + } + final PropertyTree cumulatedSubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cumulatedSubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cumulatedSubscriptionCountPropertyTree!= null):((cumulatedSubscriptionCountPropertyTree == null)||(!cumulatedSubscriptionCountPropertyTree.isLeaf())))) { + this.cumulatedSubscriptionCount = _other.cumulatedSubscriptionCount; + } + final PropertyTree publishingIntervalCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingIntervalCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalCountPropertyTree!= null):((publishingIntervalCountPropertyTree == null)||(!publishingIntervalCountPropertyTree.isLeaf())))) { + this.publishingIntervalCount = _other.publishingIntervalCount; + } + final PropertyTree securityRejectedRequestsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityRejectedRequestsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityRejectedRequestsCountPropertyTree!= null):((securityRejectedRequestsCountPropertyTree == null)||(!securityRejectedRequestsCountPropertyTree.isLeaf())))) { + this.securityRejectedRequestsCount = _other.securityRejectedRequestsCount; + } + final PropertyTree rejectedRequestsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rejectedRequestsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rejectedRequestsCountPropertyTree!= null):((rejectedRequestsCountPropertyTree == null)||(!rejectedRequestsCountPropertyTree.isLeaf())))) { + this.rejectedRequestsCount = _other.rejectedRequestsCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ServerDiagnosticsSummaryDataType >_P init(final _P _product) { + _product.serverViewCount = this.serverViewCount; + _product.currentSessionCount = this.currentSessionCount; + _product.cumulatedSessionCount = this.cumulatedSessionCount; + _product.securityRejectedSessionCount = this.securityRejectedSessionCount; + _product.rejectedSessionCount = this.rejectedSessionCount; + _product.sessionTimeoutCount = this.sessionTimeoutCount; + _product.sessionAbortCount = this.sessionAbortCount; + _product.currentSubscriptionCount = this.currentSubscriptionCount; + _product.cumulatedSubscriptionCount = this.cumulatedSubscriptionCount; + _product.publishingIntervalCount = this.publishingIntervalCount; + _product.securityRejectedRequestsCount = this.securityRejectedRequestsCount; + _product.rejectedRequestsCount = this.rejectedRequestsCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverViewCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param serverViewCount + * Neuer Wert der Eigenschaft "serverViewCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withServerViewCount(final Long serverViewCount) { + this.serverViewCount = serverViewCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentSessionCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param currentSessionCount + * Neuer Wert der Eigenschaft "currentSessionCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withCurrentSessionCount(final Long currentSessionCount) { + this.currentSessionCount = currentSessionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "cumulatedSessionCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param cumulatedSessionCount + * Neuer Wert der Eigenschaft "cumulatedSessionCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withCumulatedSessionCount(final Long cumulatedSessionCount) { + this.cumulatedSessionCount = cumulatedSessionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityRejectedSessionCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param securityRejectedSessionCount + * Neuer Wert der Eigenschaft "securityRejectedSessionCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withSecurityRejectedSessionCount(final Long securityRejectedSessionCount) { + this.securityRejectedSessionCount = securityRejectedSessionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rejectedSessionCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param rejectedSessionCount + * Neuer Wert der Eigenschaft "rejectedSessionCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withRejectedSessionCount(final Long rejectedSessionCount) { + this.rejectedSessionCount = rejectedSessionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionTimeoutCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param sessionTimeoutCount + * Neuer Wert der Eigenschaft "sessionTimeoutCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withSessionTimeoutCount(final Long sessionTimeoutCount) { + this.sessionTimeoutCount = sessionTimeoutCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionAbortCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param sessionAbortCount + * Neuer Wert der Eigenschaft "sessionAbortCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withSessionAbortCount(final Long sessionAbortCount) { + this.sessionAbortCount = sessionAbortCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentSubscriptionCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param currentSubscriptionCount + * Neuer Wert der Eigenschaft "currentSubscriptionCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withCurrentSubscriptionCount(final Long currentSubscriptionCount) { + this.currentSubscriptionCount = currentSubscriptionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "cumulatedSubscriptionCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param cumulatedSubscriptionCount + * Neuer Wert der Eigenschaft "cumulatedSubscriptionCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withCumulatedSubscriptionCount(final Long cumulatedSubscriptionCount) { + this.cumulatedSubscriptionCount = cumulatedSubscriptionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingIntervalCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param publishingIntervalCount + * Neuer Wert der Eigenschaft "publishingIntervalCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withPublishingIntervalCount(final Long publishingIntervalCount) { + this.publishingIntervalCount = publishingIntervalCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityRejectedRequestsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param securityRejectedRequestsCount + * Neuer Wert der Eigenschaft "securityRejectedRequestsCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withSecurityRejectedRequestsCount(final Long securityRejectedRequestsCount) { + this.securityRejectedRequestsCount = securityRejectedRequestsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rejectedRequestsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param rejectedRequestsCount + * Neuer Wert der Eigenschaft "rejectedRequestsCount". + */ + public ServerDiagnosticsSummaryDataType.Builder<_B> withRejectedRequestsCount(final Long rejectedRequestsCount) { + this.rejectedRequestsCount = rejectedRequestsCount; + return this; + } + + @Override + public ServerDiagnosticsSummaryDataType build() { + if (_storedValue == null) { + return this.init(new ServerDiagnosticsSummaryDataType()); + } else { + return ((ServerDiagnosticsSummaryDataType) _storedValue); + } + } + + public ServerDiagnosticsSummaryDataType.Builder<_B> copyOf(final ServerDiagnosticsSummaryDataType _other) { + _other.copyTo(this); + return this; + } + + public ServerDiagnosticsSummaryDataType.Builder<_B> copyOf(final ServerDiagnosticsSummaryDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ServerDiagnosticsSummaryDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ServerDiagnosticsSummaryDataType.Select _root() { + return new ServerDiagnosticsSummaryDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> serverViewCount = null; + private com.kscs.util.jaxb.Selector> currentSessionCount = null; + private com.kscs.util.jaxb.Selector> cumulatedSessionCount = null; + private com.kscs.util.jaxb.Selector> securityRejectedSessionCount = null; + private com.kscs.util.jaxb.Selector> rejectedSessionCount = null; + private com.kscs.util.jaxb.Selector> sessionTimeoutCount = null; + private com.kscs.util.jaxb.Selector> sessionAbortCount = null; + private com.kscs.util.jaxb.Selector> currentSubscriptionCount = null; + private com.kscs.util.jaxb.Selector> cumulatedSubscriptionCount = null; + private com.kscs.util.jaxb.Selector> publishingIntervalCount = null; + private com.kscs.util.jaxb.Selector> securityRejectedRequestsCount = null; + private com.kscs.util.jaxb.Selector> rejectedRequestsCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.serverViewCount!= null) { + products.put("serverViewCount", this.serverViewCount.init()); + } + if (this.currentSessionCount!= null) { + products.put("currentSessionCount", this.currentSessionCount.init()); + } + if (this.cumulatedSessionCount!= null) { + products.put("cumulatedSessionCount", this.cumulatedSessionCount.init()); + } + if (this.securityRejectedSessionCount!= null) { + products.put("securityRejectedSessionCount", this.securityRejectedSessionCount.init()); + } + if (this.rejectedSessionCount!= null) { + products.put("rejectedSessionCount", this.rejectedSessionCount.init()); + } + if (this.sessionTimeoutCount!= null) { + products.put("sessionTimeoutCount", this.sessionTimeoutCount.init()); + } + if (this.sessionAbortCount!= null) { + products.put("sessionAbortCount", this.sessionAbortCount.init()); + } + if (this.currentSubscriptionCount!= null) { + products.put("currentSubscriptionCount", this.currentSubscriptionCount.init()); + } + if (this.cumulatedSubscriptionCount!= null) { + products.put("cumulatedSubscriptionCount", this.cumulatedSubscriptionCount.init()); + } + if (this.publishingIntervalCount!= null) { + products.put("publishingIntervalCount", this.publishingIntervalCount.init()); + } + if (this.securityRejectedRequestsCount!= null) { + products.put("securityRejectedRequestsCount", this.securityRejectedRequestsCount.init()); + } + if (this.rejectedRequestsCount!= null) { + products.put("rejectedRequestsCount", this.rejectedRequestsCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> serverViewCount() { + return ((this.serverViewCount == null)?this.serverViewCount = new com.kscs.util.jaxb.Selector>(this._root, this, "serverViewCount"):this.serverViewCount); + } + + public com.kscs.util.jaxb.Selector> currentSessionCount() { + return ((this.currentSessionCount == null)?this.currentSessionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "currentSessionCount"):this.currentSessionCount); + } + + public com.kscs.util.jaxb.Selector> cumulatedSessionCount() { + return ((this.cumulatedSessionCount == null)?this.cumulatedSessionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "cumulatedSessionCount"):this.cumulatedSessionCount); + } + + public com.kscs.util.jaxb.Selector> securityRejectedSessionCount() { + return ((this.securityRejectedSessionCount == null)?this.securityRejectedSessionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "securityRejectedSessionCount"):this.securityRejectedSessionCount); + } + + public com.kscs.util.jaxb.Selector> rejectedSessionCount() { + return ((this.rejectedSessionCount == null)?this.rejectedSessionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "rejectedSessionCount"):this.rejectedSessionCount); + } + + public com.kscs.util.jaxb.Selector> sessionTimeoutCount() { + return ((this.sessionTimeoutCount == null)?this.sessionTimeoutCount = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionTimeoutCount"):this.sessionTimeoutCount); + } + + public com.kscs.util.jaxb.Selector> sessionAbortCount() { + return ((this.sessionAbortCount == null)?this.sessionAbortCount = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionAbortCount"):this.sessionAbortCount); + } + + public com.kscs.util.jaxb.Selector> currentSubscriptionCount() { + return ((this.currentSubscriptionCount == null)?this.currentSubscriptionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "currentSubscriptionCount"):this.currentSubscriptionCount); + } + + public com.kscs.util.jaxb.Selector> cumulatedSubscriptionCount() { + return ((this.cumulatedSubscriptionCount == null)?this.cumulatedSubscriptionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "cumulatedSubscriptionCount"):this.cumulatedSubscriptionCount); + } + + public com.kscs.util.jaxb.Selector> publishingIntervalCount() { + return ((this.publishingIntervalCount == null)?this.publishingIntervalCount = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingIntervalCount"):this.publishingIntervalCount); + } + + public com.kscs.util.jaxb.Selector> securityRejectedRequestsCount() { + return ((this.securityRejectedRequestsCount == null)?this.securityRejectedRequestsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "securityRejectedRequestsCount"):this.securityRejectedRequestsCount); + } + + public com.kscs.util.jaxb.Selector> rejectedRequestsCount() { + return ((this.rejectedRequestsCount == null)?this.rejectedRequestsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "rejectedRequestsCount"):this.rejectedRequestsCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerOnNetwork.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerOnNetwork.java new file mode 100644 index 000000000..eb533ea1c --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerOnNetwork.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ServerOnNetwork complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ServerOnNetwork">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RecordId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ServerName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="DiscoveryUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ServerCapabilities" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ServerOnNetwork", propOrder = { + "recordId", + "serverName", + "discoveryUrl", + "serverCapabilities" +}) +public class ServerOnNetwork { + + @XmlElement(name = "RecordId") + @XmlSchemaType(name = "unsignedInt") + protected Long recordId; + @XmlElementRef(name = "ServerName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverName; + @XmlElementRef(name = "DiscoveryUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement discoveryUrl; + @XmlElementRef(name = "ServerCapabilities", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverCapabilities; + + /** + * Ruft den Wert der recordId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRecordId() { + return recordId; + } + + /** + * Legt den Wert der recordId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRecordId(Long value) { + this.recordId = value; + } + + /** + * Ruft den Wert der serverName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getServerName() { + return serverName; + } + + /** + * Legt den Wert der serverName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setServerName(JAXBElement value) { + this.serverName = value; + } + + /** + * Ruft den Wert der discoveryUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getDiscoveryUrl() { + return discoveryUrl; + } + + /** + * Legt den Wert der discoveryUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setDiscoveryUrl(JAXBElement value) { + this.discoveryUrl = value; + } + + /** + * Ruft den Wert der serverCapabilities-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getServerCapabilities() { + return serverCapabilities; + } + + /** + * Legt den Wert der serverCapabilities-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setServerCapabilities(JAXBElement value) { + this.serverCapabilities = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServerOnNetwork.Builder<_B> _other) { + _other.recordId = this.recordId; + _other.serverName = this.serverName; + _other.discoveryUrl = this.discoveryUrl; + _other.serverCapabilities = this.serverCapabilities; + } + + public<_B >ServerOnNetwork.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ServerOnNetwork.Builder<_B>(_parentBuilder, this, true); + } + + public ServerOnNetwork.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ServerOnNetwork.Builder builder() { + return new ServerOnNetwork.Builder(null, null, false); + } + + public static<_B >ServerOnNetwork.Builder<_B> copyOf(final ServerOnNetwork _other) { + final ServerOnNetwork.Builder<_B> _newBuilder = new ServerOnNetwork.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServerOnNetwork.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree recordIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("recordId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(recordIdPropertyTree!= null):((recordIdPropertyTree == null)||(!recordIdPropertyTree.isLeaf())))) { + _other.recordId = this.recordId; + } + final PropertyTree serverNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNamePropertyTree!= null):((serverNamePropertyTree == null)||(!serverNamePropertyTree.isLeaf())))) { + _other.serverName = this.serverName; + } + final PropertyTree discoveryUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryUrlPropertyTree!= null):((discoveryUrlPropertyTree == null)||(!discoveryUrlPropertyTree.isLeaf())))) { + _other.discoveryUrl = this.discoveryUrl; + } + final PropertyTree serverCapabilitiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCapabilities")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCapabilitiesPropertyTree!= null):((serverCapabilitiesPropertyTree == null)||(!serverCapabilitiesPropertyTree.isLeaf())))) { + _other.serverCapabilities = this.serverCapabilities; + } + } + + public<_B >ServerOnNetwork.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ServerOnNetwork.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ServerOnNetwork.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ServerOnNetwork.Builder<_B> copyOf(final ServerOnNetwork _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ServerOnNetwork.Builder<_B> _newBuilder = new ServerOnNetwork.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ServerOnNetwork.Builder copyExcept(final ServerOnNetwork _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ServerOnNetwork.Builder copyOnly(final ServerOnNetwork _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ServerOnNetwork _storedValue; + private Long recordId; + private JAXBElement serverName; + private JAXBElement discoveryUrl; + private JAXBElement serverCapabilities; + + public Builder(final _B _parentBuilder, final ServerOnNetwork _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.recordId = _other.recordId; + this.serverName = _other.serverName; + this.discoveryUrl = _other.discoveryUrl; + this.serverCapabilities = _other.serverCapabilities; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ServerOnNetwork _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree recordIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("recordId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(recordIdPropertyTree!= null):((recordIdPropertyTree == null)||(!recordIdPropertyTree.isLeaf())))) { + this.recordId = _other.recordId; + } + final PropertyTree serverNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverNamePropertyTree!= null):((serverNamePropertyTree == null)||(!serverNamePropertyTree.isLeaf())))) { + this.serverName = _other.serverName; + } + final PropertyTree discoveryUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discoveryUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discoveryUrlPropertyTree!= null):((discoveryUrlPropertyTree == null)||(!discoveryUrlPropertyTree.isLeaf())))) { + this.discoveryUrl = _other.discoveryUrl; + } + final PropertyTree serverCapabilitiesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverCapabilities")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverCapabilitiesPropertyTree!= null):((serverCapabilitiesPropertyTree == null)||(!serverCapabilitiesPropertyTree.isLeaf())))) { + this.serverCapabilities = _other.serverCapabilities; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ServerOnNetwork >_P init(final _P _product) { + _product.recordId = this.recordId; + _product.serverName = this.serverName; + _product.discoveryUrl = this.discoveryUrl; + _product.serverCapabilities = this.serverCapabilities; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "recordId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param recordId + * Neuer Wert der Eigenschaft "recordId". + */ + public ServerOnNetwork.Builder<_B> withRecordId(final Long recordId) { + this.recordId = recordId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverName + * Neuer Wert der Eigenschaft "serverName". + */ + public ServerOnNetwork.Builder<_B> withServerName(final JAXBElement serverName) { + this.serverName = serverName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discoveryUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param discoveryUrl + * Neuer Wert der Eigenschaft "discoveryUrl". + */ + public ServerOnNetwork.Builder<_B> withDiscoveryUrl(final JAXBElement discoveryUrl) { + this.discoveryUrl = discoveryUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverCapabilities" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param serverCapabilities + * Neuer Wert der Eigenschaft "serverCapabilities". + */ + public ServerOnNetwork.Builder<_B> withServerCapabilities(final JAXBElement serverCapabilities) { + this.serverCapabilities = serverCapabilities; + return this; + } + + @Override + public ServerOnNetwork build() { + if (_storedValue == null) { + return this.init(new ServerOnNetwork()); + } else { + return ((ServerOnNetwork) _storedValue); + } + } + + public ServerOnNetwork.Builder<_B> copyOf(final ServerOnNetwork _other) { + _other.copyTo(this); + return this; + } + + public ServerOnNetwork.Builder<_B> copyOf(final ServerOnNetwork.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ServerOnNetwork.Selector + { + + + Select() { + super(null, null, null); + } + + public static ServerOnNetwork.Select _root() { + return new ServerOnNetwork.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> recordId = null; + private com.kscs.util.jaxb.Selector> serverName = null; + private com.kscs.util.jaxb.Selector> discoveryUrl = null; + private com.kscs.util.jaxb.Selector> serverCapabilities = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.recordId!= null) { + products.put("recordId", this.recordId.init()); + } + if (this.serverName!= null) { + products.put("serverName", this.serverName.init()); + } + if (this.discoveryUrl!= null) { + products.put("discoveryUrl", this.discoveryUrl.init()); + } + if (this.serverCapabilities!= null) { + products.put("serverCapabilities", this.serverCapabilities.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> recordId() { + return ((this.recordId == null)?this.recordId = new com.kscs.util.jaxb.Selector>(this._root, this, "recordId"):this.recordId); + } + + public com.kscs.util.jaxb.Selector> serverName() { + return ((this.serverName == null)?this.serverName = new com.kscs.util.jaxb.Selector>(this._root, this, "serverName"):this.serverName); + } + + public com.kscs.util.jaxb.Selector> discoveryUrl() { + return ((this.discoveryUrl == null)?this.discoveryUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "discoveryUrl"):this.discoveryUrl); + } + + public com.kscs.util.jaxb.Selector> serverCapabilities() { + return ((this.serverCapabilities == null)?this.serverCapabilities = new com.kscs.util.jaxb.Selector>(this._root, this, "serverCapabilities"):this.serverCapabilities); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerState.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerState.java new file mode 100644 index 000000000..9f0e5fb39 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerState.java @@ -0,0 +1,76 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für ServerState. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="ServerState">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Running_0"/>
+ *     <enumeration value="Failed_1"/>
+ *     <enumeration value="NoConfiguration_2"/>
+ *     <enumeration value="Suspended_3"/>
+ *     <enumeration value="Shutdown_4"/>
+ *     <enumeration value="Test_5"/>
+ *     <enumeration value="CommunicationFault_6"/>
+ *     <enumeration value="Unknown_7"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "ServerState") +@XmlEnum +public enum ServerState { + + @XmlEnumValue("Running_0") + RUNNING_0("Running_0"), + @XmlEnumValue("Failed_1") + FAILED_1("Failed_1"), + @XmlEnumValue("NoConfiguration_2") + NO_CONFIGURATION_2("NoConfiguration_2"), + @XmlEnumValue("Suspended_3") + SUSPENDED_3("Suspended_3"), + @XmlEnumValue("Shutdown_4") + SHUTDOWN_4("Shutdown_4"), + @XmlEnumValue("Test_5") + TEST_5("Test_5"), + @XmlEnumValue("CommunicationFault_6") + COMMUNICATION_FAULT_6("CommunicationFault_6"), + @XmlEnumValue("Unknown_7") + UNKNOWN_7("Unknown_7"); + private final String value; + + ServerState(String v) { + value = v; + } + + public String value() { + return value; + } + + public static ServerState fromValue(String v) { + for (ServerState c: ServerState.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerStatusDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerStatusDataType.java new file mode 100644 index 000000000..da4d4794f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServerStatusDataType.java @@ -0,0 +1,567 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ServerStatusDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ServerStatusDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StartTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="CurrentTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="State" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServerState" minOccurs="0"/>
+ *         <element name="BuildInfo" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}BuildInfo" minOccurs="0"/>
+ *         <element name="SecondsTillShutdown" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ShutdownReason" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ServerStatusDataType", propOrder = { + "startTime", + "currentTime", + "state", + "buildInfo", + "secondsTillShutdown", + "shutdownReason" +}) +public class ServerStatusDataType { + + @XmlElement(name = "StartTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar startTime; + @XmlElement(name = "CurrentTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar currentTime; + @XmlElement(name = "State") + @XmlSchemaType(name = "string") + protected ServerState state; + @XmlElementRef(name = "BuildInfo", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement buildInfo; + @XmlElement(name = "SecondsTillShutdown") + @XmlSchemaType(name = "unsignedInt") + protected Long secondsTillShutdown; + @XmlElementRef(name = "ShutdownReason", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement shutdownReason; + + /** + * Ruft den Wert der startTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getStartTime() { + return startTime; + } + + /** + * Legt den Wert der startTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setStartTime(XMLGregorianCalendar value) { + this.startTime = value; + } + + /** + * Ruft den Wert der currentTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getCurrentTime() { + return currentTime; + } + + /** + * Legt den Wert der currentTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setCurrentTime(XMLGregorianCalendar value) { + this.currentTime = value; + } + + /** + * Ruft den Wert der state-Eigenschaft ab. + * + * @return + * possible object is + * {@link ServerState } + * + */ + public ServerState getState() { + return state; + } + + /** + * Legt den Wert der state-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ServerState } + * + */ + public void setState(ServerState value) { + this.state = value; + } + + /** + * Ruft den Wert der buildInfo-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link BuildInfo }{@code >} + * + */ + public JAXBElement getBuildInfo() { + return buildInfo; + } + + /** + * Legt den Wert der buildInfo-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link BuildInfo }{@code >} + * + */ + public void setBuildInfo(JAXBElement value) { + this.buildInfo = value; + } + + /** + * Ruft den Wert der secondsTillShutdown-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSecondsTillShutdown() { + return secondsTillShutdown; + } + + /** + * Legt den Wert der secondsTillShutdown-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSecondsTillShutdown(Long value) { + this.secondsTillShutdown = value; + } + + /** + * Ruft den Wert der shutdownReason-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getShutdownReason() { + return shutdownReason; + } + + /** + * Legt den Wert der shutdownReason-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setShutdownReason(JAXBElement value) { + this.shutdownReason = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServerStatusDataType.Builder<_B> _other) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + _other.currentTime = ((this.currentTime == null)?null:((XMLGregorianCalendar) this.currentTime.clone())); + _other.state = this.state; + _other.buildInfo = this.buildInfo; + _other.secondsTillShutdown = this.secondsTillShutdown; + _other.shutdownReason = this.shutdownReason; + } + + public<_B >ServerStatusDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ServerStatusDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ServerStatusDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ServerStatusDataType.Builder builder() { + return new ServerStatusDataType.Builder(null, null, false); + } + + public static<_B >ServerStatusDataType.Builder<_B> copyOf(final ServerStatusDataType _other) { + final ServerStatusDataType.Builder<_B> _newBuilder = new ServerStatusDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServerStatusDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + _other.startTime = ((this.startTime == null)?null:((XMLGregorianCalendar) this.startTime.clone())); + } + final PropertyTree currentTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentTimePropertyTree!= null):((currentTimePropertyTree == null)||(!currentTimePropertyTree.isLeaf())))) { + _other.currentTime = ((this.currentTime == null)?null:((XMLGregorianCalendar) this.currentTime.clone())); + } + final PropertyTree statePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("state")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statePropertyTree!= null):((statePropertyTree == null)||(!statePropertyTree.isLeaf())))) { + _other.state = this.state; + } + final PropertyTree buildInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("buildInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(buildInfoPropertyTree!= null):((buildInfoPropertyTree == null)||(!buildInfoPropertyTree.isLeaf())))) { + _other.buildInfo = this.buildInfo; + } + final PropertyTree secondsTillShutdownPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("secondsTillShutdown")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(secondsTillShutdownPropertyTree!= null):((secondsTillShutdownPropertyTree == null)||(!secondsTillShutdownPropertyTree.isLeaf())))) { + _other.secondsTillShutdown = this.secondsTillShutdown; + } + final PropertyTree shutdownReasonPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("shutdownReason")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(shutdownReasonPropertyTree!= null):((shutdownReasonPropertyTree == null)||(!shutdownReasonPropertyTree.isLeaf())))) { + _other.shutdownReason = this.shutdownReason; + } + } + + public<_B >ServerStatusDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ServerStatusDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ServerStatusDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ServerStatusDataType.Builder<_B> copyOf(final ServerStatusDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ServerStatusDataType.Builder<_B> _newBuilder = new ServerStatusDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ServerStatusDataType.Builder copyExcept(final ServerStatusDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ServerStatusDataType.Builder copyOnly(final ServerStatusDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ServerStatusDataType _storedValue; + private XMLGregorianCalendar startTime; + private XMLGregorianCalendar currentTime; + private ServerState state; + private JAXBElement buildInfo; + private Long secondsTillShutdown; + private JAXBElement shutdownReason; + + public Builder(final _B _parentBuilder, final ServerStatusDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + this.currentTime = ((_other.currentTime == null)?null:((XMLGregorianCalendar) _other.currentTime.clone())); + this.state = _other.state; + this.buildInfo = _other.buildInfo; + this.secondsTillShutdown = _other.secondsTillShutdown; + this.shutdownReason = _other.shutdownReason; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ServerStatusDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree startTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("startTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(startTimePropertyTree!= null):((startTimePropertyTree == null)||(!startTimePropertyTree.isLeaf())))) { + this.startTime = ((_other.startTime == null)?null:((XMLGregorianCalendar) _other.startTime.clone())); + } + final PropertyTree currentTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentTimePropertyTree!= null):((currentTimePropertyTree == null)||(!currentTimePropertyTree.isLeaf())))) { + this.currentTime = ((_other.currentTime == null)?null:((XMLGregorianCalendar) _other.currentTime.clone())); + } + final PropertyTree statePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("state")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statePropertyTree!= null):((statePropertyTree == null)||(!statePropertyTree.isLeaf())))) { + this.state = _other.state; + } + final PropertyTree buildInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("buildInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(buildInfoPropertyTree!= null):((buildInfoPropertyTree == null)||(!buildInfoPropertyTree.isLeaf())))) { + this.buildInfo = _other.buildInfo; + } + final PropertyTree secondsTillShutdownPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("secondsTillShutdown")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(secondsTillShutdownPropertyTree!= null):((secondsTillShutdownPropertyTree == null)||(!secondsTillShutdownPropertyTree.isLeaf())))) { + this.secondsTillShutdown = _other.secondsTillShutdown; + } + final PropertyTree shutdownReasonPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("shutdownReason")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(shutdownReasonPropertyTree!= null):((shutdownReasonPropertyTree == null)||(!shutdownReasonPropertyTree.isLeaf())))) { + this.shutdownReason = _other.shutdownReason; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ServerStatusDataType >_P init(final _P _product) { + _product.startTime = this.startTime; + _product.currentTime = this.currentTime; + _product.state = this.state; + _product.buildInfo = this.buildInfo; + _product.secondsTillShutdown = this.secondsTillShutdown; + _product.shutdownReason = this.shutdownReason; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "startTime" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param startTime + * Neuer Wert der Eigenschaft "startTime". + */ + public ServerStatusDataType.Builder<_B> withStartTime(final XMLGregorianCalendar startTime) { + this.startTime = startTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentTime" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param currentTime + * Neuer Wert der Eigenschaft "currentTime". + */ + public ServerStatusDataType.Builder<_B> withCurrentTime(final XMLGregorianCalendar currentTime) { + this.currentTime = currentTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "state" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param state + * Neuer Wert der Eigenschaft "state". + */ + public ServerStatusDataType.Builder<_B> withState(final ServerState state) { + this.state = state; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "buildInfo" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param buildInfo + * Neuer Wert der Eigenschaft "buildInfo". + */ + public ServerStatusDataType.Builder<_B> withBuildInfo(final JAXBElement buildInfo) { + this.buildInfo = buildInfo; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "secondsTillShutdown" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param secondsTillShutdown + * Neuer Wert der Eigenschaft "secondsTillShutdown". + */ + public ServerStatusDataType.Builder<_B> withSecondsTillShutdown(final Long secondsTillShutdown) { + this.secondsTillShutdown = secondsTillShutdown; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "shutdownReason" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param shutdownReason + * Neuer Wert der Eigenschaft "shutdownReason". + */ + public ServerStatusDataType.Builder<_B> withShutdownReason(final JAXBElement shutdownReason) { + this.shutdownReason = shutdownReason; + return this; + } + + @Override + public ServerStatusDataType build() { + if (_storedValue == null) { + return this.init(new ServerStatusDataType()); + } else { + return ((ServerStatusDataType) _storedValue); + } + } + + public ServerStatusDataType.Builder<_B> copyOf(final ServerStatusDataType _other) { + _other.copyTo(this); + return this; + } + + public ServerStatusDataType.Builder<_B> copyOf(final ServerStatusDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ServerStatusDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ServerStatusDataType.Select _root() { + return new ServerStatusDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> startTime = null; + private com.kscs.util.jaxb.Selector> currentTime = null; + private com.kscs.util.jaxb.Selector> state = null; + private com.kscs.util.jaxb.Selector> buildInfo = null; + private com.kscs.util.jaxb.Selector> secondsTillShutdown = null; + private com.kscs.util.jaxb.Selector> shutdownReason = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.startTime!= null) { + products.put("startTime", this.startTime.init()); + } + if (this.currentTime!= null) { + products.put("currentTime", this.currentTime.init()); + } + if (this.state!= null) { + products.put("state", this.state.init()); + } + if (this.buildInfo!= null) { + products.put("buildInfo", this.buildInfo.init()); + } + if (this.secondsTillShutdown!= null) { + products.put("secondsTillShutdown", this.secondsTillShutdown.init()); + } + if (this.shutdownReason!= null) { + products.put("shutdownReason", this.shutdownReason.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> startTime() { + return ((this.startTime == null)?this.startTime = new com.kscs.util.jaxb.Selector>(this._root, this, "startTime"):this.startTime); + } + + public com.kscs.util.jaxb.Selector> currentTime() { + return ((this.currentTime == null)?this.currentTime = new com.kscs.util.jaxb.Selector>(this._root, this, "currentTime"):this.currentTime); + } + + public com.kscs.util.jaxb.Selector> state() { + return ((this.state == null)?this.state = new com.kscs.util.jaxb.Selector>(this._root, this, "state"):this.state); + } + + public com.kscs.util.jaxb.Selector> buildInfo() { + return ((this.buildInfo == null)?this.buildInfo = new com.kscs.util.jaxb.Selector>(this._root, this, "buildInfo"):this.buildInfo); + } + + public com.kscs.util.jaxb.Selector> secondsTillShutdown() { + return ((this.secondsTillShutdown == null)?this.secondsTillShutdown = new com.kscs.util.jaxb.Selector>(this._root, this, "secondsTillShutdown"):this.secondsTillShutdown); + } + + public com.kscs.util.jaxb.Selector> shutdownReason() { + return ((this.shutdownReason == null)?this.shutdownReason = new com.kscs.util.jaxb.Selector>(this._root, this, "shutdownReason"):this.shutdownReason); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceCounterDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceCounterDataType.java new file mode 100644 index 000000000..ec8f5b429 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceCounterDataType.java @@ -0,0 +1,322 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ServiceCounterDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ServiceCounterDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TotalCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ErrorCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ServiceCounterDataType", propOrder = { + "totalCount", + "errorCount" +}) +public class ServiceCounterDataType { + + @XmlElement(name = "TotalCount") + @XmlSchemaType(name = "unsignedInt") + protected Long totalCount; + @XmlElement(name = "ErrorCount") + @XmlSchemaType(name = "unsignedInt") + protected Long errorCount; + + /** + * Ruft den Wert der totalCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTotalCount() { + return totalCount; + } + + /** + * Legt den Wert der totalCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTotalCount(Long value) { + this.totalCount = value; + } + + /** + * Ruft den Wert der errorCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getErrorCount() { + return errorCount; + } + + /** + * Legt den Wert der errorCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setErrorCount(Long value) { + this.errorCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServiceCounterDataType.Builder<_B> _other) { + _other.totalCount = this.totalCount; + _other.errorCount = this.errorCount; + } + + public<_B >ServiceCounterDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ServiceCounterDataType.Builder<_B>(_parentBuilder, this, true); + } + + public ServiceCounterDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ServiceCounterDataType.Builder builder() { + return new ServiceCounterDataType.Builder(null, null, false); + } + + public static<_B >ServiceCounterDataType.Builder<_B> copyOf(final ServiceCounterDataType _other) { + final ServiceCounterDataType.Builder<_B> _newBuilder = new ServiceCounterDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServiceCounterDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree totalCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("totalCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(totalCountPropertyTree!= null):((totalCountPropertyTree == null)||(!totalCountPropertyTree.isLeaf())))) { + _other.totalCount = this.totalCount; + } + final PropertyTree errorCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("errorCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(errorCountPropertyTree!= null):((errorCountPropertyTree == null)||(!errorCountPropertyTree.isLeaf())))) { + _other.errorCount = this.errorCount; + } + } + + public<_B >ServiceCounterDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ServiceCounterDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ServiceCounterDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ServiceCounterDataType.Builder<_B> copyOf(final ServiceCounterDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ServiceCounterDataType.Builder<_B> _newBuilder = new ServiceCounterDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ServiceCounterDataType.Builder copyExcept(final ServiceCounterDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ServiceCounterDataType.Builder copyOnly(final ServiceCounterDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ServiceCounterDataType _storedValue; + private Long totalCount; + private Long errorCount; + + public Builder(final _B _parentBuilder, final ServiceCounterDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.totalCount = _other.totalCount; + this.errorCount = _other.errorCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ServiceCounterDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree totalCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("totalCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(totalCountPropertyTree!= null):((totalCountPropertyTree == null)||(!totalCountPropertyTree.isLeaf())))) { + this.totalCount = _other.totalCount; + } + final PropertyTree errorCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("errorCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(errorCountPropertyTree!= null):((errorCountPropertyTree == null)||(!errorCountPropertyTree.isLeaf())))) { + this.errorCount = _other.errorCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ServiceCounterDataType >_P init(final _P _product) { + _product.totalCount = this.totalCount; + _product.errorCount = this.errorCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "totalCount" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param totalCount + * Neuer Wert der Eigenschaft "totalCount". + */ + public ServiceCounterDataType.Builder<_B> withTotalCount(final Long totalCount) { + this.totalCount = totalCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "errorCount" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param errorCount + * Neuer Wert der Eigenschaft "errorCount". + */ + public ServiceCounterDataType.Builder<_B> withErrorCount(final Long errorCount) { + this.errorCount = errorCount; + return this; + } + + @Override + public ServiceCounterDataType build() { + if (_storedValue == null) { + return this.init(new ServiceCounterDataType()); + } else { + return ((ServiceCounterDataType) _storedValue); + } + } + + public ServiceCounterDataType.Builder<_B> copyOf(final ServiceCounterDataType _other) { + _other.copyTo(this); + return this; + } + + public ServiceCounterDataType.Builder<_B> copyOf(final ServiceCounterDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ServiceCounterDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static ServiceCounterDataType.Select _root() { + return new ServiceCounterDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> totalCount = null; + private com.kscs.util.jaxb.Selector> errorCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.totalCount!= null) { + products.put("totalCount", this.totalCount.init()); + } + if (this.errorCount!= null) { + products.put("errorCount", this.errorCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> totalCount() { + return ((this.totalCount == null)?this.totalCount = new com.kscs.util.jaxb.Selector>(this._root, this, "totalCount"):this.totalCount); + } + + public com.kscs.util.jaxb.Selector> errorCount() { + return ((this.errorCount == null)?this.errorCount = new com.kscs.util.jaxb.Selector>(this._root, this, "errorCount"):this.errorCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceFault.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceFault.java new file mode 100644 index 000000000..bde95b38e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ServiceFault.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ServiceFault complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ServiceFault">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ServiceFault", propOrder = { + "responseHeader" +}) +public class ServiceFault { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServiceFault.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + } + + public<_B >ServiceFault.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ServiceFault.Builder<_B>(_parentBuilder, this, true); + } + + public ServiceFault.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ServiceFault.Builder builder() { + return new ServiceFault.Builder(null, null, false); + } + + public static<_B >ServiceFault.Builder<_B> copyOf(final ServiceFault _other) { + final ServiceFault.Builder<_B> _newBuilder = new ServiceFault.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ServiceFault.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + } + + public<_B >ServiceFault.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ServiceFault.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ServiceFault.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ServiceFault.Builder<_B> copyOf(final ServiceFault _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ServiceFault.Builder<_B> _newBuilder = new ServiceFault.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ServiceFault.Builder copyExcept(final ServiceFault _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ServiceFault.Builder copyOnly(final ServiceFault _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ServiceFault _storedValue; + private JAXBElement responseHeader; + + public Builder(final _B _parentBuilder, final ServiceFault _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ServiceFault _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ServiceFault >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public ServiceFault.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + @Override + public ServiceFault build() { + if (_storedValue == null) { + return this.init(new ServiceFault()); + } else { + return ((ServiceFault) _storedValue); + } + } + + public ServiceFault.Builder<_B> copyOf(final ServiceFault _other) { + _other.copyTo(this); + return this; + } + + public ServiceFault.Builder<_B> copyOf(final ServiceFault.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ServiceFault.Selector + { + + + Select() { + super(null, null, null); + } + + public static ServiceFault.Select _root() { + return new ServiceFault.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionDiagnosticsDataType.java new file mode 100644 index 000000000..91035dac2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionDiagnosticsDataType.java @@ -0,0 +1,2790 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SessionDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SessionDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="SessionName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ClientDescription" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ApplicationDescription" minOccurs="0"/>
+ *         <element name="ServerUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="EndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="LocaleIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ActualSessionTimeout" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="MaxResponseMessageSize" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ClientConnectionTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="ClientLastContactTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="CurrentSubscriptionsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CurrentMonitoredItemsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CurrentPublishRequestsInQueue" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TotalRequestCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="UnauthorizedRequestCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="ReadCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="HistoryReadCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="WriteCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="HistoryUpdateCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="CallCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="CreateMonitoredItemsCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="ModifyMonitoredItemsCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="SetMonitoringModeCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="SetTriggeringCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="DeleteMonitoredItemsCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="CreateSubscriptionCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="ModifySubscriptionCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="SetPublishingModeCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="PublishCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="RepublishCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="TransferSubscriptionsCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="DeleteSubscriptionsCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="AddNodesCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="AddReferencesCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="DeleteNodesCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="DeleteReferencesCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="BrowseCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="BrowseNextCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="TranslateBrowsePathsToNodeIdsCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="QueryFirstCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="QueryNextCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="RegisterNodesCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *         <element name="UnregisterNodesCount" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ServiceCounterDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SessionDiagnosticsDataType", propOrder = { + "sessionId", + "sessionName", + "clientDescription", + "serverUri", + "endpointUrl", + "localeIds", + "actualSessionTimeout", + "maxResponseMessageSize", + "clientConnectionTime", + "clientLastContactTime", + "currentSubscriptionsCount", + "currentMonitoredItemsCount", + "currentPublishRequestsInQueue", + "totalRequestCount", + "unauthorizedRequestCount", + "readCount", + "historyReadCount", + "writeCount", + "historyUpdateCount", + "callCount", + "createMonitoredItemsCount", + "modifyMonitoredItemsCount", + "setMonitoringModeCount", + "setTriggeringCount", + "deleteMonitoredItemsCount", + "createSubscriptionCount", + "modifySubscriptionCount", + "setPublishingModeCount", + "publishCount", + "republishCount", + "transferSubscriptionsCount", + "deleteSubscriptionsCount", + "addNodesCount", + "addReferencesCount", + "deleteNodesCount", + "deleteReferencesCount", + "browseCount", + "browseNextCount", + "translateBrowsePathsToNodeIdsCount", + "queryFirstCount", + "queryNextCount", + "registerNodesCount", + "unregisterNodesCount" +}) +public class SessionDiagnosticsDataType { + + @XmlElementRef(name = "SessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sessionId; + @XmlElementRef(name = "SessionName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sessionName; + @XmlElementRef(name = "ClientDescription", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientDescription; + @XmlElementRef(name = "ServerUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUri; + @XmlElementRef(name = "EndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement endpointUrl; + @XmlElementRef(name = "LocaleIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement localeIds; + @XmlElement(name = "ActualSessionTimeout") + protected Double actualSessionTimeout; + @XmlElement(name = "MaxResponseMessageSize") + @XmlSchemaType(name = "unsignedInt") + protected Long maxResponseMessageSize; + @XmlElement(name = "ClientConnectionTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar clientConnectionTime; + @XmlElement(name = "ClientLastContactTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar clientLastContactTime; + @XmlElement(name = "CurrentSubscriptionsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long currentSubscriptionsCount; + @XmlElement(name = "CurrentMonitoredItemsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long currentMonitoredItemsCount; + @XmlElement(name = "CurrentPublishRequestsInQueue") + @XmlSchemaType(name = "unsignedInt") + protected Long currentPublishRequestsInQueue; + @XmlElementRef(name = "TotalRequestCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement totalRequestCount; + @XmlElement(name = "UnauthorizedRequestCount") + @XmlSchemaType(name = "unsignedInt") + protected Long unauthorizedRequestCount; + @XmlElementRef(name = "ReadCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement readCount; + @XmlElementRef(name = "HistoryReadCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement historyReadCount; + @XmlElementRef(name = "WriteCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement writeCount; + @XmlElementRef(name = "HistoryUpdateCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement historyUpdateCount; + @XmlElementRef(name = "CallCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement callCount; + @XmlElementRef(name = "CreateMonitoredItemsCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement createMonitoredItemsCount; + @XmlElementRef(name = "ModifyMonitoredItemsCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement modifyMonitoredItemsCount; + @XmlElementRef(name = "SetMonitoringModeCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement setMonitoringModeCount; + @XmlElementRef(name = "SetTriggeringCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement setTriggeringCount; + @XmlElementRef(name = "DeleteMonitoredItemsCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement deleteMonitoredItemsCount; + @XmlElementRef(name = "CreateSubscriptionCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement createSubscriptionCount; + @XmlElementRef(name = "ModifySubscriptionCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement modifySubscriptionCount; + @XmlElementRef(name = "SetPublishingModeCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement setPublishingModeCount; + @XmlElementRef(name = "PublishCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement publishCount; + @XmlElementRef(name = "RepublishCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement republishCount; + @XmlElementRef(name = "TransferSubscriptionsCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transferSubscriptionsCount; + @XmlElementRef(name = "DeleteSubscriptionsCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement deleteSubscriptionsCount; + @XmlElementRef(name = "AddNodesCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement addNodesCount; + @XmlElementRef(name = "AddReferencesCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement addReferencesCount; + @XmlElementRef(name = "DeleteNodesCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement deleteNodesCount; + @XmlElementRef(name = "DeleteReferencesCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement deleteReferencesCount; + @XmlElementRef(name = "BrowseCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browseCount; + @XmlElementRef(name = "BrowseNextCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browseNextCount; + @XmlElementRef(name = "TranslateBrowsePathsToNodeIdsCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement translateBrowsePathsToNodeIdsCount; + @XmlElementRef(name = "QueryFirstCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queryFirstCount; + @XmlElementRef(name = "QueryNextCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement queryNextCount; + @XmlElementRef(name = "RegisterNodesCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement registerNodesCount; + @XmlElementRef(name = "UnregisterNodesCount", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement unregisterNodesCount; + + /** + * Ruft den Wert der sessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getSessionId() { + return sessionId; + } + + /** + * Legt den Wert der sessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setSessionId(JAXBElement value) { + this.sessionId = value; + } + + /** + * Ruft den Wert der sessionName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSessionName() { + return sessionName; + } + + /** + * Legt den Wert der sessionName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSessionName(JAXBElement value) { + this.sessionName = value; + } + + /** + * Ruft den Wert der clientDescription-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + */ + public JAXBElement getClientDescription() { + return clientDescription; + } + + /** + * Legt den Wert der clientDescription-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ApplicationDescription }{@code >} + * + */ + public void setClientDescription(JAXBElement value) { + this.clientDescription = value; + } + + /** + * Ruft den Wert der serverUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getServerUri() { + return serverUri; + } + + /** + * Legt den Wert der serverUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setServerUri(JAXBElement value) { + this.serverUri = value; + } + + /** + * Ruft den Wert der endpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEndpointUrl() { + return endpointUrl; + } + + /** + * Legt den Wert der endpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEndpointUrl(JAXBElement value) { + this.endpointUrl = value; + } + + /** + * Ruft den Wert der localeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getLocaleIds() { + return localeIds; + } + + /** + * Legt den Wert der localeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setLocaleIds(JAXBElement value) { + this.localeIds = value; + } + + /** + * Ruft den Wert der actualSessionTimeout-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getActualSessionTimeout() { + return actualSessionTimeout; + } + + /** + * Legt den Wert der actualSessionTimeout-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setActualSessionTimeout(Double value) { + this.actualSessionTimeout = value; + } + + /** + * Ruft den Wert der maxResponseMessageSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxResponseMessageSize() { + return maxResponseMessageSize; + } + + /** + * Legt den Wert der maxResponseMessageSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxResponseMessageSize(Long value) { + this.maxResponseMessageSize = value; + } + + /** + * Ruft den Wert der clientConnectionTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getClientConnectionTime() { + return clientConnectionTime; + } + + /** + * Legt den Wert der clientConnectionTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setClientConnectionTime(XMLGregorianCalendar value) { + this.clientConnectionTime = value; + } + + /** + * Ruft den Wert der clientLastContactTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getClientLastContactTime() { + return clientLastContactTime; + } + + /** + * Legt den Wert der clientLastContactTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setClientLastContactTime(XMLGregorianCalendar value) { + this.clientLastContactTime = value; + } + + /** + * Ruft den Wert der currentSubscriptionsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentSubscriptionsCount() { + return currentSubscriptionsCount; + } + + /** + * Legt den Wert der currentSubscriptionsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentSubscriptionsCount(Long value) { + this.currentSubscriptionsCount = value; + } + + /** + * Ruft den Wert der currentMonitoredItemsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentMonitoredItemsCount() { + return currentMonitoredItemsCount; + } + + /** + * Legt den Wert der currentMonitoredItemsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentMonitoredItemsCount(Long value) { + this.currentMonitoredItemsCount = value; + } + + /** + * Ruft den Wert der currentPublishRequestsInQueue-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentPublishRequestsInQueue() { + return currentPublishRequestsInQueue; + } + + /** + * Legt den Wert der currentPublishRequestsInQueue-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentPublishRequestsInQueue(Long value) { + this.currentPublishRequestsInQueue = value; + } + + /** + * Ruft den Wert der totalRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getTotalRequestCount() { + return totalRequestCount; + } + + /** + * Legt den Wert der totalRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setTotalRequestCount(JAXBElement value) { + this.totalRequestCount = value; + } + + /** + * Ruft den Wert der unauthorizedRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getUnauthorizedRequestCount() { + return unauthorizedRequestCount; + } + + /** + * Legt den Wert der unauthorizedRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setUnauthorizedRequestCount(Long value) { + this.unauthorizedRequestCount = value; + } + + /** + * Ruft den Wert der readCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getReadCount() { + return readCount; + } + + /** + * Legt den Wert der readCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setReadCount(JAXBElement value) { + this.readCount = value; + } + + /** + * Ruft den Wert der historyReadCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getHistoryReadCount() { + return historyReadCount; + } + + /** + * Legt den Wert der historyReadCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setHistoryReadCount(JAXBElement value) { + this.historyReadCount = value; + } + + /** + * Ruft den Wert der writeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getWriteCount() { + return writeCount; + } + + /** + * Legt den Wert der writeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setWriteCount(JAXBElement value) { + this.writeCount = value; + } + + /** + * Ruft den Wert der historyUpdateCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getHistoryUpdateCount() { + return historyUpdateCount; + } + + /** + * Legt den Wert der historyUpdateCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setHistoryUpdateCount(JAXBElement value) { + this.historyUpdateCount = value; + } + + /** + * Ruft den Wert der callCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getCallCount() { + return callCount; + } + + /** + * Legt den Wert der callCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setCallCount(JAXBElement value) { + this.callCount = value; + } + + /** + * Ruft den Wert der createMonitoredItemsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getCreateMonitoredItemsCount() { + return createMonitoredItemsCount; + } + + /** + * Legt den Wert der createMonitoredItemsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setCreateMonitoredItemsCount(JAXBElement value) { + this.createMonitoredItemsCount = value; + } + + /** + * Ruft den Wert der modifyMonitoredItemsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getModifyMonitoredItemsCount() { + return modifyMonitoredItemsCount; + } + + /** + * Legt den Wert der modifyMonitoredItemsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setModifyMonitoredItemsCount(JAXBElement value) { + this.modifyMonitoredItemsCount = value; + } + + /** + * Ruft den Wert der setMonitoringModeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getSetMonitoringModeCount() { + return setMonitoringModeCount; + } + + /** + * Legt den Wert der setMonitoringModeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setSetMonitoringModeCount(JAXBElement value) { + this.setMonitoringModeCount = value; + } + + /** + * Ruft den Wert der setTriggeringCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getSetTriggeringCount() { + return setTriggeringCount; + } + + /** + * Legt den Wert der setTriggeringCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setSetTriggeringCount(JAXBElement value) { + this.setTriggeringCount = value; + } + + /** + * Ruft den Wert der deleteMonitoredItemsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getDeleteMonitoredItemsCount() { + return deleteMonitoredItemsCount; + } + + /** + * Legt den Wert der deleteMonitoredItemsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setDeleteMonitoredItemsCount(JAXBElement value) { + this.deleteMonitoredItemsCount = value; + } + + /** + * Ruft den Wert der createSubscriptionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getCreateSubscriptionCount() { + return createSubscriptionCount; + } + + /** + * Legt den Wert der createSubscriptionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setCreateSubscriptionCount(JAXBElement value) { + this.createSubscriptionCount = value; + } + + /** + * Ruft den Wert der modifySubscriptionCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getModifySubscriptionCount() { + return modifySubscriptionCount; + } + + /** + * Legt den Wert der modifySubscriptionCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setModifySubscriptionCount(JAXBElement value) { + this.modifySubscriptionCount = value; + } + + /** + * Ruft den Wert der setPublishingModeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getSetPublishingModeCount() { + return setPublishingModeCount; + } + + /** + * Legt den Wert der setPublishingModeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setSetPublishingModeCount(JAXBElement value) { + this.setPublishingModeCount = value; + } + + /** + * Ruft den Wert der publishCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getPublishCount() { + return publishCount; + } + + /** + * Legt den Wert der publishCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setPublishCount(JAXBElement value) { + this.publishCount = value; + } + + /** + * Ruft den Wert der republishCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getRepublishCount() { + return republishCount; + } + + /** + * Legt den Wert der republishCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setRepublishCount(JAXBElement value) { + this.republishCount = value; + } + + /** + * Ruft den Wert der transferSubscriptionsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getTransferSubscriptionsCount() { + return transferSubscriptionsCount; + } + + /** + * Legt den Wert der transferSubscriptionsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setTransferSubscriptionsCount(JAXBElement value) { + this.transferSubscriptionsCount = value; + } + + /** + * Ruft den Wert der deleteSubscriptionsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getDeleteSubscriptionsCount() { + return deleteSubscriptionsCount; + } + + /** + * Legt den Wert der deleteSubscriptionsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setDeleteSubscriptionsCount(JAXBElement value) { + this.deleteSubscriptionsCount = value; + } + + /** + * Ruft den Wert der addNodesCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getAddNodesCount() { + return addNodesCount; + } + + /** + * Legt den Wert der addNodesCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setAddNodesCount(JAXBElement value) { + this.addNodesCount = value; + } + + /** + * Ruft den Wert der addReferencesCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getAddReferencesCount() { + return addReferencesCount; + } + + /** + * Legt den Wert der addReferencesCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setAddReferencesCount(JAXBElement value) { + this.addReferencesCount = value; + } + + /** + * Ruft den Wert der deleteNodesCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getDeleteNodesCount() { + return deleteNodesCount; + } + + /** + * Legt den Wert der deleteNodesCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setDeleteNodesCount(JAXBElement value) { + this.deleteNodesCount = value; + } + + /** + * Ruft den Wert der deleteReferencesCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getDeleteReferencesCount() { + return deleteReferencesCount; + } + + /** + * Legt den Wert der deleteReferencesCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setDeleteReferencesCount(JAXBElement value) { + this.deleteReferencesCount = value; + } + + /** + * Ruft den Wert der browseCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getBrowseCount() { + return browseCount; + } + + /** + * Legt den Wert der browseCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setBrowseCount(JAXBElement value) { + this.browseCount = value; + } + + /** + * Ruft den Wert der browseNextCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getBrowseNextCount() { + return browseNextCount; + } + + /** + * Legt den Wert der browseNextCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setBrowseNextCount(JAXBElement value) { + this.browseNextCount = value; + } + + /** + * Ruft den Wert der translateBrowsePathsToNodeIdsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getTranslateBrowsePathsToNodeIdsCount() { + return translateBrowsePathsToNodeIdsCount; + } + + /** + * Legt den Wert der translateBrowsePathsToNodeIdsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setTranslateBrowsePathsToNodeIdsCount(JAXBElement value) { + this.translateBrowsePathsToNodeIdsCount = value; + } + + /** + * Ruft den Wert der queryFirstCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getQueryFirstCount() { + return queryFirstCount; + } + + /** + * Legt den Wert der queryFirstCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setQueryFirstCount(JAXBElement value) { + this.queryFirstCount = value; + } + + /** + * Ruft den Wert der queryNextCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getQueryNextCount() { + return queryNextCount; + } + + /** + * Legt den Wert der queryNextCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setQueryNextCount(JAXBElement value) { + this.queryNextCount = value; + } + + /** + * Ruft den Wert der registerNodesCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getRegisterNodesCount() { + return registerNodesCount; + } + + /** + * Legt den Wert der registerNodesCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setRegisterNodesCount(JAXBElement value) { + this.registerNodesCount = value; + } + + /** + * Ruft den Wert der unregisterNodesCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public JAXBElement getUnregisterNodesCount() { + return unregisterNodesCount; + } + + /** + * Legt den Wert der unregisterNodesCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ServiceCounterDataType }{@code >} + * + */ + public void setUnregisterNodesCount(JAXBElement value) { + this.unregisterNodesCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionDiagnosticsDataType.Builder<_B> _other) { + _other.sessionId = this.sessionId; + _other.sessionName = this.sessionName; + _other.clientDescription = this.clientDescription; + _other.serverUri = this.serverUri; + _other.endpointUrl = this.endpointUrl; + _other.localeIds = this.localeIds; + _other.actualSessionTimeout = this.actualSessionTimeout; + _other.maxResponseMessageSize = this.maxResponseMessageSize; + _other.clientConnectionTime = ((this.clientConnectionTime == null)?null:((XMLGregorianCalendar) this.clientConnectionTime.clone())); + _other.clientLastContactTime = ((this.clientLastContactTime == null)?null:((XMLGregorianCalendar) this.clientLastContactTime.clone())); + _other.currentSubscriptionsCount = this.currentSubscriptionsCount; + _other.currentMonitoredItemsCount = this.currentMonitoredItemsCount; + _other.currentPublishRequestsInQueue = this.currentPublishRequestsInQueue; + _other.totalRequestCount = this.totalRequestCount; + _other.unauthorizedRequestCount = this.unauthorizedRequestCount; + _other.readCount = this.readCount; + _other.historyReadCount = this.historyReadCount; + _other.writeCount = this.writeCount; + _other.historyUpdateCount = this.historyUpdateCount; + _other.callCount = this.callCount; + _other.createMonitoredItemsCount = this.createMonitoredItemsCount; + _other.modifyMonitoredItemsCount = this.modifyMonitoredItemsCount; + _other.setMonitoringModeCount = this.setMonitoringModeCount; + _other.setTriggeringCount = this.setTriggeringCount; + _other.deleteMonitoredItemsCount = this.deleteMonitoredItemsCount; + _other.createSubscriptionCount = this.createSubscriptionCount; + _other.modifySubscriptionCount = this.modifySubscriptionCount; + _other.setPublishingModeCount = this.setPublishingModeCount; + _other.publishCount = this.publishCount; + _other.republishCount = this.republishCount; + _other.transferSubscriptionsCount = this.transferSubscriptionsCount; + _other.deleteSubscriptionsCount = this.deleteSubscriptionsCount; + _other.addNodesCount = this.addNodesCount; + _other.addReferencesCount = this.addReferencesCount; + _other.deleteNodesCount = this.deleteNodesCount; + _other.deleteReferencesCount = this.deleteReferencesCount; + _other.browseCount = this.browseCount; + _other.browseNextCount = this.browseNextCount; + _other.translateBrowsePathsToNodeIdsCount = this.translateBrowsePathsToNodeIdsCount; + _other.queryFirstCount = this.queryFirstCount; + _other.queryNextCount = this.queryNextCount; + _other.registerNodesCount = this.registerNodesCount; + _other.unregisterNodesCount = this.unregisterNodesCount; + } + + public<_B >SessionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SessionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public SessionDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SessionDiagnosticsDataType.Builder builder() { + return new SessionDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >SessionDiagnosticsDataType.Builder<_B> copyOf(final SessionDiagnosticsDataType _other) { + final SessionDiagnosticsDataType.Builder<_B> _newBuilder = new SessionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + _other.sessionId = this.sessionId; + } + final PropertyTree sessionNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionNamePropertyTree!= null):((sessionNamePropertyTree == null)||(!sessionNamePropertyTree.isLeaf())))) { + _other.sessionName = this.sessionName; + } + final PropertyTree clientDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientDescriptionPropertyTree!= null):((clientDescriptionPropertyTree == null)||(!clientDescriptionPropertyTree.isLeaf())))) { + _other.clientDescription = this.clientDescription; + } + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + _other.serverUri = this.serverUri; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + _other.endpointUrl = this.endpointUrl; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + _other.localeIds = this.localeIds; + } + final PropertyTree actualSessionTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("actualSessionTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(actualSessionTimeoutPropertyTree!= null):((actualSessionTimeoutPropertyTree == null)||(!actualSessionTimeoutPropertyTree.isLeaf())))) { + _other.actualSessionTimeout = this.actualSessionTimeout; + } + final PropertyTree maxResponseMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxResponseMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxResponseMessageSizePropertyTree!= null):((maxResponseMessageSizePropertyTree == null)||(!maxResponseMessageSizePropertyTree.isLeaf())))) { + _other.maxResponseMessageSize = this.maxResponseMessageSize; + } + final PropertyTree clientConnectionTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientConnectionTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientConnectionTimePropertyTree!= null):((clientConnectionTimePropertyTree == null)||(!clientConnectionTimePropertyTree.isLeaf())))) { + _other.clientConnectionTime = ((this.clientConnectionTime == null)?null:((XMLGregorianCalendar) this.clientConnectionTime.clone())); + } + final PropertyTree clientLastContactTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientLastContactTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientLastContactTimePropertyTree!= null):((clientLastContactTimePropertyTree == null)||(!clientLastContactTimePropertyTree.isLeaf())))) { + _other.clientLastContactTime = ((this.clientLastContactTime == null)?null:((XMLGregorianCalendar) this.clientLastContactTime.clone())); + } + final PropertyTree currentSubscriptionsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentSubscriptionsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentSubscriptionsCountPropertyTree!= null):((currentSubscriptionsCountPropertyTree == null)||(!currentSubscriptionsCountPropertyTree.isLeaf())))) { + _other.currentSubscriptionsCount = this.currentSubscriptionsCount; + } + final PropertyTree currentMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentMonitoredItemsCountPropertyTree!= null):((currentMonitoredItemsCountPropertyTree == null)||(!currentMonitoredItemsCountPropertyTree.isLeaf())))) { + _other.currentMonitoredItemsCount = this.currentMonitoredItemsCount; + } + final PropertyTree currentPublishRequestsInQueuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentPublishRequestsInQueue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentPublishRequestsInQueuePropertyTree!= null):((currentPublishRequestsInQueuePropertyTree == null)||(!currentPublishRequestsInQueuePropertyTree.isLeaf())))) { + _other.currentPublishRequestsInQueue = this.currentPublishRequestsInQueue; + } + final PropertyTree totalRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("totalRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(totalRequestCountPropertyTree!= null):((totalRequestCountPropertyTree == null)||(!totalRequestCountPropertyTree.isLeaf())))) { + _other.totalRequestCount = this.totalRequestCount; + } + final PropertyTree unauthorizedRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unauthorizedRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unauthorizedRequestCountPropertyTree!= null):((unauthorizedRequestCountPropertyTree == null)||(!unauthorizedRequestCountPropertyTree.isLeaf())))) { + _other.unauthorizedRequestCount = this.unauthorizedRequestCount; + } + final PropertyTree readCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readCountPropertyTree!= null):((readCountPropertyTree == null)||(!readCountPropertyTree.isLeaf())))) { + _other.readCount = this.readCount; + } + final PropertyTree historyReadCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadCountPropertyTree!= null):((historyReadCountPropertyTree == null)||(!historyReadCountPropertyTree.isLeaf())))) { + _other.historyReadCount = this.historyReadCount; + } + final PropertyTree writeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeCountPropertyTree!= null):((writeCountPropertyTree == null)||(!writeCountPropertyTree.isLeaf())))) { + _other.writeCount = this.writeCount; + } + final PropertyTree historyUpdateCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyUpdateCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyUpdateCountPropertyTree!= null):((historyUpdateCountPropertyTree == null)||(!historyUpdateCountPropertyTree.isLeaf())))) { + _other.historyUpdateCount = this.historyUpdateCount; + } + final PropertyTree callCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("callCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(callCountPropertyTree!= null):((callCountPropertyTree == null)||(!callCountPropertyTree.isLeaf())))) { + _other.callCount = this.callCount; + } + final PropertyTree createMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createMonitoredItemsCountPropertyTree!= null):((createMonitoredItemsCountPropertyTree == null)||(!createMonitoredItemsCountPropertyTree.isLeaf())))) { + _other.createMonitoredItemsCount = this.createMonitoredItemsCount; + } + final PropertyTree modifyMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modifyMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modifyMonitoredItemsCountPropertyTree!= null):((modifyMonitoredItemsCountPropertyTree == null)||(!modifyMonitoredItemsCountPropertyTree.isLeaf())))) { + _other.modifyMonitoredItemsCount = this.modifyMonitoredItemsCount; + } + final PropertyTree setMonitoringModeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("setMonitoringModeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(setMonitoringModeCountPropertyTree!= null):((setMonitoringModeCountPropertyTree == null)||(!setMonitoringModeCountPropertyTree.isLeaf())))) { + _other.setMonitoringModeCount = this.setMonitoringModeCount; + } + final PropertyTree setTriggeringCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("setTriggeringCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(setTriggeringCountPropertyTree!= null):((setTriggeringCountPropertyTree == null)||(!setTriggeringCountPropertyTree.isLeaf())))) { + _other.setTriggeringCount = this.setTriggeringCount; + } + final PropertyTree deleteMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteMonitoredItemsCountPropertyTree!= null):((deleteMonitoredItemsCountPropertyTree == null)||(!deleteMonitoredItemsCountPropertyTree.isLeaf())))) { + _other.deleteMonitoredItemsCount = this.deleteMonitoredItemsCount; + } + final PropertyTree createSubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createSubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createSubscriptionCountPropertyTree!= null):((createSubscriptionCountPropertyTree == null)||(!createSubscriptionCountPropertyTree.isLeaf())))) { + _other.createSubscriptionCount = this.createSubscriptionCount; + } + final PropertyTree modifySubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modifySubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modifySubscriptionCountPropertyTree!= null):((modifySubscriptionCountPropertyTree == null)||(!modifySubscriptionCountPropertyTree.isLeaf())))) { + _other.modifySubscriptionCount = this.modifySubscriptionCount; + } + final PropertyTree setPublishingModeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("setPublishingModeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(setPublishingModeCountPropertyTree!= null):((setPublishingModeCountPropertyTree == null)||(!setPublishingModeCountPropertyTree.isLeaf())))) { + _other.setPublishingModeCount = this.setPublishingModeCount; + } + final PropertyTree publishCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishCountPropertyTree!= null):((publishCountPropertyTree == null)||(!publishCountPropertyTree.isLeaf())))) { + _other.publishCount = this.publishCount; + } + final PropertyTree republishCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishCountPropertyTree!= null):((republishCountPropertyTree == null)||(!republishCountPropertyTree.isLeaf())))) { + _other.republishCount = this.republishCount; + } + final PropertyTree transferSubscriptionsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferSubscriptionsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferSubscriptionsCountPropertyTree!= null):((transferSubscriptionsCountPropertyTree == null)||(!transferSubscriptionsCountPropertyTree.isLeaf())))) { + _other.transferSubscriptionsCount = this.transferSubscriptionsCount; + } + final PropertyTree deleteSubscriptionsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteSubscriptionsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteSubscriptionsCountPropertyTree!= null):((deleteSubscriptionsCountPropertyTree == null)||(!deleteSubscriptionsCountPropertyTree.isLeaf())))) { + _other.deleteSubscriptionsCount = this.deleteSubscriptionsCount; + } + final PropertyTree addNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addNodesCountPropertyTree!= null):((addNodesCountPropertyTree == null)||(!addNodesCountPropertyTree.isLeaf())))) { + _other.addNodesCount = this.addNodesCount; + } + final PropertyTree addReferencesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addReferencesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addReferencesCountPropertyTree!= null):((addReferencesCountPropertyTree == null)||(!addReferencesCountPropertyTree.isLeaf())))) { + _other.addReferencesCount = this.addReferencesCount; + } + final PropertyTree deleteNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteNodesCountPropertyTree!= null):((deleteNodesCountPropertyTree == null)||(!deleteNodesCountPropertyTree.isLeaf())))) { + _other.deleteNodesCount = this.deleteNodesCount; + } + final PropertyTree deleteReferencesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteReferencesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteReferencesCountPropertyTree!= null):((deleteReferencesCountPropertyTree == null)||(!deleteReferencesCountPropertyTree.isLeaf())))) { + _other.deleteReferencesCount = this.deleteReferencesCount; + } + final PropertyTree browseCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseCountPropertyTree!= null):((browseCountPropertyTree == null)||(!browseCountPropertyTree.isLeaf())))) { + _other.browseCount = this.browseCount; + } + final PropertyTree browseNextCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseNextCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNextCountPropertyTree!= null):((browseNextCountPropertyTree == null)||(!browseNextCountPropertyTree.isLeaf())))) { + _other.browseNextCount = this.browseNextCount; + } + final PropertyTree translateBrowsePathsToNodeIdsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("translateBrowsePathsToNodeIdsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(translateBrowsePathsToNodeIdsCountPropertyTree!= null):((translateBrowsePathsToNodeIdsCountPropertyTree == null)||(!translateBrowsePathsToNodeIdsCountPropertyTree.isLeaf())))) { + _other.translateBrowsePathsToNodeIdsCount = this.translateBrowsePathsToNodeIdsCount; + } + final PropertyTree queryFirstCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryFirstCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryFirstCountPropertyTree!= null):((queryFirstCountPropertyTree == null)||(!queryFirstCountPropertyTree.isLeaf())))) { + _other.queryFirstCount = this.queryFirstCount; + } + final PropertyTree queryNextCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryNextCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryNextCountPropertyTree!= null):((queryNextCountPropertyTree == null)||(!queryNextCountPropertyTree.isLeaf())))) { + _other.queryNextCount = this.queryNextCount; + } + final PropertyTree registerNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("registerNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(registerNodesCountPropertyTree!= null):((registerNodesCountPropertyTree == null)||(!registerNodesCountPropertyTree.isLeaf())))) { + _other.registerNodesCount = this.registerNodesCount; + } + final PropertyTree unregisterNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unregisterNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unregisterNodesCountPropertyTree!= null):((unregisterNodesCountPropertyTree == null)||(!unregisterNodesCountPropertyTree.isLeaf())))) { + _other.unregisterNodesCount = this.unregisterNodesCount; + } + } + + public<_B >SessionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SessionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SessionDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SessionDiagnosticsDataType.Builder<_B> copyOf(final SessionDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SessionDiagnosticsDataType.Builder<_B> _newBuilder = new SessionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SessionDiagnosticsDataType.Builder copyExcept(final SessionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SessionDiagnosticsDataType.Builder copyOnly(final SessionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SessionDiagnosticsDataType _storedValue; + private JAXBElement sessionId; + private JAXBElement sessionName; + private JAXBElement clientDescription; + private JAXBElement serverUri; + private JAXBElement endpointUrl; + private JAXBElement localeIds; + private Double actualSessionTimeout; + private Long maxResponseMessageSize; + private XMLGregorianCalendar clientConnectionTime; + private XMLGregorianCalendar clientLastContactTime; + private Long currentSubscriptionsCount; + private Long currentMonitoredItemsCount; + private Long currentPublishRequestsInQueue; + private JAXBElement totalRequestCount; + private Long unauthorizedRequestCount; + private JAXBElement readCount; + private JAXBElement historyReadCount; + private JAXBElement writeCount; + private JAXBElement historyUpdateCount; + private JAXBElement callCount; + private JAXBElement createMonitoredItemsCount; + private JAXBElement modifyMonitoredItemsCount; + private JAXBElement setMonitoringModeCount; + private JAXBElement setTriggeringCount; + private JAXBElement deleteMonitoredItemsCount; + private JAXBElement createSubscriptionCount; + private JAXBElement modifySubscriptionCount; + private JAXBElement setPublishingModeCount; + private JAXBElement publishCount; + private JAXBElement republishCount; + private JAXBElement transferSubscriptionsCount; + private JAXBElement deleteSubscriptionsCount; + private JAXBElement addNodesCount; + private JAXBElement addReferencesCount; + private JAXBElement deleteNodesCount; + private JAXBElement deleteReferencesCount; + private JAXBElement browseCount; + private JAXBElement browseNextCount; + private JAXBElement translateBrowsePathsToNodeIdsCount; + private JAXBElement queryFirstCount; + private JAXBElement queryNextCount; + private JAXBElement registerNodesCount; + private JAXBElement unregisterNodesCount; + + public Builder(final _B _parentBuilder, final SessionDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.sessionId = _other.sessionId; + this.sessionName = _other.sessionName; + this.clientDescription = _other.clientDescription; + this.serverUri = _other.serverUri; + this.endpointUrl = _other.endpointUrl; + this.localeIds = _other.localeIds; + this.actualSessionTimeout = _other.actualSessionTimeout; + this.maxResponseMessageSize = _other.maxResponseMessageSize; + this.clientConnectionTime = ((_other.clientConnectionTime == null)?null:((XMLGregorianCalendar) _other.clientConnectionTime.clone())); + this.clientLastContactTime = ((_other.clientLastContactTime == null)?null:((XMLGregorianCalendar) _other.clientLastContactTime.clone())); + this.currentSubscriptionsCount = _other.currentSubscriptionsCount; + this.currentMonitoredItemsCount = _other.currentMonitoredItemsCount; + this.currentPublishRequestsInQueue = _other.currentPublishRequestsInQueue; + this.totalRequestCount = _other.totalRequestCount; + this.unauthorizedRequestCount = _other.unauthorizedRequestCount; + this.readCount = _other.readCount; + this.historyReadCount = _other.historyReadCount; + this.writeCount = _other.writeCount; + this.historyUpdateCount = _other.historyUpdateCount; + this.callCount = _other.callCount; + this.createMonitoredItemsCount = _other.createMonitoredItemsCount; + this.modifyMonitoredItemsCount = _other.modifyMonitoredItemsCount; + this.setMonitoringModeCount = _other.setMonitoringModeCount; + this.setTriggeringCount = _other.setTriggeringCount; + this.deleteMonitoredItemsCount = _other.deleteMonitoredItemsCount; + this.createSubscriptionCount = _other.createSubscriptionCount; + this.modifySubscriptionCount = _other.modifySubscriptionCount; + this.setPublishingModeCount = _other.setPublishingModeCount; + this.publishCount = _other.publishCount; + this.republishCount = _other.republishCount; + this.transferSubscriptionsCount = _other.transferSubscriptionsCount; + this.deleteSubscriptionsCount = _other.deleteSubscriptionsCount; + this.addNodesCount = _other.addNodesCount; + this.addReferencesCount = _other.addReferencesCount; + this.deleteNodesCount = _other.deleteNodesCount; + this.deleteReferencesCount = _other.deleteReferencesCount; + this.browseCount = _other.browseCount; + this.browseNextCount = _other.browseNextCount; + this.translateBrowsePathsToNodeIdsCount = _other.translateBrowsePathsToNodeIdsCount; + this.queryFirstCount = _other.queryFirstCount; + this.queryNextCount = _other.queryNextCount; + this.registerNodesCount = _other.registerNodesCount; + this.unregisterNodesCount = _other.unregisterNodesCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SessionDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + this.sessionId = _other.sessionId; + } + final PropertyTree sessionNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionNamePropertyTree!= null):((sessionNamePropertyTree == null)||(!sessionNamePropertyTree.isLeaf())))) { + this.sessionName = _other.sessionName; + } + final PropertyTree clientDescriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientDescription")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientDescriptionPropertyTree!= null):((clientDescriptionPropertyTree == null)||(!clientDescriptionPropertyTree.isLeaf())))) { + this.clientDescription = _other.clientDescription; + } + final PropertyTree serverUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUriPropertyTree!= null):((serverUriPropertyTree == null)||(!serverUriPropertyTree.isLeaf())))) { + this.serverUri = _other.serverUri; + } + final PropertyTree endpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("endpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(endpointUrlPropertyTree!= null):((endpointUrlPropertyTree == null)||(!endpointUrlPropertyTree.isLeaf())))) { + this.endpointUrl = _other.endpointUrl; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + this.localeIds = _other.localeIds; + } + final PropertyTree actualSessionTimeoutPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("actualSessionTimeout")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(actualSessionTimeoutPropertyTree!= null):((actualSessionTimeoutPropertyTree == null)||(!actualSessionTimeoutPropertyTree.isLeaf())))) { + this.actualSessionTimeout = _other.actualSessionTimeout; + } + final PropertyTree maxResponseMessageSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxResponseMessageSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxResponseMessageSizePropertyTree!= null):((maxResponseMessageSizePropertyTree == null)||(!maxResponseMessageSizePropertyTree.isLeaf())))) { + this.maxResponseMessageSize = _other.maxResponseMessageSize; + } + final PropertyTree clientConnectionTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientConnectionTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientConnectionTimePropertyTree!= null):((clientConnectionTimePropertyTree == null)||(!clientConnectionTimePropertyTree.isLeaf())))) { + this.clientConnectionTime = ((_other.clientConnectionTime == null)?null:((XMLGregorianCalendar) _other.clientConnectionTime.clone())); + } + final PropertyTree clientLastContactTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientLastContactTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientLastContactTimePropertyTree!= null):((clientLastContactTimePropertyTree == null)||(!clientLastContactTimePropertyTree.isLeaf())))) { + this.clientLastContactTime = ((_other.clientLastContactTime == null)?null:((XMLGregorianCalendar) _other.clientLastContactTime.clone())); + } + final PropertyTree currentSubscriptionsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentSubscriptionsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentSubscriptionsCountPropertyTree!= null):((currentSubscriptionsCountPropertyTree == null)||(!currentSubscriptionsCountPropertyTree.isLeaf())))) { + this.currentSubscriptionsCount = _other.currentSubscriptionsCount; + } + final PropertyTree currentMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentMonitoredItemsCountPropertyTree!= null):((currentMonitoredItemsCountPropertyTree == null)||(!currentMonitoredItemsCountPropertyTree.isLeaf())))) { + this.currentMonitoredItemsCount = _other.currentMonitoredItemsCount; + } + final PropertyTree currentPublishRequestsInQueuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentPublishRequestsInQueue")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentPublishRequestsInQueuePropertyTree!= null):((currentPublishRequestsInQueuePropertyTree == null)||(!currentPublishRequestsInQueuePropertyTree.isLeaf())))) { + this.currentPublishRequestsInQueue = _other.currentPublishRequestsInQueue; + } + final PropertyTree totalRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("totalRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(totalRequestCountPropertyTree!= null):((totalRequestCountPropertyTree == null)||(!totalRequestCountPropertyTree.isLeaf())))) { + this.totalRequestCount = _other.totalRequestCount; + } + final PropertyTree unauthorizedRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unauthorizedRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unauthorizedRequestCountPropertyTree!= null):((unauthorizedRequestCountPropertyTree == null)||(!unauthorizedRequestCountPropertyTree.isLeaf())))) { + this.unauthorizedRequestCount = _other.unauthorizedRequestCount; + } + final PropertyTree readCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("readCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(readCountPropertyTree!= null):((readCountPropertyTree == null)||(!readCountPropertyTree.isLeaf())))) { + this.readCount = _other.readCount; + } + final PropertyTree historyReadCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyReadCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyReadCountPropertyTree!= null):((historyReadCountPropertyTree == null)||(!historyReadCountPropertyTree.isLeaf())))) { + this.historyReadCount = _other.historyReadCount; + } + final PropertyTree writeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writeCountPropertyTree!= null):((writeCountPropertyTree == null)||(!writeCountPropertyTree.isLeaf())))) { + this.writeCount = _other.writeCount; + } + final PropertyTree historyUpdateCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historyUpdateCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historyUpdateCountPropertyTree!= null):((historyUpdateCountPropertyTree == null)||(!historyUpdateCountPropertyTree.isLeaf())))) { + this.historyUpdateCount = _other.historyUpdateCount; + } + final PropertyTree callCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("callCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(callCountPropertyTree!= null):((callCountPropertyTree == null)||(!callCountPropertyTree.isLeaf())))) { + this.callCount = _other.callCount; + } + final PropertyTree createMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createMonitoredItemsCountPropertyTree!= null):((createMonitoredItemsCountPropertyTree == null)||(!createMonitoredItemsCountPropertyTree.isLeaf())))) { + this.createMonitoredItemsCount = _other.createMonitoredItemsCount; + } + final PropertyTree modifyMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modifyMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modifyMonitoredItemsCountPropertyTree!= null):((modifyMonitoredItemsCountPropertyTree == null)||(!modifyMonitoredItemsCountPropertyTree.isLeaf())))) { + this.modifyMonitoredItemsCount = _other.modifyMonitoredItemsCount; + } + final PropertyTree setMonitoringModeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("setMonitoringModeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(setMonitoringModeCountPropertyTree!= null):((setMonitoringModeCountPropertyTree == null)||(!setMonitoringModeCountPropertyTree.isLeaf())))) { + this.setMonitoringModeCount = _other.setMonitoringModeCount; + } + final PropertyTree setTriggeringCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("setTriggeringCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(setTriggeringCountPropertyTree!= null):((setTriggeringCountPropertyTree == null)||(!setTriggeringCountPropertyTree.isLeaf())))) { + this.setTriggeringCount = _other.setTriggeringCount; + } + final PropertyTree deleteMonitoredItemsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteMonitoredItemsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteMonitoredItemsCountPropertyTree!= null):((deleteMonitoredItemsCountPropertyTree == null)||(!deleteMonitoredItemsCountPropertyTree.isLeaf())))) { + this.deleteMonitoredItemsCount = _other.deleteMonitoredItemsCount; + } + final PropertyTree createSubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("createSubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(createSubscriptionCountPropertyTree!= null):((createSubscriptionCountPropertyTree == null)||(!createSubscriptionCountPropertyTree.isLeaf())))) { + this.createSubscriptionCount = _other.createSubscriptionCount; + } + final PropertyTree modifySubscriptionCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modifySubscriptionCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modifySubscriptionCountPropertyTree!= null):((modifySubscriptionCountPropertyTree == null)||(!modifySubscriptionCountPropertyTree.isLeaf())))) { + this.modifySubscriptionCount = _other.modifySubscriptionCount; + } + final PropertyTree setPublishingModeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("setPublishingModeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(setPublishingModeCountPropertyTree!= null):((setPublishingModeCountPropertyTree == null)||(!setPublishingModeCountPropertyTree.isLeaf())))) { + this.setPublishingModeCount = _other.setPublishingModeCount; + } + final PropertyTree publishCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishCountPropertyTree!= null):((publishCountPropertyTree == null)||(!publishCountPropertyTree.isLeaf())))) { + this.publishCount = _other.publishCount; + } + final PropertyTree republishCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishCountPropertyTree!= null):((republishCountPropertyTree == null)||(!republishCountPropertyTree.isLeaf())))) { + this.republishCount = _other.republishCount; + } + final PropertyTree transferSubscriptionsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferSubscriptionsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferSubscriptionsCountPropertyTree!= null):((transferSubscriptionsCountPropertyTree == null)||(!transferSubscriptionsCountPropertyTree.isLeaf())))) { + this.transferSubscriptionsCount = _other.transferSubscriptionsCount; + } + final PropertyTree deleteSubscriptionsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteSubscriptionsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteSubscriptionsCountPropertyTree!= null):((deleteSubscriptionsCountPropertyTree == null)||(!deleteSubscriptionsCountPropertyTree.isLeaf())))) { + this.deleteSubscriptionsCount = _other.deleteSubscriptionsCount; + } + final PropertyTree addNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addNodesCountPropertyTree!= null):((addNodesCountPropertyTree == null)||(!addNodesCountPropertyTree.isLeaf())))) { + this.addNodesCount = _other.addNodesCount; + } + final PropertyTree addReferencesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addReferencesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addReferencesCountPropertyTree!= null):((addReferencesCountPropertyTree == null)||(!addReferencesCountPropertyTree.isLeaf())))) { + this.addReferencesCount = _other.addReferencesCount; + } + final PropertyTree deleteNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteNodesCountPropertyTree!= null):((deleteNodesCountPropertyTree == null)||(!deleteNodesCountPropertyTree.isLeaf())))) { + this.deleteNodesCount = _other.deleteNodesCount; + } + final PropertyTree deleteReferencesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("deleteReferencesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(deleteReferencesCountPropertyTree!= null):((deleteReferencesCountPropertyTree == null)||(!deleteReferencesCountPropertyTree.isLeaf())))) { + this.deleteReferencesCount = _other.deleteReferencesCount; + } + final PropertyTree browseCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseCountPropertyTree!= null):((browseCountPropertyTree == null)||(!browseCountPropertyTree.isLeaf())))) { + this.browseCount = _other.browseCount; + } + final PropertyTree browseNextCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browseNextCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browseNextCountPropertyTree!= null):((browseNextCountPropertyTree == null)||(!browseNextCountPropertyTree.isLeaf())))) { + this.browseNextCount = _other.browseNextCount; + } + final PropertyTree translateBrowsePathsToNodeIdsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("translateBrowsePathsToNodeIdsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(translateBrowsePathsToNodeIdsCountPropertyTree!= null):((translateBrowsePathsToNodeIdsCountPropertyTree == null)||(!translateBrowsePathsToNodeIdsCountPropertyTree.isLeaf())))) { + this.translateBrowsePathsToNodeIdsCount = _other.translateBrowsePathsToNodeIdsCount; + } + final PropertyTree queryFirstCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryFirstCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryFirstCountPropertyTree!= null):((queryFirstCountPropertyTree == null)||(!queryFirstCountPropertyTree.isLeaf())))) { + this.queryFirstCount = _other.queryFirstCount; + } + final PropertyTree queryNextCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("queryNextCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(queryNextCountPropertyTree!= null):((queryNextCountPropertyTree == null)||(!queryNextCountPropertyTree.isLeaf())))) { + this.queryNextCount = _other.queryNextCount; + } + final PropertyTree registerNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("registerNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(registerNodesCountPropertyTree!= null):((registerNodesCountPropertyTree == null)||(!registerNodesCountPropertyTree.isLeaf())))) { + this.registerNodesCount = _other.registerNodesCount; + } + final PropertyTree unregisterNodesCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unregisterNodesCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unregisterNodesCountPropertyTree!= null):((unregisterNodesCountPropertyTree == null)||(!unregisterNodesCountPropertyTree.isLeaf())))) { + this.unregisterNodesCount = _other.unregisterNodesCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SessionDiagnosticsDataType >_P init(final _P _product) { + _product.sessionId = this.sessionId; + _product.sessionName = this.sessionName; + _product.clientDescription = this.clientDescription; + _product.serverUri = this.serverUri; + _product.endpointUrl = this.endpointUrl; + _product.localeIds = this.localeIds; + _product.actualSessionTimeout = this.actualSessionTimeout; + _product.maxResponseMessageSize = this.maxResponseMessageSize; + _product.clientConnectionTime = this.clientConnectionTime; + _product.clientLastContactTime = this.clientLastContactTime; + _product.currentSubscriptionsCount = this.currentSubscriptionsCount; + _product.currentMonitoredItemsCount = this.currentMonitoredItemsCount; + _product.currentPublishRequestsInQueue = this.currentPublishRequestsInQueue; + _product.totalRequestCount = this.totalRequestCount; + _product.unauthorizedRequestCount = this.unauthorizedRequestCount; + _product.readCount = this.readCount; + _product.historyReadCount = this.historyReadCount; + _product.writeCount = this.writeCount; + _product.historyUpdateCount = this.historyUpdateCount; + _product.callCount = this.callCount; + _product.createMonitoredItemsCount = this.createMonitoredItemsCount; + _product.modifyMonitoredItemsCount = this.modifyMonitoredItemsCount; + _product.setMonitoringModeCount = this.setMonitoringModeCount; + _product.setTriggeringCount = this.setTriggeringCount; + _product.deleteMonitoredItemsCount = this.deleteMonitoredItemsCount; + _product.createSubscriptionCount = this.createSubscriptionCount; + _product.modifySubscriptionCount = this.modifySubscriptionCount; + _product.setPublishingModeCount = this.setPublishingModeCount; + _product.publishCount = this.publishCount; + _product.republishCount = this.republishCount; + _product.transferSubscriptionsCount = this.transferSubscriptionsCount; + _product.deleteSubscriptionsCount = this.deleteSubscriptionsCount; + _product.addNodesCount = this.addNodesCount; + _product.addReferencesCount = this.addReferencesCount; + _product.deleteNodesCount = this.deleteNodesCount; + _product.deleteReferencesCount = this.deleteReferencesCount; + _product.browseCount = this.browseCount; + _product.browseNextCount = this.browseNextCount; + _product.translateBrowsePathsToNodeIdsCount = this.translateBrowsePathsToNodeIdsCount; + _product.queryFirstCount = this.queryFirstCount; + _product.queryNextCount = this.queryNextCount; + _product.registerNodesCount = this.registerNodesCount; + _product.unregisterNodesCount = this.unregisterNodesCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param sessionId + * Neuer Wert der Eigenschaft "sessionId". + */ + public SessionDiagnosticsDataType.Builder<_B> withSessionId(final JAXBElement sessionId) { + this.sessionId = sessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sessionName + * Neuer Wert der Eigenschaft "sessionName". + */ + public SessionDiagnosticsDataType.Builder<_B> withSessionName(final JAXBElement sessionName) { + this.sessionName = sessionName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientDescription" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param clientDescription + * Neuer Wert der Eigenschaft "clientDescription". + */ + public SessionDiagnosticsDataType.Builder<_B> withClientDescription(final JAXBElement clientDescription) { + this.clientDescription = clientDescription; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUri" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUri + * Neuer Wert der Eigenschaft "serverUri". + */ + public SessionDiagnosticsDataType.Builder<_B> withServerUri(final JAXBElement serverUri) { + this.serverUri = serverUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "endpointUrl" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param endpointUrl + * Neuer Wert der Eigenschaft "endpointUrl". + */ + public SessionDiagnosticsDataType.Builder<_B> withEndpointUrl(final JAXBElement endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localeIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param localeIds + * Neuer Wert der Eigenschaft "localeIds". + */ + public SessionDiagnosticsDataType.Builder<_B> withLocaleIds(final JAXBElement localeIds) { + this.localeIds = localeIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "actualSessionTimeout" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param actualSessionTimeout + * Neuer Wert der Eigenschaft "actualSessionTimeout". + */ + public SessionDiagnosticsDataType.Builder<_B> withActualSessionTimeout(final Double actualSessionTimeout) { + this.actualSessionTimeout = actualSessionTimeout; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxResponseMessageSize" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxResponseMessageSize + * Neuer Wert der Eigenschaft "maxResponseMessageSize". + */ + public SessionDiagnosticsDataType.Builder<_B> withMaxResponseMessageSize(final Long maxResponseMessageSize) { + this.maxResponseMessageSize = maxResponseMessageSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientConnectionTime" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param clientConnectionTime + * Neuer Wert der Eigenschaft "clientConnectionTime". + */ + public SessionDiagnosticsDataType.Builder<_B> withClientConnectionTime(final XMLGregorianCalendar clientConnectionTime) { + this.clientConnectionTime = clientConnectionTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientLastContactTime" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param clientLastContactTime + * Neuer Wert der Eigenschaft "clientLastContactTime". + */ + public SessionDiagnosticsDataType.Builder<_B> withClientLastContactTime(final XMLGregorianCalendar clientLastContactTime) { + this.clientLastContactTime = clientLastContactTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentSubscriptionsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param currentSubscriptionsCount + * Neuer Wert der Eigenschaft "currentSubscriptionsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withCurrentSubscriptionsCount(final Long currentSubscriptionsCount) { + this.currentSubscriptionsCount = currentSubscriptionsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentMonitoredItemsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param currentMonitoredItemsCount + * Neuer Wert der Eigenschaft "currentMonitoredItemsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withCurrentMonitoredItemsCount(final Long currentMonitoredItemsCount) { + this.currentMonitoredItemsCount = currentMonitoredItemsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentPublishRequestsInQueue" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param currentPublishRequestsInQueue + * Neuer Wert der Eigenschaft "currentPublishRequestsInQueue". + */ + public SessionDiagnosticsDataType.Builder<_B> withCurrentPublishRequestsInQueue(final Long currentPublishRequestsInQueue) { + this.currentPublishRequestsInQueue = currentPublishRequestsInQueue; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "totalRequestCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param totalRequestCount + * Neuer Wert der Eigenschaft "totalRequestCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withTotalRequestCount(final JAXBElement totalRequestCount) { + this.totalRequestCount = totalRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "unauthorizedRequestCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param unauthorizedRequestCount + * Neuer Wert der Eigenschaft "unauthorizedRequestCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withUnauthorizedRequestCount(final Long unauthorizedRequestCount) { + this.unauthorizedRequestCount = unauthorizedRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "readCount" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param readCount + * Neuer Wert der Eigenschaft "readCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withReadCount(final JAXBElement readCount) { + this.readCount = readCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyReadCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyReadCount + * Neuer Wert der Eigenschaft "historyReadCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withHistoryReadCount(final JAXBElement historyReadCount) { + this.historyReadCount = historyReadCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeCount" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeCount + * Neuer Wert der Eigenschaft "writeCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withWriteCount(final JAXBElement writeCount) { + this.writeCount = writeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historyUpdateCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param historyUpdateCount + * Neuer Wert der Eigenschaft "historyUpdateCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withHistoryUpdateCount(final JAXBElement historyUpdateCount) { + this.historyUpdateCount = historyUpdateCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "callCount" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param callCount + * Neuer Wert der Eigenschaft "callCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withCallCount(final JAXBElement callCount) { + this.callCount = callCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createMonitoredItemsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param createMonitoredItemsCount + * Neuer Wert der Eigenschaft "createMonitoredItemsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withCreateMonitoredItemsCount(final JAXBElement createMonitoredItemsCount) { + this.createMonitoredItemsCount = createMonitoredItemsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modifyMonitoredItemsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param modifyMonitoredItemsCount + * Neuer Wert der Eigenschaft "modifyMonitoredItemsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withModifyMonitoredItemsCount(final JAXBElement modifyMonitoredItemsCount) { + this.modifyMonitoredItemsCount = modifyMonitoredItemsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "setMonitoringModeCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param setMonitoringModeCount + * Neuer Wert der Eigenschaft "setMonitoringModeCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withSetMonitoringModeCount(final JAXBElement setMonitoringModeCount) { + this.setMonitoringModeCount = setMonitoringModeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "setTriggeringCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param setTriggeringCount + * Neuer Wert der Eigenschaft "setTriggeringCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withSetTriggeringCount(final JAXBElement setTriggeringCount) { + this.setTriggeringCount = setTriggeringCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteMonitoredItemsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param deleteMonitoredItemsCount + * Neuer Wert der Eigenschaft "deleteMonitoredItemsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withDeleteMonitoredItemsCount(final JAXBElement deleteMonitoredItemsCount) { + this.deleteMonitoredItemsCount = deleteMonitoredItemsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "createSubscriptionCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param createSubscriptionCount + * Neuer Wert der Eigenschaft "createSubscriptionCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withCreateSubscriptionCount(final JAXBElement createSubscriptionCount) { + this.createSubscriptionCount = createSubscriptionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modifySubscriptionCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param modifySubscriptionCount + * Neuer Wert der Eigenschaft "modifySubscriptionCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withModifySubscriptionCount(final JAXBElement modifySubscriptionCount) { + this.modifySubscriptionCount = modifySubscriptionCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "setPublishingModeCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param setPublishingModeCount + * Neuer Wert der Eigenschaft "setPublishingModeCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withSetPublishingModeCount(final JAXBElement setPublishingModeCount) { + this.setPublishingModeCount = setPublishingModeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param publishCount + * Neuer Wert der Eigenschaft "publishCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withPublishCount(final JAXBElement publishCount) { + this.publishCount = publishCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "republishCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param republishCount + * Neuer Wert der Eigenschaft "republishCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withRepublishCount(final JAXBElement republishCount) { + this.republishCount = republishCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transferSubscriptionsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param transferSubscriptionsCount + * Neuer Wert der Eigenschaft "transferSubscriptionsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withTransferSubscriptionsCount(final JAXBElement transferSubscriptionsCount) { + this.transferSubscriptionsCount = transferSubscriptionsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteSubscriptionsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param deleteSubscriptionsCount + * Neuer Wert der Eigenschaft "deleteSubscriptionsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withDeleteSubscriptionsCount(final JAXBElement deleteSubscriptionsCount) { + this.deleteSubscriptionsCount = deleteSubscriptionsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addNodesCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param addNodesCount + * Neuer Wert der Eigenschaft "addNodesCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withAddNodesCount(final JAXBElement addNodesCount) { + this.addNodesCount = addNodesCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addReferencesCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param addReferencesCount + * Neuer Wert der Eigenschaft "addReferencesCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withAddReferencesCount(final JAXBElement addReferencesCount) { + this.addReferencesCount = addReferencesCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteNodesCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param deleteNodesCount + * Neuer Wert der Eigenschaft "deleteNodesCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withDeleteNodesCount(final JAXBElement deleteNodesCount) { + this.deleteNodesCount = deleteNodesCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "deleteReferencesCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param deleteReferencesCount + * Neuer Wert der Eigenschaft "deleteReferencesCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withDeleteReferencesCount(final JAXBElement deleteReferencesCount) { + this.deleteReferencesCount = deleteReferencesCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param browseCount + * Neuer Wert der Eigenschaft "browseCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withBrowseCount(final JAXBElement browseCount) { + this.browseCount = browseCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseNextCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param browseNextCount + * Neuer Wert der Eigenschaft "browseNextCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withBrowseNextCount(final JAXBElement browseNextCount) { + this.browseNextCount = browseNextCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "translateBrowsePathsToNodeIdsCount" + * (Vorher zugewiesener Wert wird ersetzt) + * + * @param translateBrowsePathsToNodeIdsCount + * Neuer Wert der Eigenschaft "translateBrowsePathsToNodeIdsCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withTranslateBrowsePathsToNodeIdsCount(final JAXBElement translateBrowsePathsToNodeIdsCount) { + this.translateBrowsePathsToNodeIdsCount = translateBrowsePathsToNodeIdsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryFirstCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param queryFirstCount + * Neuer Wert der Eigenschaft "queryFirstCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withQueryFirstCount(final JAXBElement queryFirstCount) { + this.queryFirstCount = queryFirstCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "queryNextCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param queryNextCount + * Neuer Wert der Eigenschaft "queryNextCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withQueryNextCount(final JAXBElement queryNextCount) { + this.queryNextCount = queryNextCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "registerNodesCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param registerNodesCount + * Neuer Wert der Eigenschaft "registerNodesCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withRegisterNodesCount(final JAXBElement registerNodesCount) { + this.registerNodesCount = registerNodesCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "unregisterNodesCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param unregisterNodesCount + * Neuer Wert der Eigenschaft "unregisterNodesCount". + */ + public SessionDiagnosticsDataType.Builder<_B> withUnregisterNodesCount(final JAXBElement unregisterNodesCount) { + this.unregisterNodesCount = unregisterNodesCount; + return this; + } + + @Override + public SessionDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new SessionDiagnosticsDataType()); + } else { + return ((SessionDiagnosticsDataType) _storedValue); + } + } + + public SessionDiagnosticsDataType.Builder<_B> copyOf(final SessionDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public SessionDiagnosticsDataType.Builder<_B> copyOf(final SessionDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SessionDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SessionDiagnosticsDataType.Select _root() { + return new SessionDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sessionId = null; + private com.kscs.util.jaxb.Selector> sessionName = null; + private com.kscs.util.jaxb.Selector> clientDescription = null; + private com.kscs.util.jaxb.Selector> serverUri = null; + private com.kscs.util.jaxb.Selector> endpointUrl = null; + private com.kscs.util.jaxb.Selector> localeIds = null; + private com.kscs.util.jaxb.Selector> actualSessionTimeout = null; + private com.kscs.util.jaxb.Selector> maxResponseMessageSize = null; + private com.kscs.util.jaxb.Selector> clientConnectionTime = null; + private com.kscs.util.jaxb.Selector> clientLastContactTime = null; + private com.kscs.util.jaxb.Selector> currentSubscriptionsCount = null; + private com.kscs.util.jaxb.Selector> currentMonitoredItemsCount = null; + private com.kscs.util.jaxb.Selector> currentPublishRequestsInQueue = null; + private com.kscs.util.jaxb.Selector> totalRequestCount = null; + private com.kscs.util.jaxb.Selector> unauthorizedRequestCount = null; + private com.kscs.util.jaxb.Selector> readCount = null; + private com.kscs.util.jaxb.Selector> historyReadCount = null; + private com.kscs.util.jaxb.Selector> writeCount = null; + private com.kscs.util.jaxb.Selector> historyUpdateCount = null; + private com.kscs.util.jaxb.Selector> callCount = null; + private com.kscs.util.jaxb.Selector> createMonitoredItemsCount = null; + private com.kscs.util.jaxb.Selector> modifyMonitoredItemsCount = null; + private com.kscs.util.jaxb.Selector> setMonitoringModeCount = null; + private com.kscs.util.jaxb.Selector> setTriggeringCount = null; + private com.kscs.util.jaxb.Selector> deleteMonitoredItemsCount = null; + private com.kscs.util.jaxb.Selector> createSubscriptionCount = null; + private com.kscs.util.jaxb.Selector> modifySubscriptionCount = null; + private com.kscs.util.jaxb.Selector> setPublishingModeCount = null; + private com.kscs.util.jaxb.Selector> publishCount = null; + private com.kscs.util.jaxb.Selector> republishCount = null; + private com.kscs.util.jaxb.Selector> transferSubscriptionsCount = null; + private com.kscs.util.jaxb.Selector> deleteSubscriptionsCount = null; + private com.kscs.util.jaxb.Selector> addNodesCount = null; + private com.kscs.util.jaxb.Selector> addReferencesCount = null; + private com.kscs.util.jaxb.Selector> deleteNodesCount = null; + private com.kscs.util.jaxb.Selector> deleteReferencesCount = null; + private com.kscs.util.jaxb.Selector> browseCount = null; + private com.kscs.util.jaxb.Selector> browseNextCount = null; + private com.kscs.util.jaxb.Selector> translateBrowsePathsToNodeIdsCount = null; + private com.kscs.util.jaxb.Selector> queryFirstCount = null; + private com.kscs.util.jaxb.Selector> queryNextCount = null; + private com.kscs.util.jaxb.Selector> registerNodesCount = null; + private com.kscs.util.jaxb.Selector> unregisterNodesCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sessionId!= null) { + products.put("sessionId", this.sessionId.init()); + } + if (this.sessionName!= null) { + products.put("sessionName", this.sessionName.init()); + } + if (this.clientDescription!= null) { + products.put("clientDescription", this.clientDescription.init()); + } + if (this.serverUri!= null) { + products.put("serverUri", this.serverUri.init()); + } + if (this.endpointUrl!= null) { + products.put("endpointUrl", this.endpointUrl.init()); + } + if (this.localeIds!= null) { + products.put("localeIds", this.localeIds.init()); + } + if (this.actualSessionTimeout!= null) { + products.put("actualSessionTimeout", this.actualSessionTimeout.init()); + } + if (this.maxResponseMessageSize!= null) { + products.put("maxResponseMessageSize", this.maxResponseMessageSize.init()); + } + if (this.clientConnectionTime!= null) { + products.put("clientConnectionTime", this.clientConnectionTime.init()); + } + if (this.clientLastContactTime!= null) { + products.put("clientLastContactTime", this.clientLastContactTime.init()); + } + if (this.currentSubscriptionsCount!= null) { + products.put("currentSubscriptionsCount", this.currentSubscriptionsCount.init()); + } + if (this.currentMonitoredItemsCount!= null) { + products.put("currentMonitoredItemsCount", this.currentMonitoredItemsCount.init()); + } + if (this.currentPublishRequestsInQueue!= null) { + products.put("currentPublishRequestsInQueue", this.currentPublishRequestsInQueue.init()); + } + if (this.totalRequestCount!= null) { + products.put("totalRequestCount", this.totalRequestCount.init()); + } + if (this.unauthorizedRequestCount!= null) { + products.put("unauthorizedRequestCount", this.unauthorizedRequestCount.init()); + } + if (this.readCount!= null) { + products.put("readCount", this.readCount.init()); + } + if (this.historyReadCount!= null) { + products.put("historyReadCount", this.historyReadCount.init()); + } + if (this.writeCount!= null) { + products.put("writeCount", this.writeCount.init()); + } + if (this.historyUpdateCount!= null) { + products.put("historyUpdateCount", this.historyUpdateCount.init()); + } + if (this.callCount!= null) { + products.put("callCount", this.callCount.init()); + } + if (this.createMonitoredItemsCount!= null) { + products.put("createMonitoredItemsCount", this.createMonitoredItemsCount.init()); + } + if (this.modifyMonitoredItemsCount!= null) { + products.put("modifyMonitoredItemsCount", this.modifyMonitoredItemsCount.init()); + } + if (this.setMonitoringModeCount!= null) { + products.put("setMonitoringModeCount", this.setMonitoringModeCount.init()); + } + if (this.setTriggeringCount!= null) { + products.put("setTriggeringCount", this.setTriggeringCount.init()); + } + if (this.deleteMonitoredItemsCount!= null) { + products.put("deleteMonitoredItemsCount", this.deleteMonitoredItemsCount.init()); + } + if (this.createSubscriptionCount!= null) { + products.put("createSubscriptionCount", this.createSubscriptionCount.init()); + } + if (this.modifySubscriptionCount!= null) { + products.put("modifySubscriptionCount", this.modifySubscriptionCount.init()); + } + if (this.setPublishingModeCount!= null) { + products.put("setPublishingModeCount", this.setPublishingModeCount.init()); + } + if (this.publishCount!= null) { + products.put("publishCount", this.publishCount.init()); + } + if (this.republishCount!= null) { + products.put("republishCount", this.republishCount.init()); + } + if (this.transferSubscriptionsCount!= null) { + products.put("transferSubscriptionsCount", this.transferSubscriptionsCount.init()); + } + if (this.deleteSubscriptionsCount!= null) { + products.put("deleteSubscriptionsCount", this.deleteSubscriptionsCount.init()); + } + if (this.addNodesCount!= null) { + products.put("addNodesCount", this.addNodesCount.init()); + } + if (this.addReferencesCount!= null) { + products.put("addReferencesCount", this.addReferencesCount.init()); + } + if (this.deleteNodesCount!= null) { + products.put("deleteNodesCount", this.deleteNodesCount.init()); + } + if (this.deleteReferencesCount!= null) { + products.put("deleteReferencesCount", this.deleteReferencesCount.init()); + } + if (this.browseCount!= null) { + products.put("browseCount", this.browseCount.init()); + } + if (this.browseNextCount!= null) { + products.put("browseNextCount", this.browseNextCount.init()); + } + if (this.translateBrowsePathsToNodeIdsCount!= null) { + products.put("translateBrowsePathsToNodeIdsCount", this.translateBrowsePathsToNodeIdsCount.init()); + } + if (this.queryFirstCount!= null) { + products.put("queryFirstCount", this.queryFirstCount.init()); + } + if (this.queryNextCount!= null) { + products.put("queryNextCount", this.queryNextCount.init()); + } + if (this.registerNodesCount!= null) { + products.put("registerNodesCount", this.registerNodesCount.init()); + } + if (this.unregisterNodesCount!= null) { + products.put("unregisterNodesCount", this.unregisterNodesCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sessionId() { + return ((this.sessionId == null)?this.sessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionId"):this.sessionId); + } + + public com.kscs.util.jaxb.Selector> sessionName() { + return ((this.sessionName == null)?this.sessionName = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionName"):this.sessionName); + } + + public com.kscs.util.jaxb.Selector> clientDescription() { + return ((this.clientDescription == null)?this.clientDescription = new com.kscs.util.jaxb.Selector>(this._root, this, "clientDescription"):this.clientDescription); + } + + public com.kscs.util.jaxb.Selector> serverUri() { + return ((this.serverUri == null)?this.serverUri = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUri"):this.serverUri); + } + + public com.kscs.util.jaxb.Selector> endpointUrl() { + return ((this.endpointUrl == null)?this.endpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "endpointUrl"):this.endpointUrl); + } + + public com.kscs.util.jaxb.Selector> localeIds() { + return ((this.localeIds == null)?this.localeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "localeIds"):this.localeIds); + } + + public com.kscs.util.jaxb.Selector> actualSessionTimeout() { + return ((this.actualSessionTimeout == null)?this.actualSessionTimeout = new com.kscs.util.jaxb.Selector>(this._root, this, "actualSessionTimeout"):this.actualSessionTimeout); + } + + public com.kscs.util.jaxb.Selector> maxResponseMessageSize() { + return ((this.maxResponseMessageSize == null)?this.maxResponseMessageSize = new com.kscs.util.jaxb.Selector>(this._root, this, "maxResponseMessageSize"):this.maxResponseMessageSize); + } + + public com.kscs.util.jaxb.Selector> clientConnectionTime() { + return ((this.clientConnectionTime == null)?this.clientConnectionTime = new com.kscs.util.jaxb.Selector>(this._root, this, "clientConnectionTime"):this.clientConnectionTime); + } + + public com.kscs.util.jaxb.Selector> clientLastContactTime() { + return ((this.clientLastContactTime == null)?this.clientLastContactTime = new com.kscs.util.jaxb.Selector>(this._root, this, "clientLastContactTime"):this.clientLastContactTime); + } + + public com.kscs.util.jaxb.Selector> currentSubscriptionsCount() { + return ((this.currentSubscriptionsCount == null)?this.currentSubscriptionsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "currentSubscriptionsCount"):this.currentSubscriptionsCount); + } + + public com.kscs.util.jaxb.Selector> currentMonitoredItemsCount() { + return ((this.currentMonitoredItemsCount == null)?this.currentMonitoredItemsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "currentMonitoredItemsCount"):this.currentMonitoredItemsCount); + } + + public com.kscs.util.jaxb.Selector> currentPublishRequestsInQueue() { + return ((this.currentPublishRequestsInQueue == null)?this.currentPublishRequestsInQueue = new com.kscs.util.jaxb.Selector>(this._root, this, "currentPublishRequestsInQueue"):this.currentPublishRequestsInQueue); + } + + public com.kscs.util.jaxb.Selector> totalRequestCount() { + return ((this.totalRequestCount == null)?this.totalRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "totalRequestCount"):this.totalRequestCount); + } + + public com.kscs.util.jaxb.Selector> unauthorizedRequestCount() { + return ((this.unauthorizedRequestCount == null)?this.unauthorizedRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "unauthorizedRequestCount"):this.unauthorizedRequestCount); + } + + public com.kscs.util.jaxb.Selector> readCount() { + return ((this.readCount == null)?this.readCount = new com.kscs.util.jaxb.Selector>(this._root, this, "readCount"):this.readCount); + } + + public com.kscs.util.jaxb.Selector> historyReadCount() { + return ((this.historyReadCount == null)?this.historyReadCount = new com.kscs.util.jaxb.Selector>(this._root, this, "historyReadCount"):this.historyReadCount); + } + + public com.kscs.util.jaxb.Selector> writeCount() { + return ((this.writeCount == null)?this.writeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "writeCount"):this.writeCount); + } + + public com.kscs.util.jaxb.Selector> historyUpdateCount() { + return ((this.historyUpdateCount == null)?this.historyUpdateCount = new com.kscs.util.jaxb.Selector>(this._root, this, "historyUpdateCount"):this.historyUpdateCount); + } + + public com.kscs.util.jaxb.Selector> callCount() { + return ((this.callCount == null)?this.callCount = new com.kscs.util.jaxb.Selector>(this._root, this, "callCount"):this.callCount); + } + + public com.kscs.util.jaxb.Selector> createMonitoredItemsCount() { + return ((this.createMonitoredItemsCount == null)?this.createMonitoredItemsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "createMonitoredItemsCount"):this.createMonitoredItemsCount); + } + + public com.kscs.util.jaxb.Selector> modifyMonitoredItemsCount() { + return ((this.modifyMonitoredItemsCount == null)?this.modifyMonitoredItemsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "modifyMonitoredItemsCount"):this.modifyMonitoredItemsCount); + } + + public com.kscs.util.jaxb.Selector> setMonitoringModeCount() { + return ((this.setMonitoringModeCount == null)?this.setMonitoringModeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "setMonitoringModeCount"):this.setMonitoringModeCount); + } + + public com.kscs.util.jaxb.Selector> setTriggeringCount() { + return ((this.setTriggeringCount == null)?this.setTriggeringCount = new com.kscs.util.jaxb.Selector>(this._root, this, "setTriggeringCount"):this.setTriggeringCount); + } + + public com.kscs.util.jaxb.Selector> deleteMonitoredItemsCount() { + return ((this.deleteMonitoredItemsCount == null)?this.deleteMonitoredItemsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteMonitoredItemsCount"):this.deleteMonitoredItemsCount); + } + + public com.kscs.util.jaxb.Selector> createSubscriptionCount() { + return ((this.createSubscriptionCount == null)?this.createSubscriptionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "createSubscriptionCount"):this.createSubscriptionCount); + } + + public com.kscs.util.jaxb.Selector> modifySubscriptionCount() { + return ((this.modifySubscriptionCount == null)?this.modifySubscriptionCount = new com.kscs.util.jaxb.Selector>(this._root, this, "modifySubscriptionCount"):this.modifySubscriptionCount); + } + + public com.kscs.util.jaxb.Selector> setPublishingModeCount() { + return ((this.setPublishingModeCount == null)?this.setPublishingModeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "setPublishingModeCount"):this.setPublishingModeCount); + } + + public com.kscs.util.jaxb.Selector> publishCount() { + return ((this.publishCount == null)?this.publishCount = new com.kscs.util.jaxb.Selector>(this._root, this, "publishCount"):this.publishCount); + } + + public com.kscs.util.jaxb.Selector> republishCount() { + return ((this.republishCount == null)?this.republishCount = new com.kscs.util.jaxb.Selector>(this._root, this, "republishCount"):this.republishCount); + } + + public com.kscs.util.jaxb.Selector> transferSubscriptionsCount() { + return ((this.transferSubscriptionsCount == null)?this.transferSubscriptionsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "transferSubscriptionsCount"):this.transferSubscriptionsCount); + } + + public com.kscs.util.jaxb.Selector> deleteSubscriptionsCount() { + return ((this.deleteSubscriptionsCount == null)?this.deleteSubscriptionsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteSubscriptionsCount"):this.deleteSubscriptionsCount); + } + + public com.kscs.util.jaxb.Selector> addNodesCount() { + return ((this.addNodesCount == null)?this.addNodesCount = new com.kscs.util.jaxb.Selector>(this._root, this, "addNodesCount"):this.addNodesCount); + } + + public com.kscs.util.jaxb.Selector> addReferencesCount() { + return ((this.addReferencesCount == null)?this.addReferencesCount = new com.kscs.util.jaxb.Selector>(this._root, this, "addReferencesCount"):this.addReferencesCount); + } + + public com.kscs.util.jaxb.Selector> deleteNodesCount() { + return ((this.deleteNodesCount == null)?this.deleteNodesCount = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteNodesCount"):this.deleteNodesCount); + } + + public com.kscs.util.jaxb.Selector> deleteReferencesCount() { + return ((this.deleteReferencesCount == null)?this.deleteReferencesCount = new com.kscs.util.jaxb.Selector>(this._root, this, "deleteReferencesCount"):this.deleteReferencesCount); + } + + public com.kscs.util.jaxb.Selector> browseCount() { + return ((this.browseCount == null)?this.browseCount = new com.kscs.util.jaxb.Selector>(this._root, this, "browseCount"):this.browseCount); + } + + public com.kscs.util.jaxb.Selector> browseNextCount() { + return ((this.browseNextCount == null)?this.browseNextCount = new com.kscs.util.jaxb.Selector>(this._root, this, "browseNextCount"):this.browseNextCount); + } + + public com.kscs.util.jaxb.Selector> translateBrowsePathsToNodeIdsCount() { + return ((this.translateBrowsePathsToNodeIdsCount == null)?this.translateBrowsePathsToNodeIdsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "translateBrowsePathsToNodeIdsCount"):this.translateBrowsePathsToNodeIdsCount); + } + + public com.kscs.util.jaxb.Selector> queryFirstCount() { + return ((this.queryFirstCount == null)?this.queryFirstCount = new com.kscs.util.jaxb.Selector>(this._root, this, "queryFirstCount"):this.queryFirstCount); + } + + public com.kscs.util.jaxb.Selector> queryNextCount() { + return ((this.queryNextCount == null)?this.queryNextCount = new com.kscs.util.jaxb.Selector>(this._root, this, "queryNextCount"):this.queryNextCount); + } + + public com.kscs.util.jaxb.Selector> registerNodesCount() { + return ((this.registerNodesCount == null)?this.registerNodesCount = new com.kscs.util.jaxb.Selector>(this._root, this, "registerNodesCount"):this.registerNodesCount); + } + + public com.kscs.util.jaxb.Selector> unregisterNodesCount() { + return ((this.unregisterNodesCount == null)?this.unregisterNodesCount = new com.kscs.util.jaxb.Selector>(this._root, this, "unregisterNodesCount"):this.unregisterNodesCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionSecurityDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionSecurityDiagnosticsDataType.java new file mode 100644 index 000000000..155905c64 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionSecurityDiagnosticsDataType.java @@ -0,0 +1,743 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SessionSecurityDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SessionSecurityDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ClientUserIdOfSession" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ClientUserIdHistory" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="AuthenticationMechanism" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Encoding" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TransportProtocol" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MessageSecurityMode" minOccurs="0"/>
+ *         <element name="SecurityPolicyUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="ClientCertificate" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SessionSecurityDiagnosticsDataType", propOrder = { + "sessionId", + "clientUserIdOfSession", + "clientUserIdHistory", + "authenticationMechanism", + "encoding", + "transportProtocol", + "securityMode", + "securityPolicyUri", + "clientCertificate" +}) +public class SessionSecurityDiagnosticsDataType { + + @XmlElementRef(name = "SessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sessionId; + @XmlElementRef(name = "ClientUserIdOfSession", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientUserIdOfSession; + @XmlElementRef(name = "ClientUserIdHistory", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientUserIdHistory; + @XmlElementRef(name = "AuthenticationMechanism", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement authenticationMechanism; + @XmlElementRef(name = "Encoding", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement encoding; + @XmlElementRef(name = "TransportProtocol", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportProtocol; + @XmlElement(name = "SecurityMode") + @XmlSchemaType(name = "string") + protected MessageSecurityMode securityMode; + @XmlElementRef(name = "SecurityPolicyUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityPolicyUri; + @XmlElementRef(name = "ClientCertificate", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement clientCertificate; + + /** + * Ruft den Wert der sessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getSessionId() { + return sessionId; + } + + /** + * Legt den Wert der sessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setSessionId(JAXBElement value) { + this.sessionId = value; + } + + /** + * Ruft den Wert der clientUserIdOfSession-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getClientUserIdOfSession() { + return clientUserIdOfSession; + } + + /** + * Legt den Wert der clientUserIdOfSession-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setClientUserIdOfSession(JAXBElement value) { + this.clientUserIdOfSession = value; + } + + /** + * Ruft den Wert der clientUserIdHistory-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getClientUserIdHistory() { + return clientUserIdHistory; + } + + /** + * Legt den Wert der clientUserIdHistory-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setClientUserIdHistory(JAXBElement value) { + this.clientUserIdHistory = value; + } + + /** + * Ruft den Wert der authenticationMechanism-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAuthenticationMechanism() { + return authenticationMechanism; + } + + /** + * Legt den Wert der authenticationMechanism-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAuthenticationMechanism(JAXBElement value) { + this.authenticationMechanism = value; + } + + /** + * Ruft den Wert der encoding-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEncoding() { + return encoding; + } + + /** + * Legt den Wert der encoding-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEncoding(JAXBElement value) { + this.encoding = value; + } + + /** + * Ruft den Wert der transportProtocol-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getTransportProtocol() { + return transportProtocol; + } + + /** + * Legt den Wert der transportProtocol-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setTransportProtocol(JAXBElement value) { + this.transportProtocol = value; + } + + /** + * Ruft den Wert der securityMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MessageSecurityMode } + * + */ + public MessageSecurityMode getSecurityMode() { + return securityMode; + } + + /** + * Legt den Wert der securityMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MessageSecurityMode } + * + */ + public void setSecurityMode(MessageSecurityMode value) { + this.securityMode = value; + } + + /** + * Ruft den Wert der securityPolicyUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSecurityPolicyUri() { + return securityPolicyUri; + } + + /** + * Legt den Wert der securityPolicyUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSecurityPolicyUri(JAXBElement value) { + this.securityPolicyUri = value; + } + + /** + * Ruft den Wert der clientCertificate-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getClientCertificate() { + return clientCertificate; + } + + /** + * Legt den Wert der clientCertificate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setClientCertificate(JAXBElement value) { + this.clientCertificate = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionSecurityDiagnosticsDataType.Builder<_B> _other) { + _other.sessionId = this.sessionId; + _other.clientUserIdOfSession = this.clientUserIdOfSession; + _other.clientUserIdHistory = this.clientUserIdHistory; + _other.authenticationMechanism = this.authenticationMechanism; + _other.encoding = this.encoding; + _other.transportProtocol = this.transportProtocol; + _other.securityMode = this.securityMode; + _other.securityPolicyUri = this.securityPolicyUri; + _other.clientCertificate = this.clientCertificate; + } + + public<_B >SessionSecurityDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SessionSecurityDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public SessionSecurityDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SessionSecurityDiagnosticsDataType.Builder builder() { + return new SessionSecurityDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >SessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final SessionSecurityDiagnosticsDataType _other) { + final SessionSecurityDiagnosticsDataType.Builder<_B> _newBuilder = new SessionSecurityDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionSecurityDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + _other.sessionId = this.sessionId; + } + final PropertyTree clientUserIdOfSessionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientUserIdOfSession")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientUserIdOfSessionPropertyTree!= null):((clientUserIdOfSessionPropertyTree == null)||(!clientUserIdOfSessionPropertyTree.isLeaf())))) { + _other.clientUserIdOfSession = this.clientUserIdOfSession; + } + final PropertyTree clientUserIdHistoryPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientUserIdHistory")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientUserIdHistoryPropertyTree!= null):((clientUserIdHistoryPropertyTree == null)||(!clientUserIdHistoryPropertyTree.isLeaf())))) { + _other.clientUserIdHistory = this.clientUserIdHistory; + } + final PropertyTree authenticationMechanismPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationMechanism")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationMechanismPropertyTree!= null):((authenticationMechanismPropertyTree == null)||(!authenticationMechanismPropertyTree.isLeaf())))) { + _other.authenticationMechanism = this.authenticationMechanism; + } + final PropertyTree encodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("encoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(encodingPropertyTree!= null):((encodingPropertyTree == null)||(!encodingPropertyTree.isLeaf())))) { + _other.encoding = this.encoding; + } + final PropertyTree transportProtocolPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProtocol")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProtocolPropertyTree!= null):((transportProtocolPropertyTree == null)||(!transportProtocolPropertyTree.isLeaf())))) { + _other.transportProtocol = this.transportProtocol; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + _other.securityMode = this.securityMode; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + _other.securityPolicyUri = this.securityPolicyUri; + } + final PropertyTree clientCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientCertificatePropertyTree!= null):((clientCertificatePropertyTree == null)||(!clientCertificatePropertyTree.isLeaf())))) { + _other.clientCertificate = this.clientCertificate; + } + } + + public<_B >SessionSecurityDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SessionSecurityDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SessionSecurityDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final SessionSecurityDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SessionSecurityDiagnosticsDataType.Builder<_B> _newBuilder = new SessionSecurityDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SessionSecurityDiagnosticsDataType.Builder copyExcept(final SessionSecurityDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SessionSecurityDiagnosticsDataType.Builder copyOnly(final SessionSecurityDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SessionSecurityDiagnosticsDataType _storedValue; + private JAXBElement sessionId; + private JAXBElement clientUserIdOfSession; + private JAXBElement clientUserIdHistory; + private JAXBElement authenticationMechanism; + private JAXBElement encoding; + private JAXBElement transportProtocol; + private MessageSecurityMode securityMode; + private JAXBElement securityPolicyUri; + private JAXBElement clientCertificate; + + public Builder(final _B _parentBuilder, final SessionSecurityDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.sessionId = _other.sessionId; + this.clientUserIdOfSession = _other.clientUserIdOfSession; + this.clientUserIdHistory = _other.clientUserIdHistory; + this.authenticationMechanism = _other.authenticationMechanism; + this.encoding = _other.encoding; + this.transportProtocol = _other.transportProtocol; + this.securityMode = _other.securityMode; + this.securityPolicyUri = _other.securityPolicyUri; + this.clientCertificate = _other.clientCertificate; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SessionSecurityDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + this.sessionId = _other.sessionId; + } + final PropertyTree clientUserIdOfSessionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientUserIdOfSession")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientUserIdOfSessionPropertyTree!= null):((clientUserIdOfSessionPropertyTree == null)||(!clientUserIdOfSessionPropertyTree.isLeaf())))) { + this.clientUserIdOfSession = _other.clientUserIdOfSession; + } + final PropertyTree clientUserIdHistoryPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientUserIdHistory")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientUserIdHistoryPropertyTree!= null):((clientUserIdHistoryPropertyTree == null)||(!clientUserIdHistoryPropertyTree.isLeaf())))) { + this.clientUserIdHistory = _other.clientUserIdHistory; + } + final PropertyTree authenticationMechanismPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("authenticationMechanism")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(authenticationMechanismPropertyTree!= null):((authenticationMechanismPropertyTree == null)||(!authenticationMechanismPropertyTree.isLeaf())))) { + this.authenticationMechanism = _other.authenticationMechanism; + } + final PropertyTree encodingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("encoding")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(encodingPropertyTree!= null):((encodingPropertyTree == null)||(!encodingPropertyTree.isLeaf())))) { + this.encoding = _other.encoding; + } + final PropertyTree transportProtocolPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportProtocol")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportProtocolPropertyTree!= null):((transportProtocolPropertyTree == null)||(!transportProtocolPropertyTree.isLeaf())))) { + this.transportProtocol = _other.transportProtocol; + } + final PropertyTree securityModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityModePropertyTree!= null):((securityModePropertyTree == null)||(!securityModePropertyTree.isLeaf())))) { + this.securityMode = _other.securityMode; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + this.securityPolicyUri = _other.securityPolicyUri; + } + final PropertyTree clientCertificatePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("clientCertificate")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(clientCertificatePropertyTree!= null):((clientCertificatePropertyTree == null)||(!clientCertificatePropertyTree.isLeaf())))) { + this.clientCertificate = _other.clientCertificate; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SessionSecurityDiagnosticsDataType >_P init(final _P _product) { + _product.sessionId = this.sessionId; + _product.clientUserIdOfSession = this.clientUserIdOfSession; + _product.clientUserIdHistory = this.clientUserIdHistory; + _product.authenticationMechanism = this.authenticationMechanism; + _product.encoding = this.encoding; + _product.transportProtocol = this.transportProtocol; + _product.securityMode = this.securityMode; + _product.securityPolicyUri = this.securityPolicyUri; + _product.clientCertificate = this.clientCertificate; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param sessionId + * Neuer Wert der Eigenschaft "sessionId". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withSessionId(final JAXBElement sessionId) { + this.sessionId = sessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientUserIdOfSession" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param clientUserIdOfSession + * Neuer Wert der Eigenschaft "clientUserIdOfSession". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withClientUserIdOfSession(final JAXBElement clientUserIdOfSession) { + this.clientUserIdOfSession = clientUserIdOfSession; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientUserIdHistory" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param clientUserIdHistory + * Neuer Wert der Eigenschaft "clientUserIdHistory". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withClientUserIdHistory(final JAXBElement clientUserIdHistory) { + this.clientUserIdHistory = clientUserIdHistory; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "authenticationMechanism" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param authenticationMechanism + * Neuer Wert der Eigenschaft "authenticationMechanism". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withAuthenticationMechanism(final JAXBElement authenticationMechanism) { + this.authenticationMechanism = authenticationMechanism; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "encoding" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param encoding + * Neuer Wert der Eigenschaft "encoding". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withEncoding(final JAXBElement encoding) { + this.encoding = encoding; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportProtocol" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportProtocol + * Neuer Wert der Eigenschaft "transportProtocol". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withTransportProtocol(final JAXBElement transportProtocol) { + this.transportProtocol = transportProtocol; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + this.securityMode = securityMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityPolicyUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityPolicyUri + * Neuer Wert der Eigenschaft "securityPolicyUri". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withSecurityPolicyUri(final JAXBElement securityPolicyUri) { + this.securityPolicyUri = securityPolicyUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "clientCertificate" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param clientCertificate + * Neuer Wert der Eigenschaft "clientCertificate". + */ + public SessionSecurityDiagnosticsDataType.Builder<_B> withClientCertificate(final JAXBElement clientCertificate) { + this.clientCertificate = clientCertificate; + return this; + } + + @Override + public SessionSecurityDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new SessionSecurityDiagnosticsDataType()); + } else { + return ((SessionSecurityDiagnosticsDataType) _storedValue); + } + } + + public SessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final SessionSecurityDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public SessionSecurityDiagnosticsDataType.Builder<_B> copyOf(final SessionSecurityDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SessionSecurityDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SessionSecurityDiagnosticsDataType.Select _root() { + return new SessionSecurityDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sessionId = null; + private com.kscs.util.jaxb.Selector> clientUserIdOfSession = null; + private com.kscs.util.jaxb.Selector> clientUserIdHistory = null; + private com.kscs.util.jaxb.Selector> authenticationMechanism = null; + private com.kscs.util.jaxb.Selector> encoding = null; + private com.kscs.util.jaxb.Selector> transportProtocol = null; + private com.kscs.util.jaxb.Selector> securityMode = null; + private com.kscs.util.jaxb.Selector> securityPolicyUri = null; + private com.kscs.util.jaxb.Selector> clientCertificate = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sessionId!= null) { + products.put("sessionId", this.sessionId.init()); + } + if (this.clientUserIdOfSession!= null) { + products.put("clientUserIdOfSession", this.clientUserIdOfSession.init()); + } + if (this.clientUserIdHistory!= null) { + products.put("clientUserIdHistory", this.clientUserIdHistory.init()); + } + if (this.authenticationMechanism!= null) { + products.put("authenticationMechanism", this.authenticationMechanism.init()); + } + if (this.encoding!= null) { + products.put("encoding", this.encoding.init()); + } + if (this.transportProtocol!= null) { + products.put("transportProtocol", this.transportProtocol.init()); + } + if (this.securityMode!= null) { + products.put("securityMode", this.securityMode.init()); + } + if (this.securityPolicyUri!= null) { + products.put("securityPolicyUri", this.securityPolicyUri.init()); + } + if (this.clientCertificate!= null) { + products.put("clientCertificate", this.clientCertificate.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sessionId() { + return ((this.sessionId == null)?this.sessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionId"):this.sessionId); + } + + public com.kscs.util.jaxb.Selector> clientUserIdOfSession() { + return ((this.clientUserIdOfSession == null)?this.clientUserIdOfSession = new com.kscs.util.jaxb.Selector>(this._root, this, "clientUserIdOfSession"):this.clientUserIdOfSession); + } + + public com.kscs.util.jaxb.Selector> clientUserIdHistory() { + return ((this.clientUserIdHistory == null)?this.clientUserIdHistory = new com.kscs.util.jaxb.Selector>(this._root, this, "clientUserIdHistory"):this.clientUserIdHistory); + } + + public com.kscs.util.jaxb.Selector> authenticationMechanism() { + return ((this.authenticationMechanism == null)?this.authenticationMechanism = new com.kscs.util.jaxb.Selector>(this._root, this, "authenticationMechanism"):this.authenticationMechanism); + } + + public com.kscs.util.jaxb.Selector> encoding() { + return ((this.encoding == null)?this.encoding = new com.kscs.util.jaxb.Selector>(this._root, this, "encoding"):this.encoding); + } + + public com.kscs.util.jaxb.Selector> transportProtocol() { + return ((this.transportProtocol == null)?this.transportProtocol = new com.kscs.util.jaxb.Selector>(this._root, this, "transportProtocol"):this.transportProtocol); + } + + public com.kscs.util.jaxb.Selector> securityMode() { + return ((this.securityMode == null)?this.securityMode = new com.kscs.util.jaxb.Selector>(this._root, this, "securityMode"):this.securityMode); + } + + public com.kscs.util.jaxb.Selector> securityPolicyUri() { + return ((this.securityPolicyUri == null)?this.securityPolicyUri = new com.kscs.util.jaxb.Selector>(this._root, this, "securityPolicyUri"):this.securityPolicyUri); + } + + public com.kscs.util.jaxb.Selector> clientCertificate() { + return ((this.clientCertificate == null)?this.clientCertificate = new com.kscs.util.jaxb.Selector>(this._root, this, "clientCertificate"):this.clientCertificate); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeRequestType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeRequestType.java new file mode 100644 index 000000000..11694c8c4 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeRequestType.java @@ -0,0 +1,504 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SessionlessInvokeRequestType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SessionlessInvokeRequestType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="UrisVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="NamespaceUris" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ServerUris" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="LocaleIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ServiceId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SessionlessInvokeRequestType", propOrder = { + "urisVersion", + "namespaceUris", + "serverUris", + "localeIds", + "serviceId" +}) +public class SessionlessInvokeRequestType { + + @XmlElement(name = "UrisVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long urisVersion; + @XmlElementRef(name = "NamespaceUris", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement namespaceUris; + @XmlElementRef(name = "ServerUris", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUris; + @XmlElementRef(name = "LocaleIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement localeIds; + @XmlElement(name = "ServiceId") + @XmlSchemaType(name = "unsignedInt") + protected Long serviceId; + + /** + * Ruft den Wert der urisVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getUrisVersion() { + return urisVersion; + } + + /** + * Legt den Wert der urisVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setUrisVersion(Long value) { + this.urisVersion = value; + } + + /** + * Ruft den Wert der namespaceUris-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getNamespaceUris() { + return namespaceUris; + } + + /** + * Legt den Wert der namespaceUris-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setNamespaceUris(JAXBElement value) { + this.namespaceUris = value; + } + + /** + * Ruft den Wert der serverUris-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getServerUris() { + return serverUris; + } + + /** + * Legt den Wert der serverUris-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setServerUris(JAXBElement value) { + this.serverUris = value; + } + + /** + * Ruft den Wert der localeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getLocaleIds() { + return localeIds; + } + + /** + * Legt den Wert der localeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setLocaleIds(JAXBElement value) { + this.localeIds = value; + } + + /** + * Ruft den Wert der serviceId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getServiceId() { + return serviceId; + } + + /** + * Legt den Wert der serviceId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setServiceId(Long value) { + this.serviceId = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionlessInvokeRequestType.Builder<_B> _other) { + _other.urisVersion = this.urisVersion; + _other.namespaceUris = this.namespaceUris; + _other.serverUris = this.serverUris; + _other.localeIds = this.localeIds; + _other.serviceId = this.serviceId; + } + + public<_B >SessionlessInvokeRequestType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SessionlessInvokeRequestType.Builder<_B>(_parentBuilder, this, true); + } + + public SessionlessInvokeRequestType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SessionlessInvokeRequestType.Builder builder() { + return new SessionlessInvokeRequestType.Builder(null, null, false); + } + + public static<_B >SessionlessInvokeRequestType.Builder<_B> copyOf(final SessionlessInvokeRequestType _other) { + final SessionlessInvokeRequestType.Builder<_B> _newBuilder = new SessionlessInvokeRequestType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionlessInvokeRequestType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree urisVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("urisVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(urisVersionPropertyTree!= null):((urisVersionPropertyTree == null)||(!urisVersionPropertyTree.isLeaf())))) { + _other.urisVersion = this.urisVersion; + } + final PropertyTree namespaceUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUrisPropertyTree!= null):((namespaceUrisPropertyTree == null)||(!namespaceUrisPropertyTree.isLeaf())))) { + _other.namespaceUris = this.namespaceUris; + } + final PropertyTree serverUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUrisPropertyTree!= null):((serverUrisPropertyTree == null)||(!serverUrisPropertyTree.isLeaf())))) { + _other.serverUris = this.serverUris; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + _other.localeIds = this.localeIds; + } + final PropertyTree serviceIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceIdPropertyTree!= null):((serviceIdPropertyTree == null)||(!serviceIdPropertyTree.isLeaf())))) { + _other.serviceId = this.serviceId; + } + } + + public<_B >SessionlessInvokeRequestType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SessionlessInvokeRequestType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SessionlessInvokeRequestType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SessionlessInvokeRequestType.Builder<_B> copyOf(final SessionlessInvokeRequestType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SessionlessInvokeRequestType.Builder<_B> _newBuilder = new SessionlessInvokeRequestType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SessionlessInvokeRequestType.Builder copyExcept(final SessionlessInvokeRequestType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SessionlessInvokeRequestType.Builder copyOnly(final SessionlessInvokeRequestType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SessionlessInvokeRequestType _storedValue; + private Long urisVersion; + private JAXBElement namespaceUris; + private JAXBElement serverUris; + private JAXBElement localeIds; + private Long serviceId; + + public Builder(final _B _parentBuilder, final SessionlessInvokeRequestType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.urisVersion = _other.urisVersion; + this.namespaceUris = _other.namespaceUris; + this.serverUris = _other.serverUris; + this.localeIds = _other.localeIds; + this.serviceId = _other.serviceId; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SessionlessInvokeRequestType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree urisVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("urisVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(urisVersionPropertyTree!= null):((urisVersionPropertyTree == null)||(!urisVersionPropertyTree.isLeaf())))) { + this.urisVersion = _other.urisVersion; + } + final PropertyTree namespaceUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUrisPropertyTree!= null):((namespaceUrisPropertyTree == null)||(!namespaceUrisPropertyTree.isLeaf())))) { + this.namespaceUris = _other.namespaceUris; + } + final PropertyTree serverUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUrisPropertyTree!= null):((serverUrisPropertyTree == null)||(!serverUrisPropertyTree.isLeaf())))) { + this.serverUris = _other.serverUris; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + this.localeIds = _other.localeIds; + } + final PropertyTree serviceIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceIdPropertyTree!= null):((serviceIdPropertyTree == null)||(!serviceIdPropertyTree.isLeaf())))) { + this.serviceId = _other.serviceId; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SessionlessInvokeRequestType >_P init(final _P _product) { + _product.urisVersion = this.urisVersion; + _product.namespaceUris = this.namespaceUris; + _product.serverUris = this.serverUris; + _product.localeIds = this.localeIds; + _product.serviceId = this.serviceId; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "urisVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param urisVersion + * Neuer Wert der Eigenschaft "urisVersion". + */ + public SessionlessInvokeRequestType.Builder<_B> withUrisVersion(final Long urisVersion) { + this.urisVersion = urisVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaceUris" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param namespaceUris + * Neuer Wert der Eigenschaft "namespaceUris". + */ + public SessionlessInvokeRequestType.Builder<_B> withNamespaceUris(final JAXBElement namespaceUris) { + this.namespaceUris = namespaceUris; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUris" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUris + * Neuer Wert der Eigenschaft "serverUris". + */ + public SessionlessInvokeRequestType.Builder<_B> withServerUris(final JAXBElement serverUris) { + this.serverUris = serverUris; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localeIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param localeIds + * Neuer Wert der Eigenschaft "localeIds". + */ + public SessionlessInvokeRequestType.Builder<_B> withLocaleIds(final JAXBElement localeIds) { + this.localeIds = localeIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serviceId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serviceId + * Neuer Wert der Eigenschaft "serviceId". + */ + public SessionlessInvokeRequestType.Builder<_B> withServiceId(final Long serviceId) { + this.serviceId = serviceId; + return this; + } + + @Override + public SessionlessInvokeRequestType build() { + if (_storedValue == null) { + return this.init(new SessionlessInvokeRequestType()); + } else { + return ((SessionlessInvokeRequestType) _storedValue); + } + } + + public SessionlessInvokeRequestType.Builder<_B> copyOf(final SessionlessInvokeRequestType _other) { + _other.copyTo(this); + return this; + } + + public SessionlessInvokeRequestType.Builder<_B> copyOf(final SessionlessInvokeRequestType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SessionlessInvokeRequestType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SessionlessInvokeRequestType.Select _root() { + return new SessionlessInvokeRequestType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> urisVersion = null; + private com.kscs.util.jaxb.Selector> namespaceUris = null; + private com.kscs.util.jaxb.Selector> serverUris = null; + private com.kscs.util.jaxb.Selector> localeIds = null; + private com.kscs.util.jaxb.Selector> serviceId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.urisVersion!= null) { + products.put("urisVersion", this.urisVersion.init()); + } + if (this.namespaceUris!= null) { + products.put("namespaceUris", this.namespaceUris.init()); + } + if (this.serverUris!= null) { + products.put("serverUris", this.serverUris.init()); + } + if (this.localeIds!= null) { + products.put("localeIds", this.localeIds.init()); + } + if (this.serviceId!= null) { + products.put("serviceId", this.serviceId.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> urisVersion() { + return ((this.urisVersion == null)?this.urisVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "urisVersion"):this.urisVersion); + } + + public com.kscs.util.jaxb.Selector> namespaceUris() { + return ((this.namespaceUris == null)?this.namespaceUris = new com.kscs.util.jaxb.Selector>(this._root, this, "namespaceUris"):this.namespaceUris); + } + + public com.kscs.util.jaxb.Selector> serverUris() { + return ((this.serverUris == null)?this.serverUris = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUris"):this.serverUris); + } + + public com.kscs.util.jaxb.Selector> localeIds() { + return ((this.localeIds == null)?this.localeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "localeIds"):this.localeIds); + } + + public com.kscs.util.jaxb.Selector> serviceId() { + return ((this.serviceId == null)?this.serviceId = new com.kscs.util.jaxb.Selector>(this._root, this, "serviceId"):this.serviceId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeResponseType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeResponseType.java new file mode 100644 index 000000000..abc740dc9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SessionlessInvokeResponseType.java @@ -0,0 +1,383 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SessionlessInvokeResponseType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SessionlessInvokeResponseType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NamespaceUris" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ServerUris" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="ServiceId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SessionlessInvokeResponseType", propOrder = { + "namespaceUris", + "serverUris", + "serviceId" +}) +public class SessionlessInvokeResponseType { + + @XmlElementRef(name = "NamespaceUris", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement namespaceUris; + @XmlElementRef(name = "ServerUris", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement serverUris; + @XmlElement(name = "ServiceId") + @XmlSchemaType(name = "unsignedInt") + protected Long serviceId; + + /** + * Ruft den Wert der namespaceUris-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getNamespaceUris() { + return namespaceUris; + } + + /** + * Legt den Wert der namespaceUris-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setNamespaceUris(JAXBElement value) { + this.namespaceUris = value; + } + + /** + * Ruft den Wert der serverUris-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getServerUris() { + return serverUris; + } + + /** + * Legt den Wert der serverUris-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setServerUris(JAXBElement value) { + this.serverUris = value; + } + + /** + * Ruft den Wert der serviceId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getServiceId() { + return serviceId; + } + + /** + * Legt den Wert der serviceId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setServiceId(Long value) { + this.serviceId = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionlessInvokeResponseType.Builder<_B> _other) { + _other.namespaceUris = this.namespaceUris; + _other.serverUris = this.serverUris; + _other.serviceId = this.serviceId; + } + + public<_B >SessionlessInvokeResponseType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SessionlessInvokeResponseType.Builder<_B>(_parentBuilder, this, true); + } + + public SessionlessInvokeResponseType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SessionlessInvokeResponseType.Builder builder() { + return new SessionlessInvokeResponseType.Builder(null, null, false); + } + + public static<_B >SessionlessInvokeResponseType.Builder<_B> copyOf(final SessionlessInvokeResponseType _other) { + final SessionlessInvokeResponseType.Builder<_B> _newBuilder = new SessionlessInvokeResponseType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SessionlessInvokeResponseType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namespaceUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUrisPropertyTree!= null):((namespaceUrisPropertyTree == null)||(!namespaceUrisPropertyTree.isLeaf())))) { + _other.namespaceUris = this.namespaceUris; + } + final PropertyTree serverUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUrisPropertyTree!= null):((serverUrisPropertyTree == null)||(!serverUrisPropertyTree.isLeaf())))) { + _other.serverUris = this.serverUris; + } + final PropertyTree serviceIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceIdPropertyTree!= null):((serviceIdPropertyTree == null)||(!serviceIdPropertyTree.isLeaf())))) { + _other.serviceId = this.serviceId; + } + } + + public<_B >SessionlessInvokeResponseType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SessionlessInvokeResponseType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SessionlessInvokeResponseType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SessionlessInvokeResponseType.Builder<_B> copyOf(final SessionlessInvokeResponseType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SessionlessInvokeResponseType.Builder<_B> _newBuilder = new SessionlessInvokeResponseType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SessionlessInvokeResponseType.Builder copyExcept(final SessionlessInvokeResponseType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SessionlessInvokeResponseType.Builder copyOnly(final SessionlessInvokeResponseType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SessionlessInvokeResponseType _storedValue; + private JAXBElement namespaceUris; + private JAXBElement serverUris; + private Long serviceId; + + public Builder(final _B _parentBuilder, final SessionlessInvokeResponseType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.namespaceUris = _other.namespaceUris; + this.serverUris = _other.serverUris; + this.serviceId = _other.serviceId; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SessionlessInvokeResponseType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namespaceUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("namespaceUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namespaceUrisPropertyTree!= null):((namespaceUrisPropertyTree == null)||(!namespaceUrisPropertyTree.isLeaf())))) { + this.namespaceUris = _other.namespaceUris; + } + final PropertyTree serverUrisPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serverUris")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serverUrisPropertyTree!= null):((serverUrisPropertyTree == null)||(!serverUrisPropertyTree.isLeaf())))) { + this.serverUris = _other.serverUris; + } + final PropertyTree serviceIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("serviceId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(serviceIdPropertyTree!= null):((serviceIdPropertyTree == null)||(!serviceIdPropertyTree.isLeaf())))) { + this.serviceId = _other.serviceId; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SessionlessInvokeResponseType >_P init(final _P _product) { + _product.namespaceUris = this.namespaceUris; + _product.serverUris = this.serverUris; + _product.serviceId = this.serviceId; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaceUris" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param namespaceUris + * Neuer Wert der Eigenschaft "namespaceUris". + */ + public SessionlessInvokeResponseType.Builder<_B> withNamespaceUris(final JAXBElement namespaceUris) { + this.namespaceUris = namespaceUris; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serverUris" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serverUris + * Neuer Wert der Eigenschaft "serverUris". + */ + public SessionlessInvokeResponseType.Builder<_B> withServerUris(final JAXBElement serverUris) { + this.serverUris = serverUris; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "serviceId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param serviceId + * Neuer Wert der Eigenschaft "serviceId". + */ + public SessionlessInvokeResponseType.Builder<_B> withServiceId(final Long serviceId) { + this.serviceId = serviceId; + return this; + } + + @Override + public SessionlessInvokeResponseType build() { + if (_storedValue == null) { + return this.init(new SessionlessInvokeResponseType()); + } else { + return ((SessionlessInvokeResponseType) _storedValue); + } + } + + public SessionlessInvokeResponseType.Builder<_B> copyOf(final SessionlessInvokeResponseType _other) { + _other.copyTo(this); + return this; + } + + public SessionlessInvokeResponseType.Builder<_B> copyOf(final SessionlessInvokeResponseType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SessionlessInvokeResponseType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SessionlessInvokeResponseType.Select _root() { + return new SessionlessInvokeResponseType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> namespaceUris = null; + private com.kscs.util.jaxb.Selector> serverUris = null; + private com.kscs.util.jaxb.Selector> serviceId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.namespaceUris!= null) { + products.put("namespaceUris", this.namespaceUris.init()); + } + if (this.serverUris!= null) { + products.put("serverUris", this.serverUris.init()); + } + if (this.serviceId!= null) { + products.put("serviceId", this.serviceId.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> namespaceUris() { + return ((this.namespaceUris == null)?this.namespaceUris = new com.kscs.util.jaxb.Selector>(this._root, this, "namespaceUris"):this.namespaceUris); + } + + public com.kscs.util.jaxb.Selector> serverUris() { + return ((this.serverUris == null)?this.serverUris = new com.kscs.util.jaxb.Selector>(this._root, this, "serverUris"):this.serverUris); + } + + public com.kscs.util.jaxb.Selector> serviceId() { + return ((this.serviceId == null)?this.serviceId = new com.kscs.util.jaxb.Selector>(this._root, this, "serviceId"):this.serviceId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeRequest.java new file mode 100644 index 000000000..c2a96dcd6 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeRequest.java @@ -0,0 +1,444 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SetMonitoringModeRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SetMonitoringModeRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MonitoringMode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}MonitoringMode" minOccurs="0"/>
+ *         <element name="MonitoredItemIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SetMonitoringModeRequest", propOrder = { + "requestHeader", + "subscriptionId", + "monitoringMode", + "monitoredItemIds" +}) +public class SetMonitoringModeRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "MonitoringMode") + @XmlSchemaType(name = "string") + protected MonitoringMode monitoringMode; + @XmlElementRef(name = "MonitoredItemIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement monitoredItemIds; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der monitoringMode-Eigenschaft ab. + * + * @return + * possible object is + * {@link MonitoringMode } + * + */ + public MonitoringMode getMonitoringMode() { + return monitoringMode; + } + + /** + * Legt den Wert der monitoringMode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MonitoringMode } + * + */ + public void setMonitoringMode(MonitoringMode value) { + this.monitoringMode = value; + } + + /** + * Ruft den Wert der monitoredItemIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getMonitoredItemIds() { + return monitoredItemIds; + } + + /** + * Legt den Wert der monitoredItemIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setMonitoredItemIds(JAXBElement value) { + this.monitoredItemIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetMonitoringModeRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.monitoringMode = this.monitoringMode; + _other.monitoredItemIds = this.monitoredItemIds; + } + + public<_B >SetMonitoringModeRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SetMonitoringModeRequest.Builder<_B>(_parentBuilder, this, true); + } + + public SetMonitoringModeRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SetMonitoringModeRequest.Builder builder() { + return new SetMonitoringModeRequest.Builder(null, null, false); + } + + public static<_B >SetMonitoringModeRequest.Builder<_B> copyOf(final SetMonitoringModeRequest _other) { + final SetMonitoringModeRequest.Builder<_B> _newBuilder = new SetMonitoringModeRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetMonitoringModeRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree monitoringModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoringMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoringModePropertyTree!= null):((monitoringModePropertyTree == null)||(!monitoringModePropertyTree.isLeaf())))) { + _other.monitoringMode = this.monitoringMode; + } + final PropertyTree monitoredItemIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdsPropertyTree!= null):((monitoredItemIdsPropertyTree == null)||(!monitoredItemIdsPropertyTree.isLeaf())))) { + _other.monitoredItemIds = this.monitoredItemIds; + } + } + + public<_B >SetMonitoringModeRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SetMonitoringModeRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SetMonitoringModeRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SetMonitoringModeRequest.Builder<_B> copyOf(final SetMonitoringModeRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SetMonitoringModeRequest.Builder<_B> _newBuilder = new SetMonitoringModeRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SetMonitoringModeRequest.Builder copyExcept(final SetMonitoringModeRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SetMonitoringModeRequest.Builder copyOnly(final SetMonitoringModeRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SetMonitoringModeRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private MonitoringMode monitoringMode; + private JAXBElement monitoredItemIds; + + public Builder(final _B _parentBuilder, final SetMonitoringModeRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.monitoringMode = _other.monitoringMode; + this.monitoredItemIds = _other.monitoredItemIds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SetMonitoringModeRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree monitoringModePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoringMode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoringModePropertyTree!= null):((monitoringModePropertyTree == null)||(!monitoringModePropertyTree.isLeaf())))) { + this.monitoringMode = _other.monitoringMode; + } + final PropertyTree monitoredItemIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemIdsPropertyTree!= null):((monitoredItemIdsPropertyTree == null)||(!monitoredItemIdsPropertyTree.isLeaf())))) { + this.monitoredItemIds = _other.monitoredItemIds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SetMonitoringModeRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.monitoringMode = this.monitoringMode; + _product.monitoredItemIds = this.monitoredItemIds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public SetMonitoringModeRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public SetMonitoringModeRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoringMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param monitoringMode + * Neuer Wert der Eigenschaft "monitoringMode". + */ + public SetMonitoringModeRequest.Builder<_B> withMonitoringMode(final MonitoringMode monitoringMode) { + this.monitoringMode = monitoringMode; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemIds" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param monitoredItemIds + * Neuer Wert der Eigenschaft "monitoredItemIds". + */ + public SetMonitoringModeRequest.Builder<_B> withMonitoredItemIds(final JAXBElement monitoredItemIds) { + this.monitoredItemIds = monitoredItemIds; + return this; + } + + @Override + public SetMonitoringModeRequest build() { + if (_storedValue == null) { + return this.init(new SetMonitoringModeRequest()); + } else { + return ((SetMonitoringModeRequest) _storedValue); + } + } + + public SetMonitoringModeRequest.Builder<_B> copyOf(final SetMonitoringModeRequest _other) { + _other.copyTo(this); + return this; + } + + public SetMonitoringModeRequest.Builder<_B> copyOf(final SetMonitoringModeRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SetMonitoringModeRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static SetMonitoringModeRequest.Select _root() { + return new SetMonitoringModeRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> monitoringMode = null; + private com.kscs.util.jaxb.Selector> monitoredItemIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.monitoringMode!= null) { + products.put("monitoringMode", this.monitoringMode.init()); + } + if (this.monitoredItemIds!= null) { + products.put("monitoredItemIds", this.monitoredItemIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> monitoringMode() { + return ((this.monitoringMode == null)?this.monitoringMode = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoringMode"):this.monitoringMode); + } + + public com.kscs.util.jaxb.Selector> monitoredItemIds() { + return ((this.monitoredItemIds == null)?this.monitoredItemIds = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItemIds"):this.monitoredItemIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeResponse.java new file mode 100644 index 000000000..fcdb1067f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetMonitoringModeResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SetMonitoringModeResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SetMonitoringModeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SetMonitoringModeResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class SetMonitoringModeResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetMonitoringModeResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >SetMonitoringModeResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SetMonitoringModeResponse.Builder<_B>(_parentBuilder, this, true); + } + + public SetMonitoringModeResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SetMonitoringModeResponse.Builder builder() { + return new SetMonitoringModeResponse.Builder(null, null, false); + } + + public static<_B >SetMonitoringModeResponse.Builder<_B> copyOf(final SetMonitoringModeResponse _other) { + final SetMonitoringModeResponse.Builder<_B> _newBuilder = new SetMonitoringModeResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetMonitoringModeResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >SetMonitoringModeResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SetMonitoringModeResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SetMonitoringModeResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SetMonitoringModeResponse.Builder<_B> copyOf(final SetMonitoringModeResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SetMonitoringModeResponse.Builder<_B> _newBuilder = new SetMonitoringModeResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SetMonitoringModeResponse.Builder copyExcept(final SetMonitoringModeResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SetMonitoringModeResponse.Builder copyOnly(final SetMonitoringModeResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SetMonitoringModeResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final SetMonitoringModeResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SetMonitoringModeResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SetMonitoringModeResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public SetMonitoringModeResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public SetMonitoringModeResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public SetMonitoringModeResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public SetMonitoringModeResponse build() { + if (_storedValue == null) { + return this.init(new SetMonitoringModeResponse()); + } else { + return ((SetMonitoringModeResponse) _storedValue); + } + } + + public SetMonitoringModeResponse.Builder<_B> copyOf(final SetMonitoringModeResponse _other) { + _other.copyTo(this); + return this; + } + + public SetMonitoringModeResponse.Builder<_B> copyOf(final SetMonitoringModeResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SetMonitoringModeResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static SetMonitoringModeResponse.Select _root() { + return new SetMonitoringModeResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeRequest.java new file mode 100644 index 000000000..db0ba48c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeRequest.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SetPublishingModeRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SetPublishingModeRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="PublishingEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="SubscriptionIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SetPublishingModeRequest", propOrder = { + "requestHeader", + "publishingEnabled", + "subscriptionIds" +}) +public class SetPublishingModeRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "PublishingEnabled") + protected Boolean publishingEnabled; + @XmlElementRef(name = "SubscriptionIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement subscriptionIds; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der publishingEnabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isPublishingEnabled() { + return publishingEnabled; + } + + /** + * Legt den Wert der publishingEnabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setPublishingEnabled(Boolean value) { + this.publishingEnabled = value; + } + + /** + * Ruft den Wert der subscriptionIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getSubscriptionIds() { + return subscriptionIds; + } + + /** + * Legt den Wert der subscriptionIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setSubscriptionIds(JAXBElement value) { + this.subscriptionIds = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetPublishingModeRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.publishingEnabled = this.publishingEnabled; + _other.subscriptionIds = this.subscriptionIds; + } + + public<_B >SetPublishingModeRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SetPublishingModeRequest.Builder<_B>(_parentBuilder, this, true); + } + + public SetPublishingModeRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SetPublishingModeRequest.Builder builder() { + return new SetPublishingModeRequest.Builder(null, null, false); + } + + public static<_B >SetPublishingModeRequest.Builder<_B> copyOf(final SetPublishingModeRequest _other) { + final SetPublishingModeRequest.Builder<_B> _newBuilder = new SetPublishingModeRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetPublishingModeRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree publishingEnabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingEnabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingEnabledPropertyTree!= null):((publishingEnabledPropertyTree == null)||(!publishingEnabledPropertyTree.isLeaf())))) { + _other.publishingEnabled = this.publishingEnabled; + } + final PropertyTree subscriptionIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdsPropertyTree!= null):((subscriptionIdsPropertyTree == null)||(!subscriptionIdsPropertyTree.isLeaf())))) { + _other.subscriptionIds = this.subscriptionIds; + } + } + + public<_B >SetPublishingModeRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SetPublishingModeRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SetPublishingModeRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SetPublishingModeRequest.Builder<_B> copyOf(final SetPublishingModeRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SetPublishingModeRequest.Builder<_B> _newBuilder = new SetPublishingModeRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SetPublishingModeRequest.Builder copyExcept(final SetPublishingModeRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SetPublishingModeRequest.Builder copyOnly(final SetPublishingModeRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SetPublishingModeRequest _storedValue; + private JAXBElement requestHeader; + private Boolean publishingEnabled; + private JAXBElement subscriptionIds; + + public Builder(final _B _parentBuilder, final SetPublishingModeRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.publishingEnabled = _other.publishingEnabled; + this.subscriptionIds = _other.subscriptionIds; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SetPublishingModeRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree publishingEnabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingEnabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingEnabledPropertyTree!= null):((publishingEnabledPropertyTree == null)||(!publishingEnabledPropertyTree.isLeaf())))) { + this.publishingEnabled = _other.publishingEnabled; + } + final PropertyTree subscriptionIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdsPropertyTree!= null):((subscriptionIdsPropertyTree == null)||(!subscriptionIdsPropertyTree.isLeaf())))) { + this.subscriptionIds = _other.subscriptionIds; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SetPublishingModeRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.publishingEnabled = this.publishingEnabled; + _product.subscriptionIds = this.subscriptionIds; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public SetPublishingModeRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingEnabled" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingEnabled + * Neuer Wert der Eigenschaft "publishingEnabled". + */ + public SetPublishingModeRequest.Builder<_B> withPublishingEnabled(final Boolean publishingEnabled) { + this.publishingEnabled = publishingEnabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionIds" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionIds + * Neuer Wert der Eigenschaft "subscriptionIds". + */ + public SetPublishingModeRequest.Builder<_B> withSubscriptionIds(final JAXBElement subscriptionIds) { + this.subscriptionIds = subscriptionIds; + return this; + } + + @Override + public SetPublishingModeRequest build() { + if (_storedValue == null) { + return this.init(new SetPublishingModeRequest()); + } else { + return ((SetPublishingModeRequest) _storedValue); + } + } + + public SetPublishingModeRequest.Builder<_B> copyOf(final SetPublishingModeRequest _other) { + _other.copyTo(this); + return this; + } + + public SetPublishingModeRequest.Builder<_B> copyOf(final SetPublishingModeRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SetPublishingModeRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static SetPublishingModeRequest.Select _root() { + return new SetPublishingModeRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> publishingEnabled = null; + private com.kscs.util.jaxb.Selector> subscriptionIds = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.publishingEnabled!= null) { + products.put("publishingEnabled", this.publishingEnabled.init()); + } + if (this.subscriptionIds!= null) { + products.put("subscriptionIds", this.subscriptionIds.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> publishingEnabled() { + return ((this.publishingEnabled == null)?this.publishingEnabled = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingEnabled"):this.publishingEnabled); + } + + public com.kscs.util.jaxb.Selector> subscriptionIds() { + return ((this.subscriptionIds == null)?this.subscriptionIds = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionIds"):this.subscriptionIds); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeResponse.java new file mode 100644 index 000000000..9b01bc4a1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetPublishingModeResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SetPublishingModeResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SetPublishingModeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SetPublishingModeResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class SetPublishingModeResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetPublishingModeResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >SetPublishingModeResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SetPublishingModeResponse.Builder<_B>(_parentBuilder, this, true); + } + + public SetPublishingModeResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SetPublishingModeResponse.Builder builder() { + return new SetPublishingModeResponse.Builder(null, null, false); + } + + public static<_B >SetPublishingModeResponse.Builder<_B> copyOf(final SetPublishingModeResponse _other) { + final SetPublishingModeResponse.Builder<_B> _newBuilder = new SetPublishingModeResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetPublishingModeResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >SetPublishingModeResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SetPublishingModeResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SetPublishingModeResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SetPublishingModeResponse.Builder<_B> copyOf(final SetPublishingModeResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SetPublishingModeResponse.Builder<_B> _newBuilder = new SetPublishingModeResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SetPublishingModeResponse.Builder copyExcept(final SetPublishingModeResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SetPublishingModeResponse.Builder copyOnly(final SetPublishingModeResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SetPublishingModeResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final SetPublishingModeResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SetPublishingModeResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SetPublishingModeResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public SetPublishingModeResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public SetPublishingModeResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public SetPublishingModeResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public SetPublishingModeResponse build() { + if (_storedValue == null) { + return this.init(new SetPublishingModeResponse()); + } else { + return ((SetPublishingModeResponse) _storedValue); + } + } + + public SetPublishingModeResponse.Builder<_B> copyOf(final SetPublishingModeResponse _other) { + _other.copyTo(this); + return this; + } + + public SetPublishingModeResponse.Builder<_B> copyOf(final SetPublishingModeResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SetPublishingModeResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static SetPublishingModeResponse.Select _root() { + return new SetPublishingModeResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringRequest.java new file mode 100644 index 000000000..56eaaaa1f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringRequest.java @@ -0,0 +1,504 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SetTriggeringRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SetTriggeringRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TriggeringItemId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="LinksToAdd" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="LinksToRemove" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SetTriggeringRequest", propOrder = { + "requestHeader", + "subscriptionId", + "triggeringItemId", + "linksToAdd", + "linksToRemove" +}) +public class SetTriggeringRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "TriggeringItemId") + @XmlSchemaType(name = "unsignedInt") + protected Long triggeringItemId; + @XmlElementRef(name = "LinksToAdd", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement linksToAdd; + @XmlElementRef(name = "LinksToRemove", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement linksToRemove; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der triggeringItemId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTriggeringItemId() { + return triggeringItemId; + } + + /** + * Legt den Wert der triggeringItemId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTriggeringItemId(Long value) { + this.triggeringItemId = value; + } + + /** + * Ruft den Wert der linksToAdd-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getLinksToAdd() { + return linksToAdd; + } + + /** + * Legt den Wert der linksToAdd-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setLinksToAdd(JAXBElement value) { + this.linksToAdd = value; + } + + /** + * Ruft den Wert der linksToRemove-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getLinksToRemove() { + return linksToRemove; + } + + /** + * Legt den Wert der linksToRemove-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setLinksToRemove(JAXBElement value) { + this.linksToRemove = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetTriggeringRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionId = this.subscriptionId; + _other.triggeringItemId = this.triggeringItemId; + _other.linksToAdd = this.linksToAdd; + _other.linksToRemove = this.linksToRemove; + } + + public<_B >SetTriggeringRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SetTriggeringRequest.Builder<_B>(_parentBuilder, this, true); + } + + public SetTriggeringRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SetTriggeringRequest.Builder builder() { + return new SetTriggeringRequest.Builder(null, null, false); + } + + public static<_B >SetTriggeringRequest.Builder<_B> copyOf(final SetTriggeringRequest _other) { + final SetTriggeringRequest.Builder<_B> _newBuilder = new SetTriggeringRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetTriggeringRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree triggeringItemIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("triggeringItemId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(triggeringItemIdPropertyTree!= null):((triggeringItemIdPropertyTree == null)||(!triggeringItemIdPropertyTree.isLeaf())))) { + _other.triggeringItemId = this.triggeringItemId; + } + final PropertyTree linksToAddPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("linksToAdd")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(linksToAddPropertyTree!= null):((linksToAddPropertyTree == null)||(!linksToAddPropertyTree.isLeaf())))) { + _other.linksToAdd = this.linksToAdd; + } + final PropertyTree linksToRemovePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("linksToRemove")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(linksToRemovePropertyTree!= null):((linksToRemovePropertyTree == null)||(!linksToRemovePropertyTree.isLeaf())))) { + _other.linksToRemove = this.linksToRemove; + } + } + + public<_B >SetTriggeringRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SetTriggeringRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SetTriggeringRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SetTriggeringRequest.Builder<_B> copyOf(final SetTriggeringRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SetTriggeringRequest.Builder<_B> _newBuilder = new SetTriggeringRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SetTriggeringRequest.Builder copyExcept(final SetTriggeringRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SetTriggeringRequest.Builder copyOnly(final SetTriggeringRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SetTriggeringRequest _storedValue; + private JAXBElement requestHeader; + private Long subscriptionId; + private Long triggeringItemId; + private JAXBElement linksToAdd; + private JAXBElement linksToRemove; + + public Builder(final _B _parentBuilder, final SetTriggeringRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionId = _other.subscriptionId; + this.triggeringItemId = _other.triggeringItemId; + this.linksToAdd = _other.linksToAdd; + this.linksToRemove = _other.linksToRemove; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SetTriggeringRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree triggeringItemIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("triggeringItemId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(triggeringItemIdPropertyTree!= null):((triggeringItemIdPropertyTree == null)||(!triggeringItemIdPropertyTree.isLeaf())))) { + this.triggeringItemId = _other.triggeringItemId; + } + final PropertyTree linksToAddPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("linksToAdd")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(linksToAddPropertyTree!= null):((linksToAddPropertyTree == null)||(!linksToAddPropertyTree.isLeaf())))) { + this.linksToAdd = _other.linksToAdd; + } + final PropertyTree linksToRemovePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("linksToRemove")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(linksToRemovePropertyTree!= null):((linksToRemovePropertyTree == null)||(!linksToRemovePropertyTree.isLeaf())))) { + this.linksToRemove = _other.linksToRemove; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SetTriggeringRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionId = this.subscriptionId; + _product.triggeringItemId = this.triggeringItemId; + _product.linksToAdd = this.linksToAdd; + _product.linksToRemove = this.linksToRemove; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public SetTriggeringRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public SetTriggeringRequest.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "triggeringItemId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param triggeringItemId + * Neuer Wert der Eigenschaft "triggeringItemId". + */ + public SetTriggeringRequest.Builder<_B> withTriggeringItemId(final Long triggeringItemId) { + this.triggeringItemId = triggeringItemId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "linksToAdd" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param linksToAdd + * Neuer Wert der Eigenschaft "linksToAdd". + */ + public SetTriggeringRequest.Builder<_B> withLinksToAdd(final JAXBElement linksToAdd) { + this.linksToAdd = linksToAdd; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "linksToRemove" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param linksToRemove + * Neuer Wert der Eigenschaft "linksToRemove". + */ + public SetTriggeringRequest.Builder<_B> withLinksToRemove(final JAXBElement linksToRemove) { + this.linksToRemove = linksToRemove; + return this; + } + + @Override + public SetTriggeringRequest build() { + if (_storedValue == null) { + return this.init(new SetTriggeringRequest()); + } else { + return ((SetTriggeringRequest) _storedValue); + } + } + + public SetTriggeringRequest.Builder<_B> copyOf(final SetTriggeringRequest _other) { + _other.copyTo(this); + return this; + } + + public SetTriggeringRequest.Builder<_B> copyOf(final SetTriggeringRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SetTriggeringRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static SetTriggeringRequest.Select _root() { + return new SetTriggeringRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> triggeringItemId = null; + private com.kscs.util.jaxb.Selector> linksToAdd = null; + private com.kscs.util.jaxb.Selector> linksToRemove = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.triggeringItemId!= null) { + products.put("triggeringItemId", this.triggeringItemId.init()); + } + if (this.linksToAdd!= null) { + products.put("linksToAdd", this.linksToAdd.init()); + } + if (this.linksToRemove!= null) { + products.put("linksToRemove", this.linksToRemove.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> triggeringItemId() { + return ((this.triggeringItemId == null)?this.triggeringItemId = new com.kscs.util.jaxb.Selector>(this._root, this, "triggeringItemId"):this.triggeringItemId); + } + + public com.kscs.util.jaxb.Selector> linksToAdd() { + return ((this.linksToAdd == null)?this.linksToAdd = new com.kscs.util.jaxb.Selector>(this._root, this, "linksToAdd"):this.linksToAdd); + } + + public com.kscs.util.jaxb.Selector> linksToRemove() { + return ((this.linksToRemove == null)?this.linksToRemove = new com.kscs.util.jaxb.Selector>(this._root, this, "linksToRemove"):this.linksToRemove); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringResponse.java new file mode 100644 index 000000000..3893e56e0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SetTriggeringResponse.java @@ -0,0 +1,500 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SetTriggeringResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SetTriggeringResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="AddResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="AddDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *         <element name="RemoveResults" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="RemoveDiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SetTriggeringResponse", propOrder = { + "responseHeader", + "addResults", + "addDiagnosticInfos", + "removeResults", + "removeDiagnosticInfos" +}) +public class SetTriggeringResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "AddResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement addResults; + @XmlElementRef(name = "AddDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement addDiagnosticInfos; + @XmlElementRef(name = "RemoveResults", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement removeResults; + @XmlElementRef(name = "RemoveDiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement removeDiagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der addResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getAddResults() { + return addResults; + } + + /** + * Legt den Wert der addResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setAddResults(JAXBElement value) { + this.addResults = value; + } + + /** + * Ruft den Wert der addDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getAddDiagnosticInfos() { + return addDiagnosticInfos; + } + + /** + * Legt den Wert der addDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setAddDiagnosticInfos(JAXBElement value) { + this.addDiagnosticInfos = value; + } + + /** + * Ruft den Wert der removeResults-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getRemoveResults() { + return removeResults; + } + + /** + * Legt den Wert der removeResults-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setRemoveResults(JAXBElement value) { + this.removeResults = value; + } + + /** + * Ruft den Wert der removeDiagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getRemoveDiagnosticInfos() { + return removeDiagnosticInfos; + } + + /** + * Legt den Wert der removeDiagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setRemoveDiagnosticInfos(JAXBElement value) { + this.removeDiagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetTriggeringResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.addResults = this.addResults; + _other.addDiagnosticInfos = this.addDiagnosticInfos; + _other.removeResults = this.removeResults; + _other.removeDiagnosticInfos = this.removeDiagnosticInfos; + } + + public<_B >SetTriggeringResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SetTriggeringResponse.Builder<_B>(_parentBuilder, this, true); + } + + public SetTriggeringResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SetTriggeringResponse.Builder builder() { + return new SetTriggeringResponse.Builder(null, null, false); + } + + public static<_B >SetTriggeringResponse.Builder<_B> copyOf(final SetTriggeringResponse _other) { + final SetTriggeringResponse.Builder<_B> _newBuilder = new SetTriggeringResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SetTriggeringResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree addResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addResultsPropertyTree!= null):((addResultsPropertyTree == null)||(!addResultsPropertyTree.isLeaf())))) { + _other.addResults = this.addResults; + } + final PropertyTree addDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addDiagnosticInfosPropertyTree!= null):((addDiagnosticInfosPropertyTree == null)||(!addDiagnosticInfosPropertyTree.isLeaf())))) { + _other.addDiagnosticInfos = this.addDiagnosticInfos; + } + final PropertyTree removeResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("removeResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(removeResultsPropertyTree!= null):((removeResultsPropertyTree == null)||(!removeResultsPropertyTree.isLeaf())))) { + _other.removeResults = this.removeResults; + } + final PropertyTree removeDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("removeDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(removeDiagnosticInfosPropertyTree!= null):((removeDiagnosticInfosPropertyTree == null)||(!removeDiagnosticInfosPropertyTree.isLeaf())))) { + _other.removeDiagnosticInfos = this.removeDiagnosticInfos; + } + } + + public<_B >SetTriggeringResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SetTriggeringResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SetTriggeringResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SetTriggeringResponse.Builder<_B> copyOf(final SetTriggeringResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SetTriggeringResponse.Builder<_B> _newBuilder = new SetTriggeringResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SetTriggeringResponse.Builder copyExcept(final SetTriggeringResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SetTriggeringResponse.Builder copyOnly(final SetTriggeringResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SetTriggeringResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement addResults; + private JAXBElement addDiagnosticInfos; + private JAXBElement removeResults; + private JAXBElement removeDiagnosticInfos; + + public Builder(final _B _parentBuilder, final SetTriggeringResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.addResults = _other.addResults; + this.addDiagnosticInfos = _other.addDiagnosticInfos; + this.removeResults = _other.removeResults; + this.removeDiagnosticInfos = _other.removeDiagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SetTriggeringResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree addResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addResultsPropertyTree!= null):((addResultsPropertyTree == null)||(!addResultsPropertyTree.isLeaf())))) { + this.addResults = _other.addResults; + } + final PropertyTree addDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("addDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(addDiagnosticInfosPropertyTree!= null):((addDiagnosticInfosPropertyTree == null)||(!addDiagnosticInfosPropertyTree.isLeaf())))) { + this.addDiagnosticInfos = _other.addDiagnosticInfos; + } + final PropertyTree removeResultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("removeResults")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(removeResultsPropertyTree!= null):((removeResultsPropertyTree == null)||(!removeResultsPropertyTree.isLeaf())))) { + this.removeResults = _other.removeResults; + } + final PropertyTree removeDiagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("removeDiagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(removeDiagnosticInfosPropertyTree!= null):((removeDiagnosticInfosPropertyTree == null)||(!removeDiagnosticInfosPropertyTree.isLeaf())))) { + this.removeDiagnosticInfos = _other.removeDiagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SetTriggeringResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.addResults = this.addResults; + _product.addDiagnosticInfos = this.addDiagnosticInfos; + _product.removeResults = this.removeResults; + _product.removeDiagnosticInfos = this.removeDiagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public SetTriggeringResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addResults" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param addResults + * Neuer Wert der Eigenschaft "addResults". + */ + public SetTriggeringResponse.Builder<_B> withAddResults(final JAXBElement addResults) { + this.addResults = addResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "addDiagnosticInfos" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param addDiagnosticInfos + * Neuer Wert der Eigenschaft "addDiagnosticInfos". + */ + public SetTriggeringResponse.Builder<_B> withAddDiagnosticInfos(final JAXBElement addDiagnosticInfos) { + this.addDiagnosticInfos = addDiagnosticInfos; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "removeResults" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param removeResults + * Neuer Wert der Eigenschaft "removeResults". + */ + public SetTriggeringResponse.Builder<_B> withRemoveResults(final JAXBElement removeResults) { + this.removeResults = removeResults; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "removeDiagnosticInfos" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param removeDiagnosticInfos + * Neuer Wert der Eigenschaft "removeDiagnosticInfos". + */ + public SetTriggeringResponse.Builder<_B> withRemoveDiagnosticInfos(final JAXBElement removeDiagnosticInfos) { + this.removeDiagnosticInfos = removeDiagnosticInfos; + return this; + } + + @Override + public SetTriggeringResponse build() { + if (_storedValue == null) { + return this.init(new SetTriggeringResponse()); + } else { + return ((SetTriggeringResponse) _storedValue); + } + } + + public SetTriggeringResponse.Builder<_B> copyOf(final SetTriggeringResponse _other) { + _other.copyTo(this); + return this; + } + + public SetTriggeringResponse.Builder<_B> copyOf(final SetTriggeringResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SetTriggeringResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static SetTriggeringResponse.Select _root() { + return new SetTriggeringResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> addResults = null; + private com.kscs.util.jaxb.Selector> addDiagnosticInfos = null; + private com.kscs.util.jaxb.Selector> removeResults = null; + private com.kscs.util.jaxb.Selector> removeDiagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.addResults!= null) { + products.put("addResults", this.addResults.init()); + } + if (this.addDiagnosticInfos!= null) { + products.put("addDiagnosticInfos", this.addDiagnosticInfos.init()); + } + if (this.removeResults!= null) { + products.put("removeResults", this.removeResults.init()); + } + if (this.removeDiagnosticInfos!= null) { + products.put("removeDiagnosticInfos", this.removeDiagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> addResults() { + return ((this.addResults == null)?this.addResults = new com.kscs.util.jaxb.Selector>(this._root, this, "addResults"):this.addResults); + } + + public com.kscs.util.jaxb.Selector> addDiagnosticInfos() { + return ((this.addDiagnosticInfos == null)?this.addDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "addDiagnosticInfos"):this.addDiagnosticInfos); + } + + public com.kscs.util.jaxb.Selector> removeResults() { + return ((this.removeResults == null)?this.removeResults = new com.kscs.util.jaxb.Selector>(this._root, this, "removeResults"):this.removeResults); + } + + public com.kscs.util.jaxb.Selector> removeDiagnosticInfos() { + return ((this.removeDiagnosticInfos == null)?this.removeDiagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "removeDiagnosticInfos"):this.removeDiagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignatureData.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignatureData.java new file mode 100644 index 000000000..a331baac3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignatureData.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SignatureData complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SignatureData">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Algorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Signature" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignatureData", propOrder = { + "algorithm", + "signature" +}) +public class SignatureData { + + @XmlElementRef(name = "Algorithm", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement algorithm; + @XmlElementRef(name = "Signature", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement signature; + + /** + * Ruft den Wert der algorithm-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getAlgorithm() { + return algorithm; + } + + /** + * Legt den Wert der algorithm-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setAlgorithm(JAXBElement value) { + this.algorithm = value; + } + + /** + * Ruft den Wert der signature-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getSignature() { + return signature; + } + + /** + * Legt den Wert der signature-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setSignature(JAXBElement value) { + this.signature = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SignatureData.Builder<_B> _other) { + _other.algorithm = this.algorithm; + _other.signature = this.signature; + } + + public<_B >SignatureData.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SignatureData.Builder<_B>(_parentBuilder, this, true); + } + + public SignatureData.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SignatureData.Builder builder() { + return new SignatureData.Builder(null, null, false); + } + + public static<_B >SignatureData.Builder<_B> copyOf(final SignatureData _other) { + final SignatureData.Builder<_B> _newBuilder = new SignatureData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SignatureData.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree algorithmPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("algorithm")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(algorithmPropertyTree!= null):((algorithmPropertyTree == null)||(!algorithmPropertyTree.isLeaf())))) { + _other.algorithm = this.algorithm; + } + final PropertyTree signaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signaturePropertyTree!= null):((signaturePropertyTree == null)||(!signaturePropertyTree.isLeaf())))) { + _other.signature = this.signature; + } + } + + public<_B >SignatureData.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SignatureData.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SignatureData.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SignatureData.Builder<_B> copyOf(final SignatureData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SignatureData.Builder<_B> _newBuilder = new SignatureData.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SignatureData.Builder copyExcept(final SignatureData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SignatureData.Builder copyOnly(final SignatureData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SignatureData _storedValue; + private JAXBElement algorithm; + private JAXBElement signature; + + public Builder(final _B _parentBuilder, final SignatureData _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.algorithm = _other.algorithm; + this.signature = _other.signature; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SignatureData _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree algorithmPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("algorithm")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(algorithmPropertyTree!= null):((algorithmPropertyTree == null)||(!algorithmPropertyTree.isLeaf())))) { + this.algorithm = _other.algorithm; + } + final PropertyTree signaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signaturePropertyTree!= null):((signaturePropertyTree == null)||(!signaturePropertyTree.isLeaf())))) { + this.signature = _other.signature; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SignatureData >_P init(final _P _product) { + _product.algorithm = this.algorithm; + _product.signature = this.signature; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "algorithm" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param algorithm + * Neuer Wert der Eigenschaft "algorithm". + */ + public SignatureData.Builder<_B> withAlgorithm(final JAXBElement algorithm) { + this.algorithm = algorithm; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "signature" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param signature + * Neuer Wert der Eigenschaft "signature". + */ + public SignatureData.Builder<_B> withSignature(final JAXBElement signature) { + this.signature = signature; + return this; + } + + @Override + public SignatureData build() { + if (_storedValue == null) { + return this.init(new SignatureData()); + } else { + return ((SignatureData) _storedValue); + } + } + + public SignatureData.Builder<_B> copyOf(final SignatureData _other) { + _other.copyTo(this); + return this; + } + + public SignatureData.Builder<_B> copyOf(final SignatureData.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SignatureData.Selector + { + + + Select() { + super(null, null, null); + } + + public static SignatureData.Select _root() { + return new SignatureData.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> algorithm = null; + private com.kscs.util.jaxb.Selector> signature = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.algorithm!= null) { + products.put("algorithm", this.algorithm.init()); + } + if (this.signature!= null) { + products.put("signature", this.signature.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> algorithm() { + return ((this.algorithm == null)?this.algorithm = new com.kscs.util.jaxb.Selector>(this._root, this, "algorithm"):this.algorithm); + } + + public com.kscs.util.jaxb.Selector> signature() { + return ((this.signature == null)?this.signature = new com.kscs.util.jaxb.Selector>(this._root, this, "signature"):this.signature); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignedSoftwareCertificate.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignedSoftwareCertificate.java new file mode 100644 index 000000000..ee0ab2f37 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SignedSoftwareCertificate.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SignedSoftwareCertificate complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SignedSoftwareCertificate">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CertificateData" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="Signature" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignedSoftwareCertificate", propOrder = { + "certificateData", + "signature" +}) +public class SignedSoftwareCertificate { + + @XmlElementRef(name = "CertificateData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement certificateData; + @XmlElementRef(name = "Signature", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement signature; + + /** + * Ruft den Wert der certificateData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getCertificateData() { + return certificateData; + } + + /** + * Legt den Wert der certificateData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setCertificateData(JAXBElement value) { + this.certificateData = value; + } + + /** + * Ruft den Wert der signature-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getSignature() { + return signature; + } + + /** + * Legt den Wert der signature-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setSignature(JAXBElement value) { + this.signature = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SignedSoftwareCertificate.Builder<_B> _other) { + _other.certificateData = this.certificateData; + _other.signature = this.signature; + } + + public<_B >SignedSoftwareCertificate.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SignedSoftwareCertificate.Builder<_B>(_parentBuilder, this, true); + } + + public SignedSoftwareCertificate.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SignedSoftwareCertificate.Builder builder() { + return new SignedSoftwareCertificate.Builder(null, null, false); + } + + public static<_B >SignedSoftwareCertificate.Builder<_B> copyOf(final SignedSoftwareCertificate _other) { + final SignedSoftwareCertificate.Builder<_B> _newBuilder = new SignedSoftwareCertificate.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SignedSoftwareCertificate.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree certificateDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("certificateData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(certificateDataPropertyTree!= null):((certificateDataPropertyTree == null)||(!certificateDataPropertyTree.isLeaf())))) { + _other.certificateData = this.certificateData; + } + final PropertyTree signaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signaturePropertyTree!= null):((signaturePropertyTree == null)||(!signaturePropertyTree.isLeaf())))) { + _other.signature = this.signature; + } + } + + public<_B >SignedSoftwareCertificate.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SignedSoftwareCertificate.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SignedSoftwareCertificate.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SignedSoftwareCertificate.Builder<_B> copyOf(final SignedSoftwareCertificate _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SignedSoftwareCertificate.Builder<_B> _newBuilder = new SignedSoftwareCertificate.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SignedSoftwareCertificate.Builder copyExcept(final SignedSoftwareCertificate _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SignedSoftwareCertificate.Builder copyOnly(final SignedSoftwareCertificate _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SignedSoftwareCertificate _storedValue; + private JAXBElement certificateData; + private JAXBElement signature; + + public Builder(final _B _parentBuilder, final SignedSoftwareCertificate _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.certificateData = _other.certificateData; + this.signature = _other.signature; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SignedSoftwareCertificate _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree certificateDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("certificateData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(certificateDataPropertyTree!= null):((certificateDataPropertyTree == null)||(!certificateDataPropertyTree.isLeaf())))) { + this.certificateData = _other.certificateData; + } + final PropertyTree signaturePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("signature")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(signaturePropertyTree!= null):((signaturePropertyTree == null)||(!signaturePropertyTree.isLeaf())))) { + this.signature = _other.signature; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SignedSoftwareCertificate >_P init(final _P _product) { + _product.certificateData = this.certificateData; + _product.signature = this.signature; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "certificateData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param certificateData + * Neuer Wert der Eigenschaft "certificateData". + */ + public SignedSoftwareCertificate.Builder<_B> withCertificateData(final JAXBElement certificateData) { + this.certificateData = certificateData; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "signature" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param signature + * Neuer Wert der Eigenschaft "signature". + */ + public SignedSoftwareCertificate.Builder<_B> withSignature(final JAXBElement signature) { + this.signature = signature; + return this; + } + + @Override + public SignedSoftwareCertificate build() { + if (_storedValue == null) { + return this.init(new SignedSoftwareCertificate()); + } else { + return ((SignedSoftwareCertificate) _storedValue); + } + } + + public SignedSoftwareCertificate.Builder<_B> copyOf(final SignedSoftwareCertificate _other) { + _other.copyTo(this); + return this; + } + + public SignedSoftwareCertificate.Builder<_B> copyOf(final SignedSoftwareCertificate.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SignedSoftwareCertificate.Selector + { + + + Select() { + super(null, null, null); + } + + public static SignedSoftwareCertificate.Select _root() { + return new SignedSoftwareCertificate.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> certificateData = null; + private com.kscs.util.jaxb.Selector> signature = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.certificateData!= null) { + products.put("certificateData", this.certificateData.init()); + } + if (this.signature!= null) { + products.put("signature", this.signature.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> certificateData() { + return ((this.certificateData == null)?this.certificateData = new com.kscs.util.jaxb.Selector>(this._root, this, "certificateData"):this.certificateData); + } + + public com.kscs.util.jaxb.Selector> signature() { + return ((this.signature == null)?this.signature = new com.kscs.util.jaxb.Selector>(this._root, this, "signature"):this.signature); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleAttributeOperand.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleAttributeOperand.java new file mode 100644 index 000000000..687c66e3b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleAttributeOperand.java @@ -0,0 +1,453 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SimpleAttributeOperand complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SimpleAttributeOperand">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}FilterOperand">
+ *       <sequence>
+ *         <element name="TypeDefinitionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="BrowsePath" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfQualifiedName" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SimpleAttributeOperand", propOrder = { + "typeDefinitionId", + "browsePath", + "attributeId", + "indexRange" +}) +public class SimpleAttributeOperand + extends FilterOperand +{ + + @XmlElementRef(name = "TypeDefinitionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement typeDefinitionId; + @XmlElementRef(name = "BrowsePath", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browsePath; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + + /** + * Ruft den Wert der typeDefinitionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getTypeDefinitionId() { + return typeDefinitionId; + } + + /** + * Legt den Wert der typeDefinitionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setTypeDefinitionId(JAXBElement value) { + this.typeDefinitionId = value; + } + + /** + * Ruft den Wert der browsePath-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + */ + public JAXBElement getBrowsePath() { + return browsePath; + } + + /** + * Legt den Wert der browsePath-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfQualifiedName }{@code >} + * + */ + public void setBrowsePath(JAXBElement value) { + this.browsePath = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SimpleAttributeOperand.Builder<_B> _other) { + super.copyTo(_other); + _other.typeDefinitionId = this.typeDefinitionId; + _other.browsePath = this.browsePath; + _other.attributeId = this.attributeId; + _other.indexRange = this.indexRange; + } + + @Override + public<_B >SimpleAttributeOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SimpleAttributeOperand.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public SimpleAttributeOperand.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SimpleAttributeOperand.Builder builder() { + return new SimpleAttributeOperand.Builder(null, null, false); + } + + public static<_B >SimpleAttributeOperand.Builder<_B> copyOf(final FilterOperand _other) { + final SimpleAttributeOperand.Builder<_B> _newBuilder = new SimpleAttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >SimpleAttributeOperand.Builder<_B> copyOf(final SimpleAttributeOperand _other) { + final SimpleAttributeOperand.Builder<_B> _newBuilder = new SimpleAttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SimpleAttributeOperand.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree typeDefinitionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinitionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionIdPropertyTree!= null):((typeDefinitionIdPropertyTree == null)||(!typeDefinitionIdPropertyTree.isLeaf())))) { + _other.typeDefinitionId = this.typeDefinitionId; + } + final PropertyTree browsePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathPropertyTree!= null):((browsePathPropertyTree == null)||(!browsePathPropertyTree.isLeaf())))) { + _other.browsePath = this.browsePath; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + } + + @Override + public<_B >SimpleAttributeOperand.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SimpleAttributeOperand.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public SimpleAttributeOperand.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SimpleAttributeOperand.Builder<_B> copyOf(final FilterOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SimpleAttributeOperand.Builder<_B> _newBuilder = new SimpleAttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >SimpleAttributeOperand.Builder<_B> copyOf(final SimpleAttributeOperand _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SimpleAttributeOperand.Builder<_B> _newBuilder = new SimpleAttributeOperand.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SimpleAttributeOperand.Builder copyExcept(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SimpleAttributeOperand.Builder copyExcept(final SimpleAttributeOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SimpleAttributeOperand.Builder copyOnly(final FilterOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static SimpleAttributeOperand.Builder copyOnly(final SimpleAttributeOperand _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends FilterOperand.Builder<_B> + implements Buildable + { + + private JAXBElement typeDefinitionId; + private JAXBElement browsePath; + private Long attributeId; + private JAXBElement indexRange; + + public Builder(final _B _parentBuilder, final SimpleAttributeOperand _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.typeDefinitionId = _other.typeDefinitionId; + this.browsePath = _other.browsePath; + this.attributeId = _other.attributeId; + this.indexRange = _other.indexRange; + } + } + + public Builder(final _B _parentBuilder, final SimpleAttributeOperand _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree typeDefinitionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("typeDefinitionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(typeDefinitionIdPropertyTree!= null):((typeDefinitionIdPropertyTree == null)||(!typeDefinitionIdPropertyTree.isLeaf())))) { + this.typeDefinitionId = _other.typeDefinitionId; + } + final PropertyTree browsePathPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePath")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathPropertyTree!= null):((browsePathPropertyTree == null)||(!browsePathPropertyTree.isLeaf())))) { + this.browsePath = _other.browsePath; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + } + } + + protected<_P extends SimpleAttributeOperand >_P init(final _P _product) { + _product.typeDefinitionId = this.typeDefinitionId; + _product.browsePath = this.browsePath; + _product.attributeId = this.attributeId; + _product.indexRange = this.indexRange; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "typeDefinitionId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param typeDefinitionId + * Neuer Wert der Eigenschaft "typeDefinitionId". + */ + public SimpleAttributeOperand.Builder<_B> withTypeDefinitionId(final JAXBElement typeDefinitionId) { + this.typeDefinitionId = typeDefinitionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePath" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browsePath + * Neuer Wert der Eigenschaft "browsePath". + */ + public SimpleAttributeOperand.Builder<_B> withBrowsePath(final JAXBElement browsePath) { + this.browsePath = browsePath; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public SimpleAttributeOperand.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public SimpleAttributeOperand.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + @Override + public SimpleAttributeOperand build() { + if (_storedValue == null) { + return this.init(new SimpleAttributeOperand()); + } else { + return ((SimpleAttributeOperand) _storedValue); + } + } + + public SimpleAttributeOperand.Builder<_B> copyOf(final SimpleAttributeOperand _other) { + _other.copyTo(this); + return this; + } + + public SimpleAttributeOperand.Builder<_B> copyOf(final SimpleAttributeOperand.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SimpleAttributeOperand.Selector + { + + + Select() { + super(null, null, null); + } + + public static SimpleAttributeOperand.Select _root() { + return new SimpleAttributeOperand.Select(); + } + + } + + public static class Selector , TParent > + extends FilterOperand.Selector + { + + private com.kscs.util.jaxb.Selector> typeDefinitionId = null; + private com.kscs.util.jaxb.Selector> browsePath = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.typeDefinitionId!= null) { + products.put("typeDefinitionId", this.typeDefinitionId.init()); + } + if (this.browsePath!= null) { + products.put("browsePath", this.browsePath.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> typeDefinitionId() { + return ((this.typeDefinitionId == null)?this.typeDefinitionId = new com.kscs.util.jaxb.Selector>(this._root, this, "typeDefinitionId"):this.typeDefinitionId); + } + + public com.kscs.util.jaxb.Selector> browsePath() { + return ((this.browsePath == null)?this.browsePath = new com.kscs.util.jaxb.Selector>(this._root, this, "browsePath"):this.browsePath); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleTypeDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleTypeDescription.java new file mode 100644 index 000000000..5b46369c7 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SimpleTypeDescription.java @@ -0,0 +1,359 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SimpleTypeDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SimpleTypeDescription">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDescription">
+ *       <sequence>
+ *         <element name="BaseDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="BuiltInType" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SimpleTypeDescription", propOrder = { + "baseDataType", + "builtInType" +}) +public class SimpleTypeDescription + extends DataTypeDescription +{ + + @XmlElementRef(name = "BaseDataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement baseDataType; + @XmlElement(name = "BuiltInType") + @XmlSchemaType(name = "unsignedByte") + protected Short builtInType; + + /** + * Ruft den Wert der baseDataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getBaseDataType() { + return baseDataType; + } + + /** + * Legt den Wert der baseDataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setBaseDataType(JAXBElement value) { + this.baseDataType = value; + } + + /** + * Ruft den Wert der builtInType-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getBuiltInType() { + return builtInType; + } + + /** + * Legt den Wert der builtInType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setBuiltInType(Short value) { + this.builtInType = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SimpleTypeDescription.Builder<_B> _other) { + super.copyTo(_other); + _other.baseDataType = this.baseDataType; + _other.builtInType = this.builtInType; + } + + @Override + public<_B >SimpleTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SimpleTypeDescription.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public SimpleTypeDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SimpleTypeDescription.Builder builder() { + return new SimpleTypeDescription.Builder(null, null, false); + } + + public static<_B >SimpleTypeDescription.Builder<_B> copyOf(final DataTypeDescription _other) { + final SimpleTypeDescription.Builder<_B> _newBuilder = new SimpleTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >SimpleTypeDescription.Builder<_B> copyOf(final SimpleTypeDescription _other) { + final SimpleTypeDescription.Builder<_B> _newBuilder = new SimpleTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SimpleTypeDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree baseDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("baseDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(baseDataTypePropertyTree!= null):((baseDataTypePropertyTree == null)||(!baseDataTypePropertyTree.isLeaf())))) { + _other.baseDataType = this.baseDataType; + } + final PropertyTree builtInTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("builtInType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(builtInTypePropertyTree!= null):((builtInTypePropertyTree == null)||(!builtInTypePropertyTree.isLeaf())))) { + _other.builtInType = this.builtInType; + } + } + + @Override + public<_B >SimpleTypeDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SimpleTypeDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public SimpleTypeDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SimpleTypeDescription.Builder<_B> copyOf(final DataTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SimpleTypeDescription.Builder<_B> _newBuilder = new SimpleTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >SimpleTypeDescription.Builder<_B> copyOf(final SimpleTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SimpleTypeDescription.Builder<_B> _newBuilder = new SimpleTypeDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SimpleTypeDescription.Builder copyExcept(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SimpleTypeDescription.Builder copyExcept(final SimpleTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SimpleTypeDescription.Builder copyOnly(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static SimpleTypeDescription.Builder copyOnly(final SimpleTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeDescription.Builder<_B> + implements Buildable + { + + private JAXBElement baseDataType; + private Short builtInType; + + public Builder(final _B _parentBuilder, final SimpleTypeDescription _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.baseDataType = _other.baseDataType; + this.builtInType = _other.builtInType; + } + } + + public Builder(final _B _parentBuilder, final SimpleTypeDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree baseDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("baseDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(baseDataTypePropertyTree!= null):((baseDataTypePropertyTree == null)||(!baseDataTypePropertyTree.isLeaf())))) { + this.baseDataType = _other.baseDataType; + } + final PropertyTree builtInTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("builtInType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(builtInTypePropertyTree!= null):((builtInTypePropertyTree == null)||(!builtInTypePropertyTree.isLeaf())))) { + this.builtInType = _other.builtInType; + } + } + } + + protected<_P extends SimpleTypeDescription >_P init(final _P _product) { + _product.baseDataType = this.baseDataType; + _product.builtInType = this.builtInType; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "baseDataType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param baseDataType + * Neuer Wert der Eigenschaft "baseDataType". + */ + public SimpleTypeDescription.Builder<_B> withBaseDataType(final JAXBElement baseDataType) { + this.baseDataType = baseDataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "builtInType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param builtInType + * Neuer Wert der Eigenschaft "builtInType". + */ + public SimpleTypeDescription.Builder<_B> withBuiltInType(final Short builtInType) { + this.builtInType = builtInType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataTypeId + * Neuer Wert der Eigenschaft "dataTypeId". + */ + @Override + public SimpleTypeDescription.Builder<_B> withDataTypeId(final JAXBElement dataTypeId) { + super.withDataTypeId(dataTypeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + @Override + public SimpleTypeDescription.Builder<_B> withName(final JAXBElement name) { + super.withName(name); + return this; + } + + @Override + public SimpleTypeDescription build() { + if (_storedValue == null) { + return this.init(new SimpleTypeDescription()); + } else { + return ((SimpleTypeDescription) _storedValue); + } + } + + public SimpleTypeDescription.Builder<_B> copyOf(final SimpleTypeDescription _other) { + _other.copyTo(this); + return this; + } + + public SimpleTypeDescription.Builder<_B> copyOf(final SimpleTypeDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SimpleTypeDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static SimpleTypeDescription.Select _root() { + return new SimpleTypeDescription.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeDescription.Selector + { + + private com.kscs.util.jaxb.Selector> baseDataType = null; + private com.kscs.util.jaxb.Selector> builtInType = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.baseDataType!= null) { + products.put("baseDataType", this.baseDataType.init()); + } + if (this.builtInType!= null) { + products.put("builtInType", this.builtInType.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> baseDataType() { + return ((this.baseDataType == null)?this.baseDataType = new com.kscs.util.jaxb.Selector>(this._root, this, "baseDataType"):this.baseDataType); + } + + public com.kscs.util.jaxb.Selector> builtInType() { + return ((this.builtInType == null)?this.builtInType = new com.kscs.util.jaxb.Selector>(this._root, this, "builtInType"):this.builtInType); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusChangeNotification.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusChangeNotification.java new file mode 100644 index 000000000..a8d2487f0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusChangeNotification.java @@ -0,0 +1,349 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für StatusChangeNotification complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="StatusChangeNotification">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NotificationData">
+ *       <sequence>
+ *         <element name="Status" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfo" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StatusChangeNotification", propOrder = { + "status", + "diagnosticInfo" +}) +public class StatusChangeNotification + extends NotificationData +{ + + @XmlElement(name = "Status") + protected StatusCode status; + @XmlElementRef(name = "DiagnosticInfo", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfo; + + /** + * Ruft den Wert der status-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatus() { + return status; + } + + /** + * Legt den Wert der status-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatus(StatusCode value) { + this.status = value; + } + + /** + * Ruft den Wert der diagnosticInfo-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfo() { + return diagnosticInfo; + } + + /** + * Legt den Wert der diagnosticInfo-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfo(JAXBElement value) { + this.diagnosticInfo = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StatusChangeNotification.Builder<_B> _other) { + super.copyTo(_other); + _other.status = ((this.status == null)?null:this.status.newCopyBuilder(_other)); + _other.diagnosticInfo = this.diagnosticInfo; + } + + @Override + public<_B >StatusChangeNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new StatusChangeNotification.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public StatusChangeNotification.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static StatusChangeNotification.Builder builder() { + return new StatusChangeNotification.Builder(null, null, false); + } + + public static<_B >StatusChangeNotification.Builder<_B> copyOf(final NotificationData _other) { + final StatusChangeNotification.Builder<_B> _newBuilder = new StatusChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >StatusChangeNotification.Builder<_B> copyOf(final StatusChangeNotification _other) { + final StatusChangeNotification.Builder<_B> _newBuilder = new StatusChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StatusChangeNotification.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree statusPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("status")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusPropertyTree!= null):((statusPropertyTree == null)||(!statusPropertyTree.isLeaf())))) { + _other.status = ((this.status == null)?null:this.status.newCopyBuilder(_other, statusPropertyTree, _propertyTreeUse)); + } + final PropertyTree diagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfoPropertyTree!= null):((diagnosticInfoPropertyTree == null)||(!diagnosticInfoPropertyTree.isLeaf())))) { + _other.diagnosticInfo = this.diagnosticInfo; + } + } + + @Override + public<_B >StatusChangeNotification.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new StatusChangeNotification.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public StatusChangeNotification.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >StatusChangeNotification.Builder<_B> copyOf(final NotificationData _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StatusChangeNotification.Builder<_B> _newBuilder = new StatusChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >StatusChangeNotification.Builder<_B> copyOf(final StatusChangeNotification _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StatusChangeNotification.Builder<_B> _newBuilder = new StatusChangeNotification.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static StatusChangeNotification.Builder copyExcept(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StatusChangeNotification.Builder copyExcept(final StatusChangeNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StatusChangeNotification.Builder copyOnly(final NotificationData _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static StatusChangeNotification.Builder copyOnly(final StatusChangeNotification _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NotificationData.Builder<_B> + implements Buildable + { + + private StatusCode.Builder> status; + private JAXBElement diagnosticInfo; + + public Builder(final _B _parentBuilder, final StatusChangeNotification _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.status = ((_other.status == null)?null:_other.status.newCopyBuilder(this)); + this.diagnosticInfo = _other.diagnosticInfo; + } + } + + public Builder(final _B _parentBuilder, final StatusChangeNotification _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree statusPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("status")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusPropertyTree!= null):((statusPropertyTree == null)||(!statusPropertyTree.isLeaf())))) { + this.status = ((_other.status == null)?null:_other.status.newCopyBuilder(this, statusPropertyTree, _propertyTreeUse)); + } + final PropertyTree diagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfoPropertyTree!= null):((diagnosticInfoPropertyTree == null)||(!diagnosticInfoPropertyTree.isLeaf())))) { + this.diagnosticInfo = _other.diagnosticInfo; + } + } + } + + protected<_P extends StatusChangeNotification >_P init(final _P _product) { + _product.status = ((this.status == null)?null:this.status.build()); + _product.diagnosticInfo = this.diagnosticInfo; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "status" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param status + * Neuer Wert der Eigenschaft "status". + */ + public StatusChangeNotification.Builder<_B> withStatus(final StatusCode status) { + this.status = ((status == null)?null:new StatusCode.Builder>(this, status, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "status". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "status". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatus() { + if (this.status!= null) { + return this.status; + } + return this.status = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfo" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfo + * Neuer Wert der Eigenschaft "diagnosticInfo". + */ + public StatusChangeNotification.Builder<_B> withDiagnosticInfo(final JAXBElement diagnosticInfo) { + this.diagnosticInfo = diagnosticInfo; + return this; + } + + @Override + public StatusChangeNotification build() { + if (_storedValue == null) { + return this.init(new StatusChangeNotification()); + } else { + return ((StatusChangeNotification) _storedValue); + } + } + + public StatusChangeNotification.Builder<_B> copyOf(final StatusChangeNotification _other) { + _other.copyTo(this); + return this; + } + + public StatusChangeNotification.Builder<_B> copyOf(final StatusChangeNotification.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends StatusChangeNotification.Selector + { + + + Select() { + super(null, null, null); + } + + public static StatusChangeNotification.Select _root() { + return new StatusChangeNotification.Select(); + } + + } + + public static class Selector , TParent > + extends NotificationData.Selector + { + + private StatusCode.Selector> status = null; + private com.kscs.util.jaxb.Selector> diagnosticInfo = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.status!= null) { + products.put("status", this.status.init()); + } + if (this.diagnosticInfo!= null) { + products.put("diagnosticInfo", this.diagnosticInfo.init()); + } + return products; + } + + public StatusCode.Selector> status() { + return ((this.status == null)?this.status = new StatusCode.Selector>(this._root, this, "status"):this.status); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfo() { + return ((this.diagnosticInfo == null)?this.diagnosticInfo = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfo"):this.diagnosticInfo); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusCode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusCode.java new file mode 100644 index 000000000..82f1c55b1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusCode.java @@ -0,0 +1,261 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für StatusCode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="StatusCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Code" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StatusCode", propOrder = { + "code" +}) +public class StatusCode { + + @XmlElement(name = "Code") + @XmlSchemaType(name = "unsignedInt") + protected Long code; + + /** + * Ruft den Wert der code-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCode() { + return code; + } + + /** + * Legt den Wert der code-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCode(Long value) { + this.code = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StatusCode.Builder<_B> _other) { + _other.code = this.code; + } + + public<_B >StatusCode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new StatusCode.Builder<_B>(_parentBuilder, this, true); + } + + public StatusCode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static StatusCode.Builder builder() { + return new StatusCode.Builder(null, null, false); + } + + public static<_B >StatusCode.Builder<_B> copyOf(final StatusCode _other) { + final StatusCode.Builder<_B> _newBuilder = new StatusCode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StatusCode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree codePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("code")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(codePropertyTree!= null):((codePropertyTree == null)||(!codePropertyTree.isLeaf())))) { + _other.code = this.code; + } + } + + public<_B >StatusCode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new StatusCode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public StatusCode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >StatusCode.Builder<_B> copyOf(final StatusCode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StatusCode.Builder<_B> _newBuilder = new StatusCode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static StatusCode.Builder copyExcept(final StatusCode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StatusCode.Builder copyOnly(final StatusCode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final StatusCode _storedValue; + private Long code; + + public Builder(final _B _parentBuilder, final StatusCode _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.code = _other.code; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final StatusCode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree codePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("code")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(codePropertyTree!= null):((codePropertyTree == null)||(!codePropertyTree.isLeaf())))) { + this.code = _other.code; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends StatusCode >_P init(final _P _product) { + _product.code = this.code; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "code" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param code + * Neuer Wert der Eigenschaft "code". + */ + public StatusCode.Builder<_B> withCode(final Long code) { + this.code = code; + return this; + } + + @Override + public StatusCode build() { + if (_storedValue == null) { + return this.init(new StatusCode()); + } else { + return ((StatusCode) _storedValue); + } + } + + public StatusCode.Builder<_B> copyOf(final StatusCode _other) { + _other.copyTo(this); + return this; + } + + public StatusCode.Builder<_B> copyOf(final StatusCode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends StatusCode.Selector + { + + + Select() { + super(null, null, null); + } + + public static StatusCode.Select _root() { + return new StatusCode.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> code = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.code!= null) { + products.put("code", this.code.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> code() { + return ((this.code == null)?this.code = new com.kscs.util.jaxb.Selector>(this._root, this, "code"):this.code); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusResult.java new file mode 100644 index 000000000..0eba6281a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StatusResult.java @@ -0,0 +1,339 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für StatusResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="StatusResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfo" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StatusResult", propOrder = { + "statusCode", + "diagnosticInfo" +}) +public class StatusResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "DiagnosticInfo", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfo; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der diagnosticInfo-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfo() { + return diagnosticInfo; + } + + /** + * Legt den Wert der diagnosticInfo-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfo(JAXBElement value) { + this.diagnosticInfo = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StatusResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.diagnosticInfo = this.diagnosticInfo; + } + + public<_B >StatusResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new StatusResult.Builder<_B>(_parentBuilder, this, true); + } + + public StatusResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static StatusResult.Builder builder() { + return new StatusResult.Builder(null, null, false); + } + + public static<_B >StatusResult.Builder<_B> copyOf(final StatusResult _other) { + final StatusResult.Builder<_B> _newBuilder = new StatusResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StatusResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree diagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfoPropertyTree!= null):((diagnosticInfoPropertyTree == null)||(!diagnosticInfoPropertyTree.isLeaf())))) { + _other.diagnosticInfo = this.diagnosticInfo; + } + } + + public<_B >StatusResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new StatusResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public StatusResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >StatusResult.Builder<_B> copyOf(final StatusResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StatusResult.Builder<_B> _newBuilder = new StatusResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static StatusResult.Builder copyExcept(final StatusResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StatusResult.Builder copyOnly(final StatusResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final StatusResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement diagnosticInfo; + + public Builder(final _B _parentBuilder, final StatusResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.diagnosticInfo = _other.diagnosticInfo; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final StatusResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree diagnosticInfoPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfo")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfoPropertyTree!= null):((diagnosticInfoPropertyTree == null)||(!diagnosticInfoPropertyTree.isLeaf())))) { + this.diagnosticInfo = _other.diagnosticInfo; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends StatusResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.diagnosticInfo = this.diagnosticInfo; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public StatusResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfo" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfo + * Neuer Wert der Eigenschaft "diagnosticInfo". + */ + public StatusResult.Builder<_B> withDiagnosticInfo(final JAXBElement diagnosticInfo) { + this.diagnosticInfo = diagnosticInfo; + return this; + } + + @Override + public StatusResult build() { + if (_storedValue == null) { + return this.init(new StatusResult()); + } else { + return ((StatusResult) _storedValue); + } + } + + public StatusResult.Builder<_B> copyOf(final StatusResult _other) { + _other.copyTo(this); + return this; + } + + public StatusResult.Builder<_B> copyOf(final StatusResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends StatusResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static StatusResult.Select _root() { + return new StatusResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> diagnosticInfo = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.diagnosticInfo!= null) { + products.put("diagnosticInfo", this.diagnosticInfo.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfo() { + return ((this.diagnosticInfo == null)?this.diagnosticInfo = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfo"):this.diagnosticInfo); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDefinition.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDefinition.java new file mode 100644 index 000000000..4925781ef --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDefinition.java @@ -0,0 +1,453 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für StructureDefinition complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="StructureDefinition">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDefinition">
+ *       <sequence>
+ *         <element name="DefaultEncodingId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="BaseDataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="StructureType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StructureType" minOccurs="0"/>
+ *         <element name="Fields" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStructureField" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StructureDefinition", propOrder = { + "defaultEncodingId", + "baseDataType", + "structureType", + "fields" +}) +public class StructureDefinition + extends DataTypeDefinition +{ + + @XmlElementRef(name = "DefaultEncodingId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement defaultEncodingId; + @XmlElementRef(name = "BaseDataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement baseDataType; + @XmlElement(name = "StructureType") + @XmlSchemaType(name = "string") + protected StructureType structureType; + @XmlElementRef(name = "Fields", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement fields; + + /** + * Ruft den Wert der defaultEncodingId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDefaultEncodingId() { + return defaultEncodingId; + } + + /** + * Legt den Wert der defaultEncodingId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDefaultEncodingId(JAXBElement value) { + this.defaultEncodingId = value; + } + + /** + * Ruft den Wert der baseDataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getBaseDataType() { + return baseDataType; + } + + /** + * Legt den Wert der baseDataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setBaseDataType(JAXBElement value) { + this.baseDataType = value; + } + + /** + * Ruft den Wert der structureType-Eigenschaft ab. + * + * @return + * possible object is + * {@link StructureType } + * + */ + public StructureType getStructureType() { + return structureType; + } + + /** + * Legt den Wert der structureType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StructureType } + * + */ + public void setStructureType(StructureType value) { + this.structureType = value; + } + + /** + * Ruft den Wert der fields-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStructureField }{@code >} + * + */ + public JAXBElement getFields() { + return fields; + } + + /** + * Legt den Wert der fields-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStructureField }{@code >} + * + */ + public void setFields(JAXBElement value) { + this.fields = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StructureDefinition.Builder<_B> _other) { + super.copyTo(_other); + _other.defaultEncodingId = this.defaultEncodingId; + _other.baseDataType = this.baseDataType; + _other.structureType = this.structureType; + _other.fields = this.fields; + } + + @Override + public<_B >StructureDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new StructureDefinition.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public StructureDefinition.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static StructureDefinition.Builder builder() { + return new StructureDefinition.Builder(null, null, false); + } + + public static<_B >StructureDefinition.Builder<_B> copyOf(final DataTypeDefinition _other) { + final StructureDefinition.Builder<_B> _newBuilder = new StructureDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >StructureDefinition.Builder<_B> copyOf(final StructureDefinition _other) { + final StructureDefinition.Builder<_B> _newBuilder = new StructureDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StructureDefinition.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree defaultEncodingIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("defaultEncodingId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(defaultEncodingIdPropertyTree!= null):((defaultEncodingIdPropertyTree == null)||(!defaultEncodingIdPropertyTree.isLeaf())))) { + _other.defaultEncodingId = this.defaultEncodingId; + } + final PropertyTree baseDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("baseDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(baseDataTypePropertyTree!= null):((baseDataTypePropertyTree == null)||(!baseDataTypePropertyTree.isLeaf())))) { + _other.baseDataType = this.baseDataType; + } + final PropertyTree structureTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureTypePropertyTree!= null):((structureTypePropertyTree == null)||(!structureTypePropertyTree.isLeaf())))) { + _other.structureType = this.structureType; + } + final PropertyTree fieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldsPropertyTree!= null):((fieldsPropertyTree == null)||(!fieldsPropertyTree.isLeaf())))) { + _other.fields = this.fields; + } + } + + @Override + public<_B >StructureDefinition.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new StructureDefinition.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public StructureDefinition.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >StructureDefinition.Builder<_B> copyOf(final DataTypeDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StructureDefinition.Builder<_B> _newBuilder = new StructureDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >StructureDefinition.Builder<_B> copyOf(final StructureDefinition _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StructureDefinition.Builder<_B> _newBuilder = new StructureDefinition.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static StructureDefinition.Builder copyExcept(final DataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StructureDefinition.Builder copyExcept(final StructureDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StructureDefinition.Builder copyOnly(final DataTypeDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static StructureDefinition.Builder copyOnly(final StructureDefinition _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeDefinition.Builder<_B> + implements Buildable + { + + private JAXBElement defaultEncodingId; + private JAXBElement baseDataType; + private StructureType structureType; + private JAXBElement fields; + + public Builder(final _B _parentBuilder, final StructureDefinition _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.defaultEncodingId = _other.defaultEncodingId; + this.baseDataType = _other.baseDataType; + this.structureType = _other.structureType; + this.fields = _other.fields; + } + } + + public Builder(final _B _parentBuilder, final StructureDefinition _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree defaultEncodingIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("defaultEncodingId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(defaultEncodingIdPropertyTree!= null):((defaultEncodingIdPropertyTree == null)||(!defaultEncodingIdPropertyTree.isLeaf())))) { + this.defaultEncodingId = _other.defaultEncodingId; + } + final PropertyTree baseDataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("baseDataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(baseDataTypePropertyTree!= null):((baseDataTypePropertyTree == null)||(!baseDataTypePropertyTree.isLeaf())))) { + this.baseDataType = _other.baseDataType; + } + final PropertyTree structureTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureTypePropertyTree!= null):((structureTypePropertyTree == null)||(!structureTypePropertyTree.isLeaf())))) { + this.structureType = _other.structureType; + } + final PropertyTree fieldsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fields")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fieldsPropertyTree!= null):((fieldsPropertyTree == null)||(!fieldsPropertyTree.isLeaf())))) { + this.fields = _other.fields; + } + } + } + + protected<_P extends StructureDefinition >_P init(final _P _product) { + _product.defaultEncodingId = this.defaultEncodingId; + _product.baseDataType = this.baseDataType; + _product.structureType = this.structureType; + _product.fields = this.fields; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "defaultEncodingId" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param defaultEncodingId + * Neuer Wert der Eigenschaft "defaultEncodingId". + */ + public StructureDefinition.Builder<_B> withDefaultEncodingId(final JAXBElement defaultEncodingId) { + this.defaultEncodingId = defaultEncodingId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "baseDataType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param baseDataType + * Neuer Wert der Eigenschaft "baseDataType". + */ + public StructureDefinition.Builder<_B> withBaseDataType(final JAXBElement baseDataType) { + this.baseDataType = baseDataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param structureType + * Neuer Wert der Eigenschaft "structureType". + */ + public StructureDefinition.Builder<_B> withStructureType(final StructureType structureType) { + this.structureType = structureType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fields" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param fields + * Neuer Wert der Eigenschaft "fields". + */ + public StructureDefinition.Builder<_B> withFields(final JAXBElement fields) { + this.fields = fields; + return this; + } + + @Override + public StructureDefinition build() { + if (_storedValue == null) { + return this.init(new StructureDefinition()); + } else { + return ((StructureDefinition) _storedValue); + } + } + + public StructureDefinition.Builder<_B> copyOf(final StructureDefinition _other) { + _other.copyTo(this); + return this; + } + + public StructureDefinition.Builder<_B> copyOf(final StructureDefinition.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends StructureDefinition.Selector + { + + + Select() { + super(null, null, null); + } + + public static StructureDefinition.Select _root() { + return new StructureDefinition.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeDefinition.Selector + { + + private com.kscs.util.jaxb.Selector> defaultEncodingId = null; + private com.kscs.util.jaxb.Selector> baseDataType = null; + private com.kscs.util.jaxb.Selector> structureType = null; + private com.kscs.util.jaxb.Selector> fields = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.defaultEncodingId!= null) { + products.put("defaultEncodingId", this.defaultEncodingId.init()); + } + if (this.baseDataType!= null) { + products.put("baseDataType", this.baseDataType.init()); + } + if (this.structureType!= null) { + products.put("structureType", this.structureType.init()); + } + if (this.fields!= null) { + products.put("fields", this.fields.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> defaultEncodingId() { + return ((this.defaultEncodingId == null)?this.defaultEncodingId = new com.kscs.util.jaxb.Selector>(this._root, this, "defaultEncodingId"):this.defaultEncodingId); + } + + public com.kscs.util.jaxb.Selector> baseDataType() { + return ((this.baseDataType == null)?this.baseDataType = new com.kscs.util.jaxb.Selector>(this._root, this, "baseDataType"):this.baseDataType); + } + + public com.kscs.util.jaxb.Selector> structureType() { + return ((this.structureType == null)?this.structureType = new com.kscs.util.jaxb.Selector>(this._root, this, "structureType"):this.structureType); + } + + public com.kscs.util.jaxb.Selector> fields() { + return ((this.fields == null)?this.fields = new com.kscs.util.jaxb.Selector>(this._root, this, "fields"):this.fields); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDescription.java new file mode 100644 index 000000000..5d4067246 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureDescription.java @@ -0,0 +1,296 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für StructureDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="StructureDescription">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeDescription">
+ *       <sequence>
+ *         <element name="StructureDefinition" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StructureDefinition" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StructureDescription", propOrder = { + "structureDefinition" +}) +public class StructureDescription + extends DataTypeDescription +{ + + @XmlElementRef(name = "StructureDefinition", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement structureDefinition; + + /** + * Ruft den Wert der structureDefinition-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link StructureDefinition }{@code >} + * + */ + public JAXBElement getStructureDefinition() { + return structureDefinition; + } + + /** + * Legt den Wert der structureDefinition-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link StructureDefinition }{@code >} + * + */ + public void setStructureDefinition(JAXBElement value) { + this.structureDefinition = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StructureDescription.Builder<_B> _other) { + super.copyTo(_other); + _other.structureDefinition = this.structureDefinition; + } + + @Override + public<_B >StructureDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new StructureDescription.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public StructureDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static StructureDescription.Builder builder() { + return new StructureDescription.Builder(null, null, false); + } + + public static<_B >StructureDescription.Builder<_B> copyOf(final DataTypeDescription _other) { + final StructureDescription.Builder<_B> _newBuilder = new StructureDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >StructureDescription.Builder<_B> copyOf(final StructureDescription _other) { + final StructureDescription.Builder<_B> _newBuilder = new StructureDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StructureDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree structureDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDefinitionPropertyTree!= null):((structureDefinitionPropertyTree == null)||(!structureDefinitionPropertyTree.isLeaf())))) { + _other.structureDefinition = this.structureDefinition; + } + } + + @Override + public<_B >StructureDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new StructureDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public StructureDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >StructureDescription.Builder<_B> copyOf(final DataTypeDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StructureDescription.Builder<_B> _newBuilder = new StructureDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >StructureDescription.Builder<_B> copyOf(final StructureDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StructureDescription.Builder<_B> _newBuilder = new StructureDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static StructureDescription.Builder copyExcept(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StructureDescription.Builder copyExcept(final StructureDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StructureDescription.Builder copyOnly(final DataTypeDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static StructureDescription.Builder copyOnly(final StructureDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeDescription.Builder<_B> + implements Buildable + { + + private JAXBElement structureDefinition; + + public Builder(final _B _parentBuilder, final StructureDescription _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.structureDefinition = _other.structureDefinition; + } + } + + public Builder(final _B _parentBuilder, final StructureDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree structureDefinitionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("structureDefinition")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(structureDefinitionPropertyTree!= null):((structureDefinitionPropertyTree == null)||(!structureDefinitionPropertyTree.isLeaf())))) { + this.structureDefinition = _other.structureDefinition; + } + } + } + + protected<_P extends StructureDescription >_P init(final _P _product) { + _product.structureDefinition = this.structureDefinition; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDefinition" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDefinition + * Neuer Wert der Eigenschaft "structureDefinition". + */ + public StructureDescription.Builder<_B> withStructureDefinition(final JAXBElement structureDefinition) { + this.structureDefinition = structureDefinition; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataTypeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataTypeId + * Neuer Wert der Eigenschaft "dataTypeId". + */ + @Override + public StructureDescription.Builder<_B> withDataTypeId(final JAXBElement dataTypeId) { + super.withDataTypeId(dataTypeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + @Override + public StructureDescription.Builder<_B> withName(final JAXBElement name) { + super.withName(name); + return this; + } + + @Override + public StructureDescription build() { + if (_storedValue == null) { + return this.init(new StructureDescription()); + } else { + return ((StructureDescription) _storedValue); + } + } + + public StructureDescription.Builder<_B> copyOf(final StructureDescription _other) { + _other.copyTo(this); + return this; + } + + public StructureDescription.Builder<_B> copyOf(final StructureDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends StructureDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static StructureDescription.Select _root() { + return new StructureDescription.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeDescription.Selector + { + + private com.kscs.util.jaxb.Selector> structureDefinition = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.structureDefinition!= null) { + products.put("structureDefinition", this.structureDefinition.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> structureDefinition() { + return ((this.structureDefinition == null)?this.structureDefinition = new com.kscs.util.jaxb.Selector>(this._root, this, "structureDefinition"):this.structureDefinition); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureField.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureField.java new file mode 100644 index 000000000..8828f4341 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureField.java @@ -0,0 +1,623 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für StructureField complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="StructureField">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Description" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}LocalizedText" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="MaxStringLength" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="IsOptional" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StructureField", propOrder = { + "name", + "description", + "dataType", + "valueRank", + "arrayDimensions", + "maxStringLength", + "isOptional" +}) +public class StructureField { + + @XmlElementRef(name = "Name", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement name; + @XmlElementRef(name = "Description", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement description; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElement(name = "MaxStringLength") + @XmlSchemaType(name = "unsignedInt") + protected Long maxStringLength; + @XmlElement(name = "IsOptional") + protected Boolean isOptional; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setName(JAXBElement value) { + this.name = value; + } + + /** + * Ruft den Wert der description-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public JAXBElement getDescription() { + return description; + } + + /** + * Legt den Wert der description-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link LocalizedText }{@code >} + * + */ + public void setDescription(JAXBElement value) { + this.description = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der maxStringLength-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxStringLength() { + return maxStringLength; + } + + /** + * Legt den Wert der maxStringLength-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxStringLength(Long value) { + this.maxStringLength = value; + } + + /** + * Ruft den Wert der isOptional-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsOptional() { + return isOptional; + } + + /** + * Legt den Wert der isOptional-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsOptional(Boolean value) { + this.isOptional = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StructureField.Builder<_B> _other) { + _other.name = this.name; + _other.description = this.description; + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.maxStringLength = this.maxStringLength; + _other.isOptional = this.isOptional; + } + + public<_B >StructureField.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new StructureField.Builder<_B>(_parentBuilder, this, true); + } + + public StructureField.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static StructureField.Builder builder() { + return new StructureField.Builder(null, null, false); + } + + public static<_B >StructureField.Builder<_B> copyOf(final StructureField _other) { + final StructureField.Builder<_B> _newBuilder = new StructureField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final StructureField.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + _other.name = this.name; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + _other.description = this.description; + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree maxStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxStringLengthPropertyTree!= null):((maxStringLengthPropertyTree == null)||(!maxStringLengthPropertyTree.isLeaf())))) { + _other.maxStringLength = this.maxStringLength; + } + final PropertyTree isOptionalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isOptional")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isOptionalPropertyTree!= null):((isOptionalPropertyTree == null)||(!isOptionalPropertyTree.isLeaf())))) { + _other.isOptional = this.isOptional; + } + } + + public<_B >StructureField.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new StructureField.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public StructureField.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >StructureField.Builder<_B> copyOf(final StructureField _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final StructureField.Builder<_B> _newBuilder = new StructureField.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static StructureField.Builder copyExcept(final StructureField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static StructureField.Builder copyOnly(final StructureField _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final StructureField _storedValue; + private JAXBElement name; + private JAXBElement description; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private Long maxStringLength; + private Boolean isOptional; + + public Builder(final _B _parentBuilder, final StructureField _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.name = _other.name; + this.description = _other.description; + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.maxStringLength = _other.maxStringLength; + this.isOptional = _other.isOptional; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final StructureField _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree namePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("name")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(namePropertyTree!= null):((namePropertyTree == null)||(!namePropertyTree.isLeaf())))) { + this.name = _other.name; + } + final PropertyTree descriptionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("description")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(descriptionPropertyTree!= null):((descriptionPropertyTree == null)||(!descriptionPropertyTree.isLeaf())))) { + this.description = _other.description; + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree maxStringLengthPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxStringLength")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxStringLengthPropertyTree!= null):((maxStringLengthPropertyTree == null)||(!maxStringLengthPropertyTree.isLeaf())))) { + this.maxStringLength = _other.maxStringLength; + } + final PropertyTree isOptionalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isOptional")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isOptionalPropertyTree!= null):((isOptionalPropertyTree == null)||(!isOptionalPropertyTree.isLeaf())))) { + this.isOptional = _other.isOptional; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends StructureField >_P init(final _P _product) { + _product.name = this.name; + _product.description = this.description; + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.maxStringLength = this.maxStringLength; + _product.isOptional = this.isOptional; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + public StructureField.Builder<_B> withName(final JAXBElement name) { + this.name = name; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + public StructureField.Builder<_B> withDescription(final JAXBElement description) { + this.description = description; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public StructureField.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public StructureField.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public StructureField.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxStringLength" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param maxStringLength + * Neuer Wert der Eigenschaft "maxStringLength". + */ + public StructureField.Builder<_B> withMaxStringLength(final Long maxStringLength) { + this.maxStringLength = maxStringLength; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isOptional" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isOptional + * Neuer Wert der Eigenschaft "isOptional". + */ + public StructureField.Builder<_B> withIsOptional(final Boolean isOptional) { + this.isOptional = isOptional; + return this; + } + + @Override + public StructureField build() { + if (_storedValue == null) { + return this.init(new StructureField()); + } else { + return ((StructureField) _storedValue); + } + } + + public StructureField.Builder<_B> copyOf(final StructureField _other) { + _other.copyTo(this); + return this; + } + + public StructureField.Builder<_B> copyOf(final StructureField.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends StructureField.Selector + { + + + Select() { + super(null, null, null); + } + + public static StructureField.Select _root() { + return new StructureField.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> name = null; + private com.kscs.util.jaxb.Selector> description = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> maxStringLength = null; + private com.kscs.util.jaxb.Selector> isOptional = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.name!= null) { + products.put("name", this.name.init()); + } + if (this.description!= null) { + products.put("description", this.description.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.maxStringLength!= null) { + products.put("maxStringLength", this.maxStringLength.init()); + } + if (this.isOptional!= null) { + products.put("isOptional", this.isOptional.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> name() { + return ((this.name == null)?this.name = new com.kscs.util.jaxb.Selector>(this._root, this, "name"):this.name); + } + + public com.kscs.util.jaxb.Selector> description() { + return ((this.description == null)?this.description = new com.kscs.util.jaxb.Selector>(this._root, this, "description"):this.description); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> maxStringLength() { + return ((this.maxStringLength == null)?this.maxStringLength = new com.kscs.util.jaxb.Selector>(this._root, this, "maxStringLength"):this.maxStringLength); + } + + public com.kscs.util.jaxb.Selector> isOptional() { + return ((this.isOptional == null)?this.isOptional = new com.kscs.util.jaxb.Selector>(this._root, this, "isOptional"):this.isOptional); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureType.java new file mode 100644 index 000000000..639a8bb74 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/StructureType.java @@ -0,0 +1,61 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für StructureType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="StructureType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Structure_0"/>
+ *     <enumeration value="StructureWithOptionalFields_1"/>
+ *     <enumeration value="Union_2"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "StructureType") +@XmlEnum +public enum StructureType { + + @XmlEnumValue("Structure_0") + STRUCTURE_0("Structure_0"), + @XmlEnumValue("StructureWithOptionalFields_1") + STRUCTURE_WITH_OPTIONAL_FIELDS_1("StructureWithOptionalFields_1"), + @XmlEnumValue("Union_2") + UNION_2("Union_2"); + private final String value; + + StructureType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static StructureType fromValue(String v) { + for (StructureType c: StructureType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetDataType.java new file mode 100644 index 000000000..e50335082 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SubscribedDataSetDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SubscribedDataSetDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SubscribedDataSetDataType") +@XmlSeeAlso({ + TargetVariablesDataType.class, + SubscribedDataSetMirrorDataType.class +}) +public class SubscribedDataSetDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscribedDataSetDataType.Builder<_B> _other) { + } + + public<_B >SubscribedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SubscribedDataSetDataType.Builder<_B>(_parentBuilder, this, true); + } + + public SubscribedDataSetDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SubscribedDataSetDataType.Builder builder() { + return new SubscribedDataSetDataType.Builder(null, null, false); + } + + public static<_B >SubscribedDataSetDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other) { + final SubscribedDataSetDataType.Builder<_B> _newBuilder = new SubscribedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscribedDataSetDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >SubscribedDataSetDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SubscribedDataSetDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SubscribedDataSetDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SubscribedDataSetDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SubscribedDataSetDataType.Builder<_B> _newBuilder = new SubscribedDataSetDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SubscribedDataSetDataType.Builder copyExcept(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SubscribedDataSetDataType.Builder copyOnly(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SubscribedDataSetDataType _storedValue; + + public Builder(final _B _parentBuilder, final SubscribedDataSetDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SubscribedDataSetDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SubscribedDataSetDataType >_P init(final _P _product) { + return _product; + } + + @Override + public SubscribedDataSetDataType build() { + if (_storedValue == null) { + return this.init(new SubscribedDataSetDataType()); + } else { + return ((SubscribedDataSetDataType) _storedValue); + } + } + + public SubscribedDataSetDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other) { + _other.copyTo(this); + return this; + } + + public SubscribedDataSetDataType.Builder<_B> copyOf(final SubscribedDataSetDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SubscribedDataSetDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SubscribedDataSetDataType.Select _root() { + return new SubscribedDataSetDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetMirrorDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetMirrorDataType.java new file mode 100644 index 000000000..468918029 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscribedDataSetMirrorDataType.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SubscribedDataSetMirrorDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SubscribedDataSetMirrorDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}SubscribedDataSetDataType">
+ *       <sequence>
+ *         <element name="ParentNodeName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="RolePermissions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfRolePermissionType" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SubscribedDataSetMirrorDataType", propOrder = { + "parentNodeName", + "rolePermissions" +}) +public class SubscribedDataSetMirrorDataType + extends SubscribedDataSetDataType +{ + + @XmlElementRef(name = "ParentNodeName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement parentNodeName; + @XmlElementRef(name = "RolePermissions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement rolePermissions; + + /** + * Ruft den Wert der parentNodeName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getParentNodeName() { + return parentNodeName; + } + + /** + * Legt den Wert der parentNodeName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setParentNodeName(JAXBElement value) { + this.parentNodeName = value; + } + + /** + * Ruft den Wert der rolePermissions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + */ + public JAXBElement getRolePermissions() { + return rolePermissions; + } + + /** + * Legt den Wert der rolePermissions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfRolePermissionType }{@code >} + * + */ + public void setRolePermissions(JAXBElement value) { + this.rolePermissions = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscribedDataSetMirrorDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.parentNodeName = this.parentNodeName; + _other.rolePermissions = this.rolePermissions; + } + + @Override + public<_B >SubscribedDataSetMirrorDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SubscribedDataSetMirrorDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public SubscribedDataSetMirrorDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SubscribedDataSetMirrorDataType.Builder builder() { + return new SubscribedDataSetMirrorDataType.Builder(null, null, false); + } + + public static<_B >SubscribedDataSetMirrorDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other) { + final SubscribedDataSetMirrorDataType.Builder<_B> _newBuilder = new SubscribedDataSetMirrorDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >SubscribedDataSetMirrorDataType.Builder<_B> copyOf(final SubscribedDataSetMirrorDataType _other) { + final SubscribedDataSetMirrorDataType.Builder<_B> _newBuilder = new SubscribedDataSetMirrorDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscribedDataSetMirrorDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree parentNodeNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parentNodeName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parentNodeNamePropertyTree!= null):((parentNodeNamePropertyTree == null)||(!parentNodeNamePropertyTree.isLeaf())))) { + _other.parentNodeName = this.parentNodeName; + } + final PropertyTree rolePermissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rolePermissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePermissionsPropertyTree!= null):((rolePermissionsPropertyTree == null)||(!rolePermissionsPropertyTree.isLeaf())))) { + _other.rolePermissions = this.rolePermissions; + } + } + + @Override + public<_B >SubscribedDataSetMirrorDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SubscribedDataSetMirrorDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public SubscribedDataSetMirrorDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SubscribedDataSetMirrorDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SubscribedDataSetMirrorDataType.Builder<_B> _newBuilder = new SubscribedDataSetMirrorDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >SubscribedDataSetMirrorDataType.Builder<_B> copyOf(final SubscribedDataSetMirrorDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SubscribedDataSetMirrorDataType.Builder<_B> _newBuilder = new SubscribedDataSetMirrorDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SubscribedDataSetMirrorDataType.Builder copyExcept(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SubscribedDataSetMirrorDataType.Builder copyExcept(final SubscribedDataSetMirrorDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SubscribedDataSetMirrorDataType.Builder copyOnly(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static SubscribedDataSetMirrorDataType.Builder copyOnly(final SubscribedDataSetMirrorDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends SubscribedDataSetDataType.Builder<_B> + implements Buildable + { + + private JAXBElement parentNodeName; + private JAXBElement rolePermissions; + + public Builder(final _B _parentBuilder, final SubscribedDataSetMirrorDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.parentNodeName = _other.parentNodeName; + this.rolePermissions = _other.rolePermissions; + } + } + + public Builder(final _B _parentBuilder, final SubscribedDataSetMirrorDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree parentNodeNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("parentNodeName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(parentNodeNamePropertyTree!= null):((parentNodeNamePropertyTree == null)||(!parentNodeNamePropertyTree.isLeaf())))) { + this.parentNodeName = _other.parentNodeName; + } + final PropertyTree rolePermissionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("rolePermissions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(rolePermissionsPropertyTree!= null):((rolePermissionsPropertyTree == null)||(!rolePermissionsPropertyTree.isLeaf())))) { + this.rolePermissions = _other.rolePermissions; + } + } + } + + protected<_P extends SubscribedDataSetMirrorDataType >_P init(final _P _product) { + _product.parentNodeName = this.parentNodeName; + _product.rolePermissions = this.rolePermissions; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "parentNodeName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param parentNodeName + * Neuer Wert der Eigenschaft "parentNodeName". + */ + public SubscribedDataSetMirrorDataType.Builder<_B> withParentNodeName(final JAXBElement parentNodeName) { + this.parentNodeName = parentNodeName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + public SubscribedDataSetMirrorDataType.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + this.rolePermissions = rolePermissions; + return this; + } + + @Override + public SubscribedDataSetMirrorDataType build() { + if (_storedValue == null) { + return this.init(new SubscribedDataSetMirrorDataType()); + } else { + return ((SubscribedDataSetMirrorDataType) _storedValue); + } + } + + public SubscribedDataSetMirrorDataType.Builder<_B> copyOf(final SubscribedDataSetMirrorDataType _other) { + _other.copyTo(this); + return this; + } + + public SubscribedDataSetMirrorDataType.Builder<_B> copyOf(final SubscribedDataSetMirrorDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SubscribedDataSetMirrorDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SubscribedDataSetMirrorDataType.Select _root() { + return new SubscribedDataSetMirrorDataType.Select(); + } + + } + + public static class Selector , TParent > + extends SubscribedDataSetDataType.Selector + { + + private com.kscs.util.jaxb.Selector> parentNodeName = null; + private com.kscs.util.jaxb.Selector> rolePermissions = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.parentNodeName!= null) { + products.put("parentNodeName", this.parentNodeName.init()); + } + if (this.rolePermissions!= null) { + products.put("rolePermissions", this.rolePermissions.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> parentNodeName() { + return ((this.parentNodeName == null)?this.parentNodeName = new com.kscs.util.jaxb.Selector>(this._root, this, "parentNodeName"):this.parentNodeName); + } + + public com.kscs.util.jaxb.Selector> rolePermissions() { + return ((this.rolePermissions == null)?this.rolePermissions = new com.kscs.util.jaxb.Selector>(this._root, this, "rolePermissions"):this.rolePermissions); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionAcknowledgement.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionAcknowledgement.java new file mode 100644 index 000000000..e970fc4a2 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionAcknowledgement.java @@ -0,0 +1,322 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SubscriptionAcknowledgement complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SubscriptionAcknowledgement">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="SequenceNumber" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SubscriptionAcknowledgement", propOrder = { + "subscriptionId", + "sequenceNumber" +}) +public class SubscriptionAcknowledgement { + + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "SequenceNumber") + @XmlSchemaType(name = "unsignedInt") + protected Long sequenceNumber; + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der sequenceNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSequenceNumber() { + return sequenceNumber; + } + + /** + * Legt den Wert der sequenceNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSequenceNumber(Long value) { + this.sequenceNumber = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscriptionAcknowledgement.Builder<_B> _other) { + _other.subscriptionId = this.subscriptionId; + _other.sequenceNumber = this.sequenceNumber; + } + + public<_B >SubscriptionAcknowledgement.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SubscriptionAcknowledgement.Builder<_B>(_parentBuilder, this, true); + } + + public SubscriptionAcknowledgement.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SubscriptionAcknowledgement.Builder builder() { + return new SubscriptionAcknowledgement.Builder(null, null, false); + } + + public static<_B >SubscriptionAcknowledgement.Builder<_B> copyOf(final SubscriptionAcknowledgement _other) { + final SubscriptionAcknowledgement.Builder<_B> _newBuilder = new SubscriptionAcknowledgement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscriptionAcknowledgement.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree sequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sequenceNumberPropertyTree!= null):((sequenceNumberPropertyTree == null)||(!sequenceNumberPropertyTree.isLeaf())))) { + _other.sequenceNumber = this.sequenceNumber; + } + } + + public<_B >SubscriptionAcknowledgement.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SubscriptionAcknowledgement.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SubscriptionAcknowledgement.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SubscriptionAcknowledgement.Builder<_B> copyOf(final SubscriptionAcknowledgement _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SubscriptionAcknowledgement.Builder<_B> _newBuilder = new SubscriptionAcknowledgement.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SubscriptionAcknowledgement.Builder copyExcept(final SubscriptionAcknowledgement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SubscriptionAcknowledgement.Builder copyOnly(final SubscriptionAcknowledgement _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SubscriptionAcknowledgement _storedValue; + private Long subscriptionId; + private Long sequenceNumber; + + public Builder(final _B _parentBuilder, final SubscriptionAcknowledgement _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.subscriptionId = _other.subscriptionId; + this.sequenceNumber = _other.sequenceNumber; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SubscriptionAcknowledgement _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree sequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sequenceNumberPropertyTree!= null):((sequenceNumberPropertyTree == null)||(!sequenceNumberPropertyTree.isLeaf())))) { + this.sequenceNumber = _other.sequenceNumber; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SubscriptionAcknowledgement >_P init(final _P _product) { + _product.subscriptionId = this.subscriptionId; + _product.sequenceNumber = this.sequenceNumber; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public SubscriptionAcknowledgement.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sequenceNumber" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param sequenceNumber + * Neuer Wert der Eigenschaft "sequenceNumber". + */ + public SubscriptionAcknowledgement.Builder<_B> withSequenceNumber(final Long sequenceNumber) { + this.sequenceNumber = sequenceNumber; + return this; + } + + @Override + public SubscriptionAcknowledgement build() { + if (_storedValue == null) { + return this.init(new SubscriptionAcknowledgement()); + } else { + return ((SubscriptionAcknowledgement) _storedValue); + } + } + + public SubscriptionAcknowledgement.Builder<_B> copyOf(final SubscriptionAcknowledgement _other) { + _other.copyTo(this); + return this; + } + + public SubscriptionAcknowledgement.Builder<_B> copyOf(final SubscriptionAcknowledgement.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SubscriptionAcknowledgement.Selector + { + + + Select() { + super(null, null, null); + } + + public static SubscriptionAcknowledgement.Select _root() { + return new SubscriptionAcknowledgement.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> sequenceNumber = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.sequenceNumber!= null) { + products.put("sequenceNumber", this.sequenceNumber.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> sequenceNumber() { + return ((this.sequenceNumber == null)?this.sequenceNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "sequenceNumber"):this.sequenceNumber); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionDiagnosticsDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionDiagnosticsDataType.java new file mode 100644 index 000000000..49b0232cd --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/SubscriptionDiagnosticsDataType.java @@ -0,0 +1,2090 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für SubscriptionDiagnosticsDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SubscriptionDiagnosticsDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SessionId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="Priority" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="PublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="MaxKeepAliveCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxLifetimeCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MaxNotificationsPerPublish" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="PublishingEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="ModifyCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="EnableCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DisableCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RepublishRequestCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RepublishMessageRequestCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="RepublishMessageCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TransferRequestCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TransferredToAltClientCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TransferredToSameClientCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="PublishRequestCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DataChangeNotificationsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="EventNotificationsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="NotificationsCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="LatePublishRequestCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CurrentKeepAliveCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="CurrentLifetimeCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="UnacknowledgedMessageCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DiscardedMessageCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MonitoredItemCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DisabledMonitoredItemCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="MonitoringQueueOverflowCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="NextSequenceNumber" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="EventQueueOverFlowCount" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SubscriptionDiagnosticsDataType", propOrder = { + "sessionId", + "subscriptionId", + "priority", + "publishingInterval", + "maxKeepAliveCount", + "maxLifetimeCount", + "maxNotificationsPerPublish", + "publishingEnabled", + "modifyCount", + "enableCount", + "disableCount", + "republishRequestCount", + "republishMessageRequestCount", + "republishMessageCount", + "transferRequestCount", + "transferredToAltClientCount", + "transferredToSameClientCount", + "publishRequestCount", + "dataChangeNotificationsCount", + "eventNotificationsCount", + "notificationsCount", + "latePublishRequestCount", + "currentKeepAliveCount", + "currentLifetimeCount", + "unacknowledgedMessageCount", + "discardedMessageCount", + "monitoredItemCount", + "disabledMonitoredItemCount", + "monitoringQueueOverflowCount", + "nextSequenceNumber", + "eventQueueOverFlowCount" +}) +public class SubscriptionDiagnosticsDataType { + + @XmlElementRef(name = "SessionId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement sessionId; + @XmlElement(name = "SubscriptionId") + @XmlSchemaType(name = "unsignedInt") + protected Long subscriptionId; + @XmlElement(name = "Priority") + @XmlSchemaType(name = "unsignedByte") + protected Short priority; + @XmlElement(name = "PublishingInterval") + protected Double publishingInterval; + @XmlElement(name = "MaxKeepAliveCount") + @XmlSchemaType(name = "unsignedInt") + protected Long maxKeepAliveCount; + @XmlElement(name = "MaxLifetimeCount") + @XmlSchemaType(name = "unsignedInt") + protected Long maxLifetimeCount; + @XmlElement(name = "MaxNotificationsPerPublish") + @XmlSchemaType(name = "unsignedInt") + protected Long maxNotificationsPerPublish; + @XmlElement(name = "PublishingEnabled") + protected Boolean publishingEnabled; + @XmlElement(name = "ModifyCount") + @XmlSchemaType(name = "unsignedInt") + protected Long modifyCount; + @XmlElement(name = "EnableCount") + @XmlSchemaType(name = "unsignedInt") + protected Long enableCount; + @XmlElement(name = "DisableCount") + @XmlSchemaType(name = "unsignedInt") + protected Long disableCount; + @XmlElement(name = "RepublishRequestCount") + @XmlSchemaType(name = "unsignedInt") + protected Long republishRequestCount; + @XmlElement(name = "RepublishMessageRequestCount") + @XmlSchemaType(name = "unsignedInt") + protected Long republishMessageRequestCount; + @XmlElement(name = "RepublishMessageCount") + @XmlSchemaType(name = "unsignedInt") + protected Long republishMessageCount; + @XmlElement(name = "TransferRequestCount") + @XmlSchemaType(name = "unsignedInt") + protected Long transferRequestCount; + @XmlElement(name = "TransferredToAltClientCount") + @XmlSchemaType(name = "unsignedInt") + protected Long transferredToAltClientCount; + @XmlElement(name = "TransferredToSameClientCount") + @XmlSchemaType(name = "unsignedInt") + protected Long transferredToSameClientCount; + @XmlElement(name = "PublishRequestCount") + @XmlSchemaType(name = "unsignedInt") + protected Long publishRequestCount; + @XmlElement(name = "DataChangeNotificationsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long dataChangeNotificationsCount; + @XmlElement(name = "EventNotificationsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long eventNotificationsCount; + @XmlElement(name = "NotificationsCount") + @XmlSchemaType(name = "unsignedInt") + protected Long notificationsCount; + @XmlElement(name = "LatePublishRequestCount") + @XmlSchemaType(name = "unsignedInt") + protected Long latePublishRequestCount; + @XmlElement(name = "CurrentKeepAliveCount") + @XmlSchemaType(name = "unsignedInt") + protected Long currentKeepAliveCount; + @XmlElement(name = "CurrentLifetimeCount") + @XmlSchemaType(name = "unsignedInt") + protected Long currentLifetimeCount; + @XmlElement(name = "UnacknowledgedMessageCount") + @XmlSchemaType(name = "unsignedInt") + protected Long unacknowledgedMessageCount; + @XmlElement(name = "DiscardedMessageCount") + @XmlSchemaType(name = "unsignedInt") + protected Long discardedMessageCount; + @XmlElement(name = "MonitoredItemCount") + @XmlSchemaType(name = "unsignedInt") + protected Long monitoredItemCount; + @XmlElement(name = "DisabledMonitoredItemCount") + @XmlSchemaType(name = "unsignedInt") + protected Long disabledMonitoredItemCount; + @XmlElement(name = "MonitoringQueueOverflowCount") + @XmlSchemaType(name = "unsignedInt") + protected Long monitoringQueueOverflowCount; + @XmlElement(name = "NextSequenceNumber") + @XmlSchemaType(name = "unsignedInt") + protected Long nextSequenceNumber; + @XmlElement(name = "EventQueueOverFlowCount") + @XmlSchemaType(name = "unsignedInt") + protected Long eventQueueOverFlowCount; + + /** + * Ruft den Wert der sessionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getSessionId() { + return sessionId; + } + + /** + * Legt den Wert der sessionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setSessionId(JAXBElement value) { + this.sessionId = value; + } + + /** + * Ruft den Wert der subscriptionId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSubscriptionId() { + return subscriptionId; + } + + /** + * Legt den Wert der subscriptionId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSubscriptionId(Long value) { + this.subscriptionId = value; + } + + /** + * Ruft den Wert der priority-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getPriority() { + return priority; + } + + /** + * Legt den Wert der priority-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setPriority(Short value) { + this.priority = value; + } + + /** + * Ruft den Wert der publishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getPublishingInterval() { + return publishingInterval; + } + + /** + * Legt den Wert der publishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setPublishingInterval(Double value) { + this.publishingInterval = value; + } + + /** + * Ruft den Wert der maxKeepAliveCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxKeepAliveCount() { + return maxKeepAliveCount; + } + + /** + * Legt den Wert der maxKeepAliveCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxKeepAliveCount(Long value) { + this.maxKeepAliveCount = value; + } + + /** + * Ruft den Wert der maxLifetimeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxLifetimeCount() { + return maxLifetimeCount; + } + + /** + * Legt den Wert der maxLifetimeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxLifetimeCount(Long value) { + this.maxLifetimeCount = value; + } + + /** + * Ruft den Wert der maxNotificationsPerPublish-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMaxNotificationsPerPublish() { + return maxNotificationsPerPublish; + } + + /** + * Legt den Wert der maxNotificationsPerPublish-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMaxNotificationsPerPublish(Long value) { + this.maxNotificationsPerPublish = value; + } + + /** + * Ruft den Wert der publishingEnabled-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isPublishingEnabled() { + return publishingEnabled; + } + + /** + * Legt den Wert der publishingEnabled-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setPublishingEnabled(Boolean value) { + this.publishingEnabled = value; + } + + /** + * Ruft den Wert der modifyCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getModifyCount() { + return modifyCount; + } + + /** + * Legt den Wert der modifyCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setModifyCount(Long value) { + this.modifyCount = value; + } + + /** + * Ruft den Wert der enableCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getEnableCount() { + return enableCount; + } + + /** + * Legt den Wert der enableCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setEnableCount(Long value) { + this.enableCount = value; + } + + /** + * Ruft den Wert der disableCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDisableCount() { + return disableCount; + } + + /** + * Legt den Wert der disableCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDisableCount(Long value) { + this.disableCount = value; + } + + /** + * Ruft den Wert der republishRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRepublishRequestCount() { + return republishRequestCount; + } + + /** + * Legt den Wert der republishRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRepublishRequestCount(Long value) { + this.republishRequestCount = value; + } + + /** + * Ruft den Wert der republishMessageRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRepublishMessageRequestCount() { + return republishMessageRequestCount; + } + + /** + * Legt den Wert der republishMessageRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRepublishMessageRequestCount(Long value) { + this.republishMessageRequestCount = value; + } + + /** + * Ruft den Wert der republishMessageCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getRepublishMessageCount() { + return republishMessageCount; + } + + /** + * Legt den Wert der republishMessageCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setRepublishMessageCount(Long value) { + this.republishMessageCount = value; + } + + /** + * Ruft den Wert der transferRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTransferRequestCount() { + return transferRequestCount; + } + + /** + * Legt den Wert der transferRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTransferRequestCount(Long value) { + this.transferRequestCount = value; + } + + /** + * Ruft den Wert der transferredToAltClientCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTransferredToAltClientCount() { + return transferredToAltClientCount; + } + + /** + * Legt den Wert der transferredToAltClientCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTransferredToAltClientCount(Long value) { + this.transferredToAltClientCount = value; + } + + /** + * Ruft den Wert der transferredToSameClientCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getTransferredToSameClientCount() { + return transferredToSameClientCount; + } + + /** + * Legt den Wert der transferredToSameClientCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setTransferredToSameClientCount(Long value) { + this.transferredToSameClientCount = value; + } + + /** + * Ruft den Wert der publishRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getPublishRequestCount() { + return publishRequestCount; + } + + /** + * Legt den Wert der publishRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setPublishRequestCount(Long value) { + this.publishRequestCount = value; + } + + /** + * Ruft den Wert der dataChangeNotificationsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataChangeNotificationsCount() { + return dataChangeNotificationsCount; + } + + /** + * Legt den Wert der dataChangeNotificationsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataChangeNotificationsCount(Long value) { + this.dataChangeNotificationsCount = value; + } + + /** + * Ruft den Wert der eventNotificationsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getEventNotificationsCount() { + return eventNotificationsCount; + } + + /** + * Legt den Wert der eventNotificationsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setEventNotificationsCount(Long value) { + this.eventNotificationsCount = value; + } + + /** + * Ruft den Wert der notificationsCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNotificationsCount() { + return notificationsCount; + } + + /** + * Legt den Wert der notificationsCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNotificationsCount(Long value) { + this.notificationsCount = value; + } + + /** + * Ruft den Wert der latePublishRequestCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getLatePublishRequestCount() { + return latePublishRequestCount; + } + + /** + * Legt den Wert der latePublishRequestCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setLatePublishRequestCount(Long value) { + this.latePublishRequestCount = value; + } + + /** + * Ruft den Wert der currentKeepAliveCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentKeepAliveCount() { + return currentKeepAliveCount; + } + + /** + * Legt den Wert der currentKeepAliveCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentKeepAliveCount(Long value) { + this.currentKeepAliveCount = value; + } + + /** + * Ruft den Wert der currentLifetimeCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getCurrentLifetimeCount() { + return currentLifetimeCount; + } + + /** + * Legt den Wert der currentLifetimeCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setCurrentLifetimeCount(Long value) { + this.currentLifetimeCount = value; + } + + /** + * Ruft den Wert der unacknowledgedMessageCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getUnacknowledgedMessageCount() { + return unacknowledgedMessageCount; + } + + /** + * Legt den Wert der unacknowledgedMessageCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setUnacknowledgedMessageCount(Long value) { + this.unacknowledgedMessageCount = value; + } + + /** + * Ruft den Wert der discardedMessageCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDiscardedMessageCount() { + return discardedMessageCount; + } + + /** + * Legt den Wert der discardedMessageCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDiscardedMessageCount(Long value) { + this.discardedMessageCount = value; + } + + /** + * Ruft den Wert der monitoredItemCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMonitoredItemCount() { + return monitoredItemCount; + } + + /** + * Legt den Wert der monitoredItemCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMonitoredItemCount(Long value) { + this.monitoredItemCount = value; + } + + /** + * Ruft den Wert der disabledMonitoredItemCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDisabledMonitoredItemCount() { + return disabledMonitoredItemCount; + } + + /** + * Legt den Wert der disabledMonitoredItemCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDisabledMonitoredItemCount(Long value) { + this.disabledMonitoredItemCount = value; + } + + /** + * Ruft den Wert der monitoringQueueOverflowCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getMonitoringQueueOverflowCount() { + return monitoringQueueOverflowCount; + } + + /** + * Legt den Wert der monitoringQueueOverflowCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setMonitoringQueueOverflowCount(Long value) { + this.monitoringQueueOverflowCount = value; + } + + /** + * Ruft den Wert der nextSequenceNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNextSequenceNumber() { + return nextSequenceNumber; + } + + /** + * Legt den Wert der nextSequenceNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNextSequenceNumber(Long value) { + this.nextSequenceNumber = value; + } + + /** + * Ruft den Wert der eventQueueOverFlowCount-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getEventQueueOverFlowCount() { + return eventQueueOverFlowCount; + } + + /** + * Legt den Wert der eventQueueOverFlowCount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setEventQueueOverFlowCount(Long value) { + this.eventQueueOverFlowCount = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscriptionDiagnosticsDataType.Builder<_B> _other) { + _other.sessionId = this.sessionId; + _other.subscriptionId = this.subscriptionId; + _other.priority = this.priority; + _other.publishingInterval = this.publishingInterval; + _other.maxKeepAliveCount = this.maxKeepAliveCount; + _other.maxLifetimeCount = this.maxLifetimeCount; + _other.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + _other.publishingEnabled = this.publishingEnabled; + _other.modifyCount = this.modifyCount; + _other.enableCount = this.enableCount; + _other.disableCount = this.disableCount; + _other.republishRequestCount = this.republishRequestCount; + _other.republishMessageRequestCount = this.republishMessageRequestCount; + _other.republishMessageCount = this.republishMessageCount; + _other.transferRequestCount = this.transferRequestCount; + _other.transferredToAltClientCount = this.transferredToAltClientCount; + _other.transferredToSameClientCount = this.transferredToSameClientCount; + _other.publishRequestCount = this.publishRequestCount; + _other.dataChangeNotificationsCount = this.dataChangeNotificationsCount; + _other.eventNotificationsCount = this.eventNotificationsCount; + _other.notificationsCount = this.notificationsCount; + _other.latePublishRequestCount = this.latePublishRequestCount; + _other.currentKeepAliveCount = this.currentKeepAliveCount; + _other.currentLifetimeCount = this.currentLifetimeCount; + _other.unacknowledgedMessageCount = this.unacknowledgedMessageCount; + _other.discardedMessageCount = this.discardedMessageCount; + _other.monitoredItemCount = this.monitoredItemCount; + _other.disabledMonitoredItemCount = this.disabledMonitoredItemCount; + _other.monitoringQueueOverflowCount = this.monitoringQueueOverflowCount; + _other.nextSequenceNumber = this.nextSequenceNumber; + _other.eventQueueOverFlowCount = this.eventQueueOverFlowCount; + } + + public<_B >SubscriptionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new SubscriptionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true); + } + + public SubscriptionDiagnosticsDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static SubscriptionDiagnosticsDataType.Builder builder() { + return new SubscriptionDiagnosticsDataType.Builder(null, null, false); + } + + public static<_B >SubscriptionDiagnosticsDataType.Builder<_B> copyOf(final SubscriptionDiagnosticsDataType _other) { + final SubscriptionDiagnosticsDataType.Builder<_B> _newBuilder = new SubscriptionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final SubscriptionDiagnosticsDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + _other.sessionId = this.sessionId; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + _other.subscriptionId = this.subscriptionId; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + _other.priority = this.priority; + } + final PropertyTree publishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalPropertyTree!= null):((publishingIntervalPropertyTree == null)||(!publishingIntervalPropertyTree.isLeaf())))) { + _other.publishingInterval = this.publishingInterval; + } + final PropertyTree maxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxKeepAliveCountPropertyTree!= null):((maxKeepAliveCountPropertyTree == null)||(!maxKeepAliveCountPropertyTree.isLeaf())))) { + _other.maxKeepAliveCount = this.maxKeepAliveCount; + } + final PropertyTree maxLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxLifetimeCountPropertyTree!= null):((maxLifetimeCountPropertyTree == null)||(!maxLifetimeCountPropertyTree.isLeaf())))) { + _other.maxLifetimeCount = this.maxLifetimeCount; + } + final PropertyTree maxNotificationsPerPublishPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNotificationsPerPublish")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNotificationsPerPublishPropertyTree!= null):((maxNotificationsPerPublishPropertyTree == null)||(!maxNotificationsPerPublishPropertyTree.isLeaf())))) { + _other.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + } + final PropertyTree publishingEnabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingEnabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingEnabledPropertyTree!= null):((publishingEnabledPropertyTree == null)||(!publishingEnabledPropertyTree.isLeaf())))) { + _other.publishingEnabled = this.publishingEnabled; + } + final PropertyTree modifyCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modifyCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modifyCountPropertyTree!= null):((modifyCountPropertyTree == null)||(!modifyCountPropertyTree.isLeaf())))) { + _other.modifyCount = this.modifyCount; + } + final PropertyTree enableCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enableCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enableCountPropertyTree!= null):((enableCountPropertyTree == null)||(!enableCountPropertyTree.isLeaf())))) { + _other.enableCount = this.enableCount; + } + final PropertyTree disableCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("disableCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(disableCountPropertyTree!= null):((disableCountPropertyTree == null)||(!disableCountPropertyTree.isLeaf())))) { + _other.disableCount = this.disableCount; + } + final PropertyTree republishRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishRequestCountPropertyTree!= null):((republishRequestCountPropertyTree == null)||(!republishRequestCountPropertyTree.isLeaf())))) { + _other.republishRequestCount = this.republishRequestCount; + } + final PropertyTree republishMessageRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishMessageRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishMessageRequestCountPropertyTree!= null):((republishMessageRequestCountPropertyTree == null)||(!republishMessageRequestCountPropertyTree.isLeaf())))) { + _other.republishMessageRequestCount = this.republishMessageRequestCount; + } + final PropertyTree republishMessageCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishMessageCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishMessageCountPropertyTree!= null):((republishMessageCountPropertyTree == null)||(!republishMessageCountPropertyTree.isLeaf())))) { + _other.republishMessageCount = this.republishMessageCount; + } + final PropertyTree transferRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferRequestCountPropertyTree!= null):((transferRequestCountPropertyTree == null)||(!transferRequestCountPropertyTree.isLeaf())))) { + _other.transferRequestCount = this.transferRequestCount; + } + final PropertyTree transferredToAltClientCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferredToAltClientCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferredToAltClientCountPropertyTree!= null):((transferredToAltClientCountPropertyTree == null)||(!transferredToAltClientCountPropertyTree.isLeaf())))) { + _other.transferredToAltClientCount = this.transferredToAltClientCount; + } + final PropertyTree transferredToSameClientCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferredToSameClientCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferredToSameClientCountPropertyTree!= null):((transferredToSameClientCountPropertyTree == null)||(!transferredToSameClientCountPropertyTree.isLeaf())))) { + _other.transferredToSameClientCount = this.transferredToSameClientCount; + } + final PropertyTree publishRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishRequestCountPropertyTree!= null):((publishRequestCountPropertyTree == null)||(!publishRequestCountPropertyTree.isLeaf())))) { + _other.publishRequestCount = this.publishRequestCount; + } + final PropertyTree dataChangeNotificationsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataChangeNotificationsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataChangeNotificationsCountPropertyTree!= null):((dataChangeNotificationsCountPropertyTree == null)||(!dataChangeNotificationsCountPropertyTree.isLeaf())))) { + _other.dataChangeNotificationsCount = this.dataChangeNotificationsCount; + } + final PropertyTree eventNotificationsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotificationsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotificationsCountPropertyTree!= null):((eventNotificationsCountPropertyTree == null)||(!eventNotificationsCountPropertyTree.isLeaf())))) { + _other.eventNotificationsCount = this.eventNotificationsCount; + } + final PropertyTree notificationsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationsCountPropertyTree!= null):((notificationsCountPropertyTree == null)||(!notificationsCountPropertyTree.isLeaf())))) { + _other.notificationsCount = this.notificationsCount; + } + final PropertyTree latePublishRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("latePublishRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(latePublishRequestCountPropertyTree!= null):((latePublishRequestCountPropertyTree == null)||(!latePublishRequestCountPropertyTree.isLeaf())))) { + _other.latePublishRequestCount = this.latePublishRequestCount; + } + final PropertyTree currentKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentKeepAliveCountPropertyTree!= null):((currentKeepAliveCountPropertyTree == null)||(!currentKeepAliveCountPropertyTree.isLeaf())))) { + _other.currentKeepAliveCount = this.currentKeepAliveCount; + } + final PropertyTree currentLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentLifetimeCountPropertyTree!= null):((currentLifetimeCountPropertyTree == null)||(!currentLifetimeCountPropertyTree.isLeaf())))) { + _other.currentLifetimeCount = this.currentLifetimeCount; + } + final PropertyTree unacknowledgedMessageCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unacknowledgedMessageCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unacknowledgedMessageCountPropertyTree!= null):((unacknowledgedMessageCountPropertyTree == null)||(!unacknowledgedMessageCountPropertyTree.isLeaf())))) { + _other.unacknowledgedMessageCount = this.unacknowledgedMessageCount; + } + final PropertyTree discardedMessageCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discardedMessageCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discardedMessageCountPropertyTree!= null):((discardedMessageCountPropertyTree == null)||(!discardedMessageCountPropertyTree.isLeaf())))) { + _other.discardedMessageCount = this.discardedMessageCount; + } + final PropertyTree monitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCountPropertyTree!= null):((monitoredItemCountPropertyTree == null)||(!monitoredItemCountPropertyTree.isLeaf())))) { + _other.monitoredItemCount = this.monitoredItemCount; + } + final PropertyTree disabledMonitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("disabledMonitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(disabledMonitoredItemCountPropertyTree!= null):((disabledMonitoredItemCountPropertyTree == null)||(!disabledMonitoredItemCountPropertyTree.isLeaf())))) { + _other.disabledMonitoredItemCount = this.disabledMonitoredItemCount; + } + final PropertyTree monitoringQueueOverflowCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoringQueueOverflowCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoringQueueOverflowCountPropertyTree!= null):((monitoringQueueOverflowCountPropertyTree == null)||(!monitoringQueueOverflowCountPropertyTree.isLeaf())))) { + _other.monitoringQueueOverflowCount = this.monitoringQueueOverflowCount; + } + final PropertyTree nextSequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nextSequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nextSequenceNumberPropertyTree!= null):((nextSequenceNumberPropertyTree == null)||(!nextSequenceNumberPropertyTree.isLeaf())))) { + _other.nextSequenceNumber = this.nextSequenceNumber; + } + final PropertyTree eventQueueOverFlowCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventQueueOverFlowCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventQueueOverFlowCountPropertyTree!= null):((eventQueueOverFlowCountPropertyTree == null)||(!eventQueueOverFlowCountPropertyTree.isLeaf())))) { + _other.eventQueueOverFlowCount = this.eventQueueOverFlowCount; + } + } + + public<_B >SubscriptionDiagnosticsDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new SubscriptionDiagnosticsDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public SubscriptionDiagnosticsDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >SubscriptionDiagnosticsDataType.Builder<_B> copyOf(final SubscriptionDiagnosticsDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final SubscriptionDiagnosticsDataType.Builder<_B> _newBuilder = new SubscriptionDiagnosticsDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static SubscriptionDiagnosticsDataType.Builder copyExcept(final SubscriptionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static SubscriptionDiagnosticsDataType.Builder copyOnly(final SubscriptionDiagnosticsDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final SubscriptionDiagnosticsDataType _storedValue; + private JAXBElement sessionId; + private Long subscriptionId; + private Short priority; + private Double publishingInterval; + private Long maxKeepAliveCount; + private Long maxLifetimeCount; + private Long maxNotificationsPerPublish; + private Boolean publishingEnabled; + private Long modifyCount; + private Long enableCount; + private Long disableCount; + private Long republishRequestCount; + private Long republishMessageRequestCount; + private Long republishMessageCount; + private Long transferRequestCount; + private Long transferredToAltClientCount; + private Long transferredToSameClientCount; + private Long publishRequestCount; + private Long dataChangeNotificationsCount; + private Long eventNotificationsCount; + private Long notificationsCount; + private Long latePublishRequestCount; + private Long currentKeepAliveCount; + private Long currentLifetimeCount; + private Long unacknowledgedMessageCount; + private Long discardedMessageCount; + private Long monitoredItemCount; + private Long disabledMonitoredItemCount; + private Long monitoringQueueOverflowCount; + private Long nextSequenceNumber; + private Long eventQueueOverFlowCount; + + public Builder(final _B _parentBuilder, final SubscriptionDiagnosticsDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.sessionId = _other.sessionId; + this.subscriptionId = _other.subscriptionId; + this.priority = _other.priority; + this.publishingInterval = _other.publishingInterval; + this.maxKeepAliveCount = _other.maxKeepAliveCount; + this.maxLifetimeCount = _other.maxLifetimeCount; + this.maxNotificationsPerPublish = _other.maxNotificationsPerPublish; + this.publishingEnabled = _other.publishingEnabled; + this.modifyCount = _other.modifyCount; + this.enableCount = _other.enableCount; + this.disableCount = _other.disableCount; + this.republishRequestCount = _other.republishRequestCount; + this.republishMessageRequestCount = _other.republishMessageRequestCount; + this.republishMessageCount = _other.republishMessageCount; + this.transferRequestCount = _other.transferRequestCount; + this.transferredToAltClientCount = _other.transferredToAltClientCount; + this.transferredToSameClientCount = _other.transferredToSameClientCount; + this.publishRequestCount = _other.publishRequestCount; + this.dataChangeNotificationsCount = _other.dataChangeNotificationsCount; + this.eventNotificationsCount = _other.eventNotificationsCount; + this.notificationsCount = _other.notificationsCount; + this.latePublishRequestCount = _other.latePublishRequestCount; + this.currentKeepAliveCount = _other.currentKeepAliveCount; + this.currentLifetimeCount = _other.currentLifetimeCount; + this.unacknowledgedMessageCount = _other.unacknowledgedMessageCount; + this.discardedMessageCount = _other.discardedMessageCount; + this.monitoredItemCount = _other.monitoredItemCount; + this.disabledMonitoredItemCount = _other.disabledMonitoredItemCount; + this.monitoringQueueOverflowCount = _other.monitoringQueueOverflowCount; + this.nextSequenceNumber = _other.nextSequenceNumber; + this.eventQueueOverFlowCount = _other.eventQueueOverFlowCount; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final SubscriptionDiagnosticsDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree sessionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sessionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sessionIdPropertyTree!= null):((sessionIdPropertyTree == null)||(!sessionIdPropertyTree.isLeaf())))) { + this.sessionId = _other.sessionId; + } + final PropertyTree subscriptionIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdPropertyTree!= null):((subscriptionIdPropertyTree == null)||(!subscriptionIdPropertyTree.isLeaf())))) { + this.subscriptionId = _other.subscriptionId; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + this.priority = _other.priority; + } + final PropertyTree publishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalPropertyTree!= null):((publishingIntervalPropertyTree == null)||(!publishingIntervalPropertyTree.isLeaf())))) { + this.publishingInterval = _other.publishingInterval; + } + final PropertyTree maxKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxKeepAliveCountPropertyTree!= null):((maxKeepAliveCountPropertyTree == null)||(!maxKeepAliveCountPropertyTree.isLeaf())))) { + this.maxKeepAliveCount = _other.maxKeepAliveCount; + } + final PropertyTree maxLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxLifetimeCountPropertyTree!= null):((maxLifetimeCountPropertyTree == null)||(!maxLifetimeCountPropertyTree.isLeaf())))) { + this.maxLifetimeCount = _other.maxLifetimeCount; + } + final PropertyTree maxNotificationsPerPublishPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("maxNotificationsPerPublish")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(maxNotificationsPerPublishPropertyTree!= null):((maxNotificationsPerPublishPropertyTree == null)||(!maxNotificationsPerPublishPropertyTree.isLeaf())))) { + this.maxNotificationsPerPublish = _other.maxNotificationsPerPublish; + } + final PropertyTree publishingEnabledPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingEnabled")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingEnabledPropertyTree!= null):((publishingEnabledPropertyTree == null)||(!publishingEnabledPropertyTree.isLeaf())))) { + this.publishingEnabled = _other.publishingEnabled; + } + final PropertyTree modifyCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("modifyCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(modifyCountPropertyTree!= null):((modifyCountPropertyTree == null)||(!modifyCountPropertyTree.isLeaf())))) { + this.modifyCount = _other.modifyCount; + } + final PropertyTree enableCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("enableCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(enableCountPropertyTree!= null):((enableCountPropertyTree == null)||(!enableCountPropertyTree.isLeaf())))) { + this.enableCount = _other.enableCount; + } + final PropertyTree disableCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("disableCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(disableCountPropertyTree!= null):((disableCountPropertyTree == null)||(!disableCountPropertyTree.isLeaf())))) { + this.disableCount = _other.disableCount; + } + final PropertyTree republishRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishRequestCountPropertyTree!= null):((republishRequestCountPropertyTree == null)||(!republishRequestCountPropertyTree.isLeaf())))) { + this.republishRequestCount = _other.republishRequestCount; + } + final PropertyTree republishMessageRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishMessageRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishMessageRequestCountPropertyTree!= null):((republishMessageRequestCountPropertyTree == null)||(!republishMessageRequestCountPropertyTree.isLeaf())))) { + this.republishMessageRequestCount = _other.republishMessageRequestCount; + } + final PropertyTree republishMessageCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("republishMessageCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(republishMessageCountPropertyTree!= null):((republishMessageCountPropertyTree == null)||(!republishMessageCountPropertyTree.isLeaf())))) { + this.republishMessageCount = _other.republishMessageCount; + } + final PropertyTree transferRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferRequestCountPropertyTree!= null):((transferRequestCountPropertyTree == null)||(!transferRequestCountPropertyTree.isLeaf())))) { + this.transferRequestCount = _other.transferRequestCount; + } + final PropertyTree transferredToAltClientCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferredToAltClientCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferredToAltClientCountPropertyTree!= null):((transferredToAltClientCountPropertyTree == null)||(!transferredToAltClientCountPropertyTree.isLeaf())))) { + this.transferredToAltClientCount = _other.transferredToAltClientCount; + } + final PropertyTree transferredToSameClientCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transferredToSameClientCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transferredToSameClientCountPropertyTree!= null):((transferredToSameClientCountPropertyTree == null)||(!transferredToSameClientCountPropertyTree.isLeaf())))) { + this.transferredToSameClientCount = _other.transferredToSameClientCount; + } + final PropertyTree publishRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishRequestCountPropertyTree!= null):((publishRequestCountPropertyTree == null)||(!publishRequestCountPropertyTree.isLeaf())))) { + this.publishRequestCount = _other.publishRequestCount; + } + final PropertyTree dataChangeNotificationsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataChangeNotificationsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataChangeNotificationsCountPropertyTree!= null):((dataChangeNotificationsCountPropertyTree == null)||(!dataChangeNotificationsCountPropertyTree.isLeaf())))) { + this.dataChangeNotificationsCount = _other.dataChangeNotificationsCount; + } + final PropertyTree eventNotificationsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotificationsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotificationsCountPropertyTree!= null):((eventNotificationsCountPropertyTree == null)||(!eventNotificationsCountPropertyTree.isLeaf())))) { + this.eventNotificationsCount = _other.eventNotificationsCount; + } + final PropertyTree notificationsCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("notificationsCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(notificationsCountPropertyTree!= null):((notificationsCountPropertyTree == null)||(!notificationsCountPropertyTree.isLeaf())))) { + this.notificationsCount = _other.notificationsCount; + } + final PropertyTree latePublishRequestCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("latePublishRequestCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(latePublishRequestCountPropertyTree!= null):((latePublishRequestCountPropertyTree == null)||(!latePublishRequestCountPropertyTree.isLeaf())))) { + this.latePublishRequestCount = _other.latePublishRequestCount; + } + final PropertyTree currentKeepAliveCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentKeepAliveCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentKeepAliveCountPropertyTree!= null):((currentKeepAliveCountPropertyTree == null)||(!currentKeepAliveCountPropertyTree.isLeaf())))) { + this.currentKeepAliveCount = _other.currentKeepAliveCount; + } + final PropertyTree currentLifetimeCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("currentLifetimeCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(currentLifetimeCountPropertyTree!= null):((currentLifetimeCountPropertyTree == null)||(!currentLifetimeCountPropertyTree.isLeaf())))) { + this.currentLifetimeCount = _other.currentLifetimeCount; + } + final PropertyTree unacknowledgedMessageCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("unacknowledgedMessageCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(unacknowledgedMessageCountPropertyTree!= null):((unacknowledgedMessageCountPropertyTree == null)||(!unacknowledgedMessageCountPropertyTree.isLeaf())))) { + this.unacknowledgedMessageCount = _other.unacknowledgedMessageCount; + } + final PropertyTree discardedMessageCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("discardedMessageCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(discardedMessageCountPropertyTree!= null):((discardedMessageCountPropertyTree == null)||(!discardedMessageCountPropertyTree.isLeaf())))) { + this.discardedMessageCount = _other.discardedMessageCount; + } + final PropertyTree monitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoredItemCountPropertyTree!= null):((monitoredItemCountPropertyTree == null)||(!monitoredItemCountPropertyTree.isLeaf())))) { + this.monitoredItemCount = _other.monitoredItemCount; + } + final PropertyTree disabledMonitoredItemCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("disabledMonitoredItemCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(disabledMonitoredItemCountPropertyTree!= null):((disabledMonitoredItemCountPropertyTree == null)||(!disabledMonitoredItemCountPropertyTree.isLeaf())))) { + this.disabledMonitoredItemCount = _other.disabledMonitoredItemCount; + } + final PropertyTree monitoringQueueOverflowCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("monitoringQueueOverflowCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(monitoringQueueOverflowCountPropertyTree!= null):((monitoringQueueOverflowCountPropertyTree == null)||(!monitoringQueueOverflowCountPropertyTree.isLeaf())))) { + this.monitoringQueueOverflowCount = _other.monitoringQueueOverflowCount; + } + final PropertyTree nextSequenceNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nextSequenceNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nextSequenceNumberPropertyTree!= null):((nextSequenceNumberPropertyTree == null)||(!nextSequenceNumberPropertyTree.isLeaf())))) { + this.nextSequenceNumber = _other.nextSequenceNumber; + } + final PropertyTree eventQueueOverFlowCountPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventQueueOverFlowCount")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventQueueOverFlowCountPropertyTree!= null):((eventQueueOverFlowCountPropertyTree == null)||(!eventQueueOverFlowCountPropertyTree.isLeaf())))) { + this.eventQueueOverFlowCount = _other.eventQueueOverFlowCount; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends SubscriptionDiagnosticsDataType >_P init(final _P _product) { + _product.sessionId = this.sessionId; + _product.subscriptionId = this.subscriptionId; + _product.priority = this.priority; + _product.publishingInterval = this.publishingInterval; + _product.maxKeepAliveCount = this.maxKeepAliveCount; + _product.maxLifetimeCount = this.maxLifetimeCount; + _product.maxNotificationsPerPublish = this.maxNotificationsPerPublish; + _product.publishingEnabled = this.publishingEnabled; + _product.modifyCount = this.modifyCount; + _product.enableCount = this.enableCount; + _product.disableCount = this.disableCount; + _product.republishRequestCount = this.republishRequestCount; + _product.republishMessageRequestCount = this.republishMessageRequestCount; + _product.republishMessageCount = this.republishMessageCount; + _product.transferRequestCount = this.transferRequestCount; + _product.transferredToAltClientCount = this.transferredToAltClientCount; + _product.transferredToSameClientCount = this.transferredToSameClientCount; + _product.publishRequestCount = this.publishRequestCount; + _product.dataChangeNotificationsCount = this.dataChangeNotificationsCount; + _product.eventNotificationsCount = this.eventNotificationsCount; + _product.notificationsCount = this.notificationsCount; + _product.latePublishRequestCount = this.latePublishRequestCount; + _product.currentKeepAliveCount = this.currentKeepAliveCount; + _product.currentLifetimeCount = this.currentLifetimeCount; + _product.unacknowledgedMessageCount = this.unacknowledgedMessageCount; + _product.discardedMessageCount = this.discardedMessageCount; + _product.monitoredItemCount = this.monitoredItemCount; + _product.disabledMonitoredItemCount = this.disabledMonitoredItemCount; + _product.monitoringQueueOverflowCount = this.monitoringQueueOverflowCount; + _product.nextSequenceNumber = this.nextSequenceNumber; + _product.eventQueueOverFlowCount = this.eventQueueOverFlowCount; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sessionId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param sessionId + * Neuer Wert der Eigenschaft "sessionId". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withSessionId(final JAXBElement sessionId) { + this.sessionId = sessionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionId + * Neuer Wert der Eigenschaft "subscriptionId". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withSubscriptionId(final Long subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "priority" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param priority + * Neuer Wert der Eigenschaft "priority". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withPriority(final Short priority) { + this.priority = priority; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingInterval + * Neuer Wert der Eigenschaft "publishingInterval". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withPublishingInterval(final Double publishingInterval) { + this.publishingInterval = publishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxKeepAliveCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param maxKeepAliveCount + * Neuer Wert der Eigenschaft "maxKeepAliveCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withMaxKeepAliveCount(final Long maxKeepAliveCount) { + this.maxKeepAliveCount = maxKeepAliveCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxLifetimeCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param maxLifetimeCount + * Neuer Wert der Eigenschaft "maxLifetimeCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withMaxLifetimeCount(final Long maxLifetimeCount) { + this.maxLifetimeCount = maxLifetimeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxNotificationsPerPublish" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxNotificationsPerPublish + * Neuer Wert der Eigenschaft "maxNotificationsPerPublish". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withMaxNotificationsPerPublish(final Long maxNotificationsPerPublish) { + this.maxNotificationsPerPublish = maxNotificationsPerPublish; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingEnabled" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingEnabled + * Neuer Wert der Eigenschaft "publishingEnabled". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withPublishingEnabled(final Boolean publishingEnabled) { + this.publishingEnabled = publishingEnabled; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "modifyCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param modifyCount + * Neuer Wert der Eigenschaft "modifyCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withModifyCount(final Long modifyCount) { + this.modifyCount = modifyCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enableCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enableCount + * Neuer Wert der Eigenschaft "enableCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withEnableCount(final Long enableCount) { + this.enableCount = enableCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "disableCount" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param disableCount + * Neuer Wert der Eigenschaft "disableCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withDisableCount(final Long disableCount) { + this.disableCount = disableCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "republishRequestCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param republishRequestCount + * Neuer Wert der Eigenschaft "republishRequestCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withRepublishRequestCount(final Long republishRequestCount) { + this.republishRequestCount = republishRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "republishMessageRequestCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param republishMessageRequestCount + * Neuer Wert der Eigenschaft "republishMessageRequestCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withRepublishMessageRequestCount(final Long republishMessageRequestCount) { + this.republishMessageRequestCount = republishMessageRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "republishMessageCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param republishMessageCount + * Neuer Wert der Eigenschaft "republishMessageCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withRepublishMessageCount(final Long republishMessageCount) { + this.republishMessageCount = republishMessageCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transferRequestCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transferRequestCount + * Neuer Wert der Eigenschaft "transferRequestCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withTransferRequestCount(final Long transferRequestCount) { + this.transferRequestCount = transferRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transferredToAltClientCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param transferredToAltClientCount + * Neuer Wert der Eigenschaft "transferredToAltClientCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withTransferredToAltClientCount(final Long transferredToAltClientCount) { + this.transferredToAltClientCount = transferredToAltClientCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transferredToSameClientCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param transferredToSameClientCount + * Neuer Wert der Eigenschaft "transferredToSameClientCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withTransferredToSameClientCount(final Long transferredToSameClientCount) { + this.transferredToSameClientCount = transferredToSameClientCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishRequestCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishRequestCount + * Neuer Wert der Eigenschaft "publishRequestCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withPublishRequestCount(final Long publishRequestCount) { + this.publishRequestCount = publishRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataChangeNotificationsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataChangeNotificationsCount + * Neuer Wert der Eigenschaft "dataChangeNotificationsCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withDataChangeNotificationsCount(final Long dataChangeNotificationsCount) { + this.dataChangeNotificationsCount = dataChangeNotificationsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventNotificationsCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param eventNotificationsCount + * Neuer Wert der Eigenschaft "eventNotificationsCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withEventNotificationsCount(final Long eventNotificationsCount) { + this.eventNotificationsCount = eventNotificationsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "notificationsCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param notificationsCount + * Neuer Wert der Eigenschaft "notificationsCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withNotificationsCount(final Long notificationsCount) { + this.notificationsCount = notificationsCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "latePublishRequestCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param latePublishRequestCount + * Neuer Wert der Eigenschaft "latePublishRequestCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withLatePublishRequestCount(final Long latePublishRequestCount) { + this.latePublishRequestCount = latePublishRequestCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentKeepAliveCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param currentKeepAliveCount + * Neuer Wert der Eigenschaft "currentKeepAliveCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withCurrentKeepAliveCount(final Long currentKeepAliveCount) { + this.currentKeepAliveCount = currentKeepAliveCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "currentLifetimeCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param currentLifetimeCount + * Neuer Wert der Eigenschaft "currentLifetimeCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withCurrentLifetimeCount(final Long currentLifetimeCount) { + this.currentLifetimeCount = currentLifetimeCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "unacknowledgedMessageCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param unacknowledgedMessageCount + * Neuer Wert der Eigenschaft "unacknowledgedMessageCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withUnacknowledgedMessageCount(final Long unacknowledgedMessageCount) { + this.unacknowledgedMessageCount = unacknowledgedMessageCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "discardedMessageCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param discardedMessageCount + * Neuer Wert der Eigenschaft "discardedMessageCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withDiscardedMessageCount(final Long discardedMessageCount) { + this.discardedMessageCount = discardedMessageCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoredItemCount" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param monitoredItemCount + * Neuer Wert der Eigenschaft "monitoredItemCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withMonitoredItemCount(final Long monitoredItemCount) { + this.monitoredItemCount = monitoredItemCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "disabledMonitoredItemCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param disabledMonitoredItemCount + * Neuer Wert der Eigenschaft "disabledMonitoredItemCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withDisabledMonitoredItemCount(final Long disabledMonitoredItemCount) { + this.disabledMonitoredItemCount = disabledMonitoredItemCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "monitoringQueueOverflowCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param monitoringQueueOverflowCount + * Neuer Wert der Eigenschaft "monitoringQueueOverflowCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withMonitoringQueueOverflowCount(final Long monitoringQueueOverflowCount) { + this.monitoringQueueOverflowCount = monitoringQueueOverflowCount; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nextSequenceNumber" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param nextSequenceNumber + * Neuer Wert der Eigenschaft "nextSequenceNumber". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withNextSequenceNumber(final Long nextSequenceNumber) { + this.nextSequenceNumber = nextSequenceNumber; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventQueueOverFlowCount" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param eventQueueOverFlowCount + * Neuer Wert der Eigenschaft "eventQueueOverFlowCount". + */ + public SubscriptionDiagnosticsDataType.Builder<_B> withEventQueueOverFlowCount(final Long eventQueueOverFlowCount) { + this.eventQueueOverFlowCount = eventQueueOverFlowCount; + return this; + } + + @Override + public SubscriptionDiagnosticsDataType build() { + if (_storedValue == null) { + return this.init(new SubscriptionDiagnosticsDataType()); + } else { + return ((SubscriptionDiagnosticsDataType) _storedValue); + } + } + + public SubscriptionDiagnosticsDataType.Builder<_B> copyOf(final SubscriptionDiagnosticsDataType _other) { + _other.copyTo(this); + return this; + } + + public SubscriptionDiagnosticsDataType.Builder<_B> copyOf(final SubscriptionDiagnosticsDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends SubscriptionDiagnosticsDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static SubscriptionDiagnosticsDataType.Select _root() { + return new SubscriptionDiagnosticsDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> sessionId = null; + private com.kscs.util.jaxb.Selector> subscriptionId = null; + private com.kscs.util.jaxb.Selector> priority = null; + private com.kscs.util.jaxb.Selector> publishingInterval = null; + private com.kscs.util.jaxb.Selector> maxKeepAliveCount = null; + private com.kscs.util.jaxb.Selector> maxLifetimeCount = null; + private com.kscs.util.jaxb.Selector> maxNotificationsPerPublish = null; + private com.kscs.util.jaxb.Selector> publishingEnabled = null; + private com.kscs.util.jaxb.Selector> modifyCount = null; + private com.kscs.util.jaxb.Selector> enableCount = null; + private com.kscs.util.jaxb.Selector> disableCount = null; + private com.kscs.util.jaxb.Selector> republishRequestCount = null; + private com.kscs.util.jaxb.Selector> republishMessageRequestCount = null; + private com.kscs.util.jaxb.Selector> republishMessageCount = null; + private com.kscs.util.jaxb.Selector> transferRequestCount = null; + private com.kscs.util.jaxb.Selector> transferredToAltClientCount = null; + private com.kscs.util.jaxb.Selector> transferredToSameClientCount = null; + private com.kscs.util.jaxb.Selector> publishRequestCount = null; + private com.kscs.util.jaxb.Selector> dataChangeNotificationsCount = null; + private com.kscs.util.jaxb.Selector> eventNotificationsCount = null; + private com.kscs.util.jaxb.Selector> notificationsCount = null; + private com.kscs.util.jaxb.Selector> latePublishRequestCount = null; + private com.kscs.util.jaxb.Selector> currentKeepAliveCount = null; + private com.kscs.util.jaxb.Selector> currentLifetimeCount = null; + private com.kscs.util.jaxb.Selector> unacknowledgedMessageCount = null; + private com.kscs.util.jaxb.Selector> discardedMessageCount = null; + private com.kscs.util.jaxb.Selector> monitoredItemCount = null; + private com.kscs.util.jaxb.Selector> disabledMonitoredItemCount = null; + private com.kscs.util.jaxb.Selector> monitoringQueueOverflowCount = null; + private com.kscs.util.jaxb.Selector> nextSequenceNumber = null; + private com.kscs.util.jaxb.Selector> eventQueueOverFlowCount = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.sessionId!= null) { + products.put("sessionId", this.sessionId.init()); + } + if (this.subscriptionId!= null) { + products.put("subscriptionId", this.subscriptionId.init()); + } + if (this.priority!= null) { + products.put("priority", this.priority.init()); + } + if (this.publishingInterval!= null) { + products.put("publishingInterval", this.publishingInterval.init()); + } + if (this.maxKeepAliveCount!= null) { + products.put("maxKeepAliveCount", this.maxKeepAliveCount.init()); + } + if (this.maxLifetimeCount!= null) { + products.put("maxLifetimeCount", this.maxLifetimeCount.init()); + } + if (this.maxNotificationsPerPublish!= null) { + products.put("maxNotificationsPerPublish", this.maxNotificationsPerPublish.init()); + } + if (this.publishingEnabled!= null) { + products.put("publishingEnabled", this.publishingEnabled.init()); + } + if (this.modifyCount!= null) { + products.put("modifyCount", this.modifyCount.init()); + } + if (this.enableCount!= null) { + products.put("enableCount", this.enableCount.init()); + } + if (this.disableCount!= null) { + products.put("disableCount", this.disableCount.init()); + } + if (this.republishRequestCount!= null) { + products.put("republishRequestCount", this.republishRequestCount.init()); + } + if (this.republishMessageRequestCount!= null) { + products.put("republishMessageRequestCount", this.republishMessageRequestCount.init()); + } + if (this.republishMessageCount!= null) { + products.put("republishMessageCount", this.republishMessageCount.init()); + } + if (this.transferRequestCount!= null) { + products.put("transferRequestCount", this.transferRequestCount.init()); + } + if (this.transferredToAltClientCount!= null) { + products.put("transferredToAltClientCount", this.transferredToAltClientCount.init()); + } + if (this.transferredToSameClientCount!= null) { + products.put("transferredToSameClientCount", this.transferredToSameClientCount.init()); + } + if (this.publishRequestCount!= null) { + products.put("publishRequestCount", this.publishRequestCount.init()); + } + if (this.dataChangeNotificationsCount!= null) { + products.put("dataChangeNotificationsCount", this.dataChangeNotificationsCount.init()); + } + if (this.eventNotificationsCount!= null) { + products.put("eventNotificationsCount", this.eventNotificationsCount.init()); + } + if (this.notificationsCount!= null) { + products.put("notificationsCount", this.notificationsCount.init()); + } + if (this.latePublishRequestCount!= null) { + products.put("latePublishRequestCount", this.latePublishRequestCount.init()); + } + if (this.currentKeepAliveCount!= null) { + products.put("currentKeepAliveCount", this.currentKeepAliveCount.init()); + } + if (this.currentLifetimeCount!= null) { + products.put("currentLifetimeCount", this.currentLifetimeCount.init()); + } + if (this.unacknowledgedMessageCount!= null) { + products.put("unacknowledgedMessageCount", this.unacknowledgedMessageCount.init()); + } + if (this.discardedMessageCount!= null) { + products.put("discardedMessageCount", this.discardedMessageCount.init()); + } + if (this.monitoredItemCount!= null) { + products.put("monitoredItemCount", this.monitoredItemCount.init()); + } + if (this.disabledMonitoredItemCount!= null) { + products.put("disabledMonitoredItemCount", this.disabledMonitoredItemCount.init()); + } + if (this.monitoringQueueOverflowCount!= null) { + products.put("monitoringQueueOverflowCount", this.monitoringQueueOverflowCount.init()); + } + if (this.nextSequenceNumber!= null) { + products.put("nextSequenceNumber", this.nextSequenceNumber.init()); + } + if (this.eventQueueOverFlowCount!= null) { + products.put("eventQueueOverFlowCount", this.eventQueueOverFlowCount.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> sessionId() { + return ((this.sessionId == null)?this.sessionId = new com.kscs.util.jaxb.Selector>(this._root, this, "sessionId"):this.sessionId); + } + + public com.kscs.util.jaxb.Selector> subscriptionId() { + return ((this.subscriptionId == null)?this.subscriptionId = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionId"):this.subscriptionId); + } + + public com.kscs.util.jaxb.Selector> priority() { + return ((this.priority == null)?this.priority = new com.kscs.util.jaxb.Selector>(this._root, this, "priority"):this.priority); + } + + public com.kscs.util.jaxb.Selector> publishingInterval() { + return ((this.publishingInterval == null)?this.publishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingInterval"):this.publishingInterval); + } + + public com.kscs.util.jaxb.Selector> maxKeepAliveCount() { + return ((this.maxKeepAliveCount == null)?this.maxKeepAliveCount = new com.kscs.util.jaxb.Selector>(this._root, this, "maxKeepAliveCount"):this.maxKeepAliveCount); + } + + public com.kscs.util.jaxb.Selector> maxLifetimeCount() { + return ((this.maxLifetimeCount == null)?this.maxLifetimeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "maxLifetimeCount"):this.maxLifetimeCount); + } + + public com.kscs.util.jaxb.Selector> maxNotificationsPerPublish() { + return ((this.maxNotificationsPerPublish == null)?this.maxNotificationsPerPublish = new com.kscs.util.jaxb.Selector>(this._root, this, "maxNotificationsPerPublish"):this.maxNotificationsPerPublish); + } + + public com.kscs.util.jaxb.Selector> publishingEnabled() { + return ((this.publishingEnabled == null)?this.publishingEnabled = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingEnabled"):this.publishingEnabled); + } + + public com.kscs.util.jaxb.Selector> modifyCount() { + return ((this.modifyCount == null)?this.modifyCount = new com.kscs.util.jaxb.Selector>(this._root, this, "modifyCount"):this.modifyCount); + } + + public com.kscs.util.jaxb.Selector> enableCount() { + return ((this.enableCount == null)?this.enableCount = new com.kscs.util.jaxb.Selector>(this._root, this, "enableCount"):this.enableCount); + } + + public com.kscs.util.jaxb.Selector> disableCount() { + return ((this.disableCount == null)?this.disableCount = new com.kscs.util.jaxb.Selector>(this._root, this, "disableCount"):this.disableCount); + } + + public com.kscs.util.jaxb.Selector> republishRequestCount() { + return ((this.republishRequestCount == null)?this.republishRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "republishRequestCount"):this.republishRequestCount); + } + + public com.kscs.util.jaxb.Selector> republishMessageRequestCount() { + return ((this.republishMessageRequestCount == null)?this.republishMessageRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "republishMessageRequestCount"):this.republishMessageRequestCount); + } + + public com.kscs.util.jaxb.Selector> republishMessageCount() { + return ((this.republishMessageCount == null)?this.republishMessageCount = new com.kscs.util.jaxb.Selector>(this._root, this, "republishMessageCount"):this.republishMessageCount); + } + + public com.kscs.util.jaxb.Selector> transferRequestCount() { + return ((this.transferRequestCount == null)?this.transferRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "transferRequestCount"):this.transferRequestCount); + } + + public com.kscs.util.jaxb.Selector> transferredToAltClientCount() { + return ((this.transferredToAltClientCount == null)?this.transferredToAltClientCount = new com.kscs.util.jaxb.Selector>(this._root, this, "transferredToAltClientCount"):this.transferredToAltClientCount); + } + + public com.kscs.util.jaxb.Selector> transferredToSameClientCount() { + return ((this.transferredToSameClientCount == null)?this.transferredToSameClientCount = new com.kscs.util.jaxb.Selector>(this._root, this, "transferredToSameClientCount"):this.transferredToSameClientCount); + } + + public com.kscs.util.jaxb.Selector> publishRequestCount() { + return ((this.publishRequestCount == null)?this.publishRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "publishRequestCount"):this.publishRequestCount); + } + + public com.kscs.util.jaxb.Selector> dataChangeNotificationsCount() { + return ((this.dataChangeNotificationsCount == null)?this.dataChangeNotificationsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "dataChangeNotificationsCount"):this.dataChangeNotificationsCount); + } + + public com.kscs.util.jaxb.Selector> eventNotificationsCount() { + return ((this.eventNotificationsCount == null)?this.eventNotificationsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "eventNotificationsCount"):this.eventNotificationsCount); + } + + public com.kscs.util.jaxb.Selector> notificationsCount() { + return ((this.notificationsCount == null)?this.notificationsCount = new com.kscs.util.jaxb.Selector>(this._root, this, "notificationsCount"):this.notificationsCount); + } + + public com.kscs.util.jaxb.Selector> latePublishRequestCount() { + return ((this.latePublishRequestCount == null)?this.latePublishRequestCount = new com.kscs.util.jaxb.Selector>(this._root, this, "latePublishRequestCount"):this.latePublishRequestCount); + } + + public com.kscs.util.jaxb.Selector> currentKeepAliveCount() { + return ((this.currentKeepAliveCount == null)?this.currentKeepAliveCount = new com.kscs.util.jaxb.Selector>(this._root, this, "currentKeepAliveCount"):this.currentKeepAliveCount); + } + + public com.kscs.util.jaxb.Selector> currentLifetimeCount() { + return ((this.currentLifetimeCount == null)?this.currentLifetimeCount = new com.kscs.util.jaxb.Selector>(this._root, this, "currentLifetimeCount"):this.currentLifetimeCount); + } + + public com.kscs.util.jaxb.Selector> unacknowledgedMessageCount() { + return ((this.unacknowledgedMessageCount == null)?this.unacknowledgedMessageCount = new com.kscs.util.jaxb.Selector>(this._root, this, "unacknowledgedMessageCount"):this.unacknowledgedMessageCount); + } + + public com.kscs.util.jaxb.Selector> discardedMessageCount() { + return ((this.discardedMessageCount == null)?this.discardedMessageCount = new com.kscs.util.jaxb.Selector>(this._root, this, "discardedMessageCount"):this.discardedMessageCount); + } + + public com.kscs.util.jaxb.Selector> monitoredItemCount() { + return ((this.monitoredItemCount == null)?this.monitoredItemCount = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoredItemCount"):this.monitoredItemCount); + } + + public com.kscs.util.jaxb.Selector> disabledMonitoredItemCount() { + return ((this.disabledMonitoredItemCount == null)?this.disabledMonitoredItemCount = new com.kscs.util.jaxb.Selector>(this._root, this, "disabledMonitoredItemCount"):this.disabledMonitoredItemCount); + } + + public com.kscs.util.jaxb.Selector> monitoringQueueOverflowCount() { + return ((this.monitoringQueueOverflowCount == null)?this.monitoringQueueOverflowCount = new com.kscs.util.jaxb.Selector>(this._root, this, "monitoringQueueOverflowCount"):this.monitoringQueueOverflowCount); + } + + public com.kscs.util.jaxb.Selector> nextSequenceNumber() { + return ((this.nextSequenceNumber == null)?this.nextSequenceNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "nextSequenceNumber"):this.nextSequenceNumber); + } + + public com.kscs.util.jaxb.Selector> eventQueueOverFlowCount() { + return ((this.eventQueueOverFlowCount == null)?this.eventQueueOverFlowCount = new com.kscs.util.jaxb.Selector>(this._root, this, "eventQueueOverFlowCount"):this.eventQueueOverFlowCount); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TargetVariablesDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TargetVariablesDataType.java new file mode 100644 index 000000000..cf9791ab9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TargetVariablesDataType.java @@ -0,0 +1,270 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TargetVariablesDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TargetVariablesDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}SubscribedDataSetDataType">
+ *       <sequence>
+ *         <element name="TargetVariables" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfFieldTargetDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TargetVariablesDataType", propOrder = { + "targetVariables" +}) +public class TargetVariablesDataType + extends SubscribedDataSetDataType +{ + + @XmlElementRef(name = "TargetVariables", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement targetVariables; + + /** + * Ruft den Wert der targetVariables-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfFieldTargetDataType }{@code >} + * + */ + public JAXBElement getTargetVariables() { + return targetVariables; + } + + /** + * Legt den Wert der targetVariables-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfFieldTargetDataType }{@code >} + * + */ + public void setTargetVariables(JAXBElement value) { + this.targetVariables = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TargetVariablesDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.targetVariables = this.targetVariables; + } + + @Override + public<_B >TargetVariablesDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TargetVariablesDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public TargetVariablesDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TargetVariablesDataType.Builder builder() { + return new TargetVariablesDataType.Builder(null, null, false); + } + + public static<_B >TargetVariablesDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other) { + final TargetVariablesDataType.Builder<_B> _newBuilder = new TargetVariablesDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >TargetVariablesDataType.Builder<_B> copyOf(final TargetVariablesDataType _other) { + final TargetVariablesDataType.Builder<_B> _newBuilder = new TargetVariablesDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TargetVariablesDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree targetVariablesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetVariables")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetVariablesPropertyTree!= null):((targetVariablesPropertyTree == null)||(!targetVariablesPropertyTree.isLeaf())))) { + _other.targetVariables = this.targetVariables; + } + } + + @Override + public<_B >TargetVariablesDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TargetVariablesDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public TargetVariablesDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TargetVariablesDataType.Builder<_B> copyOf(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TargetVariablesDataType.Builder<_B> _newBuilder = new TargetVariablesDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >TargetVariablesDataType.Builder<_B> copyOf(final TargetVariablesDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TargetVariablesDataType.Builder<_B> _newBuilder = new TargetVariablesDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TargetVariablesDataType.Builder copyExcept(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TargetVariablesDataType.Builder copyExcept(final TargetVariablesDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TargetVariablesDataType.Builder copyOnly(final SubscribedDataSetDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static TargetVariablesDataType.Builder copyOnly(final TargetVariablesDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends SubscribedDataSetDataType.Builder<_B> + implements Buildable + { + + private JAXBElement targetVariables; + + public Builder(final _B _parentBuilder, final TargetVariablesDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.targetVariables = _other.targetVariables; + } + } + + public Builder(final _B _parentBuilder, final TargetVariablesDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree targetVariablesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("targetVariables")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(targetVariablesPropertyTree!= null):((targetVariablesPropertyTree == null)||(!targetVariablesPropertyTree.isLeaf())))) { + this.targetVariables = _other.targetVariables; + } + } + } + + protected<_P extends TargetVariablesDataType >_P init(final _P _product) { + _product.targetVariables = this.targetVariables; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "targetVariables" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param targetVariables + * Neuer Wert der Eigenschaft "targetVariables". + */ + public TargetVariablesDataType.Builder<_B> withTargetVariables(final JAXBElement targetVariables) { + this.targetVariables = targetVariables; + return this; + } + + @Override + public TargetVariablesDataType build() { + if (_storedValue == null) { + return this.init(new TargetVariablesDataType()); + } else { + return ((TargetVariablesDataType) _storedValue); + } + } + + public TargetVariablesDataType.Builder<_B> copyOf(final TargetVariablesDataType _other) { + _other.copyTo(this); + return this; + } + + public TargetVariablesDataType.Builder<_B> copyOf(final TargetVariablesDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TargetVariablesDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static TargetVariablesDataType.Select _root() { + return new TargetVariablesDataType.Select(); + } + + } + + public static class Selector , TParent > + extends SubscribedDataSetDataType.Selector + { + + private com.kscs.util.jaxb.Selector> targetVariables = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.targetVariables!= null) { + products.put("targetVariables", this.targetVariables.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> targetVariables() { + return ((this.targetVariables == null)?this.targetVariables = new com.kscs.util.jaxb.Selector>(this._root, this, "targetVariables"):this.targetVariables); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDCartesianCoordinates.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDCartesianCoordinates.java new file mode 100644 index 000000000..936916a17 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDCartesianCoordinates.java @@ -0,0 +1,386 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ThreeDCartesianCoordinates complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ThreeDCartesianCoordinates">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}CartesianCoordinates">
+ *       <sequence>
+ *         <element name="X" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Y" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Z" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ThreeDCartesianCoordinates", propOrder = { + "x", + "y", + "z" +}) +public class ThreeDCartesianCoordinates + extends CartesianCoordinates +{ + + @XmlElement(name = "X") + protected Double x; + @XmlElement(name = "Y") + protected Double y; + @XmlElement(name = "Z") + protected Double z; + + /** + * Ruft den Wert der x-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getX() { + return x; + } + + /** + * Legt den Wert der x-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setX(Double value) { + this.x = value; + } + + /** + * Ruft den Wert der y-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getY() { + return y; + } + + /** + * Legt den Wert der y-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setY(Double value) { + this.y = value; + } + + /** + * Ruft den Wert der z-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getZ() { + return z; + } + + /** + * Legt den Wert der z-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setZ(Double value) { + this.z = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDCartesianCoordinates.Builder<_B> _other) { + super.copyTo(_other); + _other.x = this.x; + _other.y = this.y; + _other.z = this.z; + } + + @Override + public<_B >ThreeDCartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ThreeDCartesianCoordinates.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ThreeDCartesianCoordinates.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ThreeDCartesianCoordinates.Builder builder() { + return new ThreeDCartesianCoordinates.Builder(null, null, false); + } + + public static<_B >ThreeDCartesianCoordinates.Builder<_B> copyOf(final CartesianCoordinates _other) { + final ThreeDCartesianCoordinates.Builder<_B> _newBuilder = new ThreeDCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ThreeDCartesianCoordinates.Builder<_B> copyOf(final ThreeDCartesianCoordinates _other) { + final ThreeDCartesianCoordinates.Builder<_B> _newBuilder = new ThreeDCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDCartesianCoordinates.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree xPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("x")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xPropertyTree!= null):((xPropertyTree == null)||(!xPropertyTree.isLeaf())))) { + _other.x = this.x; + } + final PropertyTree yPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("y")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(yPropertyTree!= null):((yPropertyTree == null)||(!yPropertyTree.isLeaf())))) { + _other.y = this.y; + } + final PropertyTree zPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("z")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(zPropertyTree!= null):((zPropertyTree == null)||(!zPropertyTree.isLeaf())))) { + _other.z = this.z; + } + } + + @Override + public<_B >ThreeDCartesianCoordinates.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ThreeDCartesianCoordinates.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ThreeDCartesianCoordinates.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ThreeDCartesianCoordinates.Builder<_B> copyOf(final CartesianCoordinates _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDCartesianCoordinates.Builder<_B> _newBuilder = new ThreeDCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ThreeDCartesianCoordinates.Builder<_B> copyOf(final ThreeDCartesianCoordinates _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDCartesianCoordinates.Builder<_B> _newBuilder = new ThreeDCartesianCoordinates.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ThreeDCartesianCoordinates.Builder copyExcept(final CartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDCartesianCoordinates.Builder copyExcept(final ThreeDCartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDCartesianCoordinates.Builder copyOnly(final CartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ThreeDCartesianCoordinates.Builder copyOnly(final ThreeDCartesianCoordinates _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends CartesianCoordinates.Builder<_B> + implements Buildable + { + + private Double x; + private Double y; + private Double z; + + public Builder(final _B _parentBuilder, final ThreeDCartesianCoordinates _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.x = _other.x; + this.y = _other.y; + this.z = _other.z; + } + } + + public Builder(final _B _parentBuilder, final ThreeDCartesianCoordinates _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree xPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("x")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xPropertyTree!= null):((xPropertyTree == null)||(!xPropertyTree.isLeaf())))) { + this.x = _other.x; + } + final PropertyTree yPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("y")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(yPropertyTree!= null):((yPropertyTree == null)||(!yPropertyTree.isLeaf())))) { + this.y = _other.y; + } + final PropertyTree zPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("z")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(zPropertyTree!= null):((zPropertyTree == null)||(!zPropertyTree.isLeaf())))) { + this.z = _other.z; + } + } + } + + protected<_P extends ThreeDCartesianCoordinates >_P init(final _P _product) { + _product.x = this.x; + _product.y = this.y; + _product.z = this.z; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "x" (Vorher zugewiesener Wert wird ersetzt) + * + * @param x + * Neuer Wert der Eigenschaft "x". + */ + public ThreeDCartesianCoordinates.Builder<_B> withX(final Double x) { + this.x = x; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "y" (Vorher zugewiesener Wert wird ersetzt) + * + * @param y + * Neuer Wert der Eigenschaft "y". + */ + public ThreeDCartesianCoordinates.Builder<_B> withY(final Double y) { + this.y = y; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "z" (Vorher zugewiesener Wert wird ersetzt) + * + * @param z + * Neuer Wert der Eigenschaft "z". + */ + public ThreeDCartesianCoordinates.Builder<_B> withZ(final Double z) { + this.z = z; + return this; + } + + @Override + public ThreeDCartesianCoordinates build() { + if (_storedValue == null) { + return this.init(new ThreeDCartesianCoordinates()); + } else { + return ((ThreeDCartesianCoordinates) _storedValue); + } + } + + public ThreeDCartesianCoordinates.Builder<_B> copyOf(final ThreeDCartesianCoordinates _other) { + _other.copyTo(this); + return this; + } + + public ThreeDCartesianCoordinates.Builder<_B> copyOf(final ThreeDCartesianCoordinates.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ThreeDCartesianCoordinates.Selector + { + + + Select() { + super(null, null, null); + } + + public static ThreeDCartesianCoordinates.Select _root() { + return new ThreeDCartesianCoordinates.Select(); + } + + } + + public static class Selector , TParent > + extends CartesianCoordinates.Selector + { + + private com.kscs.util.jaxb.Selector> x = null; + private com.kscs.util.jaxb.Selector> y = null; + private com.kscs.util.jaxb.Selector> z = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.x!= null) { + products.put("x", this.x.init()); + } + if (this.y!= null) { + products.put("y", this.y.init()); + } + if (this.z!= null) { + products.put("z", this.z.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> x() { + return ((this.x == null)?this.x = new com.kscs.util.jaxb.Selector>(this._root, this, "x"):this.x); + } + + public com.kscs.util.jaxb.Selector> y() { + return ((this.y == null)?this.y = new com.kscs.util.jaxb.Selector>(this._root, this, "y"):this.y); + } + + public com.kscs.util.jaxb.Selector> z() { + return ((this.z == null)?this.z = new com.kscs.util.jaxb.Selector>(this._root, this, "z"):this.z); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDFrame.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDFrame.java new file mode 100644 index 000000000..baedf5612 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDFrame.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ThreeDFrame complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ThreeDFrame">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}Frame">
+ *       <sequence>
+ *         <element name="CartesianCoordinates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ThreeDCartesianCoordinates" minOccurs="0"/>
+ *         <element name="Orientation" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ThreeDOrientation" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ThreeDFrame", propOrder = { + "cartesianCoordinates", + "orientation" +}) +public class ThreeDFrame + extends Frame +{ + + @XmlElementRef(name = "CartesianCoordinates", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement cartesianCoordinates; + @XmlElementRef(name = "Orientation", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement orientation; + + /** + * Ruft den Wert der cartesianCoordinates-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ThreeDCartesianCoordinates }{@code >} + * + */ + public JAXBElement getCartesianCoordinates() { + return cartesianCoordinates; + } + + /** + * Legt den Wert der cartesianCoordinates-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ThreeDCartesianCoordinates }{@code >} + * + */ + public void setCartesianCoordinates(JAXBElement value) { + this.cartesianCoordinates = value; + } + + /** + * Ruft den Wert der orientation-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ThreeDOrientation }{@code >} + * + */ + public JAXBElement getOrientation() { + return orientation; + } + + /** + * Legt den Wert der orientation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ThreeDOrientation }{@code >} + * + */ + public void setOrientation(JAXBElement value) { + this.orientation = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDFrame.Builder<_B> _other) { + super.copyTo(_other); + _other.cartesianCoordinates = this.cartesianCoordinates; + _other.orientation = this.orientation; + } + + @Override + public<_B >ThreeDFrame.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ThreeDFrame.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ThreeDFrame.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ThreeDFrame.Builder builder() { + return new ThreeDFrame.Builder(null, null, false); + } + + public static<_B >ThreeDFrame.Builder<_B> copyOf(final Frame _other) { + final ThreeDFrame.Builder<_B> _newBuilder = new ThreeDFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ThreeDFrame.Builder<_B> copyOf(final ThreeDFrame _other) { + final ThreeDFrame.Builder<_B> _newBuilder = new ThreeDFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDFrame.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree cartesianCoordinatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cartesianCoordinates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cartesianCoordinatesPropertyTree!= null):((cartesianCoordinatesPropertyTree == null)||(!cartesianCoordinatesPropertyTree.isLeaf())))) { + _other.cartesianCoordinates = this.cartesianCoordinates; + } + final PropertyTree orientationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("orientation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(orientationPropertyTree!= null):((orientationPropertyTree == null)||(!orientationPropertyTree.isLeaf())))) { + _other.orientation = this.orientation; + } + } + + @Override + public<_B >ThreeDFrame.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ThreeDFrame.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ThreeDFrame.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ThreeDFrame.Builder<_B> copyOf(final Frame _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDFrame.Builder<_B> _newBuilder = new ThreeDFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ThreeDFrame.Builder<_B> copyOf(final ThreeDFrame _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDFrame.Builder<_B> _newBuilder = new ThreeDFrame.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ThreeDFrame.Builder copyExcept(final Frame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDFrame.Builder copyExcept(final ThreeDFrame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDFrame.Builder copyOnly(final Frame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ThreeDFrame.Builder copyOnly(final ThreeDFrame _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends Frame.Builder<_B> + implements Buildable + { + + private JAXBElement cartesianCoordinates; + private JAXBElement orientation; + + public Builder(final _B _parentBuilder, final ThreeDFrame _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.cartesianCoordinates = _other.cartesianCoordinates; + this.orientation = _other.orientation; + } + } + + public Builder(final _B _parentBuilder, final ThreeDFrame _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree cartesianCoordinatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("cartesianCoordinates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cartesianCoordinatesPropertyTree!= null):((cartesianCoordinatesPropertyTree == null)||(!cartesianCoordinatesPropertyTree.isLeaf())))) { + this.cartesianCoordinates = _other.cartesianCoordinates; + } + final PropertyTree orientationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("orientation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(orientationPropertyTree!= null):((orientationPropertyTree == null)||(!orientationPropertyTree.isLeaf())))) { + this.orientation = _other.orientation; + } + } + } + + protected<_P extends ThreeDFrame >_P init(final _P _product) { + _product.cartesianCoordinates = this.cartesianCoordinates; + _product.orientation = this.orientation; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "cartesianCoordinates" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param cartesianCoordinates + * Neuer Wert der Eigenschaft "cartesianCoordinates". + */ + public ThreeDFrame.Builder<_B> withCartesianCoordinates(final JAXBElement cartesianCoordinates) { + this.cartesianCoordinates = cartesianCoordinates; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "orientation" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param orientation + * Neuer Wert der Eigenschaft "orientation". + */ + public ThreeDFrame.Builder<_B> withOrientation(final JAXBElement orientation) { + this.orientation = orientation; + return this; + } + + @Override + public ThreeDFrame build() { + if (_storedValue == null) { + return this.init(new ThreeDFrame()); + } else { + return ((ThreeDFrame) _storedValue); + } + } + + public ThreeDFrame.Builder<_B> copyOf(final ThreeDFrame _other) { + _other.copyTo(this); + return this; + } + + public ThreeDFrame.Builder<_B> copyOf(final ThreeDFrame.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ThreeDFrame.Selector + { + + + Select() { + super(null, null, null); + } + + public static ThreeDFrame.Select _root() { + return new ThreeDFrame.Select(); + } + + } + + public static class Selector , TParent > + extends Frame.Selector + { + + private com.kscs.util.jaxb.Selector> cartesianCoordinates = null; + private com.kscs.util.jaxb.Selector> orientation = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.cartesianCoordinates!= null) { + products.put("cartesianCoordinates", this.cartesianCoordinates.init()); + } + if (this.orientation!= null) { + products.put("orientation", this.orientation.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> cartesianCoordinates() { + return ((this.cartesianCoordinates == null)?this.cartesianCoordinates = new com.kscs.util.jaxb.Selector>(this._root, this, "cartesianCoordinates"):this.cartesianCoordinates); + } + + public com.kscs.util.jaxb.Selector> orientation() { + return ((this.orientation == null)?this.orientation = new com.kscs.util.jaxb.Selector>(this._root, this, "orientation"):this.orientation); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDOrientation.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDOrientation.java new file mode 100644 index 000000000..82846b4d3 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDOrientation.java @@ -0,0 +1,386 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ThreeDOrientation complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ThreeDOrientation">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}Orientation">
+ *       <sequence>
+ *         <element name="A" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="B" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="C" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ThreeDOrientation", propOrder = { + "a", + "b", + "c" +}) +public class ThreeDOrientation + extends Orientation +{ + + @XmlElement(name = "A") + protected Double a; + @XmlElement(name = "B") + protected Double b; + @XmlElement(name = "C") + protected Double c; + + /** + * Ruft den Wert der a-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getA() { + return a; + } + + /** + * Legt den Wert der a-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setA(Double value) { + this.a = value; + } + + /** + * Ruft den Wert der b-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getB() { + return b; + } + + /** + * Legt den Wert der b-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setB(Double value) { + this.b = value; + } + + /** + * Ruft den Wert der c-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getC() { + return c; + } + + /** + * Legt den Wert der c-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setC(Double value) { + this.c = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDOrientation.Builder<_B> _other) { + super.copyTo(_other); + _other.a = this.a; + _other.b = this.b; + _other.c = this.c; + } + + @Override + public<_B >ThreeDOrientation.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ThreeDOrientation.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ThreeDOrientation.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ThreeDOrientation.Builder builder() { + return new ThreeDOrientation.Builder(null, null, false); + } + + public static<_B >ThreeDOrientation.Builder<_B> copyOf(final Orientation _other) { + final ThreeDOrientation.Builder<_B> _newBuilder = new ThreeDOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ThreeDOrientation.Builder<_B> copyOf(final ThreeDOrientation _other) { + final ThreeDOrientation.Builder<_B> _newBuilder = new ThreeDOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDOrientation.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree aPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("a")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aPropertyTree!= null):((aPropertyTree == null)||(!aPropertyTree.isLeaf())))) { + _other.a = this.a; + } + final PropertyTree bPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("b")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(bPropertyTree!= null):((bPropertyTree == null)||(!bPropertyTree.isLeaf())))) { + _other.b = this.b; + } + final PropertyTree cPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("c")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cPropertyTree!= null):((cPropertyTree == null)||(!cPropertyTree.isLeaf())))) { + _other.c = this.c; + } + } + + @Override + public<_B >ThreeDOrientation.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ThreeDOrientation.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ThreeDOrientation.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ThreeDOrientation.Builder<_B> copyOf(final Orientation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDOrientation.Builder<_B> _newBuilder = new ThreeDOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ThreeDOrientation.Builder<_B> copyOf(final ThreeDOrientation _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDOrientation.Builder<_B> _newBuilder = new ThreeDOrientation.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ThreeDOrientation.Builder copyExcept(final Orientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDOrientation.Builder copyExcept(final ThreeDOrientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDOrientation.Builder copyOnly(final Orientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ThreeDOrientation.Builder copyOnly(final ThreeDOrientation _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends Orientation.Builder<_B> + implements Buildable + { + + private Double a; + private Double b; + private Double c; + + public Builder(final _B _parentBuilder, final ThreeDOrientation _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.a = _other.a; + this.b = _other.b; + this.c = _other.c; + } + } + + public Builder(final _B _parentBuilder, final ThreeDOrientation _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree aPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("a")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(aPropertyTree!= null):((aPropertyTree == null)||(!aPropertyTree.isLeaf())))) { + this.a = _other.a; + } + final PropertyTree bPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("b")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(bPropertyTree!= null):((bPropertyTree == null)||(!bPropertyTree.isLeaf())))) { + this.b = _other.b; + } + final PropertyTree cPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("c")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(cPropertyTree!= null):((cPropertyTree == null)||(!cPropertyTree.isLeaf())))) { + this.c = _other.c; + } + } + } + + protected<_P extends ThreeDOrientation >_P init(final _P _product) { + _product.a = this.a; + _product.b = this.b; + _product.c = this.c; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "a" (Vorher zugewiesener Wert wird ersetzt) + * + * @param a + * Neuer Wert der Eigenschaft "a". + */ + public ThreeDOrientation.Builder<_B> withA(final Double a) { + this.a = a; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "b" (Vorher zugewiesener Wert wird ersetzt) + * + * @param b + * Neuer Wert der Eigenschaft "b". + */ + public ThreeDOrientation.Builder<_B> withB(final Double b) { + this.b = b; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "c" (Vorher zugewiesener Wert wird ersetzt) + * + * @param c + * Neuer Wert der Eigenschaft "c". + */ + public ThreeDOrientation.Builder<_B> withC(final Double c) { + this.c = c; + return this; + } + + @Override + public ThreeDOrientation build() { + if (_storedValue == null) { + return this.init(new ThreeDOrientation()); + } else { + return ((ThreeDOrientation) _storedValue); + } + } + + public ThreeDOrientation.Builder<_B> copyOf(final ThreeDOrientation _other) { + _other.copyTo(this); + return this; + } + + public ThreeDOrientation.Builder<_B> copyOf(final ThreeDOrientation.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ThreeDOrientation.Selector + { + + + Select() { + super(null, null, null); + } + + public static ThreeDOrientation.Select _root() { + return new ThreeDOrientation.Select(); + } + + } + + public static class Selector , TParent > + extends Orientation.Selector + { + + private com.kscs.util.jaxb.Selector> a = null; + private com.kscs.util.jaxb.Selector> b = null; + private com.kscs.util.jaxb.Selector> c = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.a!= null) { + products.put("a", this.a.init()); + } + if (this.b!= null) { + products.put("b", this.b.init()); + } + if (this.c!= null) { + products.put("c", this.c.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> a() { + return ((this.a == null)?this.a = new com.kscs.util.jaxb.Selector>(this._root, this, "a"):this.a); + } + + public com.kscs.util.jaxb.Selector> b() { + return ((this.b == null)?this.b = new com.kscs.util.jaxb.Selector>(this._root, this, "b"):this.b); + } + + public com.kscs.util.jaxb.Selector> c() { + return ((this.c == null)?this.c = new com.kscs.util.jaxb.Selector>(this._root, this, "c"):this.c); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDVector.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDVector.java new file mode 100644 index 000000000..1b51a3a77 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ThreeDVector.java @@ -0,0 +1,386 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ThreeDVector complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ThreeDVector">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}Vector">
+ *       <sequence>
+ *         <element name="X" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Y" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Z" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ThreeDVector", propOrder = { + "x", + "y", + "z" +}) +public class ThreeDVector + extends Vector +{ + + @XmlElement(name = "X") + protected Double x; + @XmlElement(name = "Y") + protected Double y; + @XmlElement(name = "Z") + protected Double z; + + /** + * Ruft den Wert der x-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getX() { + return x; + } + + /** + * Legt den Wert der x-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setX(Double value) { + this.x = value; + } + + /** + * Ruft den Wert der y-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getY() { + return y; + } + + /** + * Legt den Wert der y-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setY(Double value) { + this.y = value; + } + + /** + * Ruft den Wert der z-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getZ() { + return z; + } + + /** + * Legt den Wert der z-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setZ(Double value) { + this.z = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDVector.Builder<_B> _other) { + super.copyTo(_other); + _other.x = this.x; + _other.y = this.y; + _other.z = this.z; + } + + @Override + public<_B >ThreeDVector.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ThreeDVector.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ThreeDVector.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ThreeDVector.Builder builder() { + return new ThreeDVector.Builder(null, null, false); + } + + public static<_B >ThreeDVector.Builder<_B> copyOf(final Vector _other) { + final ThreeDVector.Builder<_B> _newBuilder = new ThreeDVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ThreeDVector.Builder<_B> copyOf(final ThreeDVector _other) { + final ThreeDVector.Builder<_B> _newBuilder = new ThreeDVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ThreeDVector.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree xPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("x")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xPropertyTree!= null):((xPropertyTree == null)||(!xPropertyTree.isLeaf())))) { + _other.x = this.x; + } + final PropertyTree yPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("y")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(yPropertyTree!= null):((yPropertyTree == null)||(!yPropertyTree.isLeaf())))) { + _other.y = this.y; + } + final PropertyTree zPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("z")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(zPropertyTree!= null):((zPropertyTree == null)||(!zPropertyTree.isLeaf())))) { + _other.z = this.z; + } + } + + @Override + public<_B >ThreeDVector.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ThreeDVector.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ThreeDVector.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ThreeDVector.Builder<_B> copyOf(final Vector _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDVector.Builder<_B> _newBuilder = new ThreeDVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ThreeDVector.Builder<_B> copyOf(final ThreeDVector _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ThreeDVector.Builder<_B> _newBuilder = new ThreeDVector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ThreeDVector.Builder copyExcept(final Vector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDVector.Builder copyExcept(final ThreeDVector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ThreeDVector.Builder copyOnly(final Vector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ThreeDVector.Builder copyOnly(final ThreeDVector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends Vector.Builder<_B> + implements Buildable + { + + private Double x; + private Double y; + private Double z; + + public Builder(final _B _parentBuilder, final ThreeDVector _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.x = _other.x; + this.y = _other.y; + this.z = _other.z; + } + } + + public Builder(final _B _parentBuilder, final ThreeDVector _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree xPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("x")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xPropertyTree!= null):((xPropertyTree == null)||(!xPropertyTree.isLeaf())))) { + this.x = _other.x; + } + final PropertyTree yPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("y")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(yPropertyTree!= null):((yPropertyTree == null)||(!yPropertyTree.isLeaf())))) { + this.y = _other.y; + } + final PropertyTree zPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("z")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(zPropertyTree!= null):((zPropertyTree == null)||(!zPropertyTree.isLeaf())))) { + this.z = _other.z; + } + } + } + + protected<_P extends ThreeDVector >_P init(final _P _product) { + _product.x = this.x; + _product.y = this.y; + _product.z = this.z; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "x" (Vorher zugewiesener Wert wird ersetzt) + * + * @param x + * Neuer Wert der Eigenschaft "x". + */ + public ThreeDVector.Builder<_B> withX(final Double x) { + this.x = x; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "y" (Vorher zugewiesener Wert wird ersetzt) + * + * @param y + * Neuer Wert der Eigenschaft "y". + */ + public ThreeDVector.Builder<_B> withY(final Double y) { + this.y = y; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "z" (Vorher zugewiesener Wert wird ersetzt) + * + * @param z + * Neuer Wert der Eigenschaft "z". + */ + public ThreeDVector.Builder<_B> withZ(final Double z) { + this.z = z; + return this; + } + + @Override + public ThreeDVector build() { + if (_storedValue == null) { + return this.init(new ThreeDVector()); + } else { + return ((ThreeDVector) _storedValue); + } + } + + public ThreeDVector.Builder<_B> copyOf(final ThreeDVector _other) { + _other.copyTo(this); + return this; + } + + public ThreeDVector.Builder<_B> copyOf(final ThreeDVector.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ThreeDVector.Selector + { + + + Select() { + super(null, null, null); + } + + public static ThreeDVector.Select _root() { + return new ThreeDVector.Select(); + } + + } + + public static class Selector , TParent > + extends Vector.Selector + { + + private com.kscs.util.jaxb.Selector> x = null; + private com.kscs.util.jaxb.Selector> y = null; + private com.kscs.util.jaxb.Selector> z = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.x!= null) { + products.put("x", this.x.init()); + } + if (this.y!= null) { + products.put("y", this.y.init()); + } + if (this.z!= null) { + products.put("z", this.z.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> x() { + return ((this.x == null)?this.x = new com.kscs.util.jaxb.Selector>(this._root, this, "x"):this.x); + } + + public com.kscs.util.jaxb.Selector> y() { + return ((this.y == null)?this.y = new com.kscs.util.jaxb.Selector>(this._root, this, "y"):this.y); + } + + public com.kscs.util.jaxb.Selector> z() { + return ((this.z == null)?this.z = new com.kscs.util.jaxb.Selector>(this._root, this, "z"):this.z); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimeZoneDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimeZoneDataType.java new file mode 100644 index 000000000..23252ff18 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimeZoneDataType.java @@ -0,0 +1,319 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TimeZoneDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TimeZoneDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Offset" type="{http://www.w3.org/2001/XMLSchema}short" minOccurs="0"/>
+ *         <element name="DaylightSavingInOffset" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TimeZoneDataType", propOrder = { + "offset", + "daylightSavingInOffset" +}) +public class TimeZoneDataType { + + @XmlElement(name = "Offset") + protected Short offset; + @XmlElement(name = "DaylightSavingInOffset") + protected Boolean daylightSavingInOffset; + + /** + * Ruft den Wert der offset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getOffset() { + return offset; + } + + /** + * Legt den Wert der offset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setOffset(Short value) { + this.offset = value; + } + + /** + * Ruft den Wert der daylightSavingInOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isDaylightSavingInOffset() { + return daylightSavingInOffset; + } + + /** + * Legt den Wert der daylightSavingInOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setDaylightSavingInOffset(Boolean value) { + this.daylightSavingInOffset = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TimeZoneDataType.Builder<_B> _other) { + _other.offset = this.offset; + _other.daylightSavingInOffset = this.daylightSavingInOffset; + } + + public<_B >TimeZoneDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TimeZoneDataType.Builder<_B>(_parentBuilder, this, true); + } + + public TimeZoneDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TimeZoneDataType.Builder builder() { + return new TimeZoneDataType.Builder(null, null, false); + } + + public static<_B >TimeZoneDataType.Builder<_B> copyOf(final TimeZoneDataType _other) { + final TimeZoneDataType.Builder<_B> _newBuilder = new TimeZoneDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TimeZoneDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree offsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("offset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(offsetPropertyTree!= null):((offsetPropertyTree == null)||(!offsetPropertyTree.isLeaf())))) { + _other.offset = this.offset; + } + final PropertyTree daylightSavingInOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("daylightSavingInOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(daylightSavingInOffsetPropertyTree!= null):((daylightSavingInOffsetPropertyTree == null)||(!daylightSavingInOffsetPropertyTree.isLeaf())))) { + _other.daylightSavingInOffset = this.daylightSavingInOffset; + } + } + + public<_B >TimeZoneDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TimeZoneDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TimeZoneDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TimeZoneDataType.Builder<_B> copyOf(final TimeZoneDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TimeZoneDataType.Builder<_B> _newBuilder = new TimeZoneDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TimeZoneDataType.Builder copyExcept(final TimeZoneDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TimeZoneDataType.Builder copyOnly(final TimeZoneDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TimeZoneDataType _storedValue; + private Short offset; + private Boolean daylightSavingInOffset; + + public Builder(final _B _parentBuilder, final TimeZoneDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.offset = _other.offset; + this.daylightSavingInOffset = _other.daylightSavingInOffset; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TimeZoneDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree offsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("offset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(offsetPropertyTree!= null):((offsetPropertyTree == null)||(!offsetPropertyTree.isLeaf())))) { + this.offset = _other.offset; + } + final PropertyTree daylightSavingInOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("daylightSavingInOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(daylightSavingInOffsetPropertyTree!= null):((daylightSavingInOffsetPropertyTree == null)||(!daylightSavingInOffsetPropertyTree.isLeaf())))) { + this.daylightSavingInOffset = _other.daylightSavingInOffset; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TimeZoneDataType >_P init(final _P _product) { + _product.offset = this.offset; + _product.daylightSavingInOffset = this.daylightSavingInOffset; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "offset" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param offset + * Neuer Wert der Eigenschaft "offset". + */ + public TimeZoneDataType.Builder<_B> withOffset(final Short offset) { + this.offset = offset; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "daylightSavingInOffset" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param daylightSavingInOffset + * Neuer Wert der Eigenschaft "daylightSavingInOffset". + */ + public TimeZoneDataType.Builder<_B> withDaylightSavingInOffset(final Boolean daylightSavingInOffset) { + this.daylightSavingInOffset = daylightSavingInOffset; + return this; + } + + @Override + public TimeZoneDataType build() { + if (_storedValue == null) { + return this.init(new TimeZoneDataType()); + } else { + return ((TimeZoneDataType) _storedValue); + } + } + + public TimeZoneDataType.Builder<_B> copyOf(final TimeZoneDataType _other) { + _other.copyTo(this); + return this; + } + + public TimeZoneDataType.Builder<_B> copyOf(final TimeZoneDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TimeZoneDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static TimeZoneDataType.Select _root() { + return new TimeZoneDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> offset = null; + private com.kscs.util.jaxb.Selector> daylightSavingInOffset = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.offset!= null) { + products.put("offset", this.offset.init()); + } + if (this.daylightSavingInOffset!= null) { + products.put("daylightSavingInOffset", this.daylightSavingInOffset.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> offset() { + return ((this.offset == null)?this.offset = new com.kscs.util.jaxb.Selector>(this._root, this, "offset"):this.offset); + } + + public com.kscs.util.jaxb.Selector> daylightSavingInOffset() { + return ((this.daylightSavingInOffset == null)?this.daylightSavingInOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "daylightSavingInOffset"):this.daylightSavingInOffset); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimestampsToReturn.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimestampsToReturn.java new file mode 100644 index 000000000..cc06fb0c8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TimestampsToReturn.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für TimestampsToReturn. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="TimestampsToReturn">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Source_0"/>
+ *     <enumeration value="Server_1"/>
+ *     <enumeration value="Both_2"/>
+ *     <enumeration value="Neither_3"/>
+ *     <enumeration value="Invalid_4"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "TimestampsToReturn") +@XmlEnum +public enum TimestampsToReturn { + + @XmlEnumValue("Source_0") + SOURCE_0("Source_0"), + @XmlEnumValue("Server_1") + SERVER_1("Server_1"), + @XmlEnumValue("Both_2") + BOTH_2("Both_2"), + @XmlEnumValue("Neither_3") + NEITHER_3("Neither_3"), + @XmlEnumValue("Invalid_4") + INVALID_4("Invalid_4"); + private final String value; + + TimestampsToReturn(String v) { + value = v; + } + + public String value() { + return value; + } + + public static TimestampsToReturn fromValue(String v) { + for (TimestampsToReturn c: TimestampsToReturn.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferResult.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferResult.java new file mode 100644 index 000000000..5830ba606 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferResult.java @@ -0,0 +1,339 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TransferResult complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TransferResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="StatusCode" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}StatusCode" minOccurs="0"/>
+ *         <element name="AvailableSequenceNumbers" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TransferResult", propOrder = { + "statusCode", + "availableSequenceNumbers" +}) +public class TransferResult { + + @XmlElement(name = "StatusCode") + protected StatusCode statusCode; + @XmlElementRef(name = "AvailableSequenceNumbers", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement availableSequenceNumbers; + + /** + * Ruft den Wert der statusCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatusCode } + * + */ + public StatusCode getStatusCode() { + return statusCode; + } + + /** + * Legt den Wert der statusCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatusCode } + * + */ + public void setStatusCode(StatusCode value) { + this.statusCode = value; + } + + /** + * Ruft den Wert der availableSequenceNumbers-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getAvailableSequenceNumbers() { + return availableSequenceNumbers; + } + + /** + * Legt den Wert der availableSequenceNumbers-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setAvailableSequenceNumbers(JAXBElement value) { + this.availableSequenceNumbers = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TransferResult.Builder<_B> _other) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other)); + _other.availableSequenceNumbers = this.availableSequenceNumbers; + } + + public<_B >TransferResult.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TransferResult.Builder<_B>(_parentBuilder, this, true); + } + + public TransferResult.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TransferResult.Builder builder() { + return new TransferResult.Builder(null, null, false); + } + + public static<_B >TransferResult.Builder<_B> copyOf(final TransferResult _other) { + final TransferResult.Builder<_B> _newBuilder = new TransferResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TransferResult.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + _other.statusCode = ((this.statusCode == null)?null:this.statusCode.newCopyBuilder(_other, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree availableSequenceNumbersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("availableSequenceNumbers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(availableSequenceNumbersPropertyTree!= null):((availableSequenceNumbersPropertyTree == null)||(!availableSequenceNumbersPropertyTree.isLeaf())))) { + _other.availableSequenceNumbers = this.availableSequenceNumbers; + } + } + + public<_B >TransferResult.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TransferResult.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TransferResult.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TransferResult.Builder<_B> copyOf(final TransferResult _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TransferResult.Builder<_B> _newBuilder = new TransferResult.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TransferResult.Builder copyExcept(final TransferResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TransferResult.Builder copyOnly(final TransferResult _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TransferResult _storedValue; + private StatusCode.Builder> statusCode; + private JAXBElement availableSequenceNumbers; + + public Builder(final _B _parentBuilder, final TransferResult _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this)); + this.availableSequenceNumbers = _other.availableSequenceNumbers; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TransferResult _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree statusCodePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("statusCode")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(statusCodePropertyTree!= null):((statusCodePropertyTree == null)||(!statusCodePropertyTree.isLeaf())))) { + this.statusCode = ((_other.statusCode == null)?null:_other.statusCode.newCopyBuilder(this, statusCodePropertyTree, _propertyTreeUse)); + } + final PropertyTree availableSequenceNumbersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("availableSequenceNumbers")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(availableSequenceNumbersPropertyTree!= null):((availableSequenceNumbersPropertyTree == null)||(!availableSequenceNumbersPropertyTree.isLeaf())))) { + this.availableSequenceNumbers = _other.availableSequenceNumbers; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TransferResult >_P init(final _P _product) { + _product.statusCode = ((this.statusCode == null)?null:this.statusCode.build()); + _product.availableSequenceNumbers = this.availableSequenceNumbers; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "statusCode" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param statusCode + * Neuer Wert der Eigenschaft "statusCode". + */ + public TransferResult.Builder<_B> withStatusCode(final StatusCode statusCode) { + this.statusCode = ((statusCode == null)?null:new StatusCode.Builder>(this, statusCode, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "statusCode". + * Mit {@link org.opcfoundation.ua._2008._02.types.StatusCode.Builder#end()} geht + * es zurück zum aktuellen Builder. + */ + public StatusCode.Builder> withStatusCode() { + if (this.statusCode!= null) { + return this.statusCode; + } + return this.statusCode = new StatusCode.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "availableSequenceNumbers" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param availableSequenceNumbers + * Neuer Wert der Eigenschaft "availableSequenceNumbers". + */ + public TransferResult.Builder<_B> withAvailableSequenceNumbers(final JAXBElement availableSequenceNumbers) { + this.availableSequenceNumbers = availableSequenceNumbers; + return this; + } + + @Override + public TransferResult build() { + if (_storedValue == null) { + return this.init(new TransferResult()); + } else { + return ((TransferResult) _storedValue); + } + } + + public TransferResult.Builder<_B> copyOf(final TransferResult _other) { + _other.copyTo(this); + return this; + } + + public TransferResult.Builder<_B> copyOf(final TransferResult.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TransferResult.Selector + { + + + Select() { + super(null, null, null); + } + + public static TransferResult.Select _root() { + return new TransferResult.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private StatusCode.Selector> statusCode = null; + private com.kscs.util.jaxb.Selector> availableSequenceNumbers = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.statusCode!= null) { + products.put("statusCode", this.statusCode.init()); + } + if (this.availableSequenceNumbers!= null) { + products.put("availableSequenceNumbers", this.availableSequenceNumbers.init()); + } + return products; + } + + public StatusCode.Selector> statusCode() { + return ((this.statusCode == null)?this.statusCode = new StatusCode.Selector>(this._root, this, "statusCode"):this.statusCode); + } + + public com.kscs.util.jaxb.Selector> availableSequenceNumbers() { + return ((this.availableSequenceNumbers == null)?this.availableSequenceNumbers = new com.kscs.util.jaxb.Selector>(this._root, this, "availableSequenceNumbers"):this.availableSequenceNumbers); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsRequest.java new file mode 100644 index 000000000..3ddd1776f --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsRequest.java @@ -0,0 +1,381 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TransferSubscriptionsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TransferSubscriptionsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="SubscriptionIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="SendInitialValues" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TransferSubscriptionsRequest", propOrder = { + "requestHeader", + "subscriptionIds", + "sendInitialValues" +}) +public class TransferSubscriptionsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "SubscriptionIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement subscriptionIds; + @XmlElement(name = "SendInitialValues") + protected Boolean sendInitialValues; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der subscriptionIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getSubscriptionIds() { + return subscriptionIds; + } + + /** + * Legt den Wert der subscriptionIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setSubscriptionIds(JAXBElement value) { + this.subscriptionIds = value; + } + + /** + * Ruft den Wert der sendInitialValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isSendInitialValues() { + return sendInitialValues; + } + + /** + * Legt den Wert der sendInitialValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setSendInitialValues(Boolean value) { + this.sendInitialValues = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TransferSubscriptionsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.subscriptionIds = this.subscriptionIds; + _other.sendInitialValues = this.sendInitialValues; + } + + public<_B >TransferSubscriptionsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TransferSubscriptionsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public TransferSubscriptionsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TransferSubscriptionsRequest.Builder builder() { + return new TransferSubscriptionsRequest.Builder(null, null, false); + } + + public static<_B >TransferSubscriptionsRequest.Builder<_B> copyOf(final TransferSubscriptionsRequest _other) { + final TransferSubscriptionsRequest.Builder<_B> _newBuilder = new TransferSubscriptionsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TransferSubscriptionsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree subscriptionIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdsPropertyTree!= null):((subscriptionIdsPropertyTree == null)||(!subscriptionIdsPropertyTree.isLeaf())))) { + _other.subscriptionIds = this.subscriptionIds; + } + final PropertyTree sendInitialValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sendInitialValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sendInitialValuesPropertyTree!= null):((sendInitialValuesPropertyTree == null)||(!sendInitialValuesPropertyTree.isLeaf())))) { + _other.sendInitialValues = this.sendInitialValues; + } + } + + public<_B >TransferSubscriptionsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TransferSubscriptionsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TransferSubscriptionsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TransferSubscriptionsRequest.Builder<_B> copyOf(final TransferSubscriptionsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TransferSubscriptionsRequest.Builder<_B> _newBuilder = new TransferSubscriptionsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TransferSubscriptionsRequest.Builder copyExcept(final TransferSubscriptionsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TransferSubscriptionsRequest.Builder copyOnly(final TransferSubscriptionsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TransferSubscriptionsRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement subscriptionIds; + private Boolean sendInitialValues; + + public Builder(final _B _parentBuilder, final TransferSubscriptionsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.subscriptionIds = _other.subscriptionIds; + this.sendInitialValues = _other.sendInitialValues; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TransferSubscriptionsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree subscriptionIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("subscriptionIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(subscriptionIdsPropertyTree!= null):((subscriptionIdsPropertyTree == null)||(!subscriptionIdsPropertyTree.isLeaf())))) { + this.subscriptionIds = _other.subscriptionIds; + } + final PropertyTree sendInitialValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("sendInitialValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(sendInitialValuesPropertyTree!= null):((sendInitialValuesPropertyTree == null)||(!sendInitialValuesPropertyTree.isLeaf())))) { + this.sendInitialValues = _other.sendInitialValues; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TransferSubscriptionsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.subscriptionIds = this.subscriptionIds; + _product.sendInitialValues = this.sendInitialValues; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public TransferSubscriptionsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "subscriptionIds" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param subscriptionIds + * Neuer Wert der Eigenschaft "subscriptionIds". + */ + public TransferSubscriptionsRequest.Builder<_B> withSubscriptionIds(final JAXBElement subscriptionIds) { + this.subscriptionIds = subscriptionIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "sendInitialValues" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param sendInitialValues + * Neuer Wert der Eigenschaft "sendInitialValues". + */ + public TransferSubscriptionsRequest.Builder<_B> withSendInitialValues(final Boolean sendInitialValues) { + this.sendInitialValues = sendInitialValues; + return this; + } + + @Override + public TransferSubscriptionsRequest build() { + if (_storedValue == null) { + return this.init(new TransferSubscriptionsRequest()); + } else { + return ((TransferSubscriptionsRequest) _storedValue); + } + } + + public TransferSubscriptionsRequest.Builder<_B> copyOf(final TransferSubscriptionsRequest _other) { + _other.copyTo(this); + return this; + } + + public TransferSubscriptionsRequest.Builder<_B> copyOf(final TransferSubscriptionsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TransferSubscriptionsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static TransferSubscriptionsRequest.Select _root() { + return new TransferSubscriptionsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> subscriptionIds = null; + private com.kscs.util.jaxb.Selector> sendInitialValues = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.subscriptionIds!= null) { + products.put("subscriptionIds", this.subscriptionIds.init()); + } + if (this.sendInitialValues!= null) { + products.put("sendInitialValues", this.sendInitialValues.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> subscriptionIds() { + return ((this.subscriptionIds == null)?this.subscriptionIds = new com.kscs.util.jaxb.Selector>(this._root, this, "subscriptionIds"):this.subscriptionIds); + } + + public com.kscs.util.jaxb.Selector> sendInitialValues() { + return ((this.sendInitialValues == null)?this.sendInitialValues = new com.kscs.util.jaxb.Selector>(this._root, this, "sendInitialValues"):this.sendInitialValues); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsResponse.java new file mode 100644 index 000000000..97c648389 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TransferSubscriptionsResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TransferSubscriptionsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TransferSubscriptionsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfTransferResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TransferSubscriptionsResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class TransferSubscriptionsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfTransferResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfTransferResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TransferSubscriptionsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >TransferSubscriptionsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TransferSubscriptionsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public TransferSubscriptionsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TransferSubscriptionsResponse.Builder builder() { + return new TransferSubscriptionsResponse.Builder(null, null, false); + } + + public static<_B >TransferSubscriptionsResponse.Builder<_B> copyOf(final TransferSubscriptionsResponse _other) { + final TransferSubscriptionsResponse.Builder<_B> _newBuilder = new TransferSubscriptionsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TransferSubscriptionsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >TransferSubscriptionsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TransferSubscriptionsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TransferSubscriptionsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TransferSubscriptionsResponse.Builder<_B> copyOf(final TransferSubscriptionsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TransferSubscriptionsResponse.Builder<_B> _newBuilder = new TransferSubscriptionsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TransferSubscriptionsResponse.Builder copyExcept(final TransferSubscriptionsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TransferSubscriptionsResponse.Builder copyOnly(final TransferSubscriptionsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TransferSubscriptionsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final TransferSubscriptionsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TransferSubscriptionsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TransferSubscriptionsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public TransferSubscriptionsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public TransferSubscriptionsResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public TransferSubscriptionsResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public TransferSubscriptionsResponse build() { + if (_storedValue == null) { + return this.init(new TransferSubscriptionsResponse()); + } else { + return ((TransferSubscriptionsResponse) _storedValue); + } + } + + public TransferSubscriptionsResponse.Builder<_B> copyOf(final TransferSubscriptionsResponse _other) { + _other.copyTo(this); + return this; + } + + public TransferSubscriptionsResponse.Builder<_B> copyOf(final TransferSubscriptionsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TransferSubscriptionsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static TransferSubscriptionsResponse.Select _root() { + return new TransferSubscriptionsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsRequest.java new file mode 100644 index 000000000..dc4148156 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TranslateBrowsePathsToNodeIdsRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TranslateBrowsePathsToNodeIdsRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="BrowsePaths" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfBrowsePath" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TranslateBrowsePathsToNodeIdsRequest", propOrder = { + "requestHeader", + "browsePaths" +}) +public class TranslateBrowsePathsToNodeIdsRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "BrowsePaths", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement browsePaths; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der browsePaths-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfBrowsePath }{@code >} + * + */ + public JAXBElement getBrowsePaths() { + return browsePaths; + } + + /** + * Legt den Wert der browsePaths-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfBrowsePath }{@code >} + * + */ + public void setBrowsePaths(JAXBElement value) { + this.browsePaths = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TranslateBrowsePathsToNodeIdsRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.browsePaths = this.browsePaths; + } + + public<_B >TranslateBrowsePathsToNodeIdsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TranslateBrowsePathsToNodeIdsRequest.Builder<_B>(_parentBuilder, this, true); + } + + public TranslateBrowsePathsToNodeIdsRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TranslateBrowsePathsToNodeIdsRequest.Builder builder() { + return new TranslateBrowsePathsToNodeIdsRequest.Builder(null, null, false); + } + + public static<_B >TranslateBrowsePathsToNodeIdsRequest.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsRequest _other) { + final TranslateBrowsePathsToNodeIdsRequest.Builder<_B> _newBuilder = new TranslateBrowsePathsToNodeIdsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TranslateBrowsePathsToNodeIdsRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree browsePathsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePaths")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathsPropertyTree!= null):((browsePathsPropertyTree == null)||(!browsePathsPropertyTree.isLeaf())))) { + _other.browsePaths = this.browsePaths; + } + } + + public<_B >TranslateBrowsePathsToNodeIdsRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TranslateBrowsePathsToNodeIdsRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TranslateBrowsePathsToNodeIdsRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TranslateBrowsePathsToNodeIdsRequest.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TranslateBrowsePathsToNodeIdsRequest.Builder<_B> _newBuilder = new TranslateBrowsePathsToNodeIdsRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TranslateBrowsePathsToNodeIdsRequest.Builder copyExcept(final TranslateBrowsePathsToNodeIdsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TranslateBrowsePathsToNodeIdsRequest.Builder copyOnly(final TranslateBrowsePathsToNodeIdsRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TranslateBrowsePathsToNodeIdsRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement browsePaths; + + public Builder(final _B _parentBuilder, final TranslateBrowsePathsToNodeIdsRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.browsePaths = _other.browsePaths; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TranslateBrowsePathsToNodeIdsRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree browsePathsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("browsePaths")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(browsePathsPropertyTree!= null):((browsePathsPropertyTree == null)||(!browsePathsPropertyTree.isLeaf())))) { + this.browsePaths = _other.browsePaths; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TranslateBrowsePathsToNodeIdsRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.browsePaths = this.browsePaths; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public TranslateBrowsePathsToNodeIdsRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browsePaths" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param browsePaths + * Neuer Wert der Eigenschaft "browsePaths". + */ + public TranslateBrowsePathsToNodeIdsRequest.Builder<_B> withBrowsePaths(final JAXBElement browsePaths) { + this.browsePaths = browsePaths; + return this; + } + + @Override + public TranslateBrowsePathsToNodeIdsRequest build() { + if (_storedValue == null) { + return this.init(new TranslateBrowsePathsToNodeIdsRequest()); + } else { + return ((TranslateBrowsePathsToNodeIdsRequest) _storedValue); + } + } + + public TranslateBrowsePathsToNodeIdsRequest.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsRequest _other) { + _other.copyTo(this); + return this; + } + + public TranslateBrowsePathsToNodeIdsRequest.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TranslateBrowsePathsToNodeIdsRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static TranslateBrowsePathsToNodeIdsRequest.Select _root() { + return new TranslateBrowsePathsToNodeIdsRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> browsePaths = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.browsePaths!= null) { + products.put("browsePaths", this.browsePaths.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> browsePaths() { + return ((this.browsePaths == null)?this.browsePaths = new com.kscs.util.jaxb.Selector>(this._root, this, "browsePaths"):this.browsePaths); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsResponse.java new file mode 100644 index 000000000..e868f625a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TranslateBrowsePathsToNodeIdsResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TranslateBrowsePathsToNodeIdsResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TranslateBrowsePathsToNodeIdsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfBrowsePathResult" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TranslateBrowsePathsToNodeIdsResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class TranslateBrowsePathsToNodeIdsResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfBrowsePathResult }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfBrowsePathResult }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TranslateBrowsePathsToNodeIdsResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >TranslateBrowsePathsToNodeIdsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TranslateBrowsePathsToNodeIdsResponse.Builder<_B>(_parentBuilder, this, true); + } + + public TranslateBrowsePathsToNodeIdsResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TranslateBrowsePathsToNodeIdsResponse.Builder builder() { + return new TranslateBrowsePathsToNodeIdsResponse.Builder(null, null, false); + } + + public static<_B >TranslateBrowsePathsToNodeIdsResponse.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsResponse _other) { + final TranslateBrowsePathsToNodeIdsResponse.Builder<_B> _newBuilder = new TranslateBrowsePathsToNodeIdsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TranslateBrowsePathsToNodeIdsResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >TranslateBrowsePathsToNodeIdsResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TranslateBrowsePathsToNodeIdsResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TranslateBrowsePathsToNodeIdsResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TranslateBrowsePathsToNodeIdsResponse.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TranslateBrowsePathsToNodeIdsResponse.Builder<_B> _newBuilder = new TranslateBrowsePathsToNodeIdsResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TranslateBrowsePathsToNodeIdsResponse.Builder copyExcept(final TranslateBrowsePathsToNodeIdsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TranslateBrowsePathsToNodeIdsResponse.Builder copyOnly(final TranslateBrowsePathsToNodeIdsResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TranslateBrowsePathsToNodeIdsResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final TranslateBrowsePathsToNodeIdsResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TranslateBrowsePathsToNodeIdsResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TranslateBrowsePathsToNodeIdsResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public TranslateBrowsePathsToNodeIdsResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public TranslateBrowsePathsToNodeIdsResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public TranslateBrowsePathsToNodeIdsResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public TranslateBrowsePathsToNodeIdsResponse build() { + if (_storedValue == null) { + return this.init(new TranslateBrowsePathsToNodeIdsResponse()); + } else { + return ((TranslateBrowsePathsToNodeIdsResponse) _storedValue); + } + } + + public TranslateBrowsePathsToNodeIdsResponse.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsResponse _other) { + _other.copyTo(this); + return this; + } + + public TranslateBrowsePathsToNodeIdsResponse.Builder<_B> copyOf(final TranslateBrowsePathsToNodeIdsResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TranslateBrowsePathsToNodeIdsResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static TranslateBrowsePathsToNodeIdsResponse.Select _root() { + return new TranslateBrowsePathsToNodeIdsResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListDataType.java new file mode 100644 index 000000000..4420115a9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListDataType.java @@ -0,0 +1,503 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TrustListDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TrustListDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SpecifiedLists" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="TrustedCertificates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfByteString" minOccurs="0"/>
+ *         <element name="TrustedCrls" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfByteString" minOccurs="0"/>
+ *         <element name="IssuerCertificates" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfByteString" minOccurs="0"/>
+ *         <element name="IssuerCrls" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfByteString" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TrustListDataType", propOrder = { + "specifiedLists", + "trustedCertificates", + "trustedCrls", + "issuerCertificates", + "issuerCrls" +}) +public class TrustListDataType { + + @XmlElement(name = "SpecifiedLists") + @XmlSchemaType(name = "unsignedInt") + protected Long specifiedLists; + @XmlElementRef(name = "TrustedCertificates", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement trustedCertificates; + @XmlElementRef(name = "TrustedCrls", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement trustedCrls; + @XmlElementRef(name = "IssuerCertificates", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement issuerCertificates; + @XmlElementRef(name = "IssuerCrls", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement issuerCrls; + + /** + * Ruft den Wert der specifiedLists-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getSpecifiedLists() { + return specifiedLists; + } + + /** + * Legt den Wert der specifiedLists-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setSpecifiedLists(Long value) { + this.specifiedLists = value; + } + + /** + * Ruft den Wert der trustedCertificates-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public JAXBElement getTrustedCertificates() { + return trustedCertificates; + } + + /** + * Legt den Wert der trustedCertificates-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public void setTrustedCertificates(JAXBElement value) { + this.trustedCertificates = value; + } + + /** + * Ruft den Wert der trustedCrls-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public JAXBElement getTrustedCrls() { + return trustedCrls; + } + + /** + * Legt den Wert der trustedCrls-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public void setTrustedCrls(JAXBElement value) { + this.trustedCrls = value; + } + + /** + * Ruft den Wert der issuerCertificates-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public JAXBElement getIssuerCertificates() { + return issuerCertificates; + } + + /** + * Legt den Wert der issuerCertificates-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public void setIssuerCertificates(JAXBElement value) { + this.issuerCertificates = value; + } + + /** + * Ruft den Wert der issuerCrls-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public JAXBElement getIssuerCrls() { + return issuerCrls; + } + + /** + * Legt den Wert der issuerCrls-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfByteString }{@code >} + * + */ + public void setIssuerCrls(JAXBElement value) { + this.issuerCrls = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TrustListDataType.Builder<_B> _other) { + _other.specifiedLists = this.specifiedLists; + _other.trustedCertificates = this.trustedCertificates; + _other.trustedCrls = this.trustedCrls; + _other.issuerCertificates = this.issuerCertificates; + _other.issuerCrls = this.issuerCrls; + } + + public<_B >TrustListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TrustListDataType.Builder<_B>(_parentBuilder, this, true); + } + + public TrustListDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TrustListDataType.Builder builder() { + return new TrustListDataType.Builder(null, null, false); + } + + public static<_B >TrustListDataType.Builder<_B> copyOf(final TrustListDataType _other) { + final TrustListDataType.Builder<_B> _newBuilder = new TrustListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TrustListDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree specifiedListsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("specifiedLists")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(specifiedListsPropertyTree!= null):((specifiedListsPropertyTree == null)||(!specifiedListsPropertyTree.isLeaf())))) { + _other.specifiedLists = this.specifiedLists; + } + final PropertyTree trustedCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trustedCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(trustedCertificatesPropertyTree!= null):((trustedCertificatesPropertyTree == null)||(!trustedCertificatesPropertyTree.isLeaf())))) { + _other.trustedCertificates = this.trustedCertificates; + } + final PropertyTree trustedCrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trustedCrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(trustedCrlsPropertyTree!= null):((trustedCrlsPropertyTree == null)||(!trustedCrlsPropertyTree.isLeaf())))) { + _other.trustedCrls = this.trustedCrls; + } + final PropertyTree issuerCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuerCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuerCertificatesPropertyTree!= null):((issuerCertificatesPropertyTree == null)||(!issuerCertificatesPropertyTree.isLeaf())))) { + _other.issuerCertificates = this.issuerCertificates; + } + final PropertyTree issuerCrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuerCrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuerCrlsPropertyTree!= null):((issuerCrlsPropertyTree == null)||(!issuerCrlsPropertyTree.isLeaf())))) { + _other.issuerCrls = this.issuerCrls; + } + } + + public<_B >TrustListDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TrustListDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public TrustListDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TrustListDataType.Builder<_B> copyOf(final TrustListDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TrustListDataType.Builder<_B> _newBuilder = new TrustListDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TrustListDataType.Builder copyExcept(final TrustListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TrustListDataType.Builder copyOnly(final TrustListDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final TrustListDataType _storedValue; + private Long specifiedLists; + private JAXBElement trustedCertificates; + private JAXBElement trustedCrls; + private JAXBElement issuerCertificates; + private JAXBElement issuerCrls; + + public Builder(final _B _parentBuilder, final TrustListDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.specifiedLists = _other.specifiedLists; + this.trustedCertificates = _other.trustedCertificates; + this.trustedCrls = _other.trustedCrls; + this.issuerCertificates = _other.issuerCertificates; + this.issuerCrls = _other.issuerCrls; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final TrustListDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree specifiedListsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("specifiedLists")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(specifiedListsPropertyTree!= null):((specifiedListsPropertyTree == null)||(!specifiedListsPropertyTree.isLeaf())))) { + this.specifiedLists = _other.specifiedLists; + } + final PropertyTree trustedCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trustedCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(trustedCertificatesPropertyTree!= null):((trustedCertificatesPropertyTree == null)||(!trustedCertificatesPropertyTree.isLeaf())))) { + this.trustedCertificates = _other.trustedCertificates; + } + final PropertyTree trustedCrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("trustedCrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(trustedCrlsPropertyTree!= null):((trustedCrlsPropertyTree == null)||(!trustedCrlsPropertyTree.isLeaf())))) { + this.trustedCrls = _other.trustedCrls; + } + final PropertyTree issuerCertificatesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuerCertificates")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuerCertificatesPropertyTree!= null):((issuerCertificatesPropertyTree == null)||(!issuerCertificatesPropertyTree.isLeaf())))) { + this.issuerCertificates = _other.issuerCertificates; + } + final PropertyTree issuerCrlsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuerCrls")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuerCrlsPropertyTree!= null):((issuerCrlsPropertyTree == null)||(!issuerCrlsPropertyTree.isLeaf())))) { + this.issuerCrls = _other.issuerCrls; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends TrustListDataType >_P init(final _P _product) { + _product.specifiedLists = this.specifiedLists; + _product.trustedCertificates = this.trustedCertificates; + _product.trustedCrls = this.trustedCrls; + _product.issuerCertificates = this.issuerCertificates; + _product.issuerCrls = this.issuerCrls; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedLists" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param specifiedLists + * Neuer Wert der Eigenschaft "specifiedLists". + */ + public TrustListDataType.Builder<_B> withSpecifiedLists(final Long specifiedLists) { + this.specifiedLists = specifiedLists; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "trustedCertificates" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param trustedCertificates + * Neuer Wert der Eigenschaft "trustedCertificates". + */ + public TrustListDataType.Builder<_B> withTrustedCertificates(final JAXBElement trustedCertificates) { + this.trustedCertificates = trustedCertificates; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "trustedCrls" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param trustedCrls + * Neuer Wert der Eigenschaft "trustedCrls". + */ + public TrustListDataType.Builder<_B> withTrustedCrls(final JAXBElement trustedCrls) { + this.trustedCrls = trustedCrls; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "issuerCertificates" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param issuerCertificates + * Neuer Wert der Eigenschaft "issuerCertificates". + */ + public TrustListDataType.Builder<_B> withIssuerCertificates(final JAXBElement issuerCertificates) { + this.issuerCertificates = issuerCertificates; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "issuerCrls" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param issuerCrls + * Neuer Wert der Eigenschaft "issuerCrls". + */ + public TrustListDataType.Builder<_B> withIssuerCrls(final JAXBElement issuerCrls) { + this.issuerCrls = issuerCrls; + return this; + } + + @Override + public TrustListDataType build() { + if (_storedValue == null) { + return this.init(new TrustListDataType()); + } else { + return ((TrustListDataType) _storedValue); + } + } + + public TrustListDataType.Builder<_B> copyOf(final TrustListDataType _other) { + _other.copyTo(this); + return this; + } + + public TrustListDataType.Builder<_B> copyOf(final TrustListDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TrustListDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static TrustListDataType.Select _root() { + return new TrustListDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> specifiedLists = null; + private com.kscs.util.jaxb.Selector> trustedCertificates = null; + private com.kscs.util.jaxb.Selector> trustedCrls = null; + private com.kscs.util.jaxb.Selector> issuerCertificates = null; + private com.kscs.util.jaxb.Selector> issuerCrls = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.specifiedLists!= null) { + products.put("specifiedLists", this.specifiedLists.init()); + } + if (this.trustedCertificates!= null) { + products.put("trustedCertificates", this.trustedCertificates.init()); + } + if (this.trustedCrls!= null) { + products.put("trustedCrls", this.trustedCrls.init()); + } + if (this.issuerCertificates!= null) { + products.put("issuerCertificates", this.issuerCertificates.init()); + } + if (this.issuerCrls!= null) { + products.put("issuerCrls", this.issuerCrls.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> specifiedLists() { + return ((this.specifiedLists == null)?this.specifiedLists = new com.kscs.util.jaxb.Selector>(this._root, this, "specifiedLists"):this.specifiedLists); + } + + public com.kscs.util.jaxb.Selector> trustedCertificates() { + return ((this.trustedCertificates == null)?this.trustedCertificates = new com.kscs.util.jaxb.Selector>(this._root, this, "trustedCertificates"):this.trustedCertificates); + } + + public com.kscs.util.jaxb.Selector> trustedCrls() { + return ((this.trustedCrls == null)?this.trustedCrls = new com.kscs.util.jaxb.Selector>(this._root, this, "trustedCrls"):this.trustedCrls); + } + + public com.kscs.util.jaxb.Selector> issuerCertificates() { + return ((this.issuerCertificates == null)?this.issuerCertificates = new com.kscs.util.jaxb.Selector>(this._root, this, "issuerCertificates"):this.issuerCertificates); + } + + public com.kscs.util.jaxb.Selector> issuerCrls() { + return ((this.issuerCrls == null)?this.issuerCrls = new com.kscs.util.jaxb.Selector>(this._root, this, "issuerCrls"):this.issuerCrls); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListMasks.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListMasks.java new file mode 100644 index 000000000..eac2196bb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TrustListMasks.java @@ -0,0 +1,70 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für TrustListMasks. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="TrustListMasks">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="None_0"/>
+ *     <enumeration value="TrustedCertificates_1"/>
+ *     <enumeration value="TrustedCrls_2"/>
+ *     <enumeration value="IssuerCertificates_4"/>
+ *     <enumeration value="IssuerCrls_8"/>
+ *     <enumeration value="All_15"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "TrustListMasks") +@XmlEnum +public enum TrustListMasks { + + @XmlEnumValue("None_0") + NONE_0("None_0"), + @XmlEnumValue("TrustedCertificates_1") + TRUSTED_CERTIFICATES_1("TrustedCertificates_1"), + @XmlEnumValue("TrustedCrls_2") + TRUSTED_CRLS_2("TrustedCrls_2"), + @XmlEnumValue("IssuerCertificates_4") + ISSUER_CERTIFICATES_4("IssuerCertificates_4"), + @XmlEnumValue("IssuerCrls_8") + ISSUER_CRLS_8("IssuerCrls_8"), + @XmlEnumValue("All_15") + ALL_15("All_15"); + private final String value; + + TrustListMasks(String v) { + value = v; + } + + public String value() { + return value; + } + + public static TrustListMasks fromValue(String v) { + for (TrustListMasks c: TrustListMasks.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TypeNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TypeNode.java new file mode 100644 index 000000000..95686b709 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/TypeNode.java @@ -0,0 +1,358 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für TypeNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TypeNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}Node">
+ *       <sequence>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TypeNode") +@XmlSeeAlso({ + ObjectTypeNode.class, + VariableTypeNode.class, + ReferenceTypeNode.class, + DataTypeNode.class +}) +public class TypeNode + extends Node +{ + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TypeNode.Builder<_B> _other) { + super.copyTo(_other); + } + + @Override + public<_B >TypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new TypeNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public TypeNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static TypeNode.Builder builder() { + return new TypeNode.Builder(null, null, false); + } + + public static<_B >TypeNode.Builder<_B> copyOf(final Node _other) { + final TypeNode.Builder<_B> _newBuilder = new TypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >TypeNode.Builder<_B> copyOf(final TypeNode _other) { + final TypeNode.Builder<_B> _newBuilder = new TypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final TypeNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + } + + @Override + public<_B >TypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new TypeNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public TypeNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >TypeNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TypeNode.Builder<_B> _newBuilder = new TypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >TypeNode.Builder<_B> copyOf(final TypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final TypeNode.Builder<_B> _newBuilder = new TypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static TypeNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TypeNode.Builder copyExcept(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static TypeNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static TypeNode.Builder copyOnly(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends Node.Builder<_B> + implements Buildable + { + + + public Builder(final _B _parentBuilder, final TypeNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + } + } + + public Builder(final _B _parentBuilder, final TypeNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + } + } + + protected<_P extends TypeNode >_P init(final _P _product) { + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public TypeNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public TypeNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public TypeNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public TypeNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public TypeNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public TypeNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public TypeNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public TypeNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public TypeNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public TypeNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public TypeNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public TypeNode build() { + if (_storedValue == null) { + return this.init(new TypeNode()); + } else { + return ((TypeNode) _storedValue); + } + } + + public TypeNode.Builder<_B> copyOf(final TypeNode _other) { + _other.copyTo(this); + return this; + } + + public TypeNode.Builder<_B> copyOf(final TypeNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends TypeNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static TypeNode.Select _root() { + return new TypeNode.Select(); + } + + } + + public static class Selector , TParent > + extends Node.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UABinaryFileDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UABinaryFileDataType.java new file mode 100644 index 000000000..a0bf8548b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UABinaryFileDataType.java @@ -0,0 +1,461 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UABinaryFileDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UABinaryFileDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataTypeSchemaHeader">
+ *       <sequence>
+ *         <element name="SchemaLocation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="FileHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfKeyValuePair" minOccurs="0"/>
+ *         <element name="Body" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UABinaryFileDataType", propOrder = { + "schemaLocation", + "fileHeader", + "body" +}) +public class UABinaryFileDataType + extends DataTypeSchemaHeader +{ + + @XmlElementRef(name = "SchemaLocation", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement schemaLocation; + @XmlElementRef(name = "FileHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement fileHeader; + @XmlElement(name = "Body") + protected Variant body; + + /** + * Ruft den Wert der schemaLocation-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSchemaLocation() { + return schemaLocation; + } + + /** + * Legt den Wert der schemaLocation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSchemaLocation(JAXBElement value) { + this.schemaLocation = value; + } + + /** + * Ruft den Wert der fileHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public JAXBElement getFileHeader() { + return fileHeader; + } + + /** + * Legt den Wert der fileHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfKeyValuePair }{@code >} + * + */ + public void setFileHeader(JAXBElement value) { + this.fileHeader = value; + } + + /** + * Ruft den Wert der body-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getBody() { + return body; + } + + /** + * Legt den Wert der body-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setBody(Variant value) { + this.body = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UABinaryFileDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.schemaLocation = this.schemaLocation; + _other.fileHeader = this.fileHeader; + _other.body = ((this.body == null)?null:this.body.newCopyBuilder(_other)); + } + + @Override + public<_B >UABinaryFileDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UABinaryFileDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UABinaryFileDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UABinaryFileDataType.Builder builder() { + return new UABinaryFileDataType.Builder(null, null, false); + } + + public static<_B >UABinaryFileDataType.Builder<_B> copyOf(final DataTypeSchemaHeader _other) { + final UABinaryFileDataType.Builder<_B> _newBuilder = new UABinaryFileDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UABinaryFileDataType.Builder<_B> copyOf(final UABinaryFileDataType _other) { + final UABinaryFileDataType.Builder<_B> _newBuilder = new UABinaryFileDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UABinaryFileDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree schemaLocationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("schemaLocation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(schemaLocationPropertyTree!= null):((schemaLocationPropertyTree == null)||(!schemaLocationPropertyTree.isLeaf())))) { + _other.schemaLocation = this.schemaLocation; + } + final PropertyTree fileHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fileHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fileHeaderPropertyTree!= null):((fileHeaderPropertyTree == null)||(!fileHeaderPropertyTree.isLeaf())))) { + _other.fileHeader = this.fileHeader; + } + final PropertyTree bodyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("body")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(bodyPropertyTree!= null):((bodyPropertyTree == null)||(!bodyPropertyTree.isLeaf())))) { + _other.body = ((this.body == null)?null:this.body.newCopyBuilder(_other, bodyPropertyTree, _propertyTreeUse)); + } + } + + @Override + public<_B >UABinaryFileDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UABinaryFileDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UABinaryFileDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UABinaryFileDataType.Builder<_B> copyOf(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UABinaryFileDataType.Builder<_B> _newBuilder = new UABinaryFileDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UABinaryFileDataType.Builder<_B> copyOf(final UABinaryFileDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UABinaryFileDataType.Builder<_B> _newBuilder = new UABinaryFileDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UABinaryFileDataType.Builder copyExcept(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UABinaryFileDataType.Builder copyExcept(final UABinaryFileDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UABinaryFileDataType.Builder copyOnly(final DataTypeSchemaHeader _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UABinaryFileDataType.Builder copyOnly(final UABinaryFileDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataTypeSchemaHeader.Builder<_B> + implements Buildable + { + + private JAXBElement schemaLocation; + private JAXBElement fileHeader; + private Variant.Builder> body; + + public Builder(final _B _parentBuilder, final UABinaryFileDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.schemaLocation = _other.schemaLocation; + this.fileHeader = _other.fileHeader; + this.body = ((_other.body == null)?null:_other.body.newCopyBuilder(this)); + } + } + + public Builder(final _B _parentBuilder, final UABinaryFileDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree schemaLocationPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("schemaLocation")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(schemaLocationPropertyTree!= null):((schemaLocationPropertyTree == null)||(!schemaLocationPropertyTree.isLeaf())))) { + this.schemaLocation = _other.schemaLocation; + } + final PropertyTree fileHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("fileHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(fileHeaderPropertyTree!= null):((fileHeaderPropertyTree == null)||(!fileHeaderPropertyTree.isLeaf())))) { + this.fileHeader = _other.fileHeader; + } + final PropertyTree bodyPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("body")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(bodyPropertyTree!= null):((bodyPropertyTree == null)||(!bodyPropertyTree.isLeaf())))) { + this.body = ((_other.body == null)?null:_other.body.newCopyBuilder(this, bodyPropertyTree, _propertyTreeUse)); + } + } + } + + protected<_P extends UABinaryFileDataType >_P init(final _P _product) { + _product.schemaLocation = this.schemaLocation; + _product.fileHeader = this.fileHeader; + _product.body = ((this.body == null)?null:this.body.build()); + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "schemaLocation" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param schemaLocation + * Neuer Wert der Eigenschaft "schemaLocation". + */ + public UABinaryFileDataType.Builder<_B> withSchemaLocation(final JAXBElement schemaLocation) { + this.schemaLocation = schemaLocation; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "fileHeader" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param fileHeader + * Neuer Wert der Eigenschaft "fileHeader". + */ + public UABinaryFileDataType.Builder<_B> withFileHeader(final JAXBElement fileHeader) { + this.fileHeader = fileHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "body" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param body + * Neuer Wert der Eigenschaft "body". + */ + public UABinaryFileDataType.Builder<_B> withBody(final Variant body) { + this.body = ((body == null)?null:new Variant.Builder>(this, body, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "body". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "body". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withBody() { + if (this.body!= null) { + return this.body; + } + return this.body = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "namespaces" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param namespaces + * Neuer Wert der Eigenschaft "namespaces". + */ + @Override + public UABinaryFileDataType.Builder<_B> withNamespaces(final JAXBElement namespaces) { + super.withNamespaces(namespaces); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "structureDataTypes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param structureDataTypes + * Neuer Wert der Eigenschaft "structureDataTypes". + */ + @Override + public UABinaryFileDataType.Builder<_B> withStructureDataTypes(final JAXBElement structureDataTypes) { + super.withStructureDataTypes(structureDataTypes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enumDataTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param enumDataTypes + * Neuer Wert der Eigenschaft "enumDataTypes". + */ + @Override + public UABinaryFileDataType.Builder<_B> withEnumDataTypes(final JAXBElement enumDataTypes) { + super.withEnumDataTypes(enumDataTypes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "simpleDataTypes" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param simpleDataTypes + * Neuer Wert der Eigenschaft "simpleDataTypes". + */ + @Override + public UABinaryFileDataType.Builder<_B> withSimpleDataTypes(final JAXBElement simpleDataTypes) { + super.withSimpleDataTypes(simpleDataTypes); + return this; + } + + @Override + public UABinaryFileDataType build() { + if (_storedValue == null) { + return this.init(new UABinaryFileDataType()); + } else { + return ((UABinaryFileDataType) _storedValue); + } + } + + public UABinaryFileDataType.Builder<_B> copyOf(final UABinaryFileDataType _other) { + _other.copyTo(this); + return this; + } + + public UABinaryFileDataType.Builder<_B> copyOf(final UABinaryFileDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UABinaryFileDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static UABinaryFileDataType.Select _root() { + return new UABinaryFileDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataTypeSchemaHeader.Selector + { + + private com.kscs.util.jaxb.Selector> schemaLocation = null; + private com.kscs.util.jaxb.Selector> fileHeader = null; + private Variant.Selector> body = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.schemaLocation!= null) { + products.put("schemaLocation", this.schemaLocation.init()); + } + if (this.fileHeader!= null) { + products.put("fileHeader", this.fileHeader.init()); + } + if (this.body!= null) { + products.put("body", this.body.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> schemaLocation() { + return ((this.schemaLocation == null)?this.schemaLocation = new com.kscs.util.jaxb.Selector>(this._root, this, "schemaLocation"):this.schemaLocation); + } + + public com.kscs.util.jaxb.Selector> fileHeader() { + return ((this.fileHeader == null)?this.fileHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "fileHeader"):this.fileHeader); + } + + public Variant.Selector> body() { + return ((this.body == null)?this.body = new Variant.Selector>(this._root, this, "body"):this.body); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetReaderMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetReaderMessageDataType.java new file mode 100644 index 000000000..39696f626 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetReaderMessageDataType.java @@ -0,0 +1,774 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UadpDataSetReaderMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UadpDataSetReaderMessageDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetReaderMessageDataType">
+ *       <sequence>
+ *         <element name="GroupVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="NetworkMessageNumber" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="DataSetOffset" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="DataSetClassId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Guid" minOccurs="0"/>
+ *         <element name="NetworkMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpNetworkMessageContentMask" minOccurs="0"/>
+ *         <element name="DataSetMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpDataSetMessageContentMask" minOccurs="0"/>
+ *         <element name="PublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="ReceiveOffset" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="ProcessingOffset" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UadpDataSetReaderMessageDataType", propOrder = { + "groupVersion", + "networkMessageNumber", + "dataSetOffset", + "dataSetClassId", + "networkMessageContentMask", + "dataSetMessageContentMask", + "publishingInterval", + "receiveOffset", + "processingOffset" +}) +public class UadpDataSetReaderMessageDataType + extends DataSetReaderMessageDataType +{ + + @XmlElement(name = "GroupVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long groupVersion; + @XmlElement(name = "NetworkMessageNumber") + @XmlSchemaType(name = "unsignedShort") + protected Integer networkMessageNumber; + @XmlElement(name = "DataSetOffset") + @XmlSchemaType(name = "unsignedShort") + protected Integer dataSetOffset; + @XmlElement(name = "DataSetClassId") + protected Guid dataSetClassId; + @XmlElement(name = "NetworkMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long networkMessageContentMask; + @XmlElement(name = "DataSetMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long dataSetMessageContentMask; + @XmlElement(name = "PublishingInterval") + protected Double publishingInterval; + @XmlElement(name = "ReceiveOffset") + protected Double receiveOffset; + @XmlElement(name = "ProcessingOffset") + protected Double processingOffset; + + /** + * Ruft den Wert der groupVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getGroupVersion() { + return groupVersion; + } + + /** + * Legt den Wert der groupVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setGroupVersion(Long value) { + this.groupVersion = value; + } + + /** + * Ruft den Wert der networkMessageNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getNetworkMessageNumber() { + return networkMessageNumber; + } + + /** + * Legt den Wert der networkMessageNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setNetworkMessageNumber(Integer value) { + this.networkMessageNumber = value; + } + + /** + * Ruft den Wert der dataSetOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getDataSetOffset() { + return dataSetOffset; + } + + /** + * Legt den Wert der dataSetOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setDataSetOffset(Integer value) { + this.dataSetOffset = value; + } + + /** + * Ruft den Wert der dataSetClassId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Guid } + * + */ + public Guid getDataSetClassId() { + return dataSetClassId; + } + + /** + * Legt den Wert der dataSetClassId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Guid } + * + */ + public void setDataSetClassId(Guid value) { + this.dataSetClassId = value; + } + + /** + * Ruft den Wert der networkMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNetworkMessageContentMask() { + return networkMessageContentMask; + } + + /** + * Legt den Wert der networkMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNetworkMessageContentMask(Long value) { + this.networkMessageContentMask = value; + } + + /** + * Ruft den Wert der dataSetMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataSetMessageContentMask() { + return dataSetMessageContentMask; + } + + /** + * Legt den Wert der dataSetMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataSetMessageContentMask(Long value) { + this.dataSetMessageContentMask = value; + } + + /** + * Ruft den Wert der publishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getPublishingInterval() { + return publishingInterval; + } + + /** + * Legt den Wert der publishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setPublishingInterval(Double value) { + this.publishingInterval = value; + } + + /** + * Ruft den Wert der receiveOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getReceiveOffset() { + return receiveOffset; + } + + /** + * Legt den Wert der receiveOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setReceiveOffset(Double value) { + this.receiveOffset = value; + } + + /** + * Ruft den Wert der processingOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getProcessingOffset() { + return processingOffset; + } + + /** + * Legt den Wert der processingOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setProcessingOffset(Double value) { + this.processingOffset = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UadpDataSetReaderMessageDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.groupVersion = this.groupVersion; + _other.networkMessageNumber = this.networkMessageNumber; + _other.dataSetOffset = this.dataSetOffset; + _other.dataSetClassId = ((this.dataSetClassId == null)?null:this.dataSetClassId.newCopyBuilder(_other)); + _other.networkMessageContentMask = this.networkMessageContentMask; + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + _other.publishingInterval = this.publishingInterval; + _other.receiveOffset = this.receiveOffset; + _other.processingOffset = this.processingOffset; + } + + @Override + public<_B >UadpDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UadpDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UadpDataSetReaderMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UadpDataSetReaderMessageDataType.Builder builder() { + return new UadpDataSetReaderMessageDataType.Builder(null, null, false); + } + + public static<_B >UadpDataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other) { + final UadpDataSetReaderMessageDataType.Builder<_B> _newBuilder = new UadpDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UadpDataSetReaderMessageDataType.Builder<_B> copyOf(final UadpDataSetReaderMessageDataType _other) { + final UadpDataSetReaderMessageDataType.Builder<_B> _newBuilder = new UadpDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UadpDataSetReaderMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree groupVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("groupVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(groupVersionPropertyTree!= null):((groupVersionPropertyTree == null)||(!groupVersionPropertyTree.isLeaf())))) { + _other.groupVersion = this.groupVersion; + } + final PropertyTree networkMessageNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageNumberPropertyTree!= null):((networkMessageNumberPropertyTree == null)||(!networkMessageNumberPropertyTree.isLeaf())))) { + _other.networkMessageNumber = this.networkMessageNumber; + } + final PropertyTree dataSetOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOffsetPropertyTree!= null):((dataSetOffsetPropertyTree == null)||(!dataSetOffsetPropertyTree.isLeaf())))) { + _other.dataSetOffset = this.dataSetOffset; + } + final PropertyTree dataSetClassIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetClassId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetClassIdPropertyTree!= null):((dataSetClassIdPropertyTree == null)||(!dataSetClassIdPropertyTree.isLeaf())))) { + _other.dataSetClassId = ((this.dataSetClassId == null)?null:this.dataSetClassId.newCopyBuilder(_other, dataSetClassIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + _other.networkMessageContentMask = this.networkMessageContentMask; + } + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + } + final PropertyTree publishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalPropertyTree!= null):((publishingIntervalPropertyTree == null)||(!publishingIntervalPropertyTree.isLeaf())))) { + _other.publishingInterval = this.publishingInterval; + } + final PropertyTree receiveOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("receiveOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(receiveOffsetPropertyTree!= null):((receiveOffsetPropertyTree == null)||(!receiveOffsetPropertyTree.isLeaf())))) { + _other.receiveOffset = this.receiveOffset; + } + final PropertyTree processingOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("processingOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(processingOffsetPropertyTree!= null):((processingOffsetPropertyTree == null)||(!processingOffsetPropertyTree.isLeaf())))) { + _other.processingOffset = this.processingOffset; + } + } + + @Override + public<_B >UadpDataSetReaderMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UadpDataSetReaderMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UadpDataSetReaderMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UadpDataSetReaderMessageDataType.Builder<_B> copyOf(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UadpDataSetReaderMessageDataType.Builder<_B> _newBuilder = new UadpDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UadpDataSetReaderMessageDataType.Builder<_B> copyOf(final UadpDataSetReaderMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UadpDataSetReaderMessageDataType.Builder<_B> _newBuilder = new UadpDataSetReaderMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UadpDataSetReaderMessageDataType.Builder copyExcept(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UadpDataSetReaderMessageDataType.Builder copyExcept(final UadpDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UadpDataSetReaderMessageDataType.Builder copyOnly(final DataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UadpDataSetReaderMessageDataType.Builder copyOnly(final UadpDataSetReaderMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataSetReaderMessageDataType.Builder<_B> + implements Buildable + { + + private Long groupVersion; + private Integer networkMessageNumber; + private Integer dataSetOffset; + private Guid.Builder> dataSetClassId; + private Long networkMessageContentMask; + private Long dataSetMessageContentMask; + private Double publishingInterval; + private Double receiveOffset; + private Double processingOffset; + + public Builder(final _B _parentBuilder, final UadpDataSetReaderMessageDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.groupVersion = _other.groupVersion; + this.networkMessageNumber = _other.networkMessageNumber; + this.dataSetOffset = _other.dataSetOffset; + this.dataSetClassId = ((_other.dataSetClassId == null)?null:_other.dataSetClassId.newCopyBuilder(this)); + this.networkMessageContentMask = _other.networkMessageContentMask; + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + this.publishingInterval = _other.publishingInterval; + this.receiveOffset = _other.receiveOffset; + this.processingOffset = _other.processingOffset; + } + } + + public Builder(final _B _parentBuilder, final UadpDataSetReaderMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree groupVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("groupVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(groupVersionPropertyTree!= null):((groupVersionPropertyTree == null)||(!groupVersionPropertyTree.isLeaf())))) { + this.groupVersion = _other.groupVersion; + } + final PropertyTree networkMessageNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageNumberPropertyTree!= null):((networkMessageNumberPropertyTree == null)||(!networkMessageNumberPropertyTree.isLeaf())))) { + this.networkMessageNumber = _other.networkMessageNumber; + } + final PropertyTree dataSetOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOffsetPropertyTree!= null):((dataSetOffsetPropertyTree == null)||(!dataSetOffsetPropertyTree.isLeaf())))) { + this.dataSetOffset = _other.dataSetOffset; + } + final PropertyTree dataSetClassIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetClassId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetClassIdPropertyTree!= null):((dataSetClassIdPropertyTree == null)||(!dataSetClassIdPropertyTree.isLeaf())))) { + this.dataSetClassId = ((_other.dataSetClassId == null)?null:_other.dataSetClassId.newCopyBuilder(this, dataSetClassIdPropertyTree, _propertyTreeUse)); + } + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + this.networkMessageContentMask = _other.networkMessageContentMask; + } + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + } + final PropertyTree publishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalPropertyTree!= null):((publishingIntervalPropertyTree == null)||(!publishingIntervalPropertyTree.isLeaf())))) { + this.publishingInterval = _other.publishingInterval; + } + final PropertyTree receiveOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("receiveOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(receiveOffsetPropertyTree!= null):((receiveOffsetPropertyTree == null)||(!receiveOffsetPropertyTree.isLeaf())))) { + this.receiveOffset = _other.receiveOffset; + } + final PropertyTree processingOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("processingOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(processingOffsetPropertyTree!= null):((processingOffsetPropertyTree == null)||(!processingOffsetPropertyTree.isLeaf())))) { + this.processingOffset = _other.processingOffset; + } + } + } + + protected<_P extends UadpDataSetReaderMessageDataType >_P init(final _P _product) { + _product.groupVersion = this.groupVersion; + _product.networkMessageNumber = this.networkMessageNumber; + _product.dataSetOffset = this.dataSetOffset; + _product.dataSetClassId = ((this.dataSetClassId == null)?null:this.dataSetClassId.build()); + _product.networkMessageContentMask = this.networkMessageContentMask; + _product.dataSetMessageContentMask = this.dataSetMessageContentMask; + _product.publishingInterval = this.publishingInterval; + _product.receiveOffset = this.receiveOffset; + _product.processingOffset = this.processingOffset; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "groupVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param groupVersion + * Neuer Wert der Eigenschaft "groupVersion". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withGroupVersion(final Long groupVersion) { + this.groupVersion = groupVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkMessageNumber" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param networkMessageNumber + * Neuer Wert der Eigenschaft "networkMessageNumber". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withNetworkMessageNumber(final Integer networkMessageNumber) { + this.networkMessageNumber = networkMessageNumber; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetOffset" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetOffset + * Neuer Wert der Eigenschaft "dataSetOffset". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withDataSetOffset(final Integer dataSetOffset) { + this.dataSetOffset = dataSetOffset; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetClassId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetClassId + * Neuer Wert der Eigenschaft "dataSetClassId". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withDataSetClassId(final Guid dataSetClassId) { + this.dataSetClassId = ((dataSetClassId == null)?null:new Guid.Builder>(this, dataSetClassId, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "dataSetClassId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft + * "dataSetClassId". + * Mit {@link org.opcfoundation.ua._2008._02.types.Guid.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Guid.Builder> withDataSetClassId() { + if (this.dataSetClassId!= null) { + return this.dataSetClassId; + } + return this.dataSetClassId = new Guid.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkMessageContentMask + * Neuer Wert der Eigenschaft "networkMessageContentMask". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withNetworkMessageContentMask(final Long networkMessageContentMask) { + this.networkMessageContentMask = networkMessageContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetMessageContentMask + * Neuer Wert der Eigenschaft "dataSetMessageContentMask". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withDataSetMessageContentMask(final Long dataSetMessageContentMask) { + this.dataSetMessageContentMask = dataSetMessageContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingInterval + * Neuer Wert der Eigenschaft "publishingInterval". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withPublishingInterval(final Double publishingInterval) { + this.publishingInterval = publishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "receiveOffset" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param receiveOffset + * Neuer Wert der Eigenschaft "receiveOffset". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withReceiveOffset(final Double receiveOffset) { + this.receiveOffset = receiveOffset; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "processingOffset" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param processingOffset + * Neuer Wert der Eigenschaft "processingOffset". + */ + public UadpDataSetReaderMessageDataType.Builder<_B> withProcessingOffset(final Double processingOffset) { + this.processingOffset = processingOffset; + return this; + } + + @Override + public UadpDataSetReaderMessageDataType build() { + if (_storedValue == null) { + return this.init(new UadpDataSetReaderMessageDataType()); + } else { + return ((UadpDataSetReaderMessageDataType) _storedValue); + } + } + + public UadpDataSetReaderMessageDataType.Builder<_B> copyOf(final UadpDataSetReaderMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public UadpDataSetReaderMessageDataType.Builder<_B> copyOf(final UadpDataSetReaderMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UadpDataSetReaderMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static UadpDataSetReaderMessageDataType.Select _root() { + return new UadpDataSetReaderMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataSetReaderMessageDataType.Selector + { + + private com.kscs.util.jaxb.Selector> groupVersion = null; + private com.kscs.util.jaxb.Selector> networkMessageNumber = null; + private com.kscs.util.jaxb.Selector> dataSetOffset = null; + private Guid.Selector> dataSetClassId = null; + private com.kscs.util.jaxb.Selector> networkMessageContentMask = null; + private com.kscs.util.jaxb.Selector> dataSetMessageContentMask = null; + private com.kscs.util.jaxb.Selector> publishingInterval = null; + private com.kscs.util.jaxb.Selector> receiveOffset = null; + private com.kscs.util.jaxb.Selector> processingOffset = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.groupVersion!= null) { + products.put("groupVersion", this.groupVersion.init()); + } + if (this.networkMessageNumber!= null) { + products.put("networkMessageNumber", this.networkMessageNumber.init()); + } + if (this.dataSetOffset!= null) { + products.put("dataSetOffset", this.dataSetOffset.init()); + } + if (this.dataSetClassId!= null) { + products.put("dataSetClassId", this.dataSetClassId.init()); + } + if (this.networkMessageContentMask!= null) { + products.put("networkMessageContentMask", this.networkMessageContentMask.init()); + } + if (this.dataSetMessageContentMask!= null) { + products.put("dataSetMessageContentMask", this.dataSetMessageContentMask.init()); + } + if (this.publishingInterval!= null) { + products.put("publishingInterval", this.publishingInterval.init()); + } + if (this.receiveOffset!= null) { + products.put("receiveOffset", this.receiveOffset.init()); + } + if (this.processingOffset!= null) { + products.put("processingOffset", this.processingOffset.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> groupVersion() { + return ((this.groupVersion == null)?this.groupVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "groupVersion"):this.groupVersion); + } + + public com.kscs.util.jaxb.Selector> networkMessageNumber() { + return ((this.networkMessageNumber == null)?this.networkMessageNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "networkMessageNumber"):this.networkMessageNumber); + } + + public com.kscs.util.jaxb.Selector> dataSetOffset() { + return ((this.dataSetOffset == null)?this.dataSetOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetOffset"):this.dataSetOffset); + } + + public Guid.Selector> dataSetClassId() { + return ((this.dataSetClassId == null)?this.dataSetClassId = new Guid.Selector>(this._root, this, "dataSetClassId"):this.dataSetClassId); + } + + public com.kscs.util.jaxb.Selector> networkMessageContentMask() { + return ((this.networkMessageContentMask == null)?this.networkMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "networkMessageContentMask"):this.networkMessageContentMask); + } + + public com.kscs.util.jaxb.Selector> dataSetMessageContentMask() { + return ((this.dataSetMessageContentMask == null)?this.dataSetMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetMessageContentMask"):this.dataSetMessageContentMask); + } + + public com.kscs.util.jaxb.Selector> publishingInterval() { + return ((this.publishingInterval == null)?this.publishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingInterval"):this.publishingInterval); + } + + public com.kscs.util.jaxb.Selector> receiveOffset() { + return ((this.receiveOffset == null)?this.receiveOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "receiveOffset"):this.receiveOffset); + } + + public com.kscs.util.jaxb.Selector> processingOffset() { + return ((this.processingOffset == null)?this.processingOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "processingOffset"):this.processingOffset); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetWriterMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetWriterMessageDataType.java new file mode 100644 index 000000000..76baa7dd5 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpDataSetWriterMessageDataType.java @@ -0,0 +1,454 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UadpDataSetWriterMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UadpDataSetWriterMessageDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetWriterMessageDataType">
+ *       <sequence>
+ *         <element name="DataSetMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpDataSetMessageContentMask" minOccurs="0"/>
+ *         <element name="ConfiguredSize" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="NetworkMessageNumber" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="DataSetOffset" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UadpDataSetWriterMessageDataType", propOrder = { + "dataSetMessageContentMask", + "configuredSize", + "networkMessageNumber", + "dataSetOffset" +}) +public class UadpDataSetWriterMessageDataType + extends DataSetWriterMessageDataType +{ + + @XmlElement(name = "DataSetMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long dataSetMessageContentMask; + @XmlElement(name = "ConfiguredSize") + @XmlSchemaType(name = "unsignedShort") + protected Integer configuredSize; + @XmlElement(name = "NetworkMessageNumber") + @XmlSchemaType(name = "unsignedShort") + protected Integer networkMessageNumber; + @XmlElement(name = "DataSetOffset") + @XmlSchemaType(name = "unsignedShort") + protected Integer dataSetOffset; + + /** + * Ruft den Wert der dataSetMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getDataSetMessageContentMask() { + return dataSetMessageContentMask; + } + + /** + * Legt den Wert der dataSetMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setDataSetMessageContentMask(Long value) { + this.dataSetMessageContentMask = value; + } + + /** + * Ruft den Wert der configuredSize-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getConfiguredSize() { + return configuredSize; + } + + /** + * Legt den Wert der configuredSize-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setConfiguredSize(Integer value) { + this.configuredSize = value; + } + + /** + * Ruft den Wert der networkMessageNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getNetworkMessageNumber() { + return networkMessageNumber; + } + + /** + * Legt den Wert der networkMessageNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setNetworkMessageNumber(Integer value) { + this.networkMessageNumber = value; + } + + /** + * Ruft den Wert der dataSetOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getDataSetOffset() { + return dataSetOffset; + } + + /** + * Legt den Wert der dataSetOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setDataSetOffset(Integer value) { + this.dataSetOffset = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UadpDataSetWriterMessageDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + _other.configuredSize = this.configuredSize; + _other.networkMessageNumber = this.networkMessageNumber; + _other.dataSetOffset = this.dataSetOffset; + } + + @Override + public<_B >UadpDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UadpDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UadpDataSetWriterMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UadpDataSetWriterMessageDataType.Builder builder() { + return new UadpDataSetWriterMessageDataType.Builder(null, null, false); + } + + public static<_B >UadpDataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other) { + final UadpDataSetWriterMessageDataType.Builder<_B> _newBuilder = new UadpDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UadpDataSetWriterMessageDataType.Builder<_B> copyOf(final UadpDataSetWriterMessageDataType _other) { + final UadpDataSetWriterMessageDataType.Builder<_B> _newBuilder = new UadpDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UadpDataSetWriterMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + _other.dataSetMessageContentMask = this.dataSetMessageContentMask; + } + final PropertyTree configuredSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configuredSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configuredSizePropertyTree!= null):((configuredSizePropertyTree == null)||(!configuredSizePropertyTree.isLeaf())))) { + _other.configuredSize = this.configuredSize; + } + final PropertyTree networkMessageNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageNumberPropertyTree!= null):((networkMessageNumberPropertyTree == null)||(!networkMessageNumberPropertyTree.isLeaf())))) { + _other.networkMessageNumber = this.networkMessageNumber; + } + final PropertyTree dataSetOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOffsetPropertyTree!= null):((dataSetOffsetPropertyTree == null)||(!dataSetOffsetPropertyTree.isLeaf())))) { + _other.dataSetOffset = this.dataSetOffset; + } + } + + @Override + public<_B >UadpDataSetWriterMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UadpDataSetWriterMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UadpDataSetWriterMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UadpDataSetWriterMessageDataType.Builder<_B> copyOf(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UadpDataSetWriterMessageDataType.Builder<_B> _newBuilder = new UadpDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UadpDataSetWriterMessageDataType.Builder<_B> copyOf(final UadpDataSetWriterMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UadpDataSetWriterMessageDataType.Builder<_B> _newBuilder = new UadpDataSetWriterMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UadpDataSetWriterMessageDataType.Builder copyExcept(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UadpDataSetWriterMessageDataType.Builder copyExcept(final UadpDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UadpDataSetWriterMessageDataType.Builder copyOnly(final DataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UadpDataSetWriterMessageDataType.Builder copyOnly(final UadpDataSetWriterMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends DataSetWriterMessageDataType.Builder<_B> + implements Buildable + { + + private Long dataSetMessageContentMask; + private Integer configuredSize; + private Integer networkMessageNumber; + private Integer dataSetOffset; + + public Builder(final _B _parentBuilder, final UadpDataSetWriterMessageDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + this.configuredSize = _other.configuredSize; + this.networkMessageNumber = _other.networkMessageNumber; + this.dataSetOffset = _other.dataSetOffset; + } + } + + public Builder(final _B _parentBuilder, final UadpDataSetWriterMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree dataSetMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetMessageContentMaskPropertyTree!= null):((dataSetMessageContentMaskPropertyTree == null)||(!dataSetMessageContentMaskPropertyTree.isLeaf())))) { + this.dataSetMessageContentMask = _other.dataSetMessageContentMask; + } + final PropertyTree configuredSizePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("configuredSize")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(configuredSizePropertyTree!= null):((configuredSizePropertyTree == null)||(!configuredSizePropertyTree.isLeaf())))) { + this.configuredSize = _other.configuredSize; + } + final PropertyTree networkMessageNumberPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageNumber")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageNumberPropertyTree!= null):((networkMessageNumberPropertyTree == null)||(!networkMessageNumberPropertyTree.isLeaf())))) { + this.networkMessageNumber = _other.networkMessageNumber; + } + final PropertyTree dataSetOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOffsetPropertyTree!= null):((dataSetOffsetPropertyTree == null)||(!dataSetOffsetPropertyTree.isLeaf())))) { + this.dataSetOffset = _other.dataSetOffset; + } + } + } + + protected<_P extends UadpDataSetWriterMessageDataType >_P init(final _P _product) { + _product.dataSetMessageContentMask = this.dataSetMessageContentMask; + _product.configuredSize = this.configuredSize; + _product.networkMessageNumber = this.networkMessageNumber; + _product.dataSetOffset = this.dataSetOffset; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param dataSetMessageContentMask + * Neuer Wert der Eigenschaft "dataSetMessageContentMask". + */ + public UadpDataSetWriterMessageDataType.Builder<_B> withDataSetMessageContentMask(final Long dataSetMessageContentMask) { + this.dataSetMessageContentMask = dataSetMessageContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "configuredSize" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param configuredSize + * Neuer Wert der Eigenschaft "configuredSize". + */ + public UadpDataSetWriterMessageDataType.Builder<_B> withConfiguredSize(final Integer configuredSize) { + this.configuredSize = configuredSize; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkMessageNumber" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param networkMessageNumber + * Neuer Wert der Eigenschaft "networkMessageNumber". + */ + public UadpDataSetWriterMessageDataType.Builder<_B> withNetworkMessageNumber(final Integer networkMessageNumber) { + this.networkMessageNumber = networkMessageNumber; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetOffset" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetOffset + * Neuer Wert der Eigenschaft "dataSetOffset". + */ + public UadpDataSetWriterMessageDataType.Builder<_B> withDataSetOffset(final Integer dataSetOffset) { + this.dataSetOffset = dataSetOffset; + return this; + } + + @Override + public UadpDataSetWriterMessageDataType build() { + if (_storedValue == null) { + return this.init(new UadpDataSetWriterMessageDataType()); + } else { + return ((UadpDataSetWriterMessageDataType) _storedValue); + } + } + + public UadpDataSetWriterMessageDataType.Builder<_B> copyOf(final UadpDataSetWriterMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public UadpDataSetWriterMessageDataType.Builder<_B> copyOf(final UadpDataSetWriterMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UadpDataSetWriterMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static UadpDataSetWriterMessageDataType.Select _root() { + return new UadpDataSetWriterMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends DataSetWriterMessageDataType.Selector + { + + private com.kscs.util.jaxb.Selector> dataSetMessageContentMask = null; + private com.kscs.util.jaxb.Selector> configuredSize = null; + private com.kscs.util.jaxb.Selector> networkMessageNumber = null; + private com.kscs.util.jaxb.Selector> dataSetOffset = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.dataSetMessageContentMask!= null) { + products.put("dataSetMessageContentMask", this.dataSetMessageContentMask.init()); + } + if (this.configuredSize!= null) { + products.put("configuredSize", this.configuredSize.init()); + } + if (this.networkMessageNumber!= null) { + products.put("networkMessageNumber", this.networkMessageNumber.init()); + } + if (this.dataSetOffset!= null) { + products.put("dataSetOffset", this.dataSetOffset.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> dataSetMessageContentMask() { + return ((this.dataSetMessageContentMask == null)?this.dataSetMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetMessageContentMask"):this.dataSetMessageContentMask); + } + + public com.kscs.util.jaxb.Selector> configuredSize() { + return ((this.configuredSize == null)?this.configuredSize = new com.kscs.util.jaxb.Selector>(this._root, this, "configuredSize"):this.configuredSize); + } + + public com.kscs.util.jaxb.Selector> networkMessageNumber() { + return ((this.networkMessageNumber == null)?this.networkMessageNumber = new com.kscs.util.jaxb.Selector>(this._root, this, "networkMessageNumber"):this.networkMessageNumber); + } + + public com.kscs.util.jaxb.Selector> dataSetOffset() { + return ((this.dataSetOffset == null)?this.dataSetOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetOffset"):this.dataSetOffset); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpWriterGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpWriterGroupMessageDataType.java new file mode 100644 index 000000000..c590cbb9b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UadpWriterGroupMessageDataType.java @@ -0,0 +1,515 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UadpWriterGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UadpWriterGroupMessageDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}WriterGroupMessageDataType">
+ *       <sequence>
+ *         <element name="GroupVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="DataSetOrdering" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataSetOrderingType" minOccurs="0"/>
+ *         <element name="NetworkMessageContentMask" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UadpNetworkMessageContentMask" minOccurs="0"/>
+ *         <element name="SamplingOffset" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="PublishingOffset" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDouble" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UadpWriterGroupMessageDataType", propOrder = { + "groupVersion", + "dataSetOrdering", + "networkMessageContentMask", + "samplingOffset", + "publishingOffset" +}) +public class UadpWriterGroupMessageDataType + extends WriterGroupMessageDataType +{ + + @XmlElement(name = "GroupVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long groupVersion; + @XmlElement(name = "DataSetOrdering") + @XmlSchemaType(name = "string") + protected DataSetOrderingType dataSetOrdering; + @XmlElement(name = "NetworkMessageContentMask") + @XmlSchemaType(name = "unsignedInt") + protected Long networkMessageContentMask; + @XmlElement(name = "SamplingOffset") + protected Double samplingOffset; + @XmlElementRef(name = "PublishingOffset", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement publishingOffset; + + /** + * Ruft den Wert der groupVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getGroupVersion() { + return groupVersion; + } + + /** + * Legt den Wert der groupVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setGroupVersion(Long value) { + this.groupVersion = value; + } + + /** + * Ruft den Wert der dataSetOrdering-Eigenschaft ab. + * + * @return + * possible object is + * {@link DataSetOrderingType } + * + */ + public DataSetOrderingType getDataSetOrdering() { + return dataSetOrdering; + } + + /** + * Legt den Wert der dataSetOrdering-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DataSetOrderingType } + * + */ + public void setDataSetOrdering(DataSetOrderingType value) { + this.dataSetOrdering = value; + } + + /** + * Ruft den Wert der networkMessageContentMask-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getNetworkMessageContentMask() { + return networkMessageContentMask; + } + + /** + * Legt den Wert der networkMessageContentMask-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setNetworkMessageContentMask(Long value) { + this.networkMessageContentMask = value; + } + + /** + * Ruft den Wert der samplingOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getSamplingOffset() { + return samplingOffset; + } + + /** + * Legt den Wert der samplingOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setSamplingOffset(Double value) { + this.samplingOffset = value; + } + + /** + * Ruft den Wert der publishingOffset-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + */ + public JAXBElement getPublishingOffset() { + return publishingOffset; + } + + /** + * Legt den Wert der publishingOffset-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDouble }{@code >} + * + */ + public void setPublishingOffset(JAXBElement value) { + this.publishingOffset = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UadpWriterGroupMessageDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.groupVersion = this.groupVersion; + _other.dataSetOrdering = this.dataSetOrdering; + _other.networkMessageContentMask = this.networkMessageContentMask; + _other.samplingOffset = this.samplingOffset; + _other.publishingOffset = this.publishingOffset; + } + + @Override + public<_B >UadpWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UadpWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UadpWriterGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UadpWriterGroupMessageDataType.Builder builder() { + return new UadpWriterGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >UadpWriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other) { + final UadpWriterGroupMessageDataType.Builder<_B> _newBuilder = new UadpWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UadpWriterGroupMessageDataType.Builder<_B> copyOf(final UadpWriterGroupMessageDataType _other) { + final UadpWriterGroupMessageDataType.Builder<_B> _newBuilder = new UadpWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UadpWriterGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree groupVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("groupVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(groupVersionPropertyTree!= null):((groupVersionPropertyTree == null)||(!groupVersionPropertyTree.isLeaf())))) { + _other.groupVersion = this.groupVersion; + } + final PropertyTree dataSetOrderingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOrdering")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOrderingPropertyTree!= null):((dataSetOrderingPropertyTree == null)||(!dataSetOrderingPropertyTree.isLeaf())))) { + _other.dataSetOrdering = this.dataSetOrdering; + } + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + _other.networkMessageContentMask = this.networkMessageContentMask; + } + final PropertyTree samplingOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingOffsetPropertyTree!= null):((samplingOffsetPropertyTree == null)||(!samplingOffsetPropertyTree.isLeaf())))) { + _other.samplingOffset = this.samplingOffset; + } + final PropertyTree publishingOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingOffsetPropertyTree!= null):((publishingOffsetPropertyTree == null)||(!publishingOffsetPropertyTree.isLeaf())))) { + _other.publishingOffset = this.publishingOffset; + } + } + + @Override + public<_B >UadpWriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UadpWriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UadpWriterGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UadpWriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UadpWriterGroupMessageDataType.Builder<_B> _newBuilder = new UadpWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UadpWriterGroupMessageDataType.Builder<_B> copyOf(final UadpWriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UadpWriterGroupMessageDataType.Builder<_B> _newBuilder = new UadpWriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UadpWriterGroupMessageDataType.Builder copyExcept(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UadpWriterGroupMessageDataType.Builder copyExcept(final UadpWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UadpWriterGroupMessageDataType.Builder copyOnly(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UadpWriterGroupMessageDataType.Builder copyOnly(final UadpWriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends WriterGroupMessageDataType.Builder<_B> + implements Buildable + { + + private Long groupVersion; + private DataSetOrderingType dataSetOrdering; + private Long networkMessageContentMask; + private Double samplingOffset; + private JAXBElement publishingOffset; + + public Builder(final _B _parentBuilder, final UadpWriterGroupMessageDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.groupVersion = _other.groupVersion; + this.dataSetOrdering = _other.dataSetOrdering; + this.networkMessageContentMask = _other.networkMessageContentMask; + this.samplingOffset = _other.samplingOffset; + this.publishingOffset = _other.publishingOffset; + } + } + + public Builder(final _B _parentBuilder, final UadpWriterGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree groupVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("groupVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(groupVersionPropertyTree!= null):((groupVersionPropertyTree == null)||(!groupVersionPropertyTree.isLeaf())))) { + this.groupVersion = _other.groupVersion; + } + final PropertyTree dataSetOrderingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetOrdering")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetOrderingPropertyTree!= null):((dataSetOrderingPropertyTree == null)||(!dataSetOrderingPropertyTree.isLeaf())))) { + this.dataSetOrdering = _other.dataSetOrdering; + } + final PropertyTree networkMessageContentMaskPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("networkMessageContentMask")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(networkMessageContentMaskPropertyTree!= null):((networkMessageContentMaskPropertyTree == null)||(!networkMessageContentMaskPropertyTree.isLeaf())))) { + this.networkMessageContentMask = _other.networkMessageContentMask; + } + final PropertyTree samplingOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("samplingOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(samplingOffsetPropertyTree!= null):((samplingOffsetPropertyTree == null)||(!samplingOffsetPropertyTree.isLeaf())))) { + this.samplingOffset = _other.samplingOffset; + } + final PropertyTree publishingOffsetPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingOffset")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingOffsetPropertyTree!= null):((publishingOffsetPropertyTree == null)||(!publishingOffsetPropertyTree.isLeaf())))) { + this.publishingOffset = _other.publishingOffset; + } + } + } + + protected<_P extends UadpWriterGroupMessageDataType >_P init(final _P _product) { + _product.groupVersion = this.groupVersion; + _product.dataSetOrdering = this.dataSetOrdering; + _product.networkMessageContentMask = this.networkMessageContentMask; + _product.samplingOffset = this.samplingOffset; + _product.publishingOffset = this.publishingOffset; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "groupVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param groupVersion + * Neuer Wert der Eigenschaft "groupVersion". + */ + public UadpWriterGroupMessageDataType.Builder<_B> withGroupVersion(final Long groupVersion) { + this.groupVersion = groupVersion; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetOrdering" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetOrdering + * Neuer Wert der Eigenschaft "dataSetOrdering". + */ + public UadpWriterGroupMessageDataType.Builder<_B> withDataSetOrdering(final DataSetOrderingType dataSetOrdering) { + this.dataSetOrdering = dataSetOrdering; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "networkMessageContentMask" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param networkMessageContentMask + * Neuer Wert der Eigenschaft "networkMessageContentMask". + */ + public UadpWriterGroupMessageDataType.Builder<_B> withNetworkMessageContentMask(final Long networkMessageContentMask) { + this.networkMessageContentMask = networkMessageContentMask; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "samplingOffset" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param samplingOffset + * Neuer Wert der Eigenschaft "samplingOffset". + */ + public UadpWriterGroupMessageDataType.Builder<_B> withSamplingOffset(final Double samplingOffset) { + this.samplingOffset = samplingOffset; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingOffset" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingOffset + * Neuer Wert der Eigenschaft "publishingOffset". + */ + public UadpWriterGroupMessageDataType.Builder<_B> withPublishingOffset(final JAXBElement publishingOffset) { + this.publishingOffset = publishingOffset; + return this; + } + + @Override + public UadpWriterGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new UadpWriterGroupMessageDataType()); + } else { + return ((UadpWriterGroupMessageDataType) _storedValue); + } + } + + public UadpWriterGroupMessageDataType.Builder<_B> copyOf(final UadpWriterGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public UadpWriterGroupMessageDataType.Builder<_B> copyOf(final UadpWriterGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UadpWriterGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static UadpWriterGroupMessageDataType.Select _root() { + return new UadpWriterGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends WriterGroupMessageDataType.Selector + { + + private com.kscs.util.jaxb.Selector> groupVersion = null; + private com.kscs.util.jaxb.Selector> dataSetOrdering = null; + private com.kscs.util.jaxb.Selector> networkMessageContentMask = null; + private com.kscs.util.jaxb.Selector> samplingOffset = null; + private com.kscs.util.jaxb.Selector> publishingOffset = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.groupVersion!= null) { + products.put("groupVersion", this.groupVersion.init()); + } + if (this.dataSetOrdering!= null) { + products.put("dataSetOrdering", this.dataSetOrdering.init()); + } + if (this.networkMessageContentMask!= null) { + products.put("networkMessageContentMask", this.networkMessageContentMask.init()); + } + if (this.samplingOffset!= null) { + products.put("samplingOffset", this.samplingOffset.init()); + } + if (this.publishingOffset!= null) { + products.put("publishingOffset", this.publishingOffset.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> groupVersion() { + return ((this.groupVersion == null)?this.groupVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "groupVersion"):this.groupVersion); + } + + public com.kscs.util.jaxb.Selector> dataSetOrdering() { + return ((this.dataSetOrdering == null)?this.dataSetOrdering = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetOrdering"):this.dataSetOrdering); + } + + public com.kscs.util.jaxb.Selector> networkMessageContentMask() { + return ((this.networkMessageContentMask == null)?this.networkMessageContentMask = new com.kscs.util.jaxb.Selector>(this._root, this, "networkMessageContentMask"):this.networkMessageContentMask); + } + + public com.kscs.util.jaxb.Selector> samplingOffset() { + return ((this.samplingOffset == null)?this.samplingOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "samplingOffset"):this.samplingOffset); + } + + public com.kscs.util.jaxb.Selector> publishingOffset() { + return ((this.publishingOffset == null)?this.publishingOffset = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingOffset"):this.publishingOffset); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Union.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Union.java new file mode 100644 index 000000000..9b9f9f57a --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Union.java @@ -0,0 +1,197 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Union complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Union">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Union") +public class Union { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Union.Builder<_B> _other) { + } + + public<_B >Union.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Union.Builder<_B>(_parentBuilder, this, true); + } + + public Union.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Union.Builder builder() { + return new Union.Builder(null, null, false); + } + + public static<_B >Union.Builder<_B> copyOf(final Union _other) { + final Union.Builder<_B> _newBuilder = new Union.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Union.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >Union.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Union.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Union.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Union.Builder<_B> copyOf(final Union _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Union.Builder<_B> _newBuilder = new Union.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Union.Builder copyExcept(final Union _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Union.Builder copyOnly(final Union _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Union _storedValue; + + public Builder(final _B _parentBuilder, final Union _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Union _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Union >_P init(final _P _product) { + return _product; + } + + @Override + public Union build() { + if (_storedValue == null) { + return this.init(new Union()); + } else { + return ((Union) _storedValue); + } + } + + public Union.Builder<_B> copyOf(final Union _other) { + _other.copyTo(this); + return this; + } + + public Union.Builder<_B> copyOf(final Union.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Union.Selector + { + + + Select() { + super(null, null, null); + } + + public static Union.Select _root() { + return new Union.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesRequest.java new file mode 100644 index 000000000..e56ad7830 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UnregisterNodesRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UnregisterNodesRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="NodesToUnregister" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfNodeId" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UnregisterNodesRequest", propOrder = { + "requestHeader", + "nodesToUnregister" +}) +public class UnregisterNodesRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "NodesToUnregister", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToUnregister; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der nodesToUnregister-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public JAXBElement getNodesToUnregister() { + return nodesToUnregister; + } + + /** + * Legt den Wert der nodesToUnregister-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfNodeId }{@code >} + * + */ + public void setNodesToUnregister(JAXBElement value) { + this.nodesToUnregister = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UnregisterNodesRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.nodesToUnregister = this.nodesToUnregister; + } + + public<_B >UnregisterNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UnregisterNodesRequest.Builder<_B>(_parentBuilder, this, true); + } + + public UnregisterNodesRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UnregisterNodesRequest.Builder builder() { + return new UnregisterNodesRequest.Builder(null, null, false); + } + + public static<_B >UnregisterNodesRequest.Builder<_B> copyOf(final UnregisterNodesRequest _other) { + final UnregisterNodesRequest.Builder<_B> _newBuilder = new UnregisterNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UnregisterNodesRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree nodesToUnregisterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToUnregister")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToUnregisterPropertyTree!= null):((nodesToUnregisterPropertyTree == null)||(!nodesToUnregisterPropertyTree.isLeaf())))) { + _other.nodesToUnregister = this.nodesToUnregister; + } + } + + public<_B >UnregisterNodesRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UnregisterNodesRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public UnregisterNodesRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UnregisterNodesRequest.Builder<_B> copyOf(final UnregisterNodesRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UnregisterNodesRequest.Builder<_B> _newBuilder = new UnregisterNodesRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UnregisterNodesRequest.Builder copyExcept(final UnregisterNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UnregisterNodesRequest.Builder copyOnly(final UnregisterNodesRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final UnregisterNodesRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement nodesToUnregister; + + public Builder(final _B _parentBuilder, final UnregisterNodesRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.nodesToUnregister = _other.nodesToUnregister; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final UnregisterNodesRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree nodesToUnregisterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToUnregister")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToUnregisterPropertyTree!= null):((nodesToUnregisterPropertyTree == null)||(!nodesToUnregisterPropertyTree.isLeaf())))) { + this.nodesToUnregister = _other.nodesToUnregister; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends UnregisterNodesRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.nodesToUnregister = this.nodesToUnregister; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public UnregisterNodesRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToUnregister" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param nodesToUnregister + * Neuer Wert der Eigenschaft "nodesToUnregister". + */ + public UnregisterNodesRequest.Builder<_B> withNodesToUnregister(final JAXBElement nodesToUnregister) { + this.nodesToUnregister = nodesToUnregister; + return this; + } + + @Override + public UnregisterNodesRequest build() { + if (_storedValue == null) { + return this.init(new UnregisterNodesRequest()); + } else { + return ((UnregisterNodesRequest) _storedValue); + } + } + + public UnregisterNodesRequest.Builder<_B> copyOf(final UnregisterNodesRequest _other) { + _other.copyTo(this); + return this; + } + + public UnregisterNodesRequest.Builder<_B> copyOf(final UnregisterNodesRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UnregisterNodesRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static UnregisterNodesRequest.Select _root() { + return new UnregisterNodesRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> nodesToUnregister = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.nodesToUnregister!= null) { + products.put("nodesToUnregister", this.nodesToUnregister.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> nodesToUnregister() { + return ((this.nodesToUnregister == null)?this.nodesToUnregister = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToUnregister"):this.nodesToUnregister); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesResponse.java new file mode 100644 index 000000000..6898bf6bb --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UnregisterNodesResponse.java @@ -0,0 +1,260 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UnregisterNodesResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UnregisterNodesResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UnregisterNodesResponse", propOrder = { + "responseHeader" +}) +public class UnregisterNodesResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UnregisterNodesResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + } + + public<_B >UnregisterNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UnregisterNodesResponse.Builder<_B>(_parentBuilder, this, true); + } + + public UnregisterNodesResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UnregisterNodesResponse.Builder builder() { + return new UnregisterNodesResponse.Builder(null, null, false); + } + + public static<_B >UnregisterNodesResponse.Builder<_B> copyOf(final UnregisterNodesResponse _other) { + final UnregisterNodesResponse.Builder<_B> _newBuilder = new UnregisterNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UnregisterNodesResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + } + + public<_B >UnregisterNodesResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UnregisterNodesResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public UnregisterNodesResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UnregisterNodesResponse.Builder<_B> copyOf(final UnregisterNodesResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UnregisterNodesResponse.Builder<_B> _newBuilder = new UnregisterNodesResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UnregisterNodesResponse.Builder copyExcept(final UnregisterNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UnregisterNodesResponse.Builder copyOnly(final UnregisterNodesResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final UnregisterNodesResponse _storedValue; + private JAXBElement responseHeader; + + public Builder(final _B _parentBuilder, final UnregisterNodesResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final UnregisterNodesResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends UnregisterNodesResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public UnregisterNodesResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + @Override + public UnregisterNodesResponse build() { + if (_storedValue == null) { + return this.init(new UnregisterNodesResponse()); + } else { + return ((UnregisterNodesResponse) _storedValue); + } + } + + public UnregisterNodesResponse.Builder<_B> copyOf(final UnregisterNodesResponse _other) { + _other.copyTo(this); + return this; + } + + public UnregisterNodesResponse.Builder<_B> copyOf(final UnregisterNodesResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UnregisterNodesResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static UnregisterNodesResponse.Select _root() { + return new UnregisterNodesResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateDataDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateDataDetails.java new file mode 100644 index 000000000..8296633e8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateDataDetails.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UpdateDataDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UpdateDataDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateDetails">
+ *       <sequence>
+ *         <element name="PerformInsertReplace" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PerformUpdateType" minOccurs="0"/>
+ *         <element name="UpdateValues" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDataValue" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UpdateDataDetails", propOrder = { + "performInsertReplace", + "updateValues" +}) +public class UpdateDataDetails + extends HistoryUpdateDetails +{ + + @XmlElement(name = "PerformInsertReplace") + @XmlSchemaType(name = "string") + protected PerformUpdateType performInsertReplace; + @XmlElementRef(name = "UpdateValues", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement updateValues; + + /** + * Ruft den Wert der performInsertReplace-Eigenschaft ab. + * + * @return + * possible object is + * {@link PerformUpdateType } + * + */ + public PerformUpdateType getPerformInsertReplace() { + return performInsertReplace; + } + + /** + * Legt den Wert der performInsertReplace-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PerformUpdateType } + * + */ + public void setPerformInsertReplace(PerformUpdateType value) { + this.performInsertReplace = value; + } + + /** + * Ruft den Wert der updateValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public JAXBElement getUpdateValues() { + return updateValues; + } + + /** + * Legt den Wert der updateValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public void setUpdateValues(JAXBElement value) { + this.updateValues = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UpdateDataDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.performInsertReplace = this.performInsertReplace; + _other.updateValues = this.updateValues; + } + + @Override + public<_B >UpdateDataDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UpdateDataDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UpdateDataDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UpdateDataDetails.Builder builder() { + return new UpdateDataDetails.Builder(null, null, false); + } + + public static<_B >UpdateDataDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final UpdateDataDetails.Builder<_B> _newBuilder = new UpdateDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UpdateDataDetails.Builder<_B> copyOf(final UpdateDataDetails _other) { + final UpdateDataDetails.Builder<_B> _newBuilder = new UpdateDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UpdateDataDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree performInsertReplacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("performInsertReplace")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(performInsertReplacePropertyTree!= null):((performInsertReplacePropertyTree == null)||(!performInsertReplacePropertyTree.isLeaf())))) { + _other.performInsertReplace = this.performInsertReplace; + } + final PropertyTree updateValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("updateValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(updateValuesPropertyTree!= null):((updateValuesPropertyTree == null)||(!updateValuesPropertyTree.isLeaf())))) { + _other.updateValues = this.updateValues; + } + } + + @Override + public<_B >UpdateDataDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UpdateDataDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UpdateDataDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UpdateDataDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UpdateDataDetails.Builder<_B> _newBuilder = new UpdateDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UpdateDataDetails.Builder<_B> copyOf(final UpdateDataDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UpdateDataDetails.Builder<_B> _newBuilder = new UpdateDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UpdateDataDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UpdateDataDetails.Builder copyExcept(final UpdateDataDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UpdateDataDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UpdateDataDetails.Builder copyOnly(final UpdateDataDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryUpdateDetails.Builder<_B> + implements Buildable + { + + private PerformUpdateType performInsertReplace; + private JAXBElement updateValues; + + public Builder(final _B _parentBuilder, final UpdateDataDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.performInsertReplace = _other.performInsertReplace; + this.updateValues = _other.updateValues; + } + } + + public Builder(final _B _parentBuilder, final UpdateDataDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree performInsertReplacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("performInsertReplace")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(performInsertReplacePropertyTree!= null):((performInsertReplacePropertyTree == null)||(!performInsertReplacePropertyTree.isLeaf())))) { + this.performInsertReplace = _other.performInsertReplace; + } + final PropertyTree updateValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("updateValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(updateValuesPropertyTree!= null):((updateValuesPropertyTree == null)||(!updateValuesPropertyTree.isLeaf())))) { + this.updateValues = _other.updateValues; + } + } + } + + protected<_P extends UpdateDataDetails >_P init(final _P _product) { + _product.performInsertReplace = this.performInsertReplace; + _product.updateValues = this.updateValues; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "performInsertReplace" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param performInsertReplace + * Neuer Wert der Eigenschaft "performInsertReplace". + */ + public UpdateDataDetails.Builder<_B> withPerformInsertReplace(final PerformUpdateType performInsertReplace) { + this.performInsertReplace = performInsertReplace; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "updateValues" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param updateValues + * Neuer Wert der Eigenschaft "updateValues". + */ + public UpdateDataDetails.Builder<_B> withUpdateValues(final JAXBElement updateValues) { + this.updateValues = updateValues; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public UpdateDataDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + @Override + public UpdateDataDetails build() { + if (_storedValue == null) { + return this.init(new UpdateDataDetails()); + } else { + return ((UpdateDataDetails) _storedValue); + } + } + + public UpdateDataDetails.Builder<_B> copyOf(final UpdateDataDetails _other) { + _other.copyTo(this); + return this; + } + + public UpdateDataDetails.Builder<_B> copyOf(final UpdateDataDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UpdateDataDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static UpdateDataDetails.Select _root() { + return new UpdateDataDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryUpdateDetails.Selector + { + + private com.kscs.util.jaxb.Selector> performInsertReplace = null; + private com.kscs.util.jaxb.Selector> updateValues = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.performInsertReplace!= null) { + products.put("performInsertReplace", this.performInsertReplace.init()); + } + if (this.updateValues!= null) { + products.put("updateValues", this.updateValues.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> performInsertReplace() { + return ((this.performInsertReplace == null)?this.performInsertReplace = new com.kscs.util.jaxb.Selector>(this._root, this, "performInsertReplace"):this.performInsertReplace); + } + + public com.kscs.util.jaxb.Selector> updateValues() { + return ((this.updateValues == null)?this.updateValues = new com.kscs.util.jaxb.Selector>(this._root, this, "updateValues"):this.updateValues); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateEventDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateEventDetails.java new file mode 100644 index 000000000..c70acef7d --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateEventDetails.java @@ -0,0 +1,406 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UpdateEventDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UpdateEventDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateDetails">
+ *       <sequence>
+ *         <element name="PerformInsertReplace" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PerformUpdateType" minOccurs="0"/>
+ *         <element name="Filter" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}EventFilter" minOccurs="0"/>
+ *         <element name="EventData" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfHistoryEventFieldList" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UpdateEventDetails", propOrder = { + "performInsertReplace", + "filter", + "eventData" +}) +public class UpdateEventDetails + extends HistoryUpdateDetails +{ + + @XmlElement(name = "PerformInsertReplace") + @XmlSchemaType(name = "string") + protected PerformUpdateType performInsertReplace; + @XmlElementRef(name = "Filter", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement filter; + @XmlElementRef(name = "EventData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement eventData; + + /** + * Ruft den Wert der performInsertReplace-Eigenschaft ab. + * + * @return + * possible object is + * {@link PerformUpdateType } + * + */ + public PerformUpdateType getPerformInsertReplace() { + return performInsertReplace; + } + + /** + * Legt den Wert der performInsertReplace-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PerformUpdateType } + * + */ + public void setPerformInsertReplace(PerformUpdateType value) { + this.performInsertReplace = value; + } + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + */ + public JAXBElement getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link EventFilter }{@code >} + * + */ + public void setFilter(JAXBElement value) { + this.filter = value; + } + + /** + * Ruft den Wert der eventData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + */ + public JAXBElement getEventData() { + return eventData; + } + + /** + * Legt den Wert der eventData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfHistoryEventFieldList }{@code >} + * + */ + public void setEventData(JAXBElement value) { + this.eventData = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UpdateEventDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.performInsertReplace = this.performInsertReplace; + _other.filter = this.filter; + _other.eventData = this.eventData; + } + + @Override + public<_B >UpdateEventDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UpdateEventDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UpdateEventDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UpdateEventDetails.Builder builder() { + return new UpdateEventDetails.Builder(null, null, false); + } + + public static<_B >UpdateEventDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final UpdateEventDetails.Builder<_B> _newBuilder = new UpdateEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UpdateEventDetails.Builder<_B> copyOf(final UpdateEventDetails _other) { + final UpdateEventDetails.Builder<_B> _newBuilder = new UpdateEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UpdateEventDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree performInsertReplacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("performInsertReplace")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(performInsertReplacePropertyTree!= null):((performInsertReplacePropertyTree == null)||(!performInsertReplacePropertyTree.isLeaf())))) { + _other.performInsertReplace = this.performInsertReplace; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + _other.filter = this.filter; + } + final PropertyTree eventDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventDataPropertyTree!= null):((eventDataPropertyTree == null)||(!eventDataPropertyTree.isLeaf())))) { + _other.eventData = this.eventData; + } + } + + @Override + public<_B >UpdateEventDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UpdateEventDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UpdateEventDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UpdateEventDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UpdateEventDetails.Builder<_B> _newBuilder = new UpdateEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UpdateEventDetails.Builder<_B> copyOf(final UpdateEventDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UpdateEventDetails.Builder<_B> _newBuilder = new UpdateEventDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UpdateEventDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UpdateEventDetails.Builder copyExcept(final UpdateEventDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UpdateEventDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UpdateEventDetails.Builder copyOnly(final UpdateEventDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryUpdateDetails.Builder<_B> + implements Buildable + { + + private PerformUpdateType performInsertReplace; + private JAXBElement filter; + private JAXBElement eventData; + + public Builder(final _B _parentBuilder, final UpdateEventDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.performInsertReplace = _other.performInsertReplace; + this.filter = _other.filter; + this.eventData = _other.eventData; + } + } + + public Builder(final _B _parentBuilder, final UpdateEventDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree performInsertReplacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("performInsertReplace")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(performInsertReplacePropertyTree!= null):((performInsertReplacePropertyTree == null)||(!performInsertReplacePropertyTree.isLeaf())))) { + this.performInsertReplace = _other.performInsertReplace; + } + final PropertyTree filterPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("filter")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(filterPropertyTree!= null):((filterPropertyTree == null)||(!filterPropertyTree.isLeaf())))) { + this.filter = _other.filter; + } + final PropertyTree eventDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventDataPropertyTree!= null):((eventDataPropertyTree == null)||(!eventDataPropertyTree.isLeaf())))) { + this.eventData = _other.eventData; + } + } + } + + protected<_P extends UpdateEventDetails >_P init(final _P _product) { + _product.performInsertReplace = this.performInsertReplace; + _product.filter = this.filter; + _product.eventData = this.eventData; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "performInsertReplace" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param performInsertReplace + * Neuer Wert der Eigenschaft "performInsertReplace". + */ + public UpdateEventDetails.Builder<_B> withPerformInsertReplace(final PerformUpdateType performInsertReplace) { + this.performInsertReplace = performInsertReplace; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "filter" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param filter + * Neuer Wert der Eigenschaft "filter". + */ + public UpdateEventDetails.Builder<_B> withFilter(final JAXBElement filter) { + this.filter = filter; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventData" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param eventData + * Neuer Wert der Eigenschaft "eventData". + */ + public UpdateEventDetails.Builder<_B> withEventData(final JAXBElement eventData) { + this.eventData = eventData; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public UpdateEventDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + @Override + public UpdateEventDetails build() { + if (_storedValue == null) { + return this.init(new UpdateEventDetails()); + } else { + return ((UpdateEventDetails) _storedValue); + } + } + + public UpdateEventDetails.Builder<_B> copyOf(final UpdateEventDetails _other) { + _other.copyTo(this); + return this; + } + + public UpdateEventDetails.Builder<_B> copyOf(final UpdateEventDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UpdateEventDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static UpdateEventDetails.Select _root() { + return new UpdateEventDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryUpdateDetails.Selector + { + + private com.kscs.util.jaxb.Selector> performInsertReplace = null; + private com.kscs.util.jaxb.Selector> filter = null; + private com.kscs.util.jaxb.Selector> eventData = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.performInsertReplace!= null) { + products.put("performInsertReplace", this.performInsertReplace.init()); + } + if (this.filter!= null) { + products.put("filter", this.filter.init()); + } + if (this.eventData!= null) { + products.put("eventData", this.eventData.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> performInsertReplace() { + return ((this.performInsertReplace == null)?this.performInsertReplace = new com.kscs.util.jaxb.Selector>(this._root, this, "performInsertReplace"):this.performInsertReplace); + } + + public com.kscs.util.jaxb.Selector> filter() { + return ((this.filter == null)?this.filter = new com.kscs.util.jaxb.Selector>(this._root, this, "filter"):this.filter); + } + + public com.kscs.util.jaxb.Selector> eventData() { + return ((this.eventData == null)?this.eventData = new com.kscs.util.jaxb.Selector>(this._root, this, "eventData"):this.eventData); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateStructureDataDetails.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateStructureDataDetails.java new file mode 100644 index 000000000..b9636ad2b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UpdateStructureDataDetails.java @@ -0,0 +1,346 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UpdateStructureDataDetails complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UpdateStructureDataDetails">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}HistoryUpdateDetails">
+ *       <sequence>
+ *         <element name="PerformInsertReplace" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}PerformUpdateType" minOccurs="0"/>
+ *         <element name="UpdateValues" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDataValue" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UpdateStructureDataDetails", propOrder = { + "performInsertReplace", + "updateValues" +}) +public class UpdateStructureDataDetails + extends HistoryUpdateDetails +{ + + @XmlElement(name = "PerformInsertReplace") + @XmlSchemaType(name = "string") + protected PerformUpdateType performInsertReplace; + @XmlElementRef(name = "UpdateValues", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement updateValues; + + /** + * Ruft den Wert der performInsertReplace-Eigenschaft ab. + * + * @return + * possible object is + * {@link PerformUpdateType } + * + */ + public PerformUpdateType getPerformInsertReplace() { + return performInsertReplace; + } + + /** + * Legt den Wert der performInsertReplace-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PerformUpdateType } + * + */ + public void setPerformInsertReplace(PerformUpdateType value) { + this.performInsertReplace = value; + } + + /** + * Ruft den Wert der updateValues-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public JAXBElement getUpdateValues() { + return updateValues; + } + + /** + * Legt den Wert der updateValues-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDataValue }{@code >} + * + */ + public void setUpdateValues(JAXBElement value) { + this.updateValues = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UpdateStructureDataDetails.Builder<_B> _other) { + super.copyTo(_other); + _other.performInsertReplace = this.performInsertReplace; + _other.updateValues = this.updateValues; + } + + @Override + public<_B >UpdateStructureDataDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UpdateStructureDataDetails.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UpdateStructureDataDetails.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UpdateStructureDataDetails.Builder builder() { + return new UpdateStructureDataDetails.Builder(null, null, false); + } + + public static<_B >UpdateStructureDataDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other) { + final UpdateStructureDataDetails.Builder<_B> _newBuilder = new UpdateStructureDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UpdateStructureDataDetails.Builder<_B> copyOf(final UpdateStructureDataDetails _other) { + final UpdateStructureDataDetails.Builder<_B> _newBuilder = new UpdateStructureDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UpdateStructureDataDetails.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree performInsertReplacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("performInsertReplace")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(performInsertReplacePropertyTree!= null):((performInsertReplacePropertyTree == null)||(!performInsertReplacePropertyTree.isLeaf())))) { + _other.performInsertReplace = this.performInsertReplace; + } + final PropertyTree updateValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("updateValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(updateValuesPropertyTree!= null):((updateValuesPropertyTree == null)||(!updateValuesPropertyTree.isLeaf())))) { + _other.updateValues = this.updateValues; + } + } + + @Override + public<_B >UpdateStructureDataDetails.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UpdateStructureDataDetails.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UpdateStructureDataDetails.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UpdateStructureDataDetails.Builder<_B> copyOf(final HistoryUpdateDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UpdateStructureDataDetails.Builder<_B> _newBuilder = new UpdateStructureDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UpdateStructureDataDetails.Builder<_B> copyOf(final UpdateStructureDataDetails _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UpdateStructureDataDetails.Builder<_B> _newBuilder = new UpdateStructureDataDetails.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UpdateStructureDataDetails.Builder copyExcept(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UpdateStructureDataDetails.Builder copyExcept(final UpdateStructureDataDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UpdateStructureDataDetails.Builder copyOnly(final HistoryUpdateDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UpdateStructureDataDetails.Builder copyOnly(final UpdateStructureDataDetails _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends HistoryUpdateDetails.Builder<_B> + implements Buildable + { + + private PerformUpdateType performInsertReplace; + private JAXBElement updateValues; + + public Builder(final _B _parentBuilder, final UpdateStructureDataDetails _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.performInsertReplace = _other.performInsertReplace; + this.updateValues = _other.updateValues; + } + } + + public Builder(final _B _parentBuilder, final UpdateStructureDataDetails _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree performInsertReplacePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("performInsertReplace")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(performInsertReplacePropertyTree!= null):((performInsertReplacePropertyTree == null)||(!performInsertReplacePropertyTree.isLeaf())))) { + this.performInsertReplace = _other.performInsertReplace; + } + final PropertyTree updateValuesPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("updateValues")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(updateValuesPropertyTree!= null):((updateValuesPropertyTree == null)||(!updateValuesPropertyTree.isLeaf())))) { + this.updateValues = _other.updateValues; + } + } + } + + protected<_P extends UpdateStructureDataDetails >_P init(final _P _product) { + _product.performInsertReplace = this.performInsertReplace; + _product.updateValues = this.updateValues; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "performInsertReplace" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param performInsertReplace + * Neuer Wert der Eigenschaft "performInsertReplace". + */ + public UpdateStructureDataDetails.Builder<_B> withPerformInsertReplace(final PerformUpdateType performInsertReplace) { + this.performInsertReplace = performInsertReplace; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "updateValues" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param updateValues + * Neuer Wert der Eigenschaft "updateValues". + */ + public UpdateStructureDataDetails.Builder<_B> withUpdateValues(final JAXBElement updateValues) { + this.updateValues = updateValues; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public UpdateStructureDataDetails.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + @Override + public UpdateStructureDataDetails build() { + if (_storedValue == null) { + return this.init(new UpdateStructureDataDetails()); + } else { + return ((UpdateStructureDataDetails) _storedValue); + } + } + + public UpdateStructureDataDetails.Builder<_B> copyOf(final UpdateStructureDataDetails _other) { + _other.copyTo(this); + return this; + } + + public UpdateStructureDataDetails.Builder<_B> copyOf(final UpdateStructureDataDetails.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UpdateStructureDataDetails.Selector + { + + + Select() { + super(null, null, null); + } + + public static UpdateStructureDataDetails.Select _root() { + return new UpdateStructureDataDetails.Select(); + } + + } + + public static class Selector , TParent > + extends HistoryUpdateDetails.Selector + { + + private com.kscs.util.jaxb.Selector> performInsertReplace = null; + private com.kscs.util.jaxb.Selector> updateValues = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.performInsertReplace!= null) { + products.put("performInsertReplace", this.performInsertReplace.init()); + } + if (this.updateValues!= null) { + products.put("updateValues", this.updateValues.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> performInsertReplace() { + return ((this.performInsertReplace == null)?this.performInsertReplace = new com.kscs.util.jaxb.Selector>(this._root, this, "performInsertReplace"):this.performInsertReplace); + } + + public com.kscs.util.jaxb.Selector> updateValues() { + return ((this.updateValues == null)?this.updateValues = new com.kscs.util.jaxb.Selector>(this._root, this, "updateValues"):this.updateValues); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserIdentityToken.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserIdentityToken.java new file mode 100644 index 000000000..579197723 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserIdentityToken.java @@ -0,0 +1,267 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UserIdentityToken complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UserIdentityToken">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PolicyId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UserIdentityToken", propOrder = { + "policyId" +}) +@XmlSeeAlso({ + AnonymousIdentityToken.class, + UserNameIdentityToken.class, + X509IdentityToken.class, + IssuedIdentityToken.class +}) +public class UserIdentityToken { + + @XmlElementRef(name = "PolicyId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement policyId; + + /** + * Ruft den Wert der policyId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getPolicyId() { + return policyId; + } + + /** + * Legt den Wert der policyId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setPolicyId(JAXBElement value) { + this.policyId = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UserIdentityToken.Builder<_B> _other) { + _other.policyId = this.policyId; + } + + public<_B >UserIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UserIdentityToken.Builder<_B>(_parentBuilder, this, true); + } + + public UserIdentityToken.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UserIdentityToken.Builder builder() { + return new UserIdentityToken.Builder(null, null, false); + } + + public static<_B >UserIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other) { + final UserIdentityToken.Builder<_B> _newBuilder = new UserIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UserIdentityToken.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree policyIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("policyId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(policyIdPropertyTree!= null):((policyIdPropertyTree == null)||(!policyIdPropertyTree.isLeaf())))) { + _other.policyId = this.policyId; + } + } + + public<_B >UserIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UserIdentityToken.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public UserIdentityToken.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UserIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UserIdentityToken.Builder<_B> _newBuilder = new UserIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UserIdentityToken.Builder copyExcept(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UserIdentityToken.Builder copyOnly(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final UserIdentityToken _storedValue; + private JAXBElement policyId; + + public Builder(final _B _parentBuilder, final UserIdentityToken _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.policyId = _other.policyId; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final UserIdentityToken _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree policyIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("policyId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(policyIdPropertyTree!= null):((policyIdPropertyTree == null)||(!policyIdPropertyTree.isLeaf())))) { + this.policyId = _other.policyId; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends UserIdentityToken >_P init(final _P _product) { + _product.policyId = this.policyId; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "policyId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param policyId + * Neuer Wert der Eigenschaft "policyId". + */ + public UserIdentityToken.Builder<_B> withPolicyId(final JAXBElement policyId) { + this.policyId = policyId; + return this; + } + + @Override + public UserIdentityToken build() { + if (_storedValue == null) { + return this.init(new UserIdentityToken()); + } else { + return ((UserIdentityToken) _storedValue); + } + } + + public UserIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other) { + _other.copyTo(this); + return this; + } + + public UserIdentityToken.Builder<_B> copyOf(final UserIdentityToken.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UserIdentityToken.Selector + { + + + Select() { + super(null, null, null); + } + + public static UserIdentityToken.Select _root() { + return new UserIdentityToken.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> policyId = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.policyId!= null) { + products.put("policyId", this.policyId.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> policyId() { + return ((this.policyId == null)?this.policyId = new com.kscs.util.jaxb.Selector>(this._root, this, "policyId"):this.policyId); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserNameIdentityToken.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserNameIdentityToken.java new file mode 100644 index 000000000..8f52bff84 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserNameIdentityToken.java @@ -0,0 +1,403 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UserNameIdentityToken complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UserNameIdentityToken">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserIdentityToken">
+ *       <sequence>
+ *         <element name="UserName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Password" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *         <element name="EncryptionAlgorithm" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UserNameIdentityToken", propOrder = { + "userName", + "password", + "encryptionAlgorithm" +}) +public class UserNameIdentityToken + extends UserIdentityToken +{ + + @XmlElementRef(name = "UserName", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement userName; + @XmlElementRef(name = "Password", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement password; + @XmlElementRef(name = "EncryptionAlgorithm", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement encryptionAlgorithm; + + /** + * Ruft den Wert der userName-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getUserName() { + return userName; + } + + /** + * Legt den Wert der userName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setUserName(JAXBElement value) { + this.userName = value; + } + + /** + * Ruft den Wert der password-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getPassword() { + return password; + } + + /** + * Legt den Wert der password-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setPassword(JAXBElement value) { + this.password = value; + } + + /** + * Ruft den Wert der encryptionAlgorithm-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getEncryptionAlgorithm() { + return encryptionAlgorithm; + } + + /** + * Legt den Wert der encryptionAlgorithm-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setEncryptionAlgorithm(JAXBElement value) { + this.encryptionAlgorithm = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UserNameIdentityToken.Builder<_B> _other) { + super.copyTo(_other); + _other.userName = this.userName; + _other.password = this.password; + _other.encryptionAlgorithm = this.encryptionAlgorithm; + } + + @Override + public<_B >UserNameIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UserNameIdentityToken.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public UserNameIdentityToken.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UserNameIdentityToken.Builder builder() { + return new UserNameIdentityToken.Builder(null, null, false); + } + + public static<_B >UserNameIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other) { + final UserNameIdentityToken.Builder<_B> _newBuilder = new UserNameIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >UserNameIdentityToken.Builder<_B> copyOf(final UserNameIdentityToken _other) { + final UserNameIdentityToken.Builder<_B> _newBuilder = new UserNameIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UserNameIdentityToken.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree userNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNamePropertyTree!= null):((userNamePropertyTree == null)||(!userNamePropertyTree.isLeaf())))) { + _other.userName = this.userName; + } + final PropertyTree passwordPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("password")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(passwordPropertyTree!= null):((passwordPropertyTree == null)||(!passwordPropertyTree.isLeaf())))) { + _other.password = this.password; + } + final PropertyTree encryptionAlgorithmPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("encryptionAlgorithm")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(encryptionAlgorithmPropertyTree!= null):((encryptionAlgorithmPropertyTree == null)||(!encryptionAlgorithmPropertyTree.isLeaf())))) { + _other.encryptionAlgorithm = this.encryptionAlgorithm; + } + } + + @Override + public<_B >UserNameIdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UserNameIdentityToken.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public UserNameIdentityToken.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UserNameIdentityToken.Builder<_B> copyOf(final UserIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UserNameIdentityToken.Builder<_B> _newBuilder = new UserNameIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >UserNameIdentityToken.Builder<_B> copyOf(final UserNameIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UserNameIdentityToken.Builder<_B> _newBuilder = new UserNameIdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UserNameIdentityToken.Builder copyExcept(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UserNameIdentityToken.Builder copyExcept(final UserNameIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UserNameIdentityToken.Builder copyOnly(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static UserNameIdentityToken.Builder copyOnly(final UserNameIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends UserIdentityToken.Builder<_B> + implements Buildable + { + + private JAXBElement userName; + private JAXBElement password; + private JAXBElement encryptionAlgorithm; + + public Builder(final _B _parentBuilder, final UserNameIdentityToken _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.userName = _other.userName; + this.password = _other.password; + this.encryptionAlgorithm = _other.encryptionAlgorithm; + } + } + + public Builder(final _B _parentBuilder, final UserNameIdentityToken _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree userNamePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userName")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userNamePropertyTree!= null):((userNamePropertyTree == null)||(!userNamePropertyTree.isLeaf())))) { + this.userName = _other.userName; + } + final PropertyTree passwordPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("password")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(passwordPropertyTree!= null):((passwordPropertyTree == null)||(!passwordPropertyTree.isLeaf())))) { + this.password = _other.password; + } + final PropertyTree encryptionAlgorithmPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("encryptionAlgorithm")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(encryptionAlgorithmPropertyTree!= null):((encryptionAlgorithmPropertyTree == null)||(!encryptionAlgorithmPropertyTree.isLeaf())))) { + this.encryptionAlgorithm = _other.encryptionAlgorithm; + } + } + } + + protected<_P extends UserNameIdentityToken >_P init(final _P _product) { + _product.userName = this.userName; + _product.password = this.password; + _product.encryptionAlgorithm = this.encryptionAlgorithm; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "userName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param userName + * Neuer Wert der Eigenschaft "userName". + */ + public UserNameIdentityToken.Builder<_B> withUserName(final JAXBElement userName) { + this.userName = userName; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "password" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param password + * Neuer Wert der Eigenschaft "password". + */ + public UserNameIdentityToken.Builder<_B> withPassword(final JAXBElement password) { + this.password = password; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "encryptionAlgorithm" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param encryptionAlgorithm + * Neuer Wert der Eigenschaft "encryptionAlgorithm". + */ + public UserNameIdentityToken.Builder<_B> withEncryptionAlgorithm(final JAXBElement encryptionAlgorithm) { + this.encryptionAlgorithm = encryptionAlgorithm; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "policyId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param policyId + * Neuer Wert der Eigenschaft "policyId". + */ + @Override + public UserNameIdentityToken.Builder<_B> withPolicyId(final JAXBElement policyId) { + super.withPolicyId(policyId); + return this; + } + + @Override + public UserNameIdentityToken build() { + if (_storedValue == null) { + return this.init(new UserNameIdentityToken()); + } else { + return ((UserNameIdentityToken) _storedValue); + } + } + + public UserNameIdentityToken.Builder<_B> copyOf(final UserNameIdentityToken _other) { + _other.copyTo(this); + return this; + } + + public UserNameIdentityToken.Builder<_B> copyOf(final UserNameIdentityToken.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UserNameIdentityToken.Selector + { + + + Select() { + super(null, null, null); + } + + public static UserNameIdentityToken.Select _root() { + return new UserNameIdentityToken.Select(); + } + + } + + public static class Selector , TParent > + extends UserIdentityToken.Selector + { + + private com.kscs.util.jaxb.Selector> userName = null; + private com.kscs.util.jaxb.Selector> password = null; + private com.kscs.util.jaxb.Selector> encryptionAlgorithm = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.userName!= null) { + products.put("userName", this.userName.init()); + } + if (this.password!= null) { + products.put("password", this.password.init()); + } + if (this.encryptionAlgorithm!= null) { + products.put("encryptionAlgorithm", this.encryptionAlgorithm.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> userName() { + return ((this.userName == null)?this.userName = new com.kscs.util.jaxb.Selector>(this._root, this, "userName"):this.userName); + } + + public com.kscs.util.jaxb.Selector> password() { + return ((this.password == null)?this.password = new com.kscs.util.jaxb.Selector>(this._root, this, "password"):this.password); + } + + public com.kscs.util.jaxb.Selector> encryptionAlgorithm() { + return ((this.encryptionAlgorithm == null)?this.encryptionAlgorithm = new com.kscs.util.jaxb.Selector>(this._root, this, "encryptionAlgorithm"):this.encryptionAlgorithm); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenPolicy.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenPolicy.java new file mode 100644 index 000000000..e0cc1ec60 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenPolicy.java @@ -0,0 +1,503 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für UserTokenPolicy complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UserTokenPolicy">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PolicyId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TokenType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserTokenType" minOccurs="0"/>
+ *         <element name="IssuedTokenType" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="IssuerEndpointUrl" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="SecurityPolicyUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UserTokenPolicy", propOrder = { + "policyId", + "tokenType", + "issuedTokenType", + "issuerEndpointUrl", + "securityPolicyUri" +}) +public class UserTokenPolicy { + + @XmlElementRef(name = "PolicyId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement policyId; + @XmlElement(name = "TokenType") + @XmlSchemaType(name = "string") + protected UserTokenType tokenType; + @XmlElementRef(name = "IssuedTokenType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement issuedTokenType; + @XmlElementRef(name = "IssuerEndpointUrl", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement issuerEndpointUrl; + @XmlElementRef(name = "SecurityPolicyUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement securityPolicyUri; + + /** + * Ruft den Wert der policyId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getPolicyId() { + return policyId; + } + + /** + * Legt den Wert der policyId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setPolicyId(JAXBElement value) { + this.policyId = value; + } + + /** + * Ruft den Wert der tokenType-Eigenschaft ab. + * + * @return + * possible object is + * {@link UserTokenType } + * + */ + public UserTokenType getTokenType() { + return tokenType; + } + + /** + * Legt den Wert der tokenType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link UserTokenType } + * + */ + public void setTokenType(UserTokenType value) { + this.tokenType = value; + } + + /** + * Ruft den Wert der issuedTokenType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIssuedTokenType() { + return issuedTokenType; + } + + /** + * Legt den Wert der issuedTokenType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIssuedTokenType(JAXBElement value) { + this.issuedTokenType = value; + } + + /** + * Ruft den Wert der issuerEndpointUrl-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIssuerEndpointUrl() { + return issuerEndpointUrl; + } + + /** + * Legt den Wert der issuerEndpointUrl-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIssuerEndpointUrl(JAXBElement value) { + this.issuerEndpointUrl = value; + } + + /** + * Ruft den Wert der securityPolicyUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getSecurityPolicyUri() { + return securityPolicyUri; + } + + /** + * Legt den Wert der securityPolicyUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setSecurityPolicyUri(JAXBElement value) { + this.securityPolicyUri = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UserTokenPolicy.Builder<_B> _other) { + _other.policyId = this.policyId; + _other.tokenType = this.tokenType; + _other.issuedTokenType = this.issuedTokenType; + _other.issuerEndpointUrl = this.issuerEndpointUrl; + _other.securityPolicyUri = this.securityPolicyUri; + } + + public<_B >UserTokenPolicy.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new UserTokenPolicy.Builder<_B>(_parentBuilder, this, true); + } + + public UserTokenPolicy.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static UserTokenPolicy.Builder builder() { + return new UserTokenPolicy.Builder(null, null, false); + } + + public static<_B >UserTokenPolicy.Builder<_B> copyOf(final UserTokenPolicy _other) { + final UserTokenPolicy.Builder<_B> _newBuilder = new UserTokenPolicy.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final UserTokenPolicy.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree policyIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("policyId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(policyIdPropertyTree!= null):((policyIdPropertyTree == null)||(!policyIdPropertyTree.isLeaf())))) { + _other.policyId = this.policyId; + } + final PropertyTree tokenTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("tokenType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(tokenTypePropertyTree!= null):((tokenTypePropertyTree == null)||(!tokenTypePropertyTree.isLeaf())))) { + _other.tokenType = this.tokenType; + } + final PropertyTree issuedTokenTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuedTokenType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuedTokenTypePropertyTree!= null):((issuedTokenTypePropertyTree == null)||(!issuedTokenTypePropertyTree.isLeaf())))) { + _other.issuedTokenType = this.issuedTokenType; + } + final PropertyTree issuerEndpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuerEndpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuerEndpointUrlPropertyTree!= null):((issuerEndpointUrlPropertyTree == null)||(!issuerEndpointUrlPropertyTree.isLeaf())))) { + _other.issuerEndpointUrl = this.issuerEndpointUrl; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + _other.securityPolicyUri = this.securityPolicyUri; + } + } + + public<_B >UserTokenPolicy.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new UserTokenPolicy.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public UserTokenPolicy.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >UserTokenPolicy.Builder<_B> copyOf(final UserTokenPolicy _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final UserTokenPolicy.Builder<_B> _newBuilder = new UserTokenPolicy.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static UserTokenPolicy.Builder copyExcept(final UserTokenPolicy _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static UserTokenPolicy.Builder copyOnly(final UserTokenPolicy _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final UserTokenPolicy _storedValue; + private JAXBElement policyId; + private UserTokenType tokenType; + private JAXBElement issuedTokenType; + private JAXBElement issuerEndpointUrl; + private JAXBElement securityPolicyUri; + + public Builder(final _B _parentBuilder, final UserTokenPolicy _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.policyId = _other.policyId; + this.tokenType = _other.tokenType; + this.issuedTokenType = _other.issuedTokenType; + this.issuerEndpointUrl = _other.issuerEndpointUrl; + this.securityPolicyUri = _other.securityPolicyUri; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final UserTokenPolicy _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree policyIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("policyId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(policyIdPropertyTree!= null):((policyIdPropertyTree == null)||(!policyIdPropertyTree.isLeaf())))) { + this.policyId = _other.policyId; + } + final PropertyTree tokenTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("tokenType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(tokenTypePropertyTree!= null):((tokenTypePropertyTree == null)||(!tokenTypePropertyTree.isLeaf())))) { + this.tokenType = _other.tokenType; + } + final PropertyTree issuedTokenTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuedTokenType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuedTokenTypePropertyTree!= null):((issuedTokenTypePropertyTree == null)||(!issuedTokenTypePropertyTree.isLeaf())))) { + this.issuedTokenType = _other.issuedTokenType; + } + final PropertyTree issuerEndpointUrlPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("issuerEndpointUrl")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(issuerEndpointUrlPropertyTree!= null):((issuerEndpointUrlPropertyTree == null)||(!issuerEndpointUrlPropertyTree.isLeaf())))) { + this.issuerEndpointUrl = _other.issuerEndpointUrl; + } + final PropertyTree securityPolicyUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("securityPolicyUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(securityPolicyUriPropertyTree!= null):((securityPolicyUriPropertyTree == null)||(!securityPolicyUriPropertyTree.isLeaf())))) { + this.securityPolicyUri = _other.securityPolicyUri; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends UserTokenPolicy >_P init(final _P _product) { + _product.policyId = this.policyId; + _product.tokenType = this.tokenType; + _product.issuedTokenType = this.issuedTokenType; + _product.issuerEndpointUrl = this.issuerEndpointUrl; + _product.securityPolicyUri = this.securityPolicyUri; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "policyId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param policyId + * Neuer Wert der Eigenschaft "policyId". + */ + public UserTokenPolicy.Builder<_B> withPolicyId(final JAXBElement policyId) { + this.policyId = policyId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "tokenType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param tokenType + * Neuer Wert der Eigenschaft "tokenType". + */ + public UserTokenPolicy.Builder<_B> withTokenType(final UserTokenType tokenType) { + this.tokenType = tokenType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "issuedTokenType" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param issuedTokenType + * Neuer Wert der Eigenschaft "issuedTokenType". + */ + public UserTokenPolicy.Builder<_B> withIssuedTokenType(final JAXBElement issuedTokenType) { + this.issuedTokenType = issuedTokenType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "issuerEndpointUrl" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param issuerEndpointUrl + * Neuer Wert der Eigenschaft "issuerEndpointUrl". + */ + public UserTokenPolicy.Builder<_B> withIssuerEndpointUrl(final JAXBElement issuerEndpointUrl) { + this.issuerEndpointUrl = issuerEndpointUrl; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityPolicyUri" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityPolicyUri + * Neuer Wert der Eigenschaft "securityPolicyUri". + */ + public UserTokenPolicy.Builder<_B> withSecurityPolicyUri(final JAXBElement securityPolicyUri) { + this.securityPolicyUri = securityPolicyUri; + return this; + } + + @Override + public UserTokenPolicy build() { + if (_storedValue == null) { + return this.init(new UserTokenPolicy()); + } else { + return ((UserTokenPolicy) _storedValue); + } + } + + public UserTokenPolicy.Builder<_B> copyOf(final UserTokenPolicy _other) { + _other.copyTo(this); + return this; + } + + public UserTokenPolicy.Builder<_B> copyOf(final UserTokenPolicy.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends UserTokenPolicy.Selector + { + + + Select() { + super(null, null, null); + } + + public static UserTokenPolicy.Select _root() { + return new UserTokenPolicy.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> policyId = null; + private com.kscs.util.jaxb.Selector> tokenType = null; + private com.kscs.util.jaxb.Selector> issuedTokenType = null; + private com.kscs.util.jaxb.Selector> issuerEndpointUrl = null; + private com.kscs.util.jaxb.Selector> securityPolicyUri = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.policyId!= null) { + products.put("policyId", this.policyId.init()); + } + if (this.tokenType!= null) { + products.put("tokenType", this.tokenType.init()); + } + if (this.issuedTokenType!= null) { + products.put("issuedTokenType", this.issuedTokenType.init()); + } + if (this.issuerEndpointUrl!= null) { + products.put("issuerEndpointUrl", this.issuerEndpointUrl.init()); + } + if (this.securityPolicyUri!= null) { + products.put("securityPolicyUri", this.securityPolicyUri.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> policyId() { + return ((this.policyId == null)?this.policyId = new com.kscs.util.jaxb.Selector>(this._root, this, "policyId"):this.policyId); + } + + public com.kscs.util.jaxb.Selector> tokenType() { + return ((this.tokenType == null)?this.tokenType = new com.kscs.util.jaxb.Selector>(this._root, this, "tokenType"):this.tokenType); + } + + public com.kscs.util.jaxb.Selector> issuedTokenType() { + return ((this.issuedTokenType == null)?this.issuedTokenType = new com.kscs.util.jaxb.Selector>(this._root, this, "issuedTokenType"):this.issuedTokenType); + } + + public com.kscs.util.jaxb.Selector> issuerEndpointUrl() { + return ((this.issuerEndpointUrl == null)?this.issuerEndpointUrl = new com.kscs.util.jaxb.Selector>(this._root, this, "issuerEndpointUrl"):this.issuerEndpointUrl); + } + + public com.kscs.util.jaxb.Selector> securityPolicyUri() { + return ((this.securityPolicyUri == null)?this.securityPolicyUri = new com.kscs.util.jaxb.Selector>(this._root, this, "securityPolicyUri"):this.securityPolicyUri); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenType.java new file mode 100644 index 000000000..3b6efda87 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/UserTokenType.java @@ -0,0 +1,64 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse für UserTokenType. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + *

+ *

+ * <simpleType name="UserTokenType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Anonymous_0"/>
+ *     <enumeration value="UserName_1"/>
+ *     <enumeration value="Certificate_2"/>
+ *     <enumeration value="IssuedToken_3"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "UserTokenType") +@XmlEnum +public enum UserTokenType { + + @XmlEnumValue("Anonymous_0") + ANONYMOUS_0("Anonymous_0"), + @XmlEnumValue("UserName_1") + USER_NAME_1("UserName_1"), + @XmlEnumValue("Certificate_2") + CERTIFICATE_2("Certificate_2"), + @XmlEnumValue("IssuedToken_3") + ISSUED_TOKEN_3("IssuedToken_3"); + private final String value; + + UserTokenType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static UserTokenType fromValue(String v) { + for (UserTokenType c: UserTokenType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableAttributes.java new file mode 100644 index 000000000..e8c0ceafe --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableAttributes.java @@ -0,0 +1,777 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für VariableAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="VariableAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="AccessLevel" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="UserAccessLevel" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="MinimumSamplingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Historizing" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VariableAttributes", propOrder = { + "value", + "dataType", + "valueRank", + "arrayDimensions", + "accessLevel", + "userAccessLevel", + "minimumSamplingInterval", + "historizing" +}) +public class VariableAttributes + extends NodeAttributes +{ + + @XmlElement(name = "Value") + protected Variant value; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElement(name = "AccessLevel") + @XmlSchemaType(name = "unsignedByte") + protected Short accessLevel; + @XmlElement(name = "UserAccessLevel") + @XmlSchemaType(name = "unsignedByte") + protected Short userAccessLevel; + @XmlElement(name = "MinimumSamplingInterval") + protected Double minimumSamplingInterval; + @XmlElement(name = "Historizing") + protected Boolean historizing; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der accessLevel-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getAccessLevel() { + return accessLevel; + } + + /** + * Legt den Wert der accessLevel-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setAccessLevel(Short value) { + this.accessLevel = value; + } + + /** + * Ruft den Wert der userAccessLevel-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getUserAccessLevel() { + return userAccessLevel; + } + + /** + * Legt den Wert der userAccessLevel-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setUserAccessLevel(Short value) { + this.userAccessLevel = value; + } + + /** + * Ruft den Wert der minimumSamplingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getMinimumSamplingInterval() { + return minimumSamplingInterval; + } + + /** + * Legt den Wert der minimumSamplingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setMinimumSamplingInterval(Double value) { + this.minimumSamplingInterval = value; + } + + /** + * Ruft den Wert der historizing-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isHistorizing() { + return historizing; + } + + /** + * Legt den Wert der historizing-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setHistorizing(Boolean value) { + this.historizing = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.accessLevel = this.accessLevel; + _other.userAccessLevel = this.userAccessLevel; + _other.minimumSamplingInterval = this.minimumSamplingInterval; + _other.historizing = this.historizing; + } + + @Override + public<_B >VariableAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new VariableAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public VariableAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static VariableAttributes.Builder builder() { + return new VariableAttributes.Builder(null, null, false); + } + + public static<_B >VariableAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final VariableAttributes.Builder<_B> _newBuilder = new VariableAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >VariableAttributes.Builder<_B> copyOf(final VariableAttributes _other) { + final VariableAttributes.Builder<_B> _newBuilder = new VariableAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree accessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessLevelPropertyTree!= null):((accessLevelPropertyTree == null)||(!accessLevelPropertyTree.isLeaf())))) { + _other.accessLevel = this.accessLevel; + } + final PropertyTree userAccessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userAccessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userAccessLevelPropertyTree!= null):((userAccessLevelPropertyTree == null)||(!userAccessLevelPropertyTree.isLeaf())))) { + _other.userAccessLevel = this.userAccessLevel; + } + final PropertyTree minimumSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("minimumSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(minimumSamplingIntervalPropertyTree!= null):((minimumSamplingIntervalPropertyTree == null)||(!minimumSamplingIntervalPropertyTree.isLeaf())))) { + _other.minimumSamplingInterval = this.minimumSamplingInterval; + } + final PropertyTree historizingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historizing")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historizingPropertyTree!= null):((historizingPropertyTree == null)||(!historizingPropertyTree.isLeaf())))) { + _other.historizing = this.historizing; + } + } + + @Override + public<_B >VariableAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new VariableAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public VariableAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >VariableAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableAttributes.Builder<_B> _newBuilder = new VariableAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >VariableAttributes.Builder<_B> copyOf(final VariableAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableAttributes.Builder<_B> _newBuilder = new VariableAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static VariableAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableAttributes.Builder copyExcept(final VariableAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static VariableAttributes.Builder copyOnly(final VariableAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Variant.Builder> value; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private Short accessLevel; + private Short userAccessLevel; + private Double minimumSamplingInterval; + private Boolean historizing; + + public Builder(final _B _parentBuilder, final VariableAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.accessLevel = _other.accessLevel; + this.userAccessLevel = _other.userAccessLevel; + this.minimumSamplingInterval = _other.minimumSamplingInterval; + this.historizing = _other.historizing; + } + } + + public Builder(final _B _parentBuilder, final VariableAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree accessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessLevelPropertyTree!= null):((accessLevelPropertyTree == null)||(!accessLevelPropertyTree.isLeaf())))) { + this.accessLevel = _other.accessLevel; + } + final PropertyTree userAccessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userAccessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userAccessLevelPropertyTree!= null):((userAccessLevelPropertyTree == null)||(!userAccessLevelPropertyTree.isLeaf())))) { + this.userAccessLevel = _other.userAccessLevel; + } + final PropertyTree minimumSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("minimumSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(minimumSamplingIntervalPropertyTree!= null):((minimumSamplingIntervalPropertyTree == null)||(!minimumSamplingIntervalPropertyTree.isLeaf())))) { + this.minimumSamplingInterval = _other.minimumSamplingInterval; + } + final PropertyTree historizingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historizing")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historizingPropertyTree!= null):((historizingPropertyTree == null)||(!historizingPropertyTree.isLeaf())))) { + this.historizing = _other.historizing; + } + } + } + + protected<_P extends VariableAttributes >_P init(final _P _product) { + _product.value = ((this.value == null)?null:this.value.build()); + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.accessLevel = this.accessLevel; + _product.userAccessLevel = this.userAccessLevel; + _product.minimumSamplingInterval = this.minimumSamplingInterval; + _product.historizing = this.historizing; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public VariableAttributes.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public VariableAttributes.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public VariableAttributes.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public VariableAttributes.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessLevel" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param accessLevel + * Neuer Wert der Eigenschaft "accessLevel". + */ + public VariableAttributes.Builder<_B> withAccessLevel(final Short accessLevel) { + this.accessLevel = accessLevel; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userAccessLevel" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userAccessLevel + * Neuer Wert der Eigenschaft "userAccessLevel". + */ + public VariableAttributes.Builder<_B> withUserAccessLevel(final Short userAccessLevel) { + this.userAccessLevel = userAccessLevel; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "minimumSamplingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param minimumSamplingInterval + * Neuer Wert der Eigenschaft "minimumSamplingInterval". + */ + public VariableAttributes.Builder<_B> withMinimumSamplingInterval(final Double minimumSamplingInterval) { + this.minimumSamplingInterval = minimumSamplingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historizing" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param historizing + * Neuer Wert der Eigenschaft "historizing". + */ + public VariableAttributes.Builder<_B> withHistorizing(final Boolean historizing) { + this.historizing = historizing; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public VariableAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public VariableAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public VariableAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public VariableAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public VariableAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public VariableAttributes build() { + if (_storedValue == null) { + return this.init(new VariableAttributes()); + } else { + return ((VariableAttributes) _storedValue); + } + } + + public VariableAttributes.Builder<_B> copyOf(final VariableAttributes _other) { + _other.copyTo(this); + return this; + } + + public VariableAttributes.Builder<_B> copyOf(final VariableAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends VariableAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static VariableAttributes.Select _root() { + return new VariableAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private Variant.Selector> value = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> accessLevel = null; + private com.kscs.util.jaxb.Selector> userAccessLevel = null; + private com.kscs.util.jaxb.Selector> minimumSamplingInterval = null; + private com.kscs.util.jaxb.Selector> historizing = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.accessLevel!= null) { + products.put("accessLevel", this.accessLevel.init()); + } + if (this.userAccessLevel!= null) { + products.put("userAccessLevel", this.userAccessLevel.init()); + } + if (this.minimumSamplingInterval!= null) { + products.put("minimumSamplingInterval", this.minimumSamplingInterval.init()); + } + if (this.historizing!= null) { + products.put("historizing", this.historizing.init()); + } + return products; + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> accessLevel() { + return ((this.accessLevel == null)?this.accessLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "accessLevel"):this.accessLevel); + } + + public com.kscs.util.jaxb.Selector> userAccessLevel() { + return ((this.userAccessLevel == null)?this.userAccessLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "userAccessLevel"):this.userAccessLevel); + } + + public com.kscs.util.jaxb.Selector> minimumSamplingInterval() { + return ((this.minimumSamplingInterval == null)?this.minimumSamplingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "minimumSamplingInterval"):this.minimumSamplingInterval); + } + + public com.kscs.util.jaxb.Selector> historizing() { + return ((this.historizing == null)?this.historizing = new com.kscs.util.jaxb.Selector>(this._root, this, "historizing"):this.historizing); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableNode.java new file mode 100644 index 000000000..1c3e168ea --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableNode.java @@ -0,0 +1,936 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für VariableNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="VariableNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}InstanceNode">
+ *       <sequence>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="AccessLevel" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="UserAccessLevel" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="MinimumSamplingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Historizing" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="AccessLevelEx" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VariableNode", propOrder = { + "value", + "dataType", + "valueRank", + "arrayDimensions", + "accessLevel", + "userAccessLevel", + "minimumSamplingInterval", + "historizing", + "accessLevelEx" +}) +public class VariableNode + extends InstanceNode +{ + + @XmlElement(name = "Value") + protected Variant value; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElement(name = "AccessLevel") + @XmlSchemaType(name = "unsignedByte") + protected Short accessLevel; + @XmlElement(name = "UserAccessLevel") + @XmlSchemaType(name = "unsignedByte") + protected Short userAccessLevel; + @XmlElement(name = "MinimumSamplingInterval") + protected Double minimumSamplingInterval; + @XmlElement(name = "Historizing") + protected Boolean historizing; + @XmlElement(name = "AccessLevelEx") + @XmlSchemaType(name = "unsignedInt") + protected Long accessLevelEx; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der accessLevel-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getAccessLevel() { + return accessLevel; + } + + /** + * Legt den Wert der accessLevel-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setAccessLevel(Short value) { + this.accessLevel = value; + } + + /** + * Ruft den Wert der userAccessLevel-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getUserAccessLevel() { + return userAccessLevel; + } + + /** + * Legt den Wert der userAccessLevel-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setUserAccessLevel(Short value) { + this.userAccessLevel = value; + } + + /** + * Ruft den Wert der minimumSamplingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getMinimumSamplingInterval() { + return minimumSamplingInterval; + } + + /** + * Legt den Wert der minimumSamplingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setMinimumSamplingInterval(Double value) { + this.minimumSamplingInterval = value; + } + + /** + * Ruft den Wert der historizing-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isHistorizing() { + return historizing; + } + + /** + * Legt den Wert der historizing-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setHistorizing(Boolean value) { + this.historizing = value; + } + + /** + * Ruft den Wert der accessLevelEx-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAccessLevelEx() { + return accessLevelEx; + } + + /** + * Legt den Wert der accessLevelEx-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAccessLevelEx(Long value) { + this.accessLevelEx = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableNode.Builder<_B> _other) { + super.copyTo(_other); + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.accessLevel = this.accessLevel; + _other.userAccessLevel = this.userAccessLevel; + _other.minimumSamplingInterval = this.minimumSamplingInterval; + _other.historizing = this.historizing; + _other.accessLevelEx = this.accessLevelEx; + } + + @Override + public<_B >VariableNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new VariableNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public VariableNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static VariableNode.Builder builder() { + return new VariableNode.Builder(null, null, false); + } + + public static<_B >VariableNode.Builder<_B> copyOf(final Node _other) { + final VariableNode.Builder<_B> _newBuilder = new VariableNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >VariableNode.Builder<_B> copyOf(final InstanceNode _other) { + final VariableNode.Builder<_B> _newBuilder = new VariableNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >VariableNode.Builder<_B> copyOf(final VariableNode _other) { + final VariableNode.Builder<_B> _newBuilder = new VariableNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree accessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessLevelPropertyTree!= null):((accessLevelPropertyTree == null)||(!accessLevelPropertyTree.isLeaf())))) { + _other.accessLevel = this.accessLevel; + } + final PropertyTree userAccessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userAccessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userAccessLevelPropertyTree!= null):((userAccessLevelPropertyTree == null)||(!userAccessLevelPropertyTree.isLeaf())))) { + _other.userAccessLevel = this.userAccessLevel; + } + final PropertyTree minimumSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("minimumSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(minimumSamplingIntervalPropertyTree!= null):((minimumSamplingIntervalPropertyTree == null)||(!minimumSamplingIntervalPropertyTree.isLeaf())))) { + _other.minimumSamplingInterval = this.minimumSamplingInterval; + } + final PropertyTree historizingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historizing")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historizingPropertyTree!= null):((historizingPropertyTree == null)||(!historizingPropertyTree.isLeaf())))) { + _other.historizing = this.historizing; + } + final PropertyTree accessLevelExPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessLevelEx")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessLevelExPropertyTree!= null):((accessLevelExPropertyTree == null)||(!accessLevelExPropertyTree.isLeaf())))) { + _other.accessLevelEx = this.accessLevelEx; + } + } + + @Override + public<_B >VariableNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new VariableNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public VariableNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >VariableNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableNode.Builder<_B> _newBuilder = new VariableNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >VariableNode.Builder<_B> copyOf(final InstanceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableNode.Builder<_B> _newBuilder = new VariableNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >VariableNode.Builder<_B> copyOf(final VariableNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableNode.Builder<_B> _newBuilder = new VariableNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static VariableNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableNode.Builder copyExcept(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableNode.Builder copyExcept(final VariableNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static VariableNode.Builder copyOnly(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static VariableNode.Builder copyOnly(final VariableNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends InstanceNode.Builder<_B> + implements Buildable + { + + private Variant.Builder> value; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private Short accessLevel; + private Short userAccessLevel; + private Double minimumSamplingInterval; + private Boolean historizing; + private Long accessLevelEx; + + public Builder(final _B _parentBuilder, final VariableNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.accessLevel = _other.accessLevel; + this.userAccessLevel = _other.userAccessLevel; + this.minimumSamplingInterval = _other.minimumSamplingInterval; + this.historizing = _other.historizing; + this.accessLevelEx = _other.accessLevelEx; + } + } + + public Builder(final _B _parentBuilder, final VariableNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree accessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessLevelPropertyTree!= null):((accessLevelPropertyTree == null)||(!accessLevelPropertyTree.isLeaf())))) { + this.accessLevel = _other.accessLevel; + } + final PropertyTree userAccessLevelPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("userAccessLevel")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(userAccessLevelPropertyTree!= null):((userAccessLevelPropertyTree == null)||(!userAccessLevelPropertyTree.isLeaf())))) { + this.userAccessLevel = _other.userAccessLevel; + } + final PropertyTree minimumSamplingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("minimumSamplingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(minimumSamplingIntervalPropertyTree!= null):((minimumSamplingIntervalPropertyTree == null)||(!minimumSamplingIntervalPropertyTree.isLeaf())))) { + this.minimumSamplingInterval = _other.minimumSamplingInterval; + } + final PropertyTree historizingPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("historizing")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(historizingPropertyTree!= null):((historizingPropertyTree == null)||(!historizingPropertyTree.isLeaf())))) { + this.historizing = _other.historizing; + } + final PropertyTree accessLevelExPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("accessLevelEx")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(accessLevelExPropertyTree!= null):((accessLevelExPropertyTree == null)||(!accessLevelExPropertyTree.isLeaf())))) { + this.accessLevelEx = _other.accessLevelEx; + } + } + } + + protected<_P extends VariableNode >_P init(final _P _product) { + _product.value = ((this.value == null)?null:this.value.build()); + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.accessLevel = this.accessLevel; + _product.userAccessLevel = this.userAccessLevel; + _product.minimumSamplingInterval = this.minimumSamplingInterval; + _product.historizing = this.historizing; + _product.accessLevelEx = this.accessLevelEx; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public VariableNode.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public VariableNode.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public VariableNode.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public VariableNode.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessLevel" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param accessLevel + * Neuer Wert der Eigenschaft "accessLevel". + */ + public VariableNode.Builder<_B> withAccessLevel(final Short accessLevel) { + this.accessLevel = accessLevel; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userAccessLevel" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userAccessLevel + * Neuer Wert der Eigenschaft "userAccessLevel". + */ + public VariableNode.Builder<_B> withUserAccessLevel(final Short userAccessLevel) { + this.userAccessLevel = userAccessLevel; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "minimumSamplingInterval" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param minimumSamplingInterval + * Neuer Wert der Eigenschaft "minimumSamplingInterval". + */ + public VariableNode.Builder<_B> withMinimumSamplingInterval(final Double minimumSamplingInterval) { + this.minimumSamplingInterval = minimumSamplingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "historizing" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param historizing + * Neuer Wert der Eigenschaft "historizing". + */ + public VariableNode.Builder<_B> withHistorizing(final Boolean historizing) { + this.historizing = historizing; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessLevelEx" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param accessLevelEx + * Neuer Wert der Eigenschaft "accessLevelEx". + */ + public VariableNode.Builder<_B> withAccessLevelEx(final Long accessLevelEx) { + this.accessLevelEx = accessLevelEx; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public VariableNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public VariableNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public VariableNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public VariableNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public VariableNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public VariableNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public VariableNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public VariableNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public VariableNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public VariableNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public VariableNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public VariableNode build() { + if (_storedValue == null) { + return this.init(new VariableNode()); + } else { + return ((VariableNode) _storedValue); + } + } + + public VariableNode.Builder<_B> copyOf(final VariableNode _other) { + _other.copyTo(this); + return this; + } + + public VariableNode.Builder<_B> copyOf(final VariableNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends VariableNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static VariableNode.Select _root() { + return new VariableNode.Select(); + } + + } + + public static class Selector , TParent > + extends InstanceNode.Selector + { + + private Variant.Selector> value = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> accessLevel = null; + private com.kscs.util.jaxb.Selector> userAccessLevel = null; + private com.kscs.util.jaxb.Selector> minimumSamplingInterval = null; + private com.kscs.util.jaxb.Selector> historizing = null; + private com.kscs.util.jaxb.Selector> accessLevelEx = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.accessLevel!= null) { + products.put("accessLevel", this.accessLevel.init()); + } + if (this.userAccessLevel!= null) { + products.put("userAccessLevel", this.userAccessLevel.init()); + } + if (this.minimumSamplingInterval!= null) { + products.put("minimumSamplingInterval", this.minimumSamplingInterval.init()); + } + if (this.historizing!= null) { + products.put("historizing", this.historizing.init()); + } + if (this.accessLevelEx!= null) { + products.put("accessLevelEx", this.accessLevelEx.init()); + } + return products; + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> accessLevel() { + return ((this.accessLevel == null)?this.accessLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "accessLevel"):this.accessLevel); + } + + public com.kscs.util.jaxb.Selector> userAccessLevel() { + return ((this.userAccessLevel == null)?this.userAccessLevel = new com.kscs.util.jaxb.Selector>(this._root, this, "userAccessLevel"):this.userAccessLevel); + } + + public com.kscs.util.jaxb.Selector> minimumSamplingInterval() { + return ((this.minimumSamplingInterval == null)?this.minimumSamplingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "minimumSamplingInterval"):this.minimumSamplingInterval); + } + + public com.kscs.util.jaxb.Selector> historizing() { + return ((this.historizing == null)?this.historizing = new com.kscs.util.jaxb.Selector>(this._root, this, "historizing"):this.historizing); + } + + public com.kscs.util.jaxb.Selector> accessLevelEx() { + return ((this.accessLevelEx == null)?this.accessLevelEx = new com.kscs.util.jaxb.Selector>(this._root, this, "accessLevelEx"):this.accessLevelEx); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeAttributes.java new file mode 100644 index 000000000..87b9fd7c1 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeAttributes.java @@ -0,0 +1,594 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für VariableTypeAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="VariableTypeAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VariableTypeAttributes", propOrder = { + "value", + "dataType", + "valueRank", + "arrayDimensions", + "isAbstract" +}) +public class VariableTypeAttributes + extends NodeAttributes +{ + + @XmlElement(name = "Value") + protected Variant value; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableTypeAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.isAbstract = this.isAbstract; + } + + @Override + public<_B >VariableTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new VariableTypeAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public VariableTypeAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static VariableTypeAttributes.Builder builder() { + return new VariableTypeAttributes.Builder(null, null, false); + } + + public static<_B >VariableTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final VariableTypeAttributes.Builder<_B> _newBuilder = new VariableTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >VariableTypeAttributes.Builder<_B> copyOf(final VariableTypeAttributes _other) { + final VariableTypeAttributes.Builder<_B> _newBuilder = new VariableTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableTypeAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + } + + @Override + public<_B >VariableTypeAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new VariableTypeAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public VariableTypeAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >VariableTypeAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableTypeAttributes.Builder<_B> _newBuilder = new VariableTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >VariableTypeAttributes.Builder<_B> copyOf(final VariableTypeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableTypeAttributes.Builder<_B> _newBuilder = new VariableTypeAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static VariableTypeAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableTypeAttributes.Builder copyExcept(final VariableTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableTypeAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static VariableTypeAttributes.Builder copyOnly(final VariableTypeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Variant.Builder> value; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private Boolean isAbstract; + + public Builder(final _B _parentBuilder, final VariableTypeAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.isAbstract = _other.isAbstract; + } + } + + public Builder(final _B _parentBuilder, final VariableTypeAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + } + } + + protected<_P extends VariableTypeAttributes >_P init(final _P _product) { + _product.value = ((this.value == null)?null:this.value.build()); + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.isAbstract = this.isAbstract; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public VariableTypeAttributes.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public VariableTypeAttributes.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public VariableTypeAttributes.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public VariableTypeAttributes.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public VariableTypeAttributes.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public VariableTypeAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public VariableTypeAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public VariableTypeAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public VariableTypeAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public VariableTypeAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public VariableTypeAttributes build() { + if (_storedValue == null) { + return this.init(new VariableTypeAttributes()); + } else { + return ((VariableTypeAttributes) _storedValue); + } + } + + public VariableTypeAttributes.Builder<_B> copyOf(final VariableTypeAttributes _other) { + _other.copyTo(this); + return this; + } + + public VariableTypeAttributes.Builder<_B> copyOf(final VariableTypeAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends VariableTypeAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static VariableTypeAttributes.Select _root() { + return new VariableTypeAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private Variant.Selector> value = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> isAbstract = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + return products; + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeNode.java new file mode 100644 index 000000000..9bce463df --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/VariableTypeNode.java @@ -0,0 +1,692 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für VariableTypeNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="VariableTypeNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}TypeNode">
+ *       <sequence>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}Variant" minOccurs="0"/>
+ *         <element name="DataType" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="ValueRank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         <element name="ArrayDimensions" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfUInt32" minOccurs="0"/>
+ *         <element name="IsAbstract" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VariableTypeNode", propOrder = { + "value", + "dataType", + "valueRank", + "arrayDimensions", + "isAbstract" +}) +public class VariableTypeNode + extends TypeNode +{ + + @XmlElement(name = "Value") + protected Variant value; + @XmlElementRef(name = "DataType", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataType; + @XmlElement(name = "ValueRank") + protected Integer valueRank; + @XmlElementRef(name = "ArrayDimensions", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement arrayDimensions; + @XmlElement(name = "IsAbstract") + protected Boolean isAbstract; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Variant } + * + */ + public Variant getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Variant } + * + */ + public void setValue(Variant value) { + this.value = value; + } + + /** + * Ruft den Wert der dataType-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getDataType() { + return dataType; + } + + /** + * Legt den Wert der dataType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setDataType(JAXBElement value) { + this.dataType = value; + } + + /** + * Ruft den Wert der valueRank-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getValueRank() { + return valueRank; + } + + /** + * Legt den Wert der valueRank-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setValueRank(Integer value) { + this.valueRank = value; + } + + /** + * Ruft den Wert der arrayDimensions-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public JAXBElement getArrayDimensions() { + return arrayDimensions; + } + + /** + * Legt den Wert der arrayDimensions-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfUInt32 }{@code >} + * + */ + public void setArrayDimensions(JAXBElement value) { + this.arrayDimensions = value; + } + + /** + * Ruft den Wert der isAbstract-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIsAbstract() { + return isAbstract; + } + + /** + * Legt den Wert der isAbstract-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIsAbstract(Boolean value) { + this.isAbstract = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableTypeNode.Builder<_B> _other) { + super.copyTo(_other); + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other)); + _other.dataType = this.dataType; + _other.valueRank = this.valueRank; + _other.arrayDimensions = this.arrayDimensions; + _other.isAbstract = this.isAbstract; + } + + @Override + public<_B >VariableTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new VariableTypeNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public VariableTypeNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static VariableTypeNode.Builder builder() { + return new VariableTypeNode.Builder(null, null, false); + } + + public static<_B >VariableTypeNode.Builder<_B> copyOf(final Node _other) { + final VariableTypeNode.Builder<_B> _newBuilder = new VariableTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >VariableTypeNode.Builder<_B> copyOf(final TypeNode _other) { + final VariableTypeNode.Builder<_B> _newBuilder = new VariableTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >VariableTypeNode.Builder<_B> copyOf(final VariableTypeNode _other) { + final VariableTypeNode.Builder<_B> _newBuilder = new VariableTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final VariableTypeNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = ((this.value == null)?null:this.value.newCopyBuilder(_other, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + _other.dataType = this.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + _other.valueRank = this.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + _other.arrayDimensions = this.arrayDimensions; + } + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + _other.isAbstract = this.isAbstract; + } + } + + @Override + public<_B >VariableTypeNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new VariableTypeNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public VariableTypeNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >VariableTypeNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableTypeNode.Builder<_B> _newBuilder = new VariableTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >VariableTypeNode.Builder<_B> copyOf(final TypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableTypeNode.Builder<_B> _newBuilder = new VariableTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >VariableTypeNode.Builder<_B> copyOf(final VariableTypeNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final VariableTypeNode.Builder<_B> _newBuilder = new VariableTypeNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static VariableTypeNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableTypeNode.Builder copyExcept(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableTypeNode.Builder copyExcept(final VariableTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static VariableTypeNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static VariableTypeNode.Builder copyOnly(final TypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static VariableTypeNode.Builder copyOnly(final VariableTypeNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends TypeNode.Builder<_B> + implements Buildable + { + + private Variant.Builder> value; + private JAXBElement dataType; + private Integer valueRank; + private JAXBElement arrayDimensions; + private Boolean isAbstract; + + public Builder(final _B _parentBuilder, final VariableTypeNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this)); + this.dataType = _other.dataType; + this.valueRank = _other.valueRank; + this.arrayDimensions = _other.arrayDimensions; + this.isAbstract = _other.isAbstract; + } + } + + public Builder(final _B _parentBuilder, final VariableTypeNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = ((_other.value == null)?null:_other.value.newCopyBuilder(this, valuePropertyTree, _propertyTreeUse)); + } + final PropertyTree dataTypePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataType")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataTypePropertyTree!= null):((dataTypePropertyTree == null)||(!dataTypePropertyTree.isLeaf())))) { + this.dataType = _other.dataType; + } + final PropertyTree valueRankPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("valueRank")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valueRankPropertyTree!= null):((valueRankPropertyTree == null)||(!valueRankPropertyTree.isLeaf())))) { + this.valueRank = _other.valueRank; + } + final PropertyTree arrayDimensionsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("arrayDimensions")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(arrayDimensionsPropertyTree!= null):((arrayDimensionsPropertyTree == null)||(!arrayDimensionsPropertyTree.isLeaf())))) { + this.arrayDimensions = _other.arrayDimensions; + } + final PropertyTree isAbstractPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("isAbstract")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(isAbstractPropertyTree!= null):((isAbstractPropertyTree == null)||(!isAbstractPropertyTree.isLeaf())))) { + this.isAbstract = _other.isAbstract; + } + } + } + + protected<_P extends VariableTypeNode >_P init(final _P _product) { + _product.value = ((this.value == null)?null:this.value.build()); + _product.dataType = this.dataType; + _product.valueRank = this.valueRank; + _product.arrayDimensions = this.arrayDimensions; + _product.isAbstract = this.isAbstract; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public VariableTypeNode.Builder<_B> withValue(final Variant value) { + this.value = ((value == null)?null:new Variant.Builder>(this, value, false)); + return this; + } + + /** + * Erzeugt den vorhandenen Builder oder einen neuen "Builder" zum Zusammenbauen des + * Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + * + * @return + * Ein neuer "Builder" zum Zusammenbauen des Wertes der Eigenschaft "value". + * Mit {@link org.opcfoundation.ua._2008._02.types.Variant.Builder#end()} geht es + * zurück zum aktuellen Builder. + */ + public Variant.Builder> withValue() { + if (this.value!= null) { + return this.value; + } + return this.value = new Variant.Builder>(this, null, false); + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataType" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param dataType + * Neuer Wert der Eigenschaft "dataType". + */ + public VariableTypeNode.Builder<_B> withDataType(final JAXBElement dataType) { + this.dataType = dataType; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "valueRank" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param valueRank + * Neuer Wert der Eigenschaft "valueRank". + */ + public VariableTypeNode.Builder<_B> withValueRank(final Integer valueRank) { + this.valueRank = valueRank; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "arrayDimensions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param arrayDimensions + * Neuer Wert der Eigenschaft "arrayDimensions". + */ + public VariableTypeNode.Builder<_B> withArrayDimensions(final JAXBElement arrayDimensions) { + this.arrayDimensions = arrayDimensions; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "isAbstract" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param isAbstract + * Neuer Wert der Eigenschaft "isAbstract". + */ + public VariableTypeNode.Builder<_B> withIsAbstract(final Boolean isAbstract) { + this.isAbstract = isAbstract; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public VariableTypeNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public VariableTypeNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public VariableTypeNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public VariableTypeNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public VariableTypeNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public VariableTypeNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public VariableTypeNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public VariableTypeNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public VariableTypeNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public VariableTypeNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public VariableTypeNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public VariableTypeNode build() { + if (_storedValue == null) { + return this.init(new VariableTypeNode()); + } else { + return ((VariableTypeNode) _storedValue); + } + } + + public VariableTypeNode.Builder<_B> copyOf(final VariableTypeNode _other) { + _other.copyTo(this); + return this; + } + + public VariableTypeNode.Builder<_B> copyOf(final VariableTypeNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends VariableTypeNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static VariableTypeNode.Select _root() { + return new VariableTypeNode.Select(); + } + + } + + public static class Selector , TParent > + extends TypeNode.Selector + { + + private Variant.Selector> value = null; + private com.kscs.util.jaxb.Selector> dataType = null; + private com.kscs.util.jaxb.Selector> valueRank = null; + private com.kscs.util.jaxb.Selector> arrayDimensions = null; + private com.kscs.util.jaxb.Selector> isAbstract = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + if (this.dataType!= null) { + products.put("dataType", this.dataType.init()); + } + if (this.valueRank!= null) { + products.put("valueRank", this.valueRank.init()); + } + if (this.arrayDimensions!= null) { + products.put("arrayDimensions", this.arrayDimensions.init()); + } + if (this.isAbstract!= null) { + products.put("isAbstract", this.isAbstract.init()); + } + return products; + } + + public Variant.Selector> value() { + return ((this.value == null)?this.value = new Variant.Selector>(this._root, this, "value"):this.value); + } + + public com.kscs.util.jaxb.Selector> dataType() { + return ((this.dataType == null)?this.dataType = new com.kscs.util.jaxb.Selector>(this._root, this, "dataType"):this.dataType); + } + + public com.kscs.util.jaxb.Selector> valueRank() { + return ((this.valueRank == null)?this.valueRank = new com.kscs.util.jaxb.Selector>(this._root, this, "valueRank"):this.valueRank); + } + + public com.kscs.util.jaxb.Selector> arrayDimensions() { + return ((this.arrayDimensions == null)?this.arrayDimensions = new com.kscs.util.jaxb.Selector>(this._root, this, "arrayDimensions"):this.arrayDimensions); + } + + public com.kscs.util.jaxb.Selector> isAbstract() { + return ((this.isAbstract == null)?this.isAbstract = new com.kscs.util.jaxb.Selector>(this._root, this, "isAbstract"):this.isAbstract); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Variant.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Variant.java new file mode 100644 index 000000000..c90644304 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Variant.java @@ -0,0 +1,504 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; +import org.w3c.dom.Element; + + +/** + *

Java-Klasse für Variant complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Variant">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Value" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any processContents='lax' minOccurs="0"/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Variant", propOrder = { + "value" +}) +public class Variant { + + @XmlElementRef(name = "Value", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link Variant.Value }{@code >} + * + */ + public JAXBElement getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link Variant.Value }{@code >} + * + */ + public void setValue(JAXBElement value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Variant.Builder<_B> _other) { + _other.value = this.value; + } + + public<_B >Variant.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Variant.Builder<_B>(_parentBuilder, this, true); + } + + public Variant.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Variant.Builder builder() { + return new Variant.Builder(null, null, false); + } + + public static<_B >Variant.Builder<_B> copyOf(final Variant _other) { + final Variant.Builder<_B> _newBuilder = new Variant.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Variant.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + } + + public<_B >Variant.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Variant.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Variant.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Variant.Builder<_B> copyOf(final Variant _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Variant.Builder<_B> _newBuilder = new Variant.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Variant.Builder copyExcept(final Variant _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Variant.Builder copyOnly(final Variant _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Variant _storedValue; + private JAXBElement value; + + public Builder(final _B _parentBuilder, final Variant _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.value = _other.value; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Variant _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Variant >_P init(final _P _product) { + _product.value = this.value; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public Variant.Builder<_B> withValue(final JAXBElement value) { + this.value = value; + return this; + } + + @Override + public Variant build() { + if (_storedValue == null) { + return this.init(new Variant()); + } else { + return ((Variant) _storedValue); + } + } + + public Variant.Builder<_B> copyOf(final Variant _other) { + _other.copyTo(this); + return this; + } + + public Variant.Builder<_B> copyOf(final Variant.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Variant.Selector + { + + + Select() { + super(null, null, null); + } + + public static Variant.Select _root() { + return new Variant.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + } + + + /** + *

Java-Klasse für anonymous complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any processContents='lax' minOccurs="0"/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class Value { + + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Ruft den Wert der any-Eigenschaft ab. + * + * @return + * possible object is + * {@link Element } + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Legt den Wert der any-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Element } + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Variant.Value.Builder<_B> _other) { + } + + public<_B >Variant.Value.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Variant.Value.Builder<_B>(_parentBuilder, this, true); + } + + public Variant.Value.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Variant.Value.Builder builder() { + return new Variant.Value.Builder(null, null, false); + } + + public static<_B >Variant.Value.Builder<_B> copyOf(final Variant.Value _other) { + final Variant.Value.Builder<_B> _newBuilder = new Variant.Value.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Variant.Value.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >Variant.Value.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Variant.Value.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Variant.Value.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Variant.Value.Builder<_B> copyOf(final Variant.Value _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Variant.Value.Builder<_B> _newBuilder = new Variant.Value.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Variant.Value.Builder copyExcept(final Variant.Value _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Variant.Value.Builder copyOnly(final Variant.Value _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Variant.Value _storedValue; + private Object any; + + public Builder(final _B _parentBuilder, final Variant.Value _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Variant.Value _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Variant.Value >_P init(final _P _product) { + _product.any = this.any; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "any" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param any + * Neuer Wert der Eigenschaft "any". + */ + public Variant.Value.Builder<_B> withAny(final Object any) { + this.any = any; + return this; + } + + @Override + public Variant.Value build() { + if (_storedValue == null) { + return this.init(new Variant.Value()); + } else { + return ((Variant.Value) _storedValue); + } + } + + public Variant.Value.Builder<_B> copyOf(final Variant.Value _other) { + _other.copyTo(this); + return this; + } + + public Variant.Value.Builder<_B> copyOf(final Variant.Value.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Variant.Value.Selector + { + + + Select() { + super(null, null, null); + } + + public static Variant.Value.Select _root() { + return new Variant.Value.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> any = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.any!= null) { + products.put("any", this.any.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> any() { + return ((this.any == null)?this.any = new com.kscs.util.jaxb.Selector>(this._root, this, "any"):this.any); + } + + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Vector.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Vector.java new file mode 100644 index 000000000..891e8e567 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/Vector.java @@ -0,0 +1,201 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für Vector complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="Vector">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Vector") +@XmlSeeAlso({ + ThreeDVector.class +}) +public class Vector { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Vector.Builder<_B> _other) { + } + + public<_B >Vector.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new Vector.Builder<_B>(_parentBuilder, this, true); + } + + public Vector.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static Vector.Builder builder() { + return new Vector.Builder(null, null, false); + } + + public static<_B >Vector.Builder<_B> copyOf(final Vector _other) { + final Vector.Builder<_B> _newBuilder = new Vector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final Vector.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >Vector.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new Vector.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public Vector.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >Vector.Builder<_B> copyOf(final Vector _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final Vector.Builder<_B> _newBuilder = new Vector.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static Vector.Builder copyExcept(final Vector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static Vector.Builder copyOnly(final Vector _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final Vector _storedValue; + + public Builder(final _B _parentBuilder, final Vector _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final Vector _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends Vector >_P init(final _P _product) { + return _product; + } + + @Override + public Vector build() { + if (_storedValue == null) { + return this.init(new Vector()); + } else { + return ((Vector) _storedValue); + } + } + + public Vector.Builder<_B> copyOf(final Vector _other) { + _other.copyTo(this); + return this; + } + + public Vector.Builder<_B> copyOf(final Vector.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends Vector.Selector + { + + + Select() { + super(null, null, null); + } + + public static Vector.Select _root() { + return new Vector.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewAttributes.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewAttributes.java new file mode 100644 index 000000000..d4ce38028 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewAttributes.java @@ -0,0 +1,397 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ViewAttributes complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ViewAttributes">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeAttributes">
+ *       <sequence>
+ *         <element name="ContainsNoLoops" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="EventNotifier" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ViewAttributes", propOrder = { + "containsNoLoops", + "eventNotifier" +}) +public class ViewAttributes + extends NodeAttributes +{ + + @XmlElement(name = "ContainsNoLoops") + protected Boolean containsNoLoops; + @XmlElement(name = "EventNotifier") + @XmlSchemaType(name = "unsignedByte") + protected Short eventNotifier; + + /** + * Ruft den Wert der containsNoLoops-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isContainsNoLoops() { + return containsNoLoops; + } + + /** + * Legt den Wert der containsNoLoops-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setContainsNoLoops(Boolean value) { + this.containsNoLoops = value; + } + + /** + * Ruft den Wert der eventNotifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getEventNotifier() { + return eventNotifier; + } + + /** + * Legt den Wert der eventNotifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setEventNotifier(Short value) { + this.eventNotifier = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ViewAttributes.Builder<_B> _other) { + super.copyTo(_other); + _other.containsNoLoops = this.containsNoLoops; + _other.eventNotifier = this.eventNotifier; + } + + @Override + public<_B >ViewAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ViewAttributes.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ViewAttributes.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ViewAttributes.Builder builder() { + return new ViewAttributes.Builder(null, null, false); + } + + public static<_B >ViewAttributes.Builder<_B> copyOf(final NodeAttributes _other) { + final ViewAttributes.Builder<_B> _newBuilder = new ViewAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ViewAttributes.Builder<_B> copyOf(final ViewAttributes _other) { + final ViewAttributes.Builder<_B> _newBuilder = new ViewAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ViewAttributes.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree containsNoLoopsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("containsNoLoops")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(containsNoLoopsPropertyTree!= null):((containsNoLoopsPropertyTree == null)||(!containsNoLoopsPropertyTree.isLeaf())))) { + _other.containsNoLoops = this.containsNoLoops; + } + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + _other.eventNotifier = this.eventNotifier; + } + } + + @Override + public<_B >ViewAttributes.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ViewAttributes.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ViewAttributes.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ViewAttributes.Builder<_B> copyOf(final NodeAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ViewAttributes.Builder<_B> _newBuilder = new ViewAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ViewAttributes.Builder<_B> copyOf(final ViewAttributes _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ViewAttributes.Builder<_B> _newBuilder = new ViewAttributes.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ViewAttributes.Builder copyExcept(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ViewAttributes.Builder copyExcept(final ViewAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ViewAttributes.Builder copyOnly(final NodeAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ViewAttributes.Builder copyOnly(final ViewAttributes _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends NodeAttributes.Builder<_B> + implements Buildable + { + + private Boolean containsNoLoops; + private Short eventNotifier; + + public Builder(final _B _parentBuilder, final ViewAttributes _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.containsNoLoops = _other.containsNoLoops; + this.eventNotifier = _other.eventNotifier; + } + } + + public Builder(final _B _parentBuilder, final ViewAttributes _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree containsNoLoopsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("containsNoLoops")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(containsNoLoopsPropertyTree!= null):((containsNoLoopsPropertyTree == null)||(!containsNoLoopsPropertyTree.isLeaf())))) { + this.containsNoLoops = _other.containsNoLoops; + } + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + this.eventNotifier = _other.eventNotifier; + } + } + } + + protected<_P extends ViewAttributes >_P init(final _P _product) { + _product.containsNoLoops = this.containsNoLoops; + _product.eventNotifier = this.eventNotifier; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "containsNoLoops" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param containsNoLoops + * Neuer Wert der Eigenschaft "containsNoLoops". + */ + public ViewAttributes.Builder<_B> withContainsNoLoops(final Boolean containsNoLoops) { + this.containsNoLoops = containsNoLoops; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventNotifier" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventNotifier + * Neuer Wert der Eigenschaft "eventNotifier". + */ + public ViewAttributes.Builder<_B> withEventNotifier(final Short eventNotifier) { + this.eventNotifier = eventNotifier; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "specifiedAttributes" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param specifiedAttributes + * Neuer Wert der Eigenschaft "specifiedAttributes". + */ + @Override + public ViewAttributes.Builder<_B> withSpecifiedAttributes(final Long specifiedAttributes) { + super.withSpecifiedAttributes(specifiedAttributes); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ViewAttributes.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ViewAttributes.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ViewAttributes.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ViewAttributes.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + @Override + public ViewAttributes build() { + if (_storedValue == null) { + return this.init(new ViewAttributes()); + } else { + return ((ViewAttributes) _storedValue); + } + } + + public ViewAttributes.Builder<_B> copyOf(final ViewAttributes _other) { + _other.copyTo(this); + return this; + } + + public ViewAttributes.Builder<_B> copyOf(final ViewAttributes.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ViewAttributes.Selector + { + + + Select() { + super(null, null, null); + } + + public static ViewAttributes.Select _root() { + return new ViewAttributes.Select(); + } + + } + + public static class Selector , TParent > + extends NodeAttributes.Selector + { + + private com.kscs.util.jaxb.Selector> containsNoLoops = null; + private com.kscs.util.jaxb.Selector> eventNotifier = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.containsNoLoops!= null) { + products.put("containsNoLoops", this.containsNoLoops.init()); + } + if (this.eventNotifier!= null) { + products.put("eventNotifier", this.eventNotifier.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> containsNoLoops() { + return ((this.containsNoLoops == null)?this.containsNoLoops = new com.kscs.util.jaxb.Selector>(this._root, this, "containsNoLoops"):this.containsNoLoops); + } + + public com.kscs.util.jaxb.Selector> eventNotifier() { + return ((this.eventNotifier == null)?this.eventNotifier = new com.kscs.util.jaxb.Selector>(this._root, this, "eventNotifier"):this.eventNotifier); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewDescription.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewDescription.java new file mode 100644 index 000000000..967f7482b --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewDescription.java @@ -0,0 +1,385 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ViewDescription complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ViewDescription">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ViewId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="Timestamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="ViewVersion" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ViewDescription", propOrder = { + "viewId", + "timestamp", + "viewVersion" +}) +public class ViewDescription { + + @XmlElementRef(name = "ViewId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement viewId; + @XmlElement(name = "Timestamp") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar timestamp; + @XmlElement(name = "ViewVersion") + @XmlSchemaType(name = "unsignedInt") + protected Long viewVersion; + + /** + * Ruft den Wert der viewId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getViewId() { + return viewId; + } + + /** + * Legt den Wert der viewId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setViewId(JAXBElement value) { + this.viewId = value; + } + + /** + * Ruft den Wert der timestamp-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getTimestamp() { + return timestamp; + } + + /** + * Legt den Wert der timestamp-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setTimestamp(XMLGregorianCalendar value) { + this.timestamp = value; + } + + /** + * Ruft den Wert der viewVersion-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getViewVersion() { + return viewVersion; + } + + /** + * Legt den Wert der viewVersion-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setViewVersion(Long value) { + this.viewVersion = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ViewDescription.Builder<_B> _other) { + _other.viewId = this.viewId; + _other.timestamp = ((this.timestamp == null)?null:((XMLGregorianCalendar) this.timestamp.clone())); + _other.viewVersion = this.viewVersion; + } + + public<_B >ViewDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ViewDescription.Builder<_B>(_parentBuilder, this, true); + } + + public ViewDescription.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ViewDescription.Builder builder() { + return new ViewDescription.Builder(null, null, false); + } + + public static<_B >ViewDescription.Builder<_B> copyOf(final ViewDescription _other) { + final ViewDescription.Builder<_B> _newBuilder = new ViewDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ViewDescription.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree viewIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("viewId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewIdPropertyTree!= null):((viewIdPropertyTree == null)||(!viewIdPropertyTree.isLeaf())))) { + _other.viewId = this.viewId; + } + final PropertyTree timestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampPropertyTree!= null):((timestampPropertyTree == null)||(!timestampPropertyTree.isLeaf())))) { + _other.timestamp = ((this.timestamp == null)?null:((XMLGregorianCalendar) this.timestamp.clone())); + } + final PropertyTree viewVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("viewVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewVersionPropertyTree!= null):((viewVersionPropertyTree == null)||(!viewVersionPropertyTree.isLeaf())))) { + _other.viewVersion = this.viewVersion; + } + } + + public<_B >ViewDescription.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ViewDescription.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public ViewDescription.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ViewDescription.Builder<_B> copyOf(final ViewDescription _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ViewDescription.Builder<_B> _newBuilder = new ViewDescription.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ViewDescription.Builder copyExcept(final ViewDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ViewDescription.Builder copyOnly(final ViewDescription _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final ViewDescription _storedValue; + private JAXBElement viewId; + private XMLGregorianCalendar timestamp; + private Long viewVersion; + + public Builder(final _B _parentBuilder, final ViewDescription _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.viewId = _other.viewId; + this.timestamp = ((_other.timestamp == null)?null:((XMLGregorianCalendar) _other.timestamp.clone())); + this.viewVersion = _other.viewVersion; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final ViewDescription _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree viewIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("viewId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewIdPropertyTree!= null):((viewIdPropertyTree == null)||(!viewIdPropertyTree.isLeaf())))) { + this.viewId = _other.viewId; + } + final PropertyTree timestampPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("timestamp")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(timestampPropertyTree!= null):((timestampPropertyTree == null)||(!timestampPropertyTree.isLeaf())))) { + this.timestamp = ((_other.timestamp == null)?null:((XMLGregorianCalendar) _other.timestamp.clone())); + } + final PropertyTree viewVersionPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("viewVersion")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(viewVersionPropertyTree!= null):((viewVersionPropertyTree == null)||(!viewVersionPropertyTree.isLeaf())))) { + this.viewVersion = _other.viewVersion; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends ViewDescription >_P init(final _P _product) { + _product.viewId = this.viewId; + _product.timestamp = this.timestamp; + _product.viewVersion = this.viewVersion; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "viewId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param viewId + * Neuer Wert der Eigenschaft "viewId". + */ + public ViewDescription.Builder<_B> withViewId(final JAXBElement viewId) { + this.viewId = viewId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "timestamp" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param timestamp + * Neuer Wert der Eigenschaft "timestamp". + */ + public ViewDescription.Builder<_B> withTimestamp(final XMLGregorianCalendar timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "viewVersion" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param viewVersion + * Neuer Wert der Eigenschaft "viewVersion". + */ + public ViewDescription.Builder<_B> withViewVersion(final Long viewVersion) { + this.viewVersion = viewVersion; + return this; + } + + @Override + public ViewDescription build() { + if (_storedValue == null) { + return this.init(new ViewDescription()); + } else { + return ((ViewDescription) _storedValue); + } + } + + public ViewDescription.Builder<_B> copyOf(final ViewDescription _other) { + _other.copyTo(this); + return this; + } + + public ViewDescription.Builder<_B> copyOf(final ViewDescription.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ViewDescription.Selector + { + + + Select() { + super(null, null, null); + } + + public static ViewDescription.Select _root() { + return new ViewDescription.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> viewId = null; + private com.kscs.util.jaxb.Selector> timestamp = null; + private com.kscs.util.jaxb.Selector> viewVersion = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.viewId!= null) { + products.put("viewId", this.viewId.init()); + } + if (this.timestamp!= null) { + products.put("timestamp", this.timestamp.init()); + } + if (this.viewVersion!= null) { + products.put("viewVersion", this.viewVersion.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> viewId() { + return ((this.viewId == null)?this.viewId = new com.kscs.util.jaxb.Selector>(this._root, this, "viewId"):this.viewId); + } + + public com.kscs.util.jaxb.Selector> timestamp() { + return ((this.timestamp == null)?this.timestamp = new com.kscs.util.jaxb.Selector>(this._root, this, "timestamp"):this.timestamp); + } + + public com.kscs.util.jaxb.Selector> viewVersion() { + return ((this.viewVersion == null)?this.viewVersion = new com.kscs.util.jaxb.Selector>(this._root, this, "viewVersion"):this.viewVersion); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewNode.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewNode.java new file mode 100644 index 000000000..bd8d8ee16 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/ViewNode.java @@ -0,0 +1,495 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für ViewNode complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ViewNode">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}InstanceNode">
+ *       <sequence>
+ *         <element name="ContainsNoLoops" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="EventNotifier" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ViewNode", propOrder = { + "containsNoLoops", + "eventNotifier" +}) +public class ViewNode + extends InstanceNode +{ + + @XmlElement(name = "ContainsNoLoops") + protected Boolean containsNoLoops; + @XmlElement(name = "EventNotifier") + @XmlSchemaType(name = "unsignedByte") + protected Short eventNotifier; + + /** + * Ruft den Wert der containsNoLoops-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isContainsNoLoops() { + return containsNoLoops; + } + + /** + * Legt den Wert der containsNoLoops-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setContainsNoLoops(Boolean value) { + this.containsNoLoops = value; + } + + /** + * Ruft den Wert der eventNotifier-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getEventNotifier() { + return eventNotifier; + } + + /** + * Legt den Wert der eventNotifier-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setEventNotifier(Short value) { + this.eventNotifier = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ViewNode.Builder<_B> _other) { + super.copyTo(_other); + _other.containsNoLoops = this.containsNoLoops; + _other.eventNotifier = this.eventNotifier; + } + + @Override + public<_B >ViewNode.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new ViewNode.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public ViewNode.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static ViewNode.Builder builder() { + return new ViewNode.Builder(null, null, false); + } + + public static<_B >ViewNode.Builder<_B> copyOf(final Node _other) { + final ViewNode.Builder<_B> _newBuilder = new ViewNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ViewNode.Builder<_B> copyOf(final InstanceNode _other) { + final ViewNode.Builder<_B> _newBuilder = new ViewNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >ViewNode.Builder<_B> copyOf(final ViewNode _other) { + final ViewNode.Builder<_B> _newBuilder = new ViewNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final ViewNode.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree containsNoLoopsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("containsNoLoops")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(containsNoLoopsPropertyTree!= null):((containsNoLoopsPropertyTree == null)||(!containsNoLoopsPropertyTree.isLeaf())))) { + _other.containsNoLoops = this.containsNoLoops; + } + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + _other.eventNotifier = this.eventNotifier; + } + } + + @Override + public<_B >ViewNode.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new ViewNode.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public ViewNode.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >ViewNode.Builder<_B> copyOf(final Node _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ViewNode.Builder<_B> _newBuilder = new ViewNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ViewNode.Builder<_B> copyOf(final InstanceNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ViewNode.Builder<_B> _newBuilder = new ViewNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >ViewNode.Builder<_B> copyOf(final ViewNode _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final ViewNode.Builder<_B> _newBuilder = new ViewNode.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static ViewNode.Builder copyExcept(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ViewNode.Builder copyExcept(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ViewNode.Builder copyExcept(final ViewNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static ViewNode.Builder copyOnly(final Node _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ViewNode.Builder copyOnly(final InstanceNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static ViewNode.Builder copyOnly(final ViewNode _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends InstanceNode.Builder<_B> + implements Buildable + { + + private Boolean containsNoLoops; + private Short eventNotifier; + + public Builder(final _B _parentBuilder, final ViewNode _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.containsNoLoops = _other.containsNoLoops; + this.eventNotifier = _other.eventNotifier; + } + } + + public Builder(final _B _parentBuilder, final ViewNode _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree containsNoLoopsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("containsNoLoops")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(containsNoLoopsPropertyTree!= null):((containsNoLoopsPropertyTree == null)||(!containsNoLoopsPropertyTree.isLeaf())))) { + this.containsNoLoops = _other.containsNoLoops; + } + final PropertyTree eventNotifierPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("eventNotifier")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(eventNotifierPropertyTree!= null):((eventNotifierPropertyTree == null)||(!eventNotifierPropertyTree.isLeaf())))) { + this.eventNotifier = _other.eventNotifier; + } + } + } + + protected<_P extends ViewNode >_P init(final _P _product) { + _product.containsNoLoops = this.containsNoLoops; + _product.eventNotifier = this.eventNotifier; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "containsNoLoops" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param containsNoLoops + * Neuer Wert der Eigenschaft "containsNoLoops". + */ + public ViewNode.Builder<_B> withContainsNoLoops(final Boolean containsNoLoops) { + this.containsNoLoops = containsNoLoops; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "eventNotifier" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param eventNotifier + * Neuer Wert der Eigenschaft "eventNotifier". + */ + public ViewNode.Builder<_B> withEventNotifier(final Short eventNotifier) { + this.eventNotifier = eventNotifier; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + @Override + public ViewNode.Builder<_B> withNodeId(final JAXBElement nodeId) { + super.withNodeId(nodeId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeClass" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeClass + * Neuer Wert der Eigenschaft "nodeClass". + */ + @Override + public ViewNode.Builder<_B> withNodeClass(final NodeClass nodeClass) { + super.withNodeClass(nodeClass); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "browseName" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param browseName + * Neuer Wert der Eigenschaft "browseName". + */ + @Override + public ViewNode.Builder<_B> withBrowseName(final JAXBElement browseName) { + super.withBrowseName(browseName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "displayName" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param displayName + * Neuer Wert der Eigenschaft "displayName". + */ + @Override + public ViewNode.Builder<_B> withDisplayName(final JAXBElement displayName) { + super.withDisplayName(displayName); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "description" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param description + * Neuer Wert der Eigenschaft "description". + */ + @Override + public ViewNode.Builder<_B> withDescription(final JAXBElement description) { + super.withDescription(description); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "writeMask" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param writeMask + * Neuer Wert der Eigenschaft "writeMask". + */ + @Override + public ViewNode.Builder<_B> withWriteMask(final Long writeMask) { + super.withWriteMask(writeMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userWriteMask" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param userWriteMask + * Neuer Wert der Eigenschaft "userWriteMask". + */ + @Override + public ViewNode.Builder<_B> withUserWriteMask(final Long userWriteMask) { + super.withUserWriteMask(userWriteMask); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "rolePermissions" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param rolePermissions + * Neuer Wert der Eigenschaft "rolePermissions". + */ + @Override + public ViewNode.Builder<_B> withRolePermissions(final JAXBElement rolePermissions) { + super.withRolePermissions(rolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "userRolePermissions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param userRolePermissions + * Neuer Wert der Eigenschaft "userRolePermissions". + */ + @Override + public ViewNode.Builder<_B> withUserRolePermissions(final JAXBElement userRolePermissions) { + super.withUserRolePermissions(userRolePermissions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "accessRestrictions" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param accessRestrictions + * Neuer Wert der Eigenschaft "accessRestrictions". + */ + @Override + public ViewNode.Builder<_B> withAccessRestrictions(final Integer accessRestrictions) { + super.withAccessRestrictions(accessRestrictions); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "references" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param references + * Neuer Wert der Eigenschaft "references". + */ + @Override + public ViewNode.Builder<_B> withReferences(final JAXBElement references) { + super.withReferences(references); + return this; + } + + @Override + public ViewNode build() { + if (_storedValue == null) { + return this.init(new ViewNode()); + } else { + return ((ViewNode) _storedValue); + } + } + + public ViewNode.Builder<_B> copyOf(final ViewNode _other) { + _other.copyTo(this); + return this; + } + + public ViewNode.Builder<_B> copyOf(final ViewNode.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends ViewNode.Selector + { + + + Select() { + super(null, null, null); + } + + public static ViewNode.Select _root() { + return new ViewNode.Select(); + } + + } + + public static class Selector , TParent > + extends InstanceNode.Selector + { + + private com.kscs.util.jaxb.Selector> containsNoLoops = null; + private com.kscs.util.jaxb.Selector> eventNotifier = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.containsNoLoops!= null) { + products.put("containsNoLoops", this.containsNoLoops.init()); + } + if (this.eventNotifier!= null) { + products.put("eventNotifier", this.eventNotifier.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> containsNoLoops() { + return ((this.containsNoLoops == null)?this.containsNoLoops = new com.kscs.util.jaxb.Selector>(this._root, this, "containsNoLoops"):this.containsNoLoops); + } + + public com.kscs.util.jaxb.Selector> eventNotifier() { + return ((this.eventNotifier == null)?this.eventNotifier = new com.kscs.util.jaxb.Selector>(this._root, this, "eventNotifier"):this.eventNotifier); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteRequest.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteRequest.java new file mode 100644 index 000000000..d36f79bb8 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteRequest.java @@ -0,0 +1,320 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für WriteRequest complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="WriteRequest">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="RequestHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}RequestHeader" minOccurs="0"/>
+ *         <element name="NodesToWrite" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfWriteValue" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WriteRequest", propOrder = { + "requestHeader", + "nodesToWrite" +}) +public class WriteRequest { + + @XmlElementRef(name = "RequestHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement requestHeader; + @XmlElementRef(name = "NodesToWrite", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodesToWrite; + + /** + * Ruft den Wert der requestHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public JAXBElement getRequestHeader() { + return requestHeader; + } + + /** + * Legt den Wert der requestHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RequestHeader }{@code >} + * + */ + public void setRequestHeader(JAXBElement value) { + this.requestHeader = value; + } + + /** + * Ruft den Wert der nodesToWrite-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfWriteValue }{@code >} + * + */ + public JAXBElement getNodesToWrite() { + return nodesToWrite; + } + + /** + * Legt den Wert der nodesToWrite-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfWriteValue }{@code >} + * + */ + public void setNodesToWrite(JAXBElement value) { + this.nodesToWrite = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriteRequest.Builder<_B> _other) { + _other.requestHeader = this.requestHeader; + _other.nodesToWrite = this.nodesToWrite; + } + + public<_B >WriteRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new WriteRequest.Builder<_B>(_parentBuilder, this, true); + } + + public WriteRequest.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static WriteRequest.Builder builder() { + return new WriteRequest.Builder(null, null, false); + } + + public static<_B >WriteRequest.Builder<_B> copyOf(final WriteRequest _other) { + final WriteRequest.Builder<_B> _newBuilder = new WriteRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriteRequest.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + _other.requestHeader = this.requestHeader; + } + final PropertyTree nodesToWritePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToWrite")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToWritePropertyTree!= null):((nodesToWritePropertyTree == null)||(!nodesToWritePropertyTree.isLeaf())))) { + _other.nodesToWrite = this.nodesToWrite; + } + } + + public<_B >WriteRequest.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new WriteRequest.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public WriteRequest.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >WriteRequest.Builder<_B> copyOf(final WriteRequest _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriteRequest.Builder<_B> _newBuilder = new WriteRequest.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static WriteRequest.Builder copyExcept(final WriteRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriteRequest.Builder copyOnly(final WriteRequest _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final WriteRequest _storedValue; + private JAXBElement requestHeader; + private JAXBElement nodesToWrite; + + public Builder(final _B _parentBuilder, final WriteRequest _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.requestHeader = _other.requestHeader; + this.nodesToWrite = _other.nodesToWrite; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final WriteRequest _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree requestHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("requestHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(requestHeaderPropertyTree!= null):((requestHeaderPropertyTree == null)||(!requestHeaderPropertyTree.isLeaf())))) { + this.requestHeader = _other.requestHeader; + } + final PropertyTree nodesToWritePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodesToWrite")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodesToWritePropertyTree!= null):((nodesToWritePropertyTree == null)||(!nodesToWritePropertyTree.isLeaf())))) { + this.nodesToWrite = _other.nodesToWrite; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends WriteRequest >_P init(final _P _product) { + _product.requestHeader = this.requestHeader; + _product.nodesToWrite = this.nodesToWrite; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "requestHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param requestHeader + * Neuer Wert der Eigenschaft "requestHeader". + */ + public WriteRequest.Builder<_B> withRequestHeader(final JAXBElement requestHeader) { + this.requestHeader = requestHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodesToWrite" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param nodesToWrite + * Neuer Wert der Eigenschaft "nodesToWrite". + */ + public WriteRequest.Builder<_B> withNodesToWrite(final JAXBElement nodesToWrite) { + this.nodesToWrite = nodesToWrite; + return this; + } + + @Override + public WriteRequest build() { + if (_storedValue == null) { + return this.init(new WriteRequest()); + } else { + return ((WriteRequest) _storedValue); + } + } + + public WriteRequest.Builder<_B> copyOf(final WriteRequest _other) { + _other.copyTo(this); + return this; + } + + public WriteRequest.Builder<_B> copyOf(final WriteRequest.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends WriteRequest.Selector + { + + + Select() { + super(null, null, null); + } + + public static WriteRequest.Select _root() { + return new WriteRequest.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> requestHeader = null; + private com.kscs.util.jaxb.Selector> nodesToWrite = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.requestHeader!= null) { + products.put("requestHeader", this.requestHeader.init()); + } + if (this.nodesToWrite!= null) { + products.put("nodesToWrite", this.nodesToWrite.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> requestHeader() { + return ((this.requestHeader == null)?this.requestHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "requestHeader"):this.requestHeader); + } + + public com.kscs.util.jaxb.Selector> nodesToWrite() { + return ((this.nodesToWrite == null)?this.nodesToWrite = new com.kscs.util.jaxb.Selector>(this._root, this, "nodesToWrite"):this.nodesToWrite); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteResponse.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteResponse.java new file mode 100644 index 000000000..29d570eb9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteResponse.java @@ -0,0 +1,380 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für WriteResponse complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="WriteResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ResponseHeader" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ResponseHeader" minOccurs="0"/>
+ *         <element name="Results" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfStatusCode" minOccurs="0"/>
+ *         <element name="DiagnosticInfos" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDiagnosticInfo" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WriteResponse", propOrder = { + "responseHeader", + "results", + "diagnosticInfos" +}) +public class WriteResponse { + + @XmlElementRef(name = "ResponseHeader", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement responseHeader; + @XmlElementRef(name = "Results", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement results; + @XmlElementRef(name = "DiagnosticInfos", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement diagnosticInfos; + + /** + * Ruft den Wert der responseHeader-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public JAXBElement getResponseHeader() { + return responseHeader; + } + + /** + * Legt den Wert der responseHeader-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ResponseHeader }{@code >} + * + */ + public void setResponseHeader(JAXBElement value) { + this.responseHeader = value; + } + + /** + * Ruft den Wert der results-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public JAXBElement getResults() { + return results; + } + + /** + * Legt den Wert der results-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfStatusCode }{@code >} + * + */ + public void setResults(JAXBElement value) { + this.results = value; + } + + /** + * Ruft den Wert der diagnosticInfos-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public JAXBElement getDiagnosticInfos() { + return diagnosticInfos; + } + + /** + * Legt den Wert der diagnosticInfos-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDiagnosticInfo }{@code >} + * + */ + public void setDiagnosticInfos(JAXBElement value) { + this.diagnosticInfos = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriteResponse.Builder<_B> _other) { + _other.responseHeader = this.responseHeader; + _other.results = this.results; + _other.diagnosticInfos = this.diagnosticInfos; + } + + public<_B >WriteResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new WriteResponse.Builder<_B>(_parentBuilder, this, true); + } + + public WriteResponse.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static WriteResponse.Builder builder() { + return new WriteResponse.Builder(null, null, false); + } + + public static<_B >WriteResponse.Builder<_B> copyOf(final WriteResponse _other) { + final WriteResponse.Builder<_B> _newBuilder = new WriteResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriteResponse.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + _other.responseHeader = this.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + _other.results = this.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + _other.diagnosticInfos = this.diagnosticInfos; + } + } + + public<_B >WriteResponse.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new WriteResponse.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public WriteResponse.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >WriteResponse.Builder<_B> copyOf(final WriteResponse _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriteResponse.Builder<_B> _newBuilder = new WriteResponse.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static WriteResponse.Builder copyExcept(final WriteResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriteResponse.Builder copyOnly(final WriteResponse _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final WriteResponse _storedValue; + private JAXBElement responseHeader; + private JAXBElement results; + private JAXBElement diagnosticInfos; + + public Builder(final _B _parentBuilder, final WriteResponse _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.responseHeader = _other.responseHeader; + this.results = _other.results; + this.diagnosticInfos = _other.diagnosticInfos; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final WriteResponse _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree responseHeaderPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("responseHeader")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(responseHeaderPropertyTree!= null):((responseHeaderPropertyTree == null)||(!responseHeaderPropertyTree.isLeaf())))) { + this.responseHeader = _other.responseHeader; + } + final PropertyTree resultsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("results")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(resultsPropertyTree!= null):((resultsPropertyTree == null)||(!resultsPropertyTree.isLeaf())))) { + this.results = _other.results; + } + final PropertyTree diagnosticInfosPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("diagnosticInfos")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(diagnosticInfosPropertyTree!= null):((diagnosticInfosPropertyTree == null)||(!diagnosticInfosPropertyTree.isLeaf())))) { + this.diagnosticInfos = _other.diagnosticInfos; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends WriteResponse >_P init(final _P _product) { + _product.responseHeader = this.responseHeader; + _product.results = this.results; + _product.diagnosticInfos = this.diagnosticInfos; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "responseHeader" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param responseHeader + * Neuer Wert der Eigenschaft "responseHeader". + */ + public WriteResponse.Builder<_B> withResponseHeader(final JAXBElement responseHeader) { + this.responseHeader = responseHeader; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "results" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param results + * Neuer Wert der Eigenschaft "results". + */ + public WriteResponse.Builder<_B> withResults(final JAXBElement results) { + this.results = results; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "diagnosticInfos" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param diagnosticInfos + * Neuer Wert der Eigenschaft "diagnosticInfos". + */ + public WriteResponse.Builder<_B> withDiagnosticInfos(final JAXBElement diagnosticInfos) { + this.diagnosticInfos = diagnosticInfos; + return this; + } + + @Override + public WriteResponse build() { + if (_storedValue == null) { + return this.init(new WriteResponse()); + } else { + return ((WriteResponse) _storedValue); + } + } + + public WriteResponse.Builder<_B> copyOf(final WriteResponse _other) { + _other.copyTo(this); + return this; + } + + public WriteResponse.Builder<_B> copyOf(final WriteResponse.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends WriteResponse.Selector + { + + + Select() { + super(null, null, null); + } + + public static WriteResponse.Select _root() { + return new WriteResponse.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> responseHeader = null; + private com.kscs.util.jaxb.Selector> results = null; + private com.kscs.util.jaxb.Selector> diagnosticInfos = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.responseHeader!= null) { + products.put("responseHeader", this.responseHeader.init()); + } + if (this.results!= null) { + products.put("results", this.results.init()); + } + if (this.diagnosticInfos!= null) { + products.put("diagnosticInfos", this.diagnosticInfos.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> responseHeader() { + return ((this.responseHeader == null)?this.responseHeader = new com.kscs.util.jaxb.Selector>(this._root, this, "responseHeader"):this.responseHeader); + } + + public com.kscs.util.jaxb.Selector> results() { + return ((this.results == null)?this.results = new com.kscs.util.jaxb.Selector>(this._root, this, "results"):this.results); + } + + public com.kscs.util.jaxb.Selector> diagnosticInfos() { + return ((this.diagnosticInfos == null)?this.diagnosticInfos = new com.kscs.util.jaxb.Selector>(this._root, this, "diagnosticInfos"):this.diagnosticInfos); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteValue.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteValue.java new file mode 100644 index 000000000..3896d30a0 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriteValue.java @@ -0,0 +1,443 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für WriteValue complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="WriteValue">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="NodeId" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}NodeId" minOccurs="0"/>
+ *         <element name="AttributeId" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/>
+ *         <element name="IndexRange" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="Value" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}DataValue" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WriteValue", propOrder = { + "nodeId", + "attributeId", + "indexRange", + "value" +}) +public class WriteValue { + + @XmlElementRef(name = "NodeId", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement nodeId; + @XmlElement(name = "AttributeId") + @XmlSchemaType(name = "unsignedInt") + protected Long attributeId; + @XmlElementRef(name = "IndexRange", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement indexRange; + @XmlElementRef(name = "Value", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement value; + + /** + * Ruft den Wert der nodeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public JAXBElement getNodeId() { + return nodeId; + } + + /** + * Legt den Wert der nodeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link NodeId }{@code >} + * + */ + public void setNodeId(JAXBElement value) { + this.nodeId = value; + } + + /** + * Ruft den Wert der attributeId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Long } + * + */ + public Long getAttributeId() { + return attributeId; + } + + /** + * Legt den Wert der attributeId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Long } + * + */ + public void setAttributeId(Long value) { + this.attributeId = value; + } + + /** + * Ruft den Wert der indexRange-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getIndexRange() { + return indexRange; + } + + /** + * Legt den Wert der indexRange-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setIndexRange(JAXBElement value) { + this.indexRange = value; + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + */ + public JAXBElement getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link DataValue }{@code >} + * + */ + public void setValue(JAXBElement value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriteValue.Builder<_B> _other) { + _other.nodeId = this.nodeId; + _other.attributeId = this.attributeId; + _other.indexRange = this.indexRange; + _other.value = this.value; + } + + public<_B >WriteValue.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new WriteValue.Builder<_B>(_parentBuilder, this, true); + } + + public WriteValue.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static WriteValue.Builder builder() { + return new WriteValue.Builder(null, null, false); + } + + public static<_B >WriteValue.Builder<_B> copyOf(final WriteValue _other) { + final WriteValue.Builder<_B> _newBuilder = new WriteValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriteValue.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + _other.nodeId = this.nodeId; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + _other.attributeId = this.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + _other.indexRange = this.indexRange; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + } + + public<_B >WriteValue.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new WriteValue.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public WriteValue.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >WriteValue.Builder<_B> copyOf(final WriteValue _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriteValue.Builder<_B> _newBuilder = new WriteValue.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static WriteValue.Builder copyExcept(final WriteValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriteValue.Builder copyOnly(final WriteValue _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final WriteValue _storedValue; + private JAXBElement nodeId; + private Long attributeId; + private JAXBElement indexRange; + private JAXBElement value; + + public Builder(final _B _parentBuilder, final WriteValue _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.nodeId = _other.nodeId; + this.attributeId = _other.attributeId; + this.indexRange = _other.indexRange; + this.value = _other.value; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final WriteValue _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree nodeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("nodeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(nodeIdPropertyTree!= null):((nodeIdPropertyTree == null)||(!nodeIdPropertyTree.isLeaf())))) { + this.nodeId = _other.nodeId; + } + final PropertyTree attributeIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("attributeId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(attributeIdPropertyTree!= null):((attributeIdPropertyTree == null)||(!attributeIdPropertyTree.isLeaf())))) { + this.attributeId = _other.attributeId; + } + final PropertyTree indexRangePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("indexRange")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(indexRangePropertyTree!= null):((indexRangePropertyTree == null)||(!indexRangePropertyTree.isLeaf())))) { + this.indexRange = _other.indexRange; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends WriteValue >_P init(final _P _product) { + _product.nodeId = this.nodeId; + _product.attributeId = this.attributeId; + _product.indexRange = this.indexRange; + _product.value = this.value; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "nodeId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param nodeId + * Neuer Wert der Eigenschaft "nodeId". + */ + public WriteValue.Builder<_B> withNodeId(final JAXBElement nodeId) { + this.nodeId = nodeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "attributeId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param attributeId + * Neuer Wert der Eigenschaft "attributeId". + */ + public WriteValue.Builder<_B> withAttributeId(final Long attributeId) { + this.attributeId = attributeId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "indexRange" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param indexRange + * Neuer Wert der Eigenschaft "indexRange". + */ + public WriteValue.Builder<_B> withIndexRange(final JAXBElement indexRange) { + this.indexRange = indexRange; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public WriteValue.Builder<_B> withValue(final JAXBElement value) { + this.value = value; + return this; + } + + @Override + public WriteValue build() { + if (_storedValue == null) { + return this.init(new WriteValue()); + } else { + return ((WriteValue) _storedValue); + } + } + + public WriteValue.Builder<_B> copyOf(final WriteValue _other) { + _other.copyTo(this); + return this; + } + + public WriteValue.Builder<_B> copyOf(final WriteValue.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends WriteValue.Selector + { + + + Select() { + super(null, null, null); + } + + public static WriteValue.Select _root() { + return new WriteValue.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> nodeId = null; + private com.kscs.util.jaxb.Selector> attributeId = null; + private com.kscs.util.jaxb.Selector> indexRange = null; + private com.kscs.util.jaxb.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.nodeId!= null) { + products.put("nodeId", this.nodeId.init()); + } + if (this.attributeId!= null) { + products.put("attributeId", this.attributeId.init()); + } + if (this.indexRange!= null) { + products.put("indexRange", this.indexRange.init()); + } + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> nodeId() { + return ((this.nodeId == null)?this.nodeId = new com.kscs.util.jaxb.Selector>(this._root, this, "nodeId"):this.nodeId); + } + + public com.kscs.util.jaxb.Selector> attributeId() { + return ((this.attributeId == null)?this.attributeId = new com.kscs.util.jaxb.Selector>(this._root, this, "attributeId"):this.attributeId); + } + + public com.kscs.util.jaxb.Selector> indexRange() { + return ((this.indexRange == null)?this.indexRange = new com.kscs.util.jaxb.Selector>(this._root, this, "indexRange"):this.indexRange); + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupDataType.java new file mode 100644 index 000000000..05cb817a9 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupDataType.java @@ -0,0 +1,845 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für WriterGroupDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="WriterGroupDataType">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}PubSubGroupDataType">
+ *       <sequence>
+ *         <element name="WriterGroupId" type="{http://www.w3.org/2001/XMLSchema}unsignedShort" minOccurs="0"/>
+ *         <element name="PublishingInterval" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="KeepAliveTime" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Priority" type="{http://www.w3.org/2001/XMLSchema}unsignedByte" minOccurs="0"/>
+ *         <element name="LocaleIds" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfString" minOccurs="0"/>
+ *         <element name="HeaderLayoutUri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="TransportSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="MessageSettings" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ExtensionObject" minOccurs="0"/>
+ *         <element name="DataSetWriters" type="{http://opcfoundation.org/UA/2008/02/Types.xsd}ListOfDataSetWriterDataType" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WriterGroupDataType", propOrder = { + "writerGroupId", + "publishingInterval", + "keepAliveTime", + "priority", + "localeIds", + "headerLayoutUri", + "transportSettings", + "messageSettings", + "dataSetWriters" +}) +public class WriterGroupDataType + extends PubSubGroupDataType +{ + + @XmlElement(name = "WriterGroupId") + @XmlSchemaType(name = "unsignedShort") + protected Integer writerGroupId; + @XmlElement(name = "PublishingInterval") + protected Double publishingInterval; + @XmlElement(name = "KeepAliveTime") + protected Double keepAliveTime; + @XmlElement(name = "Priority") + @XmlSchemaType(name = "unsignedByte") + protected Short priority; + @XmlElementRef(name = "LocaleIds", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement localeIds; + @XmlElementRef(name = "HeaderLayoutUri", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement headerLayoutUri; + @XmlElementRef(name = "TransportSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement transportSettings; + @XmlElementRef(name = "MessageSettings", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement messageSettings; + @XmlElementRef(name = "DataSetWriters", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement dataSetWriters; + + /** + * Ruft den Wert der writerGroupId-Eigenschaft ab. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getWriterGroupId() { + return writerGroupId; + } + + /** + * Legt den Wert der writerGroupId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setWriterGroupId(Integer value) { + this.writerGroupId = value; + } + + /** + * Ruft den Wert der publishingInterval-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getPublishingInterval() { + return publishingInterval; + } + + /** + * Legt den Wert der publishingInterval-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setPublishingInterval(Double value) { + this.publishingInterval = value; + } + + /** + * Ruft den Wert der keepAliveTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getKeepAliveTime() { + return keepAliveTime; + } + + /** + * Legt den Wert der keepAliveTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setKeepAliveTime(Double value) { + this.keepAliveTime = value; + } + + /** + * Ruft den Wert der priority-Eigenschaft ab. + * + * @return + * possible object is + * {@link Short } + * + */ + public Short getPriority() { + return priority; + } + + /** + * Legt den Wert der priority-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Short } + * + */ + public void setPriority(Short value) { + this.priority = value; + } + + /** + * Ruft den Wert der localeIds-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public JAXBElement getLocaleIds() { + return localeIds; + } + + /** + * Legt den Wert der localeIds-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfString }{@code >} + * + */ + public void setLocaleIds(JAXBElement value) { + this.localeIds = value; + } + + /** + * Ruft den Wert der headerLayoutUri-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getHeaderLayoutUri() { + return headerLayoutUri; + } + + /** + * Legt den Wert der headerLayoutUri-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setHeaderLayoutUri(JAXBElement value) { + this.headerLayoutUri = value; + } + + /** + * Ruft den Wert der transportSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getTransportSettings() { + return transportSettings; + } + + /** + * Legt den Wert der transportSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setTransportSettings(JAXBElement value) { + this.transportSettings = value; + } + + /** + * Ruft den Wert der messageSettings-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public JAXBElement getMessageSettings() { + return messageSettings; + } + + /** + * Legt den Wert der messageSettings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ExtensionObject }{@code >} + * + */ + public void setMessageSettings(JAXBElement value) { + this.messageSettings = value; + } + + /** + * Ruft den Wert der dataSetWriters-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link ListOfDataSetWriterDataType }{@code >} + * + */ + public JAXBElement getDataSetWriters() { + return dataSetWriters; + } + + /** + * Legt den Wert der dataSetWriters-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link ListOfDataSetWriterDataType }{@code >} + * + */ + public void setDataSetWriters(JAXBElement value) { + this.dataSetWriters = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriterGroupDataType.Builder<_B> _other) { + super.copyTo(_other); + _other.writerGroupId = this.writerGroupId; + _other.publishingInterval = this.publishingInterval; + _other.keepAliveTime = this.keepAliveTime; + _other.priority = this.priority; + _other.localeIds = this.localeIds; + _other.headerLayoutUri = this.headerLayoutUri; + _other.transportSettings = this.transportSettings; + _other.messageSettings = this.messageSettings; + _other.dataSetWriters = this.dataSetWriters; + } + + @Override + public<_B >WriterGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new WriterGroupDataType.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public WriterGroupDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static WriterGroupDataType.Builder builder() { + return new WriterGroupDataType.Builder(null, null, false); + } + + public static<_B >WriterGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other) { + final WriterGroupDataType.Builder<_B> _newBuilder = new WriterGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >WriterGroupDataType.Builder<_B> copyOf(final WriterGroupDataType _other) { + final WriterGroupDataType.Builder<_B> _newBuilder = new WriterGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriterGroupDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree writerGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupIdPropertyTree!= null):((writerGroupIdPropertyTree == null)||(!writerGroupIdPropertyTree.isLeaf())))) { + _other.writerGroupId = this.writerGroupId; + } + final PropertyTree publishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalPropertyTree!= null):((publishingIntervalPropertyTree == null)||(!publishingIntervalPropertyTree.isLeaf())))) { + _other.publishingInterval = this.publishingInterval; + } + final PropertyTree keepAliveTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keepAliveTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keepAliveTimePropertyTree!= null):((keepAliveTimePropertyTree == null)||(!keepAliveTimePropertyTree.isLeaf())))) { + _other.keepAliveTime = this.keepAliveTime; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + _other.priority = this.priority; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + _other.localeIds = this.localeIds; + } + final PropertyTree headerLayoutUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("headerLayoutUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(headerLayoutUriPropertyTree!= null):((headerLayoutUriPropertyTree == null)||(!headerLayoutUriPropertyTree.isLeaf())))) { + _other.headerLayoutUri = this.headerLayoutUri; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + _other.transportSettings = this.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + _other.messageSettings = this.messageSettings; + } + final PropertyTree dataSetWritersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWritersPropertyTree!= null):((dataSetWritersPropertyTree == null)||(!dataSetWritersPropertyTree.isLeaf())))) { + _other.dataSetWriters = this.dataSetWriters; + } + } + + @Override + public<_B >WriterGroupDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new WriterGroupDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public WriterGroupDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >WriterGroupDataType.Builder<_B> copyOf(final PubSubGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriterGroupDataType.Builder<_B> _newBuilder = new WriterGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >WriterGroupDataType.Builder<_B> copyOf(final WriterGroupDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriterGroupDataType.Builder<_B> _newBuilder = new WriterGroupDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static WriterGroupDataType.Builder copyExcept(final PubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriterGroupDataType.Builder copyExcept(final WriterGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriterGroupDataType.Builder copyOnly(final PubSubGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static WriterGroupDataType.Builder copyOnly(final WriterGroupDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends PubSubGroupDataType.Builder<_B> + implements Buildable + { + + private Integer writerGroupId; + private Double publishingInterval; + private Double keepAliveTime; + private Short priority; + private JAXBElement localeIds; + private JAXBElement headerLayoutUri; + private JAXBElement transportSettings; + private JAXBElement messageSettings; + private JAXBElement dataSetWriters; + + public Builder(final _B _parentBuilder, final WriterGroupDataType _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.writerGroupId = _other.writerGroupId; + this.publishingInterval = _other.publishingInterval; + this.keepAliveTime = _other.keepAliveTime; + this.priority = _other.priority; + this.localeIds = _other.localeIds; + this.headerLayoutUri = _other.headerLayoutUri; + this.transportSettings = _other.transportSettings; + this.messageSettings = _other.messageSettings; + this.dataSetWriters = _other.dataSetWriters; + } + } + + public Builder(final _B _parentBuilder, final WriterGroupDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree writerGroupIdPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("writerGroupId")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(writerGroupIdPropertyTree!= null):((writerGroupIdPropertyTree == null)||(!writerGroupIdPropertyTree.isLeaf())))) { + this.writerGroupId = _other.writerGroupId; + } + final PropertyTree publishingIntervalPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("publishingInterval")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(publishingIntervalPropertyTree!= null):((publishingIntervalPropertyTree == null)||(!publishingIntervalPropertyTree.isLeaf())))) { + this.publishingInterval = _other.publishingInterval; + } + final PropertyTree keepAliveTimePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("keepAliveTime")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(keepAliveTimePropertyTree!= null):((keepAliveTimePropertyTree == null)||(!keepAliveTimePropertyTree.isLeaf())))) { + this.keepAliveTime = _other.keepAliveTime; + } + final PropertyTree priorityPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("priority")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(priorityPropertyTree!= null):((priorityPropertyTree == null)||(!priorityPropertyTree.isLeaf())))) { + this.priority = _other.priority; + } + final PropertyTree localeIdsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("localeIds")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(localeIdsPropertyTree!= null):((localeIdsPropertyTree == null)||(!localeIdsPropertyTree.isLeaf())))) { + this.localeIds = _other.localeIds; + } + final PropertyTree headerLayoutUriPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("headerLayoutUri")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(headerLayoutUriPropertyTree!= null):((headerLayoutUriPropertyTree == null)||(!headerLayoutUriPropertyTree.isLeaf())))) { + this.headerLayoutUri = _other.headerLayoutUri; + } + final PropertyTree transportSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("transportSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(transportSettingsPropertyTree!= null):((transportSettingsPropertyTree == null)||(!transportSettingsPropertyTree.isLeaf())))) { + this.transportSettings = _other.transportSettings; + } + final PropertyTree messageSettingsPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("messageSettings")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(messageSettingsPropertyTree!= null):((messageSettingsPropertyTree == null)||(!messageSettingsPropertyTree.isLeaf())))) { + this.messageSettings = _other.messageSettings; + } + final PropertyTree dataSetWritersPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("dataSetWriters")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(dataSetWritersPropertyTree!= null):((dataSetWritersPropertyTree == null)||(!dataSetWritersPropertyTree.isLeaf())))) { + this.dataSetWriters = _other.dataSetWriters; + } + } + } + + protected<_P extends WriterGroupDataType >_P init(final _P _product) { + _product.writerGroupId = this.writerGroupId; + _product.publishingInterval = this.publishingInterval; + _product.keepAliveTime = this.keepAliveTime; + _product.priority = this.priority; + _product.localeIds = this.localeIds; + _product.headerLayoutUri = this.headerLayoutUri; + _product.transportSettings = this.transportSettings; + _product.messageSettings = this.messageSettings; + _product.dataSetWriters = this.dataSetWriters; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "writerGroupId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param writerGroupId + * Neuer Wert der Eigenschaft "writerGroupId". + */ + public WriterGroupDataType.Builder<_B> withWriterGroupId(final Integer writerGroupId) { + this.writerGroupId = writerGroupId; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "publishingInterval" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param publishingInterval + * Neuer Wert der Eigenschaft "publishingInterval". + */ + public WriterGroupDataType.Builder<_B> withPublishingInterval(final Double publishingInterval) { + this.publishingInterval = publishingInterval; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "keepAliveTime" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param keepAliveTime + * Neuer Wert der Eigenschaft "keepAliveTime". + */ + public WriterGroupDataType.Builder<_B> withKeepAliveTime(final Double keepAliveTime) { + this.keepAliveTime = keepAliveTime; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "priority" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param priority + * Neuer Wert der Eigenschaft "priority". + */ + public WriterGroupDataType.Builder<_B> withPriority(final Short priority) { + this.priority = priority; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "localeIds" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param localeIds + * Neuer Wert der Eigenschaft "localeIds". + */ + public WriterGroupDataType.Builder<_B> withLocaleIds(final JAXBElement localeIds) { + this.localeIds = localeIds; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "headerLayoutUri" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param headerLayoutUri + * Neuer Wert der Eigenschaft "headerLayoutUri". + */ + public WriterGroupDataType.Builder<_B> withHeaderLayoutUri(final JAXBElement headerLayoutUri) { + this.headerLayoutUri = headerLayoutUri; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "transportSettings" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param transportSettings + * Neuer Wert der Eigenschaft "transportSettings". + */ + public WriterGroupDataType.Builder<_B> withTransportSettings(final JAXBElement transportSettings) { + this.transportSettings = transportSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "messageSettings" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param messageSettings + * Neuer Wert der Eigenschaft "messageSettings". + */ + public WriterGroupDataType.Builder<_B> withMessageSettings(final JAXBElement messageSettings) { + this.messageSettings = messageSettings; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "dataSetWriters" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param dataSetWriters + * Neuer Wert der Eigenschaft "dataSetWriters". + */ + public WriterGroupDataType.Builder<_B> withDataSetWriters(final JAXBElement dataSetWriters) { + this.dataSetWriters = dataSetWriters; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "name" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param name + * Neuer Wert der Eigenschaft "name". + */ + @Override + public WriterGroupDataType.Builder<_B> withName(final JAXBElement name) { + super.withName(name); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "enabled" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param enabled + * Neuer Wert der Eigenschaft "enabled". + */ + @Override + public WriterGroupDataType.Builder<_B> withEnabled(final Boolean enabled) { + super.withEnabled(enabled); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityMode" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityMode + * Neuer Wert der Eigenschaft "securityMode". + */ + @Override + public WriterGroupDataType.Builder<_B> withSecurityMode(final MessageSecurityMode securityMode) { + super.withSecurityMode(securityMode); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityGroupId" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param securityGroupId + * Neuer Wert der Eigenschaft "securityGroupId". + */ + @Override + public WriterGroupDataType.Builder<_B> withSecurityGroupId(final JAXBElement securityGroupId) { + super.withSecurityGroupId(securityGroupId); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "securityKeyServices" (Vorher zugewiesener + * Wert wird ersetzt) + * + * @param securityKeyServices + * Neuer Wert der Eigenschaft "securityKeyServices". + */ + @Override + public WriterGroupDataType.Builder<_B> withSecurityKeyServices(final JAXBElement securityKeyServices) { + super.withSecurityKeyServices(securityKeyServices); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "maxNetworkMessageSize" (Vorher + * zugewiesener Wert wird ersetzt) + * + * @param maxNetworkMessageSize + * Neuer Wert der Eigenschaft "maxNetworkMessageSize". + */ + @Override + public WriterGroupDataType.Builder<_B> withMaxNetworkMessageSize(final Long maxNetworkMessageSize) { + super.withMaxNetworkMessageSize(maxNetworkMessageSize); + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "groupProperties" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param groupProperties + * Neuer Wert der Eigenschaft "groupProperties". + */ + @Override + public WriterGroupDataType.Builder<_B> withGroupProperties(final JAXBElement groupProperties) { + super.withGroupProperties(groupProperties); + return this; + } + + @Override + public WriterGroupDataType build() { + if (_storedValue == null) { + return this.init(new WriterGroupDataType()); + } else { + return ((WriterGroupDataType) _storedValue); + } + } + + public WriterGroupDataType.Builder<_B> copyOf(final WriterGroupDataType _other) { + _other.copyTo(this); + return this; + } + + public WriterGroupDataType.Builder<_B> copyOf(final WriterGroupDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends WriterGroupDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static WriterGroupDataType.Select _root() { + return new WriterGroupDataType.Select(); + } + + } + + public static class Selector , TParent > + extends PubSubGroupDataType.Selector + { + + private com.kscs.util.jaxb.Selector> writerGroupId = null; + private com.kscs.util.jaxb.Selector> publishingInterval = null; + private com.kscs.util.jaxb.Selector> keepAliveTime = null; + private com.kscs.util.jaxb.Selector> priority = null; + private com.kscs.util.jaxb.Selector> localeIds = null; + private com.kscs.util.jaxb.Selector> headerLayoutUri = null; + private com.kscs.util.jaxb.Selector> transportSettings = null; + private com.kscs.util.jaxb.Selector> messageSettings = null; + private com.kscs.util.jaxb.Selector> dataSetWriters = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.writerGroupId!= null) { + products.put("writerGroupId", this.writerGroupId.init()); + } + if (this.publishingInterval!= null) { + products.put("publishingInterval", this.publishingInterval.init()); + } + if (this.keepAliveTime!= null) { + products.put("keepAliveTime", this.keepAliveTime.init()); + } + if (this.priority!= null) { + products.put("priority", this.priority.init()); + } + if (this.localeIds!= null) { + products.put("localeIds", this.localeIds.init()); + } + if (this.headerLayoutUri!= null) { + products.put("headerLayoutUri", this.headerLayoutUri.init()); + } + if (this.transportSettings!= null) { + products.put("transportSettings", this.transportSettings.init()); + } + if (this.messageSettings!= null) { + products.put("messageSettings", this.messageSettings.init()); + } + if (this.dataSetWriters!= null) { + products.put("dataSetWriters", this.dataSetWriters.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> writerGroupId() { + return ((this.writerGroupId == null)?this.writerGroupId = new com.kscs.util.jaxb.Selector>(this._root, this, "writerGroupId"):this.writerGroupId); + } + + public com.kscs.util.jaxb.Selector> publishingInterval() { + return ((this.publishingInterval == null)?this.publishingInterval = new com.kscs.util.jaxb.Selector>(this._root, this, "publishingInterval"):this.publishingInterval); + } + + public com.kscs.util.jaxb.Selector> keepAliveTime() { + return ((this.keepAliveTime == null)?this.keepAliveTime = new com.kscs.util.jaxb.Selector>(this._root, this, "keepAliveTime"):this.keepAliveTime); + } + + public com.kscs.util.jaxb.Selector> priority() { + return ((this.priority == null)?this.priority = new com.kscs.util.jaxb.Selector>(this._root, this, "priority"):this.priority); + } + + public com.kscs.util.jaxb.Selector> localeIds() { + return ((this.localeIds == null)?this.localeIds = new com.kscs.util.jaxb.Selector>(this._root, this, "localeIds"):this.localeIds); + } + + public com.kscs.util.jaxb.Selector> headerLayoutUri() { + return ((this.headerLayoutUri == null)?this.headerLayoutUri = new com.kscs.util.jaxb.Selector>(this._root, this, "headerLayoutUri"):this.headerLayoutUri); + } + + public com.kscs.util.jaxb.Selector> transportSettings() { + return ((this.transportSettings == null)?this.transportSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "transportSettings"):this.transportSettings); + } + + public com.kscs.util.jaxb.Selector> messageSettings() { + return ((this.messageSettings == null)?this.messageSettings = new com.kscs.util.jaxb.Selector>(this._root, this, "messageSettings"):this.messageSettings); + } + + public com.kscs.util.jaxb.Selector> dataSetWriters() { + return ((this.dataSetWriters == null)?this.dataSetWriters = new com.kscs.util.jaxb.Selector>(this._root, this, "dataSetWriters"):this.dataSetWriters); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupMessageDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupMessageDataType.java new file mode 100644 index 000000000..cac8f178e --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupMessageDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für WriterGroupMessageDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="WriterGroupMessageDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WriterGroupMessageDataType") +@XmlSeeAlso({ + UadpWriterGroupMessageDataType.class, + JsonWriterGroupMessageDataType.class +}) +public class WriterGroupMessageDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriterGroupMessageDataType.Builder<_B> _other) { + } + + public<_B >WriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new WriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true); + } + + public WriterGroupMessageDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static WriterGroupMessageDataType.Builder builder() { + return new WriterGroupMessageDataType.Builder(null, null, false); + } + + public static<_B >WriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other) { + final WriterGroupMessageDataType.Builder<_B> _newBuilder = new WriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriterGroupMessageDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >WriterGroupMessageDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new WriterGroupMessageDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public WriterGroupMessageDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >WriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriterGroupMessageDataType.Builder<_B> _newBuilder = new WriterGroupMessageDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static WriterGroupMessageDataType.Builder copyExcept(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriterGroupMessageDataType.Builder copyOnly(final WriterGroupMessageDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final WriterGroupMessageDataType _storedValue; + + public Builder(final _B _parentBuilder, final WriterGroupMessageDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final WriterGroupMessageDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends WriterGroupMessageDataType >_P init(final _P _product) { + return _product; + } + + @Override + public WriterGroupMessageDataType build() { + if (_storedValue == null) { + return this.init(new WriterGroupMessageDataType()); + } else { + return ((WriterGroupMessageDataType) _storedValue); + } + } + + public WriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType _other) { + _other.copyTo(this); + return this; + } + + public WriterGroupMessageDataType.Builder<_B> copyOf(final WriterGroupMessageDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends WriterGroupMessageDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static WriterGroupMessageDataType.Select _root() { + return new WriterGroupMessageDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupTransportDataType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupTransportDataType.java new file mode 100644 index 000000000..ec35dd1ef --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/WriterGroupTransportDataType.java @@ -0,0 +1,202 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für WriterGroupTransportDataType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="WriterGroupTransportDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WriterGroupTransportDataType") +@XmlSeeAlso({ + DatagramWriterGroupTransportDataType.class, + BrokerWriterGroupTransportDataType.class +}) +public class WriterGroupTransportDataType { + + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriterGroupTransportDataType.Builder<_B> _other) { + } + + public<_B >WriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new WriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true); + } + + public WriterGroupTransportDataType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static WriterGroupTransportDataType.Builder builder() { + return new WriterGroupTransportDataType.Builder(null, null, false); + } + + public static<_B >WriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other) { + final WriterGroupTransportDataType.Builder<_B> _newBuilder = new WriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final WriterGroupTransportDataType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + } + + public<_B >WriterGroupTransportDataType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new WriterGroupTransportDataType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public WriterGroupTransportDataType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >WriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final WriterGroupTransportDataType.Builder<_B> _newBuilder = new WriterGroupTransportDataType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static WriterGroupTransportDataType.Builder copyExcept(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static WriterGroupTransportDataType.Builder copyOnly(final WriterGroupTransportDataType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final WriterGroupTransportDataType _storedValue; + + public Builder(final _B _parentBuilder, final WriterGroupTransportDataType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final WriterGroupTransportDataType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends WriterGroupTransportDataType >_P init(final _P _product) { + return _product; + } + + @Override + public WriterGroupTransportDataType build() { + if (_storedValue == null) { + return this.init(new WriterGroupTransportDataType()); + } else { + return ((WriterGroupTransportDataType) _storedValue); + } + } + + public WriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType _other) { + _other.copyTo(this); + return this; + } + + public WriterGroupTransportDataType.Builder<_B> copyOf(final WriterGroupTransportDataType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends WriterGroupTransportDataType.Selector + { + + + Select() { + super(null, null, null); + } + + public static WriterGroupTransportDataType.Select _root() { + return new WriterGroupTransportDataType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + return products; + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/X509IdentityToken.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/X509IdentityToken.java new file mode 100644 index 000000000..496a33504 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/X509IdentityToken.java @@ -0,0 +1,283 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für X509IdentityToken complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="X509IdentityToken">
+ *   <complexContent>
+ *     <extension base="{http://opcfoundation.org/UA/2008/02/Types.xsd}UserIdentityToken">
+ *       <sequence>
+ *         <element name="CertificateData" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "X509IdentityToken", propOrder = { + "certificateData" +}) +public class X509IdentityToken + extends UserIdentityToken +{ + + @XmlElementRef(name = "CertificateData", namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", type = JAXBElement.class, required = false) + protected JAXBElement certificateData; + + /** + * Ruft den Wert der certificateData-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public JAXBElement getCertificateData() { + return certificateData; + } + + /** + * Legt den Wert der certificateData-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * + */ + public void setCertificateData(JAXBElement value) { + this.certificateData = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final X509IdentityToken.Builder<_B> _other) { + super.copyTo(_other); + _other.certificateData = this.certificateData; + } + + @Override + public<_B >X509IdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new X509IdentityToken.Builder<_B>(_parentBuilder, this, true); + } + + @Override + public X509IdentityToken.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static X509IdentityToken.Builder builder() { + return new X509IdentityToken.Builder(null, null, false); + } + + public static<_B >X509IdentityToken.Builder<_B> copyOf(final UserIdentityToken _other) { + final X509IdentityToken.Builder<_B> _newBuilder = new X509IdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + public static<_B >X509IdentityToken.Builder<_B> copyOf(final X509IdentityToken _other) { + final X509IdentityToken.Builder<_B> _newBuilder = new X509IdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final X509IdentityToken.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super.copyTo(_other, _propertyTree, _propertyTreeUse); + final PropertyTree certificateDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("certificateData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(certificateDataPropertyTree!= null):((certificateDataPropertyTree == null)||(!certificateDataPropertyTree.isLeaf())))) { + _other.certificateData = this.certificateData; + } + } + + @Override + public<_B >X509IdentityToken.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new X509IdentityToken.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + @Override + public X509IdentityToken.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >X509IdentityToken.Builder<_B> copyOf(final UserIdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final X509IdentityToken.Builder<_B> _newBuilder = new X509IdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static<_B >X509IdentityToken.Builder<_B> copyOf(final X509IdentityToken _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final X509IdentityToken.Builder<_B> _newBuilder = new X509IdentityToken.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static X509IdentityToken.Builder copyExcept(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static X509IdentityToken.Builder copyExcept(final X509IdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static X509IdentityToken.Builder copyOnly(final UserIdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static X509IdentityToken.Builder copyOnly(final X509IdentityToken _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B > + extends UserIdentityToken.Builder<_B> + implements Buildable + { + + private JAXBElement certificateData; + + public Builder(final _B _parentBuilder, final X509IdentityToken _other, final boolean _copy) { + super(_parentBuilder, _other, _copy); + if (_other!= null) { + this.certificateData = _other.certificateData; + } + } + + public Builder(final _B _parentBuilder, final X509IdentityToken _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + super(_parentBuilder, _other, _copy, _propertyTree, _propertyTreeUse); + if (_other!= null) { + final PropertyTree certificateDataPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("certificateData")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(certificateDataPropertyTree!= null):((certificateDataPropertyTree == null)||(!certificateDataPropertyTree.isLeaf())))) { + this.certificateData = _other.certificateData; + } + } + } + + protected<_P extends X509IdentityToken >_P init(final _P _product) { + _product.certificateData = this.certificateData; + return super.init(_product); + } + + /** + * Setzt den neuen Wert der Eigenschaft "certificateData" (Vorher zugewiesener Wert + * wird ersetzt) + * + * @param certificateData + * Neuer Wert der Eigenschaft "certificateData". + */ + public X509IdentityToken.Builder<_B> withCertificateData(final JAXBElement certificateData) { + this.certificateData = certificateData; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "policyId" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param policyId + * Neuer Wert der Eigenschaft "policyId". + */ + @Override + public X509IdentityToken.Builder<_B> withPolicyId(final JAXBElement policyId) { + super.withPolicyId(policyId); + return this; + } + + @Override + public X509IdentityToken build() { + if (_storedValue == null) { + return this.init(new X509IdentityToken()); + } else { + return ((X509IdentityToken) _storedValue); + } + } + + public X509IdentityToken.Builder<_B> copyOf(final X509IdentityToken _other) { + _other.copyTo(this); + return this; + } + + public X509IdentityToken.Builder<_B> copyOf(final X509IdentityToken.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends X509IdentityToken.Selector + { + + + Select() { + super(null, null, null); + } + + public static X509IdentityToken.Select _root() { + return new X509IdentityToken.Select(); + } + + } + + public static class Selector , TParent > + extends UserIdentityToken.Selector + { + + private com.kscs.util.jaxb.Selector> certificateData = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.certificateData!= null) { + products.put("certificateData", this.certificateData.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> certificateData() { + return ((this.certificateData == null)?this.certificateData = new com.kscs.util.jaxb.Selector>(this._root, this, "certificateData"):this.certificateData); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/XVType.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/XVType.java new file mode 100644 index 000000000..b3d30f567 --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/XVType.java @@ -0,0 +1,318 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + + +package org.opcfoundation.ua._2008._02.types; + +import java.util.HashMap; +import java.util.Map; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import com.kscs.util.jaxb.Buildable; +import com.kscs.util.jaxb.PropertyTree; +import com.kscs.util.jaxb.PropertyTreeUse; + + +/** + *

Java-Klasse für XVType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="XVType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="X" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
+ *         <element name="Value" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "XVType", propOrder = { + "x", + "value" +}) +public class XVType { + + @XmlElement(name = "X") + protected Double x; + @XmlElement(name = "Value") + protected Float value; + + /** + * Ruft den Wert der x-Eigenschaft ab. + * + * @return + * possible object is + * {@link Double } + * + */ + public Double getX() { + return x; + } + + /** + * Legt den Wert der x-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Double } + * + */ + public void setX(Double value) { + this.x = value; + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setValue(Float value) { + this.value = value; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final XVType.Builder<_B> _other) { + _other.x = this.x; + _other.value = this.value; + } + + public<_B >XVType.Builder<_B> newCopyBuilder(final _B _parentBuilder) { + return new XVType.Builder<_B>(_parentBuilder, this, true); + } + + public XVType.Builder newCopyBuilder() { + return newCopyBuilder(null); + } + + public static XVType.Builder builder() { + return new XVType.Builder(null, null, false); + } + + public static<_B >XVType.Builder<_B> copyOf(final XVType _other) { + final XVType.Builder<_B> _newBuilder = new XVType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder); + return _newBuilder; + } + + /** + * Copies all state of this object to a builder. This method is used by the {@link + * #copyOf} method and should not be called directly by client code. + * + * @param _other + * A builder instance to which the state of this object will be copied. + */ + public<_B >void copyTo(final XVType.Builder<_B> _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final PropertyTree xPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("x")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xPropertyTree!= null):((xPropertyTree == null)||(!xPropertyTree.isLeaf())))) { + _other.x = this.x; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + _other.value = this.value; + } + } + + public<_B >XVType.Builder<_B> newCopyBuilder(final _B _parentBuilder, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return new XVType.Builder<_B>(_parentBuilder, this, true, _propertyTree, _propertyTreeUse); + } + + public XVType.Builder newCopyBuilder(final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + return newCopyBuilder(null, _propertyTree, _propertyTreeUse); + } + + public static<_B >XVType.Builder<_B> copyOf(final XVType _other, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + final XVType.Builder<_B> _newBuilder = new XVType.Builder<_B>(null, null, false); + _other.copyTo(_newBuilder, _propertyTree, _propertyTreeUse); + return _newBuilder; + } + + public static XVType.Builder copyExcept(final XVType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.EXCLUDE); + } + + public static XVType.Builder copyOnly(final XVType _other, final PropertyTree _propertyTree) { + return copyOf(_other, _propertyTree, PropertyTreeUse.INCLUDE); + } + + public static class Builder<_B >implements Buildable + { + + protected final _B _parentBuilder; + protected final XVType _storedValue; + private Double x; + private Float value; + + public Builder(final _B _parentBuilder, final XVType _other, final boolean _copy) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + this.x = _other.x; + this.value = _other.value; + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public Builder(final _B _parentBuilder, final XVType _other, final boolean _copy, final PropertyTree _propertyTree, final PropertyTreeUse _propertyTreeUse) { + this._parentBuilder = _parentBuilder; + if (_other!= null) { + if (_copy) { + _storedValue = null; + final PropertyTree xPropertyTree = ((_propertyTree == null)?null:_propertyTree.get("x")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(xPropertyTree!= null):((xPropertyTree == null)||(!xPropertyTree.isLeaf())))) { + this.x = _other.x; + } + final PropertyTree valuePropertyTree = ((_propertyTree == null)?null:_propertyTree.get("value")); + if (((_propertyTreeUse == PropertyTreeUse.INCLUDE)?(valuePropertyTree!= null):((valuePropertyTree == null)||(!valuePropertyTree.isLeaf())))) { + this.value = _other.value; + } + } else { + _storedValue = _other; + } + } else { + _storedValue = null; + } + } + + public _B end() { + return this._parentBuilder; + } + + protected<_P extends XVType >_P init(final _P _product) { + _product.x = this.x; + _product.value = this.value; + return _product; + } + + /** + * Setzt den neuen Wert der Eigenschaft "x" (Vorher zugewiesener Wert wird ersetzt) + * + * @param x + * Neuer Wert der Eigenschaft "x". + */ + public XVType.Builder<_B> withX(final Double x) { + this.x = x; + return this; + } + + /** + * Setzt den neuen Wert der Eigenschaft "value" (Vorher zugewiesener Wert wird + * ersetzt) + * + * @param value + * Neuer Wert der Eigenschaft "value". + */ + public XVType.Builder<_B> withValue(final Float value) { + this.value = value; + return this; + } + + @Override + public XVType build() { + if (_storedValue == null) { + return this.init(new XVType()); + } else { + return ((XVType) _storedValue); + } + } + + public XVType.Builder<_B> copyOf(final XVType _other) { + _other.copyTo(this); + return this; + } + + public XVType.Builder<_B> copyOf(final XVType.Builder _other) { + return copyOf(_other.build()); + } + + } + + public static class Select + extends XVType.Selector + { + + + Select() { + super(null, null, null); + } + + public static XVType.Select _root() { + return new XVType.Select(); + } + + } + + public static class Selector , TParent > + extends com.kscs.util.jaxb.Selector + { + + private com.kscs.util.jaxb.Selector> x = null; + private com.kscs.util.jaxb.Selector> value = null; + + public Selector(final TRoot root, final TParent parent, final String propertyName) { + super(root, parent, propertyName); + } + + @Override + public Map buildChildren() { + final Map products = new HashMap(); + products.putAll(super.buildChildren()); + if (this.x!= null) { + products.put("x", this.x.init()); + } + if (this.value!= null) { + products.put("value", this.value.init()); + } + return products; + } + + public com.kscs.util.jaxb.Selector> x() { + return ((this.x == null)?this.x = new com.kscs.util.jaxb.Selector>(this._root, this, "x"):this.x); + } + + public com.kscs.util.jaxb.Selector> value() { + return ((this.value == null)?this.value = new com.kscs.util.jaxb.Selector>(this._root, this, "value"):this.value); + } + + } + +} diff --git a/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/package-info.java b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/package-info.java new file mode 100644 index 000000000..b4fcb70ba --- /dev/null +++ b/dataformat-uanodeset/src/main/java/org/opcfoundation/ua/_2008/_02/types/package-info.java @@ -0,0 +1,13 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert +// Siehe https://javaee.github.io/jaxb-v2/ +// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2021.07.19 um 12:09:30 PM CEST +// + +@javax.xml.bind.annotation.XmlSchema(namespace = "http://opcfoundation.org/UA/2008/02/Types.xsd", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = { + @javax.xml.bind.annotation.XmlNs( + prefix = "uax", + namespaceURI = "http://opcfoundation.org/UA/2008/02/Types.xsd")} +) +package org.opcfoundation.ua._2008._02.types; diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASExamples.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASExamples.java new file mode 100644 index 000000000..2d1ee4f52 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASExamples.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultIdentifier; +import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +public class AASExamples { + + private AASExamples() { + } + + private static final AssetAdministrationShell AAS_1 = new DefaultAssetAdministrationShell.Builder() + .idShort("aas_idshort") + .identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI) + .identifier("http://aas.org/example").build()) + .assetInformation(new DefaultAssetInformation.Builder().assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.ASSET) + .value("http://asset.org/example").idType(KeyType.IRI).build()).build()) + .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key("testkey").value("testvalue") + .externalSubjectId(new DefaultReference.Builder() + .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE) + .value("http://externalsubjectid.org/example").idType(KeyType.IRI).build()) + .build()) + .build()) + .defaultThumbnail(new DefaultFile.Builder().kind(ModelingKind.INSTANCE).idShort("thumbnail") + .mimeType("image/png").value("http://image.org/example.png").build()) + .build()) + .administration( + new DefaultAdministrativeInformation.Builder().version("1.0").revision("b") + .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder() + .dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION) + .value("http://dataspec.org/example").idType(KeyType.IRI).build()) + .build()) + .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.BOOLEAN) + .definition(new LangString("mydefinition", "en")).symbol("iec61360_symbol") + .build()) + .build()) + .build()) + .build(); + + public static final AssetAdministrationShellEnvironment AAS_ENV_1 = new DefaultAssetAdministrationShellEnvironment.Builder() + .assetAdministrationShells(AAS_1).build(); +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/DeserializerTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/DeserializerTest.java new file mode 100644 index 000000000..fb5c75b18 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/DeserializerTest.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.IOException; +import java.io.InputStream; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; + +public class DeserializerTest { + + @Test + public void testAASSimple() + throws SerializationException, IllegalArgumentException, IllegalAccessException, DeserializationException, IOException { + //arrange + I4AASDeserializer i4aasDeserializer = new I4AASDeserializer(); + try (InputStream testResourceAsStream = DeserializerTest.class.getResourceAsStream("/AASSimple_V3Draft.xml")) { + //act + AssetAdministrationShellEnvironment parsedResult = i4aasDeserializer.read(testResourceAsStream); + // TODO assert + Assert.assertNotNull(i4aasDeserializer); + } + } + +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/GeneratedExtensionObjectTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/GeneratedExtensionObjectTest.java new file mode 100644 index 000000000..8e9036cfe --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/GeneratedExtensionObjectTest.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.InputStream; +import java.util.List; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; + +import org.junit.Assert; +import org.junit.Test; +import org.opcfoundation.ua._2008._02.types.ExtensionObject; +import org.opcfoundation.ua._2008._02.types.ExtensionObject.Body; +import org.opcfoundation.ua._2008._02.types.ListOfExtensionObject; +import org.opcfoundation.ua._2008._02.types.ObjectFactory; +import org.opcfoundation.ua._2011._03.uanodeset.UANode; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable; +import org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Value; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyDataType; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyElementsDataType; +import org.opcfoundation.ua.i4aas.v3.types.AASKeyTypeDataType; +import org.w3c.dom.Node; + +/** + * + * test classes to review nested xml schema with appropriate namespaces + * + * @author br + * + */ +public class GeneratedExtensionObjectTest { + + @Test + public void testJAXBunmarshalling() throws JAXBException { + + //needed context to unmarshal down to the custom defined types + JAXBContext jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {UANodeSet.class, ListOfExtensionObject.class, AASKeyDataType.class}, null); + + InputStream resourceAsStream = GeneratedExtensionObjectTest.class + .getResourceAsStream("/AASSimple_V3Draft.xml"); + UANodeSet uanodeset = (UANodeSet) jaxbCtx.createUnmarshaller().unmarshal(resourceAsStream); + List uaObjectOrUAVariableOrUAMethod = uanodeset.getUAObjectOrUAVariableOrUAMethod(); + for (UANode uaNode : uaObjectOrUAVariableOrUAMethod) { + if (uaNode.getNodeId().equals("ns=1;i=162")) { + UAVariable uaNodeAsVar = (UAVariable) uaNode; + Object genericExtension = uaNodeAsVar.getValue().getAny(); + + Assert.assertEquals(javax.xml.bind.JAXBElement.class.getName(), genericExtension.getClass().getName()); + + JAXBElement asJaxb = (JAXBElement) genericExtension; + Object anyAASDataTypeKey = asJaxb.getValue().getExtensionObject().get(0).getBody().getValue().getAny(); + + Assert.assertTrue(anyAASDataTypeKey instanceof Node); + + JAXBElement aasKey = jaxbCtx.createUnmarshaller().unmarshal((Node) anyAASDataTypeKey, AASKeyDataType.class); + + Assert.assertEquals(AASKeyTypeDataType.IRI_4, aasKey.getValue().getIdType()); + } + } + } + + @Test + public void testJAXBmarshalling() throws JAXBException { + + //needed context to unmarshal down to the custom defined types + JAXBContext jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {UANodeSet.class, ListOfExtensionObject.class, AASKeyDataType.class}, null); + + + UANodeSet uaNodeSet = new UANodeSet(); + UAVariable uaVarWithAASKey = new UAVariable(); + Value valueWithExtension = new Value(); + + //create extension wrapper + ObjectFactory extensionObjectFactory = new ObjectFactory(); + ListOfExtensionObject anyListOfExtensionObject = new ListOfExtensionObject(); + anyListOfExtensionObject.getExtensionObject().add(new ExtensionObject()); + Body body = new Body(); + + //build custom type AAS Key + org.opcfoundation.ua.i4aas.v3.types.ObjectFactory i4aasTypesObjectFactory = new org.opcfoundation.ua.i4aas.v3.types.ObjectFactory(); + AASKeyDataType aasKey = new AASKeyDataType(); + aasKey.setIdType(AASKeyTypeDataType.ID_SHORT_0); + aasKey.setType(AASKeyElementsDataType.ACCESS_PERMISSION_RULE_0); + aasKey.setValue("mykey"); + JAXBElement jaxbAASKeyDataType = i4aasTypesObjectFactory.createAASKeyDataType(aasKey); + + //assembly + body.setAny(jaxbAASKeyDataType); + JAXBElement jaxbElementBody = extensionObjectFactory.createExtensionObjectBody(body ); + anyListOfExtensionObject.getExtensionObject().get(0).setBody(jaxbElementBody); + + JAXBElement createListOfExtensionObject = extensionObjectFactory.createListOfExtensionObject(anyListOfExtensionObject); + //new JAXBElement() + + + valueWithExtension.setAny(createListOfExtensionObject ); + + uaVarWithAASKey.setValue(valueWithExtension ); + uaNodeSet.getUAObjectOrUAVariableOrUAMethod().add(uaVarWithAASKey ); + Marshaller marshaller = jaxbCtx.createMarshaller(); + + marshaller.setProperty("jaxb.formatted.output", true); + marshaller.marshal(uaNodeSet, System.out); + } + + @Test + public void testJAXBmarshallingOnlyExtension() throws JAXBException { + + //needed context to unmarshal down to the custom defined types + JAXBContext jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {ListOfExtensionObject.class, AASKeyDataType.class}, null); + + + //create extension wrapper + ObjectFactory extensionObjectFactory = new ObjectFactory(); + ListOfExtensionObject anyListOfExtensionObject = new ListOfExtensionObject(); + anyListOfExtensionObject.getExtensionObject().add(new ExtensionObject()); + Body body = new Body(); + + //build custom type AAS Key + org.opcfoundation.ua.i4aas.v3.types.ObjectFactory i4aasTypesObjectFactory = new org.opcfoundation.ua.i4aas.v3.types.ObjectFactory(); + AASKeyDataType aasKey = new AASKeyDataType(); + aasKey.setIdType(AASKeyTypeDataType.ID_SHORT_0); + aasKey.setType(AASKeyElementsDataType.ACCESS_PERMISSION_RULE_0); + aasKey.setValue("mykey"); + JAXBElement jaxbAASKeyDataType = i4aasTypesObjectFactory.createAASKeyDataType(aasKey); + + //assembly + body.setAny(jaxbAASKeyDataType); + JAXBElement jaxbElementBody = extensionObjectFactory.createExtensionObjectBody(body ); + anyListOfExtensionObject.getExtensionObject().get(0).setBody(jaxbElementBody); + + JAXBElement createListOfExtensionObject = extensionObjectFactory.createListOfExtensionObject(anyListOfExtensionObject); + //new JAXBElement() + + Marshaller marshaller = jaxbCtx.createMarshaller(); + + marshaller.setProperty("jaxb.formatted.output", true); + marshaller.marshal(createListOfExtensionObject, System.out); + } + +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java new file mode 100644 index 000000000..29d7f9ec4 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java @@ -0,0 +1,279 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; +import java.util.ArrayList; +import java.util.List; + +import org.apache.jena.graph.Graph; +import org.apache.jena.shacl.ValidationReport; +import org.apache.jena.shacl.validation.ReportEntry; +import org.json.JSONException; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.skyscreamer.jsonassert.JSONAssert; +import org.skyscreamer.jsonassert.JSONCompareMode; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.dataformat.json.JsonSerializer; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetInformation; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.MultiLanguageProperty; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElementCollection; +import io.adminshell.aas.v3.model.impl.DefaultAsset; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; +import io.adminshell.aas.v3.model.impl.DefaultBlob; +import io.adminshell.aas.v3.model.impl.DefaultConceptDescription; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultIdentifier; +import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; +import io.adminshell.aas.v3.model.validator.ShaclValidator; +import io.adminshell.aas.v3.model.validator.ValidationException; + +public class IntegrationTests { + + private I4AASSerializer serializer; + private I4AASDeserializer deserializer; + + private AssetAdministrationShellEnvironment env; + private AssetAdministrationShell aas; + private Asset asset; + private Submodel sm; + private ConceptDescription cd; + + @Before + public void before() { + MappingContext.setModelNamespaceNamingStrategy(nodeset -> "http://example.org/IntegrationTest"); + serializer = new I4AASSerializer(); + deserializer = new I4AASDeserializer(); + + // test frame model + env = new DefaultAssetAdministrationShellEnvironment(); + aas = new DefaultAssetAdministrationShell(); + aas.setIdShort("aas"); + asset = new DefaultAsset(); + asset.setIdShort("asset"); + sm = new DefaultSubmodel(); + sm.setIdShort("sm"); + cd = new DefaultConceptDescription(); + cd.setIdShort("cd"); + cd.setIdentification(new DefaultIdentifier.Builder().identifier("mycd").idType(IdentifierType.CUSTOM).build()); + env.getAssetAdministrationShells().add(aas); + env.getAssets().add(asset); + env.getSubmodels().add(sm); + env.getConceptDescriptions().add(cd); + } + + @Test + public void testBlobWithSemantics() throws SerializationException, DeserializationException { + // ARRANGE + Blob blob = new DefaultBlob(); + blob.setMimeType("testmime"); + blob.setValue("testvalue".getBytes()); + blob.setIdShort("testblob"); + + blob.setSemanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().value("mySemanticId") + .type(KeyElements.CONCEPT_DESCRIPTION).idType(KeyType.CUSTOM).build()).build()); + + sm.getSubmodelElements().add(blob); + + // ACT + AssetAdministrationShellEnvironment result = inAndOut(); + + // ASSERT + Blob submodelElement = (Blob) result.getSubmodels().get(0).getSubmodelElements().get(0); + Assert.assertEquals(blob.getMimeType(), submodelElement.getMimeType()); + Assert.assertEquals(blob.getIdShort(), submodelElement.getIdShort()); + Assert.assertArrayEquals(blob.getValue(), submodelElement.getValue()); + + Assert.assertEquals("mySemanticId", submodelElement.getSemanticId().getKeys().get(0).getValue()); + Assert.assertEquals(KeyType.CUSTOM, submodelElement.getSemanticId().getKeys().get(0).getIdType()); + } + + @Test + public void testMultiLanguageProperty() throws SerializationException, DeserializationException { + // ARRANGE + MultiLanguageProperty defaultMultiLanguageProperty = new DefaultMultiLanguageProperty(); + defaultMultiLanguageProperty.setIdShort("mymultilang"); + + List values = new ArrayList<>(); + values.add(new LangString("delang", "de")); + values.add(new LangString("enlang", "en")); + defaultMultiLanguageProperty.setValues(values); + sm.getSubmodelElements().add(defaultMultiLanguageProperty); + + // ACT + AssetAdministrationShellEnvironment result = inAndOut(); + + // ASSERT + MultiLanguageProperty submodelElement = (MultiLanguageProperty) result.getSubmodels().get(0) + .getSubmodelElements().get(0); + Assert.assertEquals("de", submodelElement.getValues().get(0).getLanguage()); + Assert.assertEquals("delang", submodelElement.getValues().get(0).getValue()); + Assert.assertEquals("en", submodelElement.getValues().get(1).getLanguage()); + Assert.assertEquals("enlang", submodelElement.getValues().get(1).getValue()); + } + + @Test + public void testSMECollection() throws SerializationException, DeserializationException { + // ARRANGE + SubmodelElementCollection smec = new DefaultSubmodelElementCollection(); + smec.setIdShort("collection"); + smec.setAllowDuplicates(true); + smec.setOrdered(true); + + Blob blob = new DefaultBlob(); + blob.setMimeType("testmime"); + blob.setValue("testvalue".getBytes()); + blob.setIdShort("testblob"); + + smec.getValues().add(blob); + sm.getSubmodelElements().add(smec); + + // ACT + AssetAdministrationShellEnvironment result = inAndOut(); + + // ASSERT + SubmodelElementCollection submodelElement = (SubmodelElementCollection) result.getSubmodels().get(0) + .getSubmodelElements().get(0); + Assert.assertEquals(true, submodelElement.getAllowDuplicates()); + Assert.assertEquals(true, submodelElement.getOrdered()); + Object[] smecContent = submodelElement.getValues().toArray(); + Assert.assertEquals("testblob", ((Blob) smecContent[0]).getIdShort()); + + } + + @Test + public void testAssetInformation() throws SerializationException, DeserializationException { + // ARRANGE + DefaultAssetInformation defaultAssetInformation = new DefaultAssetInformation(); + defaultAssetInformation.setAssetKind(AssetKind.TYPE); + defaultAssetInformation.setDefaultThumbnail(new DefaultFile.Builder().value("/path/to/img.png").build()); + List list = new ArrayList<>(); + list.add(new DefaultIdentifierKeyValuePair.Builder().key("mykey").value("myvalue").build()); + defaultAssetInformation.setSpecificAssetIds(list); + aas.setAssetInformation(defaultAssetInformation); + + // ACT + AssetAdministrationShellEnvironment result = inAndOut(); + + // ASSERT + AssetInformation assetInformationResult = result.getAssetAdministrationShells().get(0).getAssetInformation(); + Assert.assertEquals(defaultAssetInformation.getAssetKind(), assetInformationResult.getAssetKind()); + Assert.assertEquals(defaultAssetInformation.getDefaultThumbnail().getValue(), + assetInformationResult.getDefaultThumbnail().getValue()); + Assert.assertEquals(defaultAssetInformation.getSpecificAssetIds().get(0).getKey(), + assetInformationResult.getSpecificAssetIds().get(0).getKey()); + } + + @Test + public void testConceptDescription() throws SerializationException, DeserializationException { + // ARRANGE + cd.setIdentification(new DefaultIdentifier.Builder().identifier("myCD").idType(IdentifierType.CUSTOM).build()); + cd.getIsCaseOfs().add(new DefaultReference.Builder().key(new DefaultKey.Builder().value("myCaseOfRef") + .type(KeyElements.CONCEPT_DESCRIPTION).idType(KeyType.CUSTOM).build()).build()); + + // ACT + AssetAdministrationShellEnvironment result = inAndOut(); + + // ASSERT + ConceptDescription conceptDescription = result.getConceptDescriptions().get(0); + Assert.assertEquals(cd.getIdentification(), conceptDescription.getIdentification()); + Assert.assertEquals(cd.getIsCaseOfs().get(0).getKeys().get(0).getValue(), + conceptDescription.getIsCaseOfs().get(0).getKeys().get(0).getValue()); + } + + @Test + public void testAASFull() + throws SerializationException, DeserializationException, ValidationException, IOException { + // ARRANGE + ShaclValidator.getInstance().validate(AASFull.ENVIRONMENT); + + Assert.assertEquals(4, AASFull.ENVIRONMENT.getAssetAdministrationShells().size()); + Assert.assertEquals(7, AASFull.ENVIRONMENT.getSubmodels().size()); + Assert.assertEquals(4, AASFull.ENVIRONMENT.getConceptDescriptions().size()); + + // ACT + serializer = new I4AASSerializer(false); // false = do not add semanticIds automaitcally to concept description + deserializer = new I4AASDeserializer(); + AssetAdministrationShellEnvironment result = deserializer.read(serializer.write(AASFull.ENVIRONMENT)); + + // ASSERT + Assert.assertEquals(4, result.getAssetAdministrationShells().size()); + Assert.assertEquals(7, result.getSubmodels().size()); + Assert.assertEquals(4, result.getConceptDescriptions().size()); + ValidationReport validateGetReport = ShaclValidator.getInstance().validateGetReport(result); + for (ReportEntry reportEntry : validateGetReport.getEntries()) { + if ("".equals(reportEntry.resultPath().toString())) { + //observed currently not supported + continue; + } + Assert.fail(reportEntry.toString()); + } + } + + @Test + @Ignore(value = "highly dependent on other json dependencies, just used for manual comparison if json serializer is seen as complete reference implementation") + public void testAASFullwithJsonCompare() + throws SerializationException, DeserializationException, JSONException, IOException { + // ARRANGE + String expected = new JsonSerializer().write(AASFull.ENVIRONMENT); + Files.writeString(Paths.get("./jsonExpected.json"), expected, StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING); + + AssetAdministrationShellEnvironment result = deserializer.read(serializer.write(AASFull.ENVIRONMENT)); + + String actual = new JsonSerializer().write(result); + Files.writeString(Paths.get("./jsonActual.json"), actual, StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING); + + JSONAssert.assertEquals(expected, actual, JSONCompareMode.LENIENT); + } + + public AssetAdministrationShellEnvironment inAndOut() throws SerializationException, DeserializationException { + AssetAdministrationShellEnvironment out = deserializer.read(serializer.write(env)); + return out; + } + +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java new file mode 100644 index 000000000..d1c564f3a --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; + +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASMapper; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; + +public class SerializerTest { + + @BeforeClass + public static void before() { + MappingContext.setModelNamespaceNamingStrategy(nodeset -> "http://example.org/SerializerTest"); + I4AASMapper.CHECK_NS_INTERN_REFERENCES_ATTACHED = true; + } + + @Test + public void testEmpty() throws SerializationException { + I4AASSerializer i4aasSerializer = new I4AASSerializer(); + String write = i4aasSerializer.write(new DefaultAssetAdministrationShellEnvironment()); + } + + @Test + public void testSimple() throws SerializationException, IllegalArgumentException, IllegalAccessException { + I4AASSerializer i4aasSerializer = new I4AASSerializer(); + String write = i4aasSerializer.write(AASSimple.ENVIRONMENT); + for (String toCheck : getContainedStrings(AASSimple.class)) { + if (toCheck.toLowerCase().contains("thumbnail")) { + //gets remapped to DefaultThumbnail + toCheck = "DefaultThumbnail"; + } + if (toCheck.equals("integer") || toCheck.equals("langString")) { + //ignore, gets mapped to enum index values + continue; + } + Assert.assertTrue("contains " + toCheck, write.contains(toCheck)); + } + System.out.println(write); + } + + @Test + public void testSimpleToFile() throws SerializationException, IOException { + Path createTempFile = Files.createTempFile("testSimpleToFile", ".xml"); + I4AASSerializer i4aasSerializer = new I4AASSerializer(); + i4aasSerializer.write(createTempFile.toFile(), AASSimple.ENVIRONMENT); + } + + @Test + public void testFull() throws SerializationException { + I4AASSerializer i4aasSerializer = new I4AASSerializer(); + String write = i4aasSerializer.write(AASFull.ENVIRONMENT); + } + + private static List getContainedStrings(Class testModelClass) throws IllegalArgumentException, IllegalAccessException { + List results = new ArrayList<>(); + for (Field field : AASSimple.class.getDeclaredFields()) { + field.setAccessible(true); + if (field.getType() == String.class) { + Object object = field.get(null); + results.add((String) object); + } + } + return results; + } +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/TestUANodeset.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/TestUANodeset.java new file mode 100644 index 000000000..0af7df852 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/TestUANodeset.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas; + +import java.io.InputStream; + +import javax.xml.bind.JAXBException; + +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; + +import io.adminshell.aas.v3.dataformat.i4aas.parsers.ParserContextTest; + +public class TestUANodeset { + + public static UANodeSet AAS_SIMPLE_V3_DRAFT; + + public static UANodeSet AAS_EXAMPLE_1; + + static { + AAS_SIMPLE_V3_DRAFT = readFromFile("/AASSimple_V3Draft.xml"); + + String i4aasString; + try { + i4aasString = new I4AASSerializer().write(AASExamples.AAS_ENV_1); + AAS_EXAMPLE_1 = readFromString(i4aasString); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static UANodeSet getAASSimpleV3Draft() { + return AAS_SIMPLE_V3_DRAFT; + } + + public static UANodeSet readFromFile(String name) { + try (InputStream testResourceAsStream = ParserContextTest.class.getResourceAsStream(name)) { + UANodeSet uaNodeSet = new UANodeSetUnmarshaller().unmarshall(testResourceAsStream); + return uaNodeSet; + } catch (Exception e) { + throw new IllegalArgumentException("test resource '" + name + "' is not available", e); + } + } + + + public static UANodeSet readFromString(String input) { + UANodeSet uaNodeSet = null; + try { + uaNodeSet = new UANodeSetUnmarshaller().unmarshall(input); + } catch (JAXBException e) { + e.printStackTrace(); + } + return uaNodeSet; + } +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java new file mode 100644 index 000000000..bee805044 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.mappers; + +import javax.xml.bind.JAXBException; + +import org.junit.Test; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; +import org.opcfoundation.ua._2011._03.uanodeset.UAObject; + +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.dataformat.i4aas.UANodeSetMarshaller; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; + +public class SubmodelMapperTest { + + @Test + public void test() throws JAXBException { + SubmodelMapper tesling = new SubmodelMapper(AASSimple.SUBMODEL_DOCUMENTATION, new MappingContext(new DefaultAssetAdministrationShellEnvironment())); + UAObject map = tesling.map(); + UANodeSet nodeSet = tesling.ctx.getNodeSet(); + String marshallAsString = new UANodeSetMarshaller(nodeSet).marshallAsString(); + } + +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParserTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParserTest.java new file mode 100644 index 000000000..5bd9ab291 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/EnvironmentParserTest.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; + +import io.adminshell.aas.v3.dataformat.i4aas.TestUANodeset; +import io.adminshell.aas.v3.model.AdministrativeInformation; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.Reference; + +public class EnvironmentParserTest { + + @Test + public void testEnvironmentParser() { + ParserContext context = new ParserContext(TestUANodeset.getAASSimpleV3Draft()); + AssetAdministrationShellEnvironment aasEnv = new EnvironmentParser(context.getEnvironment(), context).parse(); + + // test referable + String aasIdShort = aasEnv.getAssetAdministrationShells().get(0).getIdShort(); + Assert.assertEquals("ExampleMotor", aasIdShort); + Assert.assertEquals("", aasEnv.getAssetAdministrationShells().get(0).getCategory()); + + // test identifiable + Assert.assertEquals("http://customer.com/aas/9175_7013_7091_9168", + aasEnv.getAssetAdministrationShells().get(0).getIdentification().getIdentifier()); + Assert.assertEquals(IdentifierType.IRI, + aasEnv.getAssetAdministrationShells().get(0).getIdentification().getIdType()); + } + + @Test + public void testAdministrativeParser() { + ParserContext context = new ParserContext(TestUANodeset.AAS_EXAMPLE_1); + AssetAdministrationShellEnvironment aasEnv = new EnvironmentParser(context.getEnvironment(), context).parse(); + + // test referable + AdministrativeInformation adminInfo = aasEnv.getAssetAdministrationShells().get(0).getAdministration(); + Assert.assertEquals("1.0", adminInfo.getVersion()); + Assert.assertEquals("b", adminInfo.getRevision()); + + Reference dataSpecification = adminInfo.getEmbeddedDataSpecifications().get(0).getDataSpecification(); + DataSpecificationContent dataSpecificationContent = adminInfo.getEmbeddedDataSpecifications().get(0) + .getDataSpecificationContent(); + + Assert.assertTrue(dataSpecificationContent instanceof DataSpecificationIEC61360); + Assert.assertEquals("http://dataspec.org/example", dataSpecification.getKeys().get(0).getValue()); + Assert.assertEquals("iec61360_symbol", ((DataSpecificationIEC61360) dataSpecificationContent).getSymbol()); + Assert.assertEquals("mydefinition", ((DataSpecificationIEC61360) dataSpecificationContent).getDefinitions().get(0).getValue()); + } + + @Test + public void testSubmodelReferenceParser() { + ParserContext context = new ParserContext(TestUANodeset.getAASSimpleV3Draft()); + AssetAdministrationShellEnvironment aasEnv = new EnvironmentParser(context.getEnvironment(), context).parse(); + + List smReferences = aasEnv.getAssetAdministrationShells().get(0).getSubmodels(); + Assert.assertEquals(3, smReferences.size()); + + Assert.assertNotNull(smReferences.get(0).getKeys().get(0).getValue()); + Assert.assertNotNull(smReferences.get(0).getKeys().get(0).getIdType()); + Assert.assertNotNull(smReferences.get(0).getKeys().get(0).getType()); + } +} diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContextTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContextTest.java new file mode 100644 index 000000000..9620de319 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/ParserContextTest.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import java.io.IOException; +import java.io.InputStream; + +import javax.xml.bind.JAXBException; + +import org.junit.Test; +import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet; + +import io.adminshell.aas.v3.dataformat.i4aas.UANodeSetUnmarshaller; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; + +public class ParserContextTest { + + @Test + public void testGetPreparsedEnvironment() throws IOException, JAXBException { + try (InputStream testResourceAsStream = ParserContextTest.class.getResourceAsStream("/AASSimple_V3Draft.xml")) { + UANodeSet uaNodeSet = new UANodeSetUnmarshaller().unmarshall(testResourceAsStream); + ParserContext parserContext = new ParserContext(uaNodeSet); + assertEquals(2, parserContext.getI4aasNsIdx()); + UANodeWrapper preparsedEnvironment = parserContext.getEnvironment(); + assertNotNull(preparsedEnvironment); + assertEquals("ns=1;i=1", preparsedEnvironment.getNodeId()); + assertEquals(4, preparsedEnvironment.getComponents().size()); + assertEquals(I4AASIdentifier.AASEnvironmentType, preparsedEnvironment.getType()); + assertFalse(preparsedEnvironment.getComponentsOfType(I4AASIdentifier.AASSubmodelType).isEmpty()); + } + + } + +} \ No newline at end of file diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolverTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolverTest.java new file mode 100644 index 000000000..789085569 --- /dev/null +++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/parsers/TypeResolverTest.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.i4aas.parsers; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.Optional; + +import org.junit.Test; + +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.BasicIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier; +import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier; + +public class TypeResolverTest { + + @Test + public void testGetBasicType() { + TypeResolver typeResolver = new TypeResolver(5); + Optional type = typeResolver.getType("i=" + UaIdentifier.FolderType.getId()); + assertFalse(type.isEmpty()); + assertTrue(UaIdentifier.FolderType == type.get()); + } + + @Test + public void testGetI4aasType() { + TypeResolver typeResolver = new TypeResolver(5); + Optional type = typeResolver.getType("ns=5;i=" + I4AASIdentifier.AASSubmodelType.getId()); + assertFalse(type.isEmpty()); + assertTrue(I4AASIdentifier.AASSubmodelType == type.get()); + } +} \ No newline at end of file diff --git a/dataformat-uanodeset/src/test/resources/AASSimple_V3Draft.xml b/dataformat-uanodeset/src/test/resources/AASSimple_V3Draft.xml new file mode 100644 index 000000000..68404f7d7 --- /dev/null +++ b/dataformat-uanodeset/src/test/resources/AASSimple_V3Draft.xml @@ -0,0 +1,2121 @@ + + + + http://example.org/SerializerTest + http://opcfoundation.org/UA/I4AAS/V3/ + + + + + + + + + i=1 + i=12 + i=13 + i=15 + i=21 + i=35 + i=40 + i=46 + i=47 + i=49 + i=61 + i=68 + i=256 + i=291 + i=17604 + i=17597 + ns=2;i=1002 + ns=2;i=1003 + ns=2;i=1004 + ns=2;i=1005 + ns=2;i=1006 + ns=2;i=1007 + ns=2;i=1008 + ns=2;i=1009 + ns=2;i=1010 + ns=2;i=1011 + ns=2;i=1012 + ns=2;i=1013 + ns=2;i=1014 + ns=2;i=1015 + ns=2;i=1016 + ns=2;i=1017 + ns=2;i=1018 + ns=2;i=1019 + ns=2;i=1020 + ns=2;i=1021 + ns=2;i=1022 + ns=2;i=1023 + ns=2;i=1024 + ns=2;i=1025 + ns=2;i=1026 + ns=2;i=1027 + ns=2;i=1028 + ns=2;i=1029 + ns=2;i=1030 + ns=2;i=1031 + ns=2;i=1032 + ns=2;i=1033 + ns=2;i=1034 + ns=2;i=1035 + ns=2;i=1036 + ns=2;i=1037 + ns=2;i=1038 + ns=2;i=1039 + ns=2;i=3002 + ns=2;i=3003 + ns=2;i=3004 + ns=2;i=3005 + ns=2;i=3006 + ns=2;i=3007 + ns=2;i=3008 + ns=2;i=3009 + ns=2;i=3010 + ns=2;i=3011 + ns=2;i=3012 + ns=2;i=3013 + ns=2;i=3014 + ns=2;i=3015 + ns=2;i=3016 + ns=2;i=5039 + + + AASEnvironment + + ns=2;i=1008 + i=85 + ns=1;i=84 + ns=1;i=108 + ns=1;i=137 + ns=1;i=153 + + + + Title + + ns=2;i=1025 + ns=1;i=3 + ns=1;i=4 + ns=1;i=7 + ns=1;i=8 + ns=1;i=16 + i=17594 + ns=1;i=120 + + + + Category + + i=68 + ns=1;i=2 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=2 + ns=1;i=5 + ns=1;i=6 + + + + Id + + i=68 + ns=1;i=4 + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + IdType + + i=68 + ns=1;i=4 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=2 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=2 + ns=1;i=9 + + + + Content_0 + + ns=2;i=1028 + ns=1;i=10 + ns=1;i=11 + ns=1;i=12 + ns=1;i=13 + ns=1;i=14 + ns=1;i=15 + ns=1;i=8 + + + + DataTypeIEC61360 + + i=68 + ns=1;i=9 + + + 8 + + + + SourceOfDefinition + + i=68 + ns=1;i=9 + + + + + + + Unit + + i=68 + ns=1;i=9 + + + + + + + Definition + + i=68 + ns=1;i=9 + + + + + DE + SprachabhängigerTiteldesDokuments. + + + + + + PreferredName + + i=68 + ns=1;i=9 + + + + + EN + Title + + + DE + Titel + + + + + + ShortName + + i=68 + ns=1;i=9 + + + + + EN + Title + + + DE + Titel + + + + + + IsCaseOf + + ns=2;i=1036 + ns=1;i=2 + + + + DigitalFile + + ns=2;i=1025 + ns=1;i=18 + ns=1;i=19 + ns=1;i=22 + ns=1;i=23 + ns=1;i=31 + i=17594 + ns=1;i=127 + + + + Category + + i=68 + ns=1;i=17 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=17 + ns=1;i=20 + ns=1;i=21 + + + + Id + + i=68 + ns=1;i=19 + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + IdType + + i=68 + ns=1;i=19 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=17 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=17 + ns=1;i=24 + + + + Content_0 + + ns=2;i=1028 + ns=1;i=25 + ns=1;i=26 + ns=1;i=27 + ns=1;i=28 + ns=1;i=29 + ns=1;i=30 + ns=1;i=23 + + + + DataTypeIEC61360 + + i=68 + ns=1;i=24 + + + 7 + + + + SourceOfDefinition + + i=68 + ns=1;i=24 + + + + + + + Unit + + i=68 + ns=1;i=24 + + + + + + + Definition + + i=68 + ns=1;i=24 + + + + + DE + Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden. + + + + + + PreferredName + + i=68 + ns=1;i=24 + + + + + EN + DigitalFile + + + DE + DigitaleDatei + + + + + + ShortName + + i=68 + ns=1;i=24 + + + + + EN + DigitalFile + + + DE + DigitaleDatei + + + + + + IsCaseOf + + ns=2;i=1036 + ns=1;i=17 + + + + MaxRotationSpeed + + ns=2;i=1024 + ns=1;i=33 + ns=1;i=34 + ns=1;i=37 + ns=1;i=41 + ns=1;i=51 + i=17594 + ns=1;i=99 + + + + Category + + i=68 + ns=1;i=32 + + + PROPERTY + + + + Identification + + ns=2;i=1029 + ns=1;i=32 + ns=1;i=35 + ns=1;i=36 + + + + Id + + i=68 + ns=1;i=34 + + + 0173-1#02-BAA120#008 + + + + IdType + + i=68 + ns=1;i=34 + + + 0 + + + + Administration + + ns=2;i=1030 + ns=1;i=38 + ns=1;i=39 + ns=1;i=40 + ns=1;i=32 + + + + Revision + + i=68 + ns=1;i=37 + + + 2 + + + + Version + + i=68 + ns=1;i=37 + + + + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=37 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=32 + ns=1;i=42 + + + + Content_0 + + ns=2;i=1028 + ns=1;i=43 + ns=1;i=44 + ns=1;i=45 + ns=1;i=46 + ns=1;i=48 + ns=1;i=49 + ns=1;i=50 + ns=1;i=41 + + + + DataTypeIEC61360 + + i=68 + ns=1;i=42 + + + 6 + + + + SourceOfDefinition + + i=68 + ns=1;i=42 + + + + + + + Unit + + i=68 + ns=1;i=42 + + + 1/min + + + + UnitId + + ns=2;i=1004 + ns=1;i=47 + ns=1;i=42 + + + + Keys + + i=68 + ns=1;i=46 + + + + + + ns=2;i=5039 + + + + GlobalReference_13 + 0173-1#05-AAA650#002 + IRDI_3 + + + + + + + + Definition + + i=68 + ns=1;i=42 + + + + + de + HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf + + + en + Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated + + + + + + PreferredName + + i=68 + ns=1;i=42 + + + + + de + max.Drehzahl + + + en + Max.rotationspeed + + + + + + ShortName + + i=68 + ns=1;i=42 + + + + + + + IsCaseOf + + ns=2;i=1036 + ns=1;i=32 + + + + RotationSpeed + + ns=2;i=1025 + ns=1;i=53 + ns=1;i=54 + ns=1;i=57 + ns=1;i=58 + ns=1;i=68 + i=17594 + ns=1;i=144 + + + + Category + + i=68 + ns=1;i=52 + + + PROPERTY + + + + Identification + + ns=2;i=1029 + ns=1;i=52 + ns=1;i=55 + ns=1;i=56 + + + + Id + + i=68 + ns=1;i=54 + + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + IdType + + i=68 + ns=1;i=54 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=52 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=52 + ns=1;i=59 + + + + Content_0 + + ns=2;i=1028 + ns=1;i=60 + ns=1;i=61 + ns=1;i=62 + ns=1;i=63 + ns=1;i=65 + ns=1;i=66 + ns=1;i=67 + ns=1;i=58 + + + + DataTypeIEC61360 + + i=68 + ns=1;i=59 + + + 6 + + + + SourceOfDefinition + + i=68 + ns=1;i=59 + + + + + + + Unit + + i=68 + ns=1;i=59 + + + 1/min + + + + UnitId + + ns=2;i=1004 + ns=1;i=64 + ns=1;i=59 + + + + Keys + + i=68 + ns=1;i=63 + + + + + + ns=2;i=5039 + + + + GlobalReference_13 + 0173-1#05-AAA650#002 + IRDI_3 + + + + + + + + Definition + + i=68 + ns=1;i=59 + + + + + DE + Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird + + + EN + Actual rotationspeed with which the motor or feedingunit is operated + + + + + + PreferredName + + i=68 + ns=1;i=59 + + + + + DE + AktuelleDrehzahl + + + EN + Actualrotationspeed + + + + + + ShortName + + i=68 + ns=1;i=59 + + + + + DE + AktuelleDrehzahl + + + EN + ActualRotationSpeed + + + + + + IsCaseOf + + ns=2;i=1036 + ns=1;i=52 + + + + Document + + ns=2;i=1025 + ns=1;i=70 + ns=1;i=71 + ns=1;i=74 + ns=1;i=75 + ns=1;i=83 + i=17594 + ns=1;i=115 + + + + Category + + i=68 + ns=1;i=69 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=69 + ns=1;i=72 + ns=1;i=73 + + + + Id + + i=68 + ns=1;i=71 + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + IdType + + i=68 + ns=1;i=71 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=69 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=69 + ns=1;i=76 + + + + Content_0 + + ns=2;i=1028 + ns=1;i=77 + ns=1;i=78 + ns=1;i=79 + ns=1;i=80 + ns=1;i=81 + ns=1;i=82 + ns=1;i=75 + + + + DataTypeIEC61360 + + i=68 + ns=1;i=76 + + + 7 + + + + SourceOfDefinition + + i=68 + ns=1;i=76 + + + [ISO15519-1:2010] + + + + Unit + + i=68 + ns=1;i=76 + + + + + + + Definition + + i=68 + ns=1;i=76 + + + + + DE + Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann. + + + + + + PreferredName + + i=68 + ns=1;i=76 + + + + + + + ShortName + + i=68 + ns=1;i=76 + + + + + EN + Document + + + DE + Dokument + + + + + + IsCaseOf + + ns=2;i=1036 + ns=1;i=69 + + + + Submodel:TechnicalData + + ns=2;i=1006 + ns=1;i=85 + ns=1;i=86 + ns=1;i=89 + ns=1;i=90 + ns=1;i=91 + ns=1;i=99 + ns=1;i=106 + ns=1;i=107 + ns=1;i=1 + ns=1;i=183 + + + + Category + + i=68 + ns=1;i=84 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=84 + ns=1;i=87 + ns=1;i=88 + + + + Id + + i=68 + ns=1;i=86 + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + + + IdType + + i=68 + ns=1;i=86 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=84 + + + + ModelingKind + + i=68 + ns=1;i=84 + + + 1 + + + + 0173-1#01-AFZ615#016 + + ns=2;i=1024 + ns=1;i=92 + ns=1;i=93 + ns=1;i=96 + ns=1;i=97 + ns=1;i=98 + i=17594 + ns=1;i=84 + + + + Category + + i=68 + ns=1;i=91 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=91 + ns=1;i=94 + ns=1;i=95 + + + + Id + + i=68 + ns=1;i=93 + + + 0173-1#01-AFZ615#016 + + + + IdType + + i=68 + ns=1;i=93 + + + 0 + + + + Administration + + ns=2;i=1030 + ns=1;i=91 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=91 + + + + IsCaseOf + + ns=2;i=1036 + ns=1;i=91 + + + + MaxRotationSpeed + + ns=2;i=1013 + ns=1;i=100 + ns=1;i=101 + ns=1;i=32 + ns=1;i=102 + ns=1;i=103 + ns=1;i=104 + ns=1;i=105 + ns=1;i=84 + + + + Category + + i=68 + ns=1;i=99 + + + Parameter + + + + ModelingKind + + i=68 + ns=1;i=99 + + + 1 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=99 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=99 + + + + ValueType + + i=68 + ns=1;i=99 + + + 5 + + + + Value + + i=68 + ns=1;i=99 + + + 5000 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=84 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=84 + + + + Submodel:Documentation + + ns=2;i=1006 + ns=1;i=109 + ns=1;i=110 + ns=1;i=113 + ns=1;i=114 + ns=1;i=115 + ns=1;i=135 + ns=1;i=136 + ns=1;i=1 + ns=1;i=187 + + + + Category + + i=68 + ns=1;i=108 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=108 + ns=1;i=111 + ns=1;i=112 + + + + Id + + i=68 + ns=1;i=110 + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + + + IdType + + i=68 + ns=1;i=110 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=108 + + + + ModelingKind + + i=68 + ns=1;i=108 + + + 1 + + + + OperatingManual + + ns=2;i=1010 + ns=1;i=116 + ns=1;i=117 + ns=1;i=69 + ns=1;i=118 + ns=1;i=119 + ns=1;i=120 + ns=1;i=127 + ns=1;i=134 + ns=1;i=108 + + + + Category + + i=68 + ns=1;i=115 + + + + + + + ModelingKind + + i=68 + ns=1;i=115 + + + 1 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=115 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=115 + + + + Title + + ns=2;i=1013 + ns=1;i=121 + ns=1;i=122 + ns=1;i=2 + ns=1;i=123 + ns=1;i=124 + ns=1;i=125 + ns=1;i=126 + ns=1;i=115 + + + + Category + + i=68 + ns=1;i=120 + + + + + + + ModelingKind + + i=68 + ns=1;i=120 + + + 1 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=120 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=120 + + + + ValueType + + i=68 + ns=1;i=120 + + + 14 + + + + Value + + i=68 + ns=1;i=120 + + + OperatingManual + + + + DigitalFile_PDF + + ns=2;i=1017 + ns=1;i=128 + ns=1;i=129 + ns=1;i=17 + ns=1;i=130 + ns=1;i=131 + ns=1;i=132 + ns=1;i=133 + ns=1;i=115 + + + + Category + + i=68 + ns=1;i=127 + + + + + + + ModelingKind + + i=68 + ns=1;i=127 + + + 1 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=127 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=127 + + + + MimeType + + i=68 + ns=1;i=127 + + + application/pdf + + + + Value + + i=68 + ns=1;i=127 + + + /aasx/OperatingManual.pdf + + + + AllowDuplicates + + i=68 + ns=1;i=115 + + + false + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=108 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=108 + + + + Submodel:OperationalData + + ns=2;i=1006 + ns=1;i=138 + ns=1;i=139 + ns=1;i=142 + ns=1;i=143 + ns=1;i=144 + ns=1;i=151 + ns=1;i=152 + ns=1;i=1 + ns=1;i=185 + + + + Category + + i=68 + ns=1;i=137 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=137 + ns=1;i=140 + ns=1;i=141 + + + + Id + + i=68 + ns=1;i=139 + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + + IdType + + i=68 + ns=1;i=139 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=137 + + + + ModelingKind + + i=68 + ns=1;i=137 + + + 1 + + + + RotationSpeed + + ns=2;i=1013 + ns=1;i=145 + ns=1;i=146 + ns=1;i=52 + ns=1;i=147 + ns=1;i=148 + ns=1;i=149 + ns=1;i=150 + ns=1;i=137 + + + + Category + + i=68 + ns=1;i=144 + + + VARIABLE + + + + ModelingKind + + i=68 + ns=1;i=144 + + + 1 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=144 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=144 + + + + ValueType + + i=68 + ns=1;i=144 + + + 5 + + + + Value + + i=68 + ns=1;i=144 + + + 4370 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=137 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=137 + + + + AAS:ExampleMotor + + ns=2;i=1002 + ns=1;i=154 + ns=1;i=155 + ns=1;i=158 + ns=1;i=159 + ns=1;i=182 + ns=1;i=189 + ns=1;i=1 + + + + Category + + i=68 + ns=1;i=153 + + + + + + + Identification + + ns=2;i=1029 + ns=1;i=153 + ns=1;i=156 + ns=1;i=157 + + + + Id + + i=68 + ns=1;i=155 + + + http://customer.com/aas/9175_7013_7091_9168 + + + + IdType + + i=68 + ns=1;i=155 + + + 1 + + + + Administration + + ns=2;i=1030 + ns=1;i=153 + + + + AssetInformation + + ns=2;i=1031 + ns=1;i=160 + ns=1;i=161 + ns=1;i=163 + ns=1;i=164 + ns=1;i=171 + ns=1;i=153 + + + + AssetKind + + i=68 + ns=1;i=159 + + + 1 + + + + GlobalAssetId + + ns=2;i=1004 + ns=1;i=162 + ns=1;i=159 + + + + Keys + + i=68 + ns=1;i=161 + + + + + + ns=2;i=5039 + + + + Asset_2 + http://customer.com/assets/KHBVZJSQKIY + IRI_4 + + + + + + + + BillOfMaterial + + ns=2;i=1036 + ns=1;i=159 + + + + DefaultThumbnail + + ns=2;i=1017 + ns=1;i=165 + ns=1;i=166 + ns=1;i=167 + ns=1;i=168 + ns=1;i=169 + ns=1;i=170 + ns=1;i=159 + + + + Category + + i=68 + ns=1;i=164 + + + + + + + ModelingKind + + i=68 + ns=1;i=164 + + + 1 + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=164 + + + + Qualifier + + ns=2;i=1037 + ns=1;i=164 + + + + MimeType + + i=68 + ns=1;i=164 + + + image/png + + + + Value + + i=68 + ns=1;i=164 + + + https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png + + + + SpecificAssetId + + ns=2;i=1039 + ns=1;i=159 + ns=1;i=172 + ns=1;i=177 + + + + EquipmentID + + ns=2;i=1035 + ns=1;i=173 + ns=1;i=175 + ns=1;i=176 + ns=1;i=171 + + + + ExternalSubjectId + + ns=2;i=1004 + ns=1;i=174 + ns=1;i=172 + + + + Keys + + i=68 + ns=1;i=173 + + + + + + ns=2;i=5039 + + + + GlobalReference_13 + http://customer.com/Systems/ERP/012 + IRI_4 + + + + + + + + Key + + i=68 + ns=1;i=172 + + + EquipmentID + + + + Value + + i=68 + ns=1;i=172 + + + 538fd1b3-f99f-4a52-9c75-72e9fa921270 + + + + DeviceID + + ns=2;i=1035 + ns=1;i=178 + ns=1;i=180 + ns=1;i=181 + ns=1;i=171 + + + + ExternalSubjectId + + ns=2;i=1004 + ns=1;i=179 + ns=1;i=177 + + + + Keys + + i=68 + ns=1;i=178 + + + + + + ns=2;i=5039 + + + + GlobalReference_13 + http://customer.com/Systems/IoT/1 + IRI_4 + + + + + + + + Key + + i=68 + ns=1;i=177 + + + DeviceID + + + + Value + + i=68 + ns=1;i=177 + + + QjYgPggjwkiHk4RrQiYSLg== + + + + Submodel + + ns=2;i=1036 + ns=1;i=153 + ns=1;i=183 + ns=1;i=185 + ns=1;i=187 + + + + Submodel:http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + ns=2;i=1004 + ns=1;i=84 + ns=1;i=184 + ns=1;i=182 + + + + Keys + + i=68 + ns=1;i=183 + + + + + + ns=2;i=5039 + + + + Submodel_20 + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + IRI_4 + + + + + + + + Submodel:http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + ns=2;i=1004 + ns=1;i=137 + ns=1;i=186 + ns=1;i=182 + + + + Keys + + i=68 + ns=1;i=185 + + + + + + ns=2;i=5039 + + + + Submodel_20 + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + IRI_4 + + + + + + + + Submodel:http://i40.customer.com/type/1/1/1A7B62B529F19152 + + ns=2;i=1004 + ns=1;i=108 + ns=1;i=188 + ns=1;i=182 + + + + Keys + + i=68 + ns=1;i=187 + + + + + + ns=2;i=5039 + + + + Submodel_20 + http://i40.customer.com/type/1/1/1A7B62B529F19152 + IRI_4 + + + + + + + + DataSpecification + + ns=2;i=1036 + ns=1;i=153 + + + + diff --git a/dataformat-xml/.gitignore b/dataformat-xml/.gitignore new file mode 100644 index 000000000..520731e01 --- /dev/null +++ b/dataformat-xml/.gitignore @@ -0,0 +1,31 @@ +.idea/ +log/ +*.log +bin/ +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +.classpath +.project + +testJsonSerialization.json + diff --git a/dataformat-xml/LICENSE b/dataformat-xml/LICENSE new file mode 100644 index 000000000..c2e89861b --- /dev/null +++ b/dataformat-xml/LICENSE @@ -0,0 +1,215 @@ +Copyright (C) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +The XML Serializer contained in this repository provide the functionalities to +serialize and deserialize instances of the Asset Administration Shell data model +from and to the AAS Java Model library. It is licensed under the Apache License +2.0 (Apache-2.0, see below). +The Model uses the concepts of the document "Details of the Asset +Administration Shell" published on www.plattform-i40.de which is licensed +under Creative Commons CC BY-ND 3.0 DE. + +------------------------------------------------------------------------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Fraunhofer IAIS + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dataformat-xml/license-header.txt b/dataformat-xml/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/dataformat-xml/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/dataformat-xml/pom.xml b/dataformat-xml/pom.xml new file mode 100644 index 000000000..eb55570ec --- /dev/null +++ b/dataformat-xml/pom.xml @@ -0,0 +1,61 @@ + + + 4.0.0 + + io.admin-shell.aas + dataformat-parent + ${revision} + + dataformat-xml + Asset Administration Shell XML-Serializer + + + + io.admin-shell.aas + dataformat-core + ${revision} + + + io.admin-shell.aas + dataformat-core + ${revision} + tests + test + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson.version} + + + org.xmlunit + xmlunit-core + ${xmlunit.version} + test + + + org.xmlunit + xmlunit-matchers + ${xmlunit.version} + test + + + pl.pragmatists + JUnitParams + ${junit-params.version} + test + + + diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/AasXmlNamespaceContext.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/AasXmlNamespaceContext.java new file mode 100644 index 000000000..c4bf5dc7c --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/AasXmlNamespaceContext.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import java.util.HashMap; +import java.util.Map; + + +public class AasXmlNamespaceContext { + + public static final String AAS_PREFERRED_PREFIX = "aas"; + public static final String AAS_URI = "http://www.admin-shell.io/aas/3/0"; + + public static final String ABAC_PREFERRED_PREFIX = "abac"; + public static final String ABAC_URI = "http://www.admin-shell.io/aas/abac/3/0"; + + public static final String COMMON_PREFERRED_PREFIX = "aas_common"; + public static final String COMMON_URI = "http://www.admin-shell.io/aas_common/3/0"; + + public static final String IEC61360_PREFERRED_PREFIX = "IEC61360"; + public static final String IEC61360_URI = "http://www.admin-shell.io/IEC61360/3/0"; + + public static final String XSI_PREFERRED_PREFIX = "xsi"; + public static final String XSI_URI = "http://www.w3.org/2001/XMLSchema-instance"; + + public static final Map PREFERRED_PREFIX_CONTEXT = new HashMap<>(); + + static { + PREFERRED_PREFIX_CONTEXT.put(AAS_PREFERRED_PREFIX, AAS_URI); + PREFERRED_PREFIX_CONTEXT.put(ABAC_PREFERRED_PREFIX, ABAC_URI); + PREFERRED_PREFIX_CONTEXT.put(COMMON_PREFERRED_PREFIX, COMMON_URI); + PREFERRED_PREFIX_CONTEXT.put(IEC61360_PREFERRED_PREFIX, IEC61360_URI); + PREFERRED_PREFIX_CONTEXT.put(XSI_PREFERRED_PREFIX, XSI_URI); + } + + private AasXmlNamespaceContext() { + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/SubmodelElementManager.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/SubmodelElementManager.java new file mode 100644 index 000000000..f996eaf4c --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/SubmodelElementManager.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.impl.DefaultBasicEvent; +import io.adminshell.aas.v3.model.impl.DefaultBlob; +import io.adminshell.aas.v3.model.impl.DefaultCapability; +import io.adminshell.aas.v3.model.impl.DefaultEntity; +import io.adminshell.aas.v3.model.impl.DefaultEventElement; +import io.adminshell.aas.v3.model.impl.DefaultEventMessage; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty; +import io.adminshell.aas.v3.model.impl.DefaultOperation; +import io.adminshell.aas.v3.model.impl.DefaultOperationVariable; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultRange; +import io.adminshell.aas.v3.model.impl.DefaultReferenceElement; +import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Collectors; + +public class SubmodelElementManager { + + public static Map, String> CLASS_TO_NAME = new HashMap<>(); + public static Map> NAME_TO_CLASS = new HashMap<>(); + + static { + CLASS_TO_NAME.put(DefaultAnnotatedRelationshipElement.class, "annotatedRelationshipElement"); + CLASS_TO_NAME.put(DefaultRelationshipElement.class, "relationshipElement"); + CLASS_TO_NAME.put(DefaultReferenceElement.class, "referenceElement"); + CLASS_TO_NAME.put(DefaultProperty.class, "property"); + CLASS_TO_NAME.put(DefaultFile.class, "file"); + CLASS_TO_NAME.put(DefaultBlob.class, "blob"); + CLASS_TO_NAME.put(DefaultRange.class, "range"); + CLASS_TO_NAME.put(DefaultMultiLanguageProperty.class, "multiLanguageProperty"); + CLASS_TO_NAME.put(DefaultCapability.class, "capability"); + CLASS_TO_NAME.put(DefaultEntity.class, "entity"); + CLASS_TO_NAME.put(DefaultBasicEvent.class, "basicEvent"); + CLASS_TO_NAME.put(DefaultEventElement.class, "eventElement"); + CLASS_TO_NAME.put(DefaultEventMessage.class, "eventMessage"); + CLASS_TO_NAME.put(DefaultOperation.class, "operation"); + CLASS_TO_NAME.put(DefaultOperationVariable.class, "operationVariable"); + CLASS_TO_NAME.put(DefaultSubmodelElementCollection.class, "submodelElementCollection"); + NAME_TO_CLASS = CLASS_TO_NAME.entrySet().stream().collect(Collectors.toMap(x -> x.getValue(), x -> x.getKey())); + } + + public static String getXmlName(Class type) { + return CLASS_TO_NAME.get(type); + } + + public static Class getClassByXmlName(String xmlName) { + return NAME_TO_CLASS.get(xmlName); + } + + private SubmodelElementManager() { + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java new file mode 100644 index 000000000..f9f0ced2a --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import java.util.Collection; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.introspect.Annotated; +import com.fasterxml.jackson.databind.introspect.AnnotatedClass; +import com.fasterxml.jackson.databind.introspect.AnnotatedMethod; +import com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector; + +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; + +/** + * This class helps to dynamically decide how to de-/serialize classes and + * properties defined in the AAS model library. It will automatically add a default namespace + * to property names and set a default property order for contained elements. + * + * Will also add @JsonInclude(JsonInclude.Include.NON_EMPTY) to all getter methods returning any type of + * Collection<?> defined in the AAS model + */ +public class XmlDataformatAnnotationIntrospector extends JacksonXmlAnnotationIntrospector { + private static final long serialVersionUID = 1L; + + private static final String GETTER_PREFIX = "get"; + protected String myDefaultNamespace = ""; + + public XmlDataformatAnnotationIntrospector() { + super(); + myDefaultNamespace = AasXmlNamespaceContext.AAS_URI; + } + + @Override + public String findNamespace(Annotated ann) { + String ns = super.findNamespace(ann); + if (ns == null) { + return myDefaultNamespace; + } else { + return ns; + } + } + + @Override + public String[] findSerializationPropertyOrder(AnnotatedClass ac) { + String[] order = super.findSerializationPropertyOrder(ac); + if (order == null) { + order = new String[] { + "extensions", "idShort", "displayNames", "category", "descriptions", "administration", "identification", "kind", "semanticId", + "qualifiers", "embeddedDataSpecification", "dataSpecifications", "isCaseOf", "security", "derivedFrom", "submodels", "assetInformation", "views", "externalSubjectId", "key", "allowDuplicates", "ordered", "valueId", "value", + "max", "min", "type", "valueType", "mimeType", "first", "second", "annotations", "revision", "version", "defaultThumbnail", "globalAssetId", "externalAssetId", "entityType", "statements", "assetKind", "billOfMaterials", + "specificAssetIds", "observed", "inoutputVariables", "inputVariables", "outputVariables", "submodelElements", "containedElements" + }; + } + return order; + } + + @Override + public JsonInclude.Value findPropertyInclusion(Annotated a) { + JsonInclude.Value result = super.findPropertyInclusion(a); + if (result != JsonInclude.Value.empty()) { + return result; + } + if (AnnotatedMethod.class.isAssignableFrom(a.getClass())) { + AnnotatedMethod method = (AnnotatedMethod) a; + if (method.getParameterCount() == 0 + && method.getName().startsWith(GETTER_PREFIX) + && Collection.class.isAssignableFrom(method.getRawReturnType()) + && ReflectionHelper.isModelInterfaceOrDefaultImplementation(method.getDeclaringClass())) { + return result.withValueInclusion(JsonInclude.Include.NON_EMPTY); + } + } + return result; + } +} \ No newline at end of file diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDeserializer.java new file mode 100644 index 000000000..bbda58c11 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDeserializer.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.module.SimpleAbstractTypeResolver; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.Deserializer; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.deserialization.EnumDeserializer; +import io.adminshell.aas.v3.dataformat.xml.deserialization.SubmodelElementDeserializer; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class XmlDeserializer implements Deserializer { + + protected XmlMapper mapper; + protected SimpleAbstractTypeResolver typeResolver; + protected static Map, com.fasterxml.jackson.databind.JsonDeserializer> customDeserializers = Map.of( + SubmodelElement.class, new SubmodelElementDeserializer()); + + public XmlDeserializer() { + initTypeResolver(); + buildMapper(); + } + + protected void buildMapper() { + mapper = XmlMapper.builder().enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY) + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) + .serializationInclusion(JsonInclude.Include.NON_NULL) + .annotationIntrospector(new XmlDataformatAnnotationIntrospector()) + .addModule(buildImplementationModule()) + .addModule(buildCustomDeserializerModule()) + .addModule(buildEnumModule()) + .build(); + ReflectionHelper.XML_MIXINS.entrySet().forEach(x -> mapper.addMixIn(x.getKey(), x.getValue())); + } + + protected SimpleModule buildCustomDeserializerModule() { + SimpleModule module = new SimpleModule(); + customDeserializers.forEach(module::addDeserializer); + return module; + } + + private void initTypeResolver() { + typeResolver = new SimpleAbstractTypeResolver(); + ReflectionHelper.DEFAULT_IMPLEMENTATIONS + .stream() + .filter(x -> !customDeserializers.containsKey(x.getInterfaceType())) + .forEach(x -> typeResolver.addMapping(x.getInterfaceType(), x.getImplementationType())); + } + + protected SimpleModule buildEnumModule() { + SimpleModule module = new SimpleModule(); + ReflectionHelper.ENUMS.forEach(x -> module.addDeserializer(x, new EnumDeserializer<>(x))); + return module; + } + + protected SimpleModule buildImplementationModule() { + SimpleModule module = new SimpleModule(); + module.setAbstractTypes(typeResolver); + return module; + } + + @Override + public AssetAdministrationShellEnvironment read(String value) throws DeserializationException { + try { + return mapper.readValue(value, AssetAdministrationShellEnvironment.class); + } catch (JsonProcessingException ex) { + throw new DeserializationException("deserialization failed", ex); + } + } + + @Override + public void useImplementation(Class aasInterface, Class implementation) { + typeResolver.addMapping(aasInterface, implementation); + buildMapper(); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSchemaValidator.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSchemaValidator.java new file mode 100644 index 000000000..3802693ef --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSchemaValidator.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; + +import javax.xml.XMLConstants; +import javax.xml.transform.stream.StreamSource; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; + +import org.xml.sax.SAXException; + +import io.adminshell.aas.v3.dataformat.SchemaValidator; + +public class XmlSchemaValidator implements SchemaValidator { + private static final String SCHEMA = "/AAS.xsd"; + protected Schema schema; + + public XmlSchemaValidator() throws SAXException { + loadSchemaFromResource(); + } + + private void loadSchemaFromResource() throws SAXException { + SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); + schema = factory.newSchema(getClass().getResource(SCHEMA)); + } + + @Override + public Set validateSchema(String serializedAASEnvironment) { + Set errorMessages = new HashSet<>(); + try { + schema.newValidator().validate(new StreamSource(new java.io.StringReader(serializedAASEnvironment))); + } catch (SAXException | IOException se) { + errorMessages.add(se.getMessage()); + return errorMessages; + } + return errorMessages; + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java new file mode 100644 index 000000000..4a4cdbbb2 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.Serializer; +import io.adminshell.aas.v3.dataformat.core.ReflectionHelper; +import io.adminshell.aas.v3.dataformat.core.serialization.EnumSerializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.AssetAdministrationShellEnvironmentSerializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.EmbeddedDataSpecificationSerializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.KeySerializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.LangStringSerializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.ReferenceSerializer; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Reference; + +public class XmlSerializer implements Serializer { + protected XmlMapper mapper; + protected Map namespacePrefixes; + + public XmlSerializer() { + this(null); + } + + public XmlSerializer(Map namespacePrefixes) { + this.namespacePrefixes = namespacePrefixes; + buildMapper(); + } + + protected void buildMapper() { + mapper = XmlMapper.builder() + .enable(SerializationFeature.INDENT_OUTPUT) + .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY) + .serializationInclusion(JsonInclude.Include.NON_NULL) + .annotationIntrospector(new XmlDataformatAnnotationIntrospector()) + .defaultUseWrapper(false) + .addModule(buildEnumModule()) + .addModule(buildCustomSerializerModule()) + .configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true) + .build(); + ReflectionHelper.XML_MIXINS.entrySet().forEach(x -> mapper.addMixIn(x.getKey(), x.getValue())); + } + + protected SimpleModule buildCustomSerializerModule() { + SimpleModule module = new SimpleModule(); + module.addSerializer(EmbeddedDataSpecification.class, new EmbeddedDataSpecificationSerializer()); + AssetAdministrationShellEnvironmentSerializer aasEnvSerializer; + if (namespacePrefixes != null) { + aasEnvSerializer = new AssetAdministrationShellEnvironmentSerializer(namespacePrefixes); + } else { + aasEnvSerializer = new AssetAdministrationShellEnvironmentSerializer(); + } + module.addSerializer(AssetAdministrationShellEnvironment.class, aasEnvSerializer); + module.addSerializer(Key.class, new KeySerializer()); + module.addSerializer(Reference.class, new ReferenceSerializer()); + module.addSerializer(LangString.class, new LangStringSerializer()); + return module; + } + + protected SimpleModule buildEnumModule() { + SimpleModule module = new SimpleModule(); + module.addSerializer(Enum.class, new EnumSerializer()); + return module; + } + + @Override + public String write(AssetAdministrationShellEnvironment aasEnvironment) throws SerializationException { + try { + ObjectWriter writer = mapper.writer(); + return writer.writeValueAsString(aasEnvironment); + } catch (JsonProcessingException ex) { + throw new SerializationException("serialization failed", ex); + } + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ConstraintsDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ConstraintsDeserializer.java new file mode 100644 index 000000000..7c7a43b3a --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ConstraintsDeserializer.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.Formula; +import io.adminshell.aas.v3.model.Qualifier; + +public class ConstraintsDeserializer extends JsonDeserializer> { + private Map> classMap = new HashMap<>(); + + public ConstraintsDeserializer() { + classMap.put("qualifier", Qualifier.class); + classMap.put("formula", Formula.class); + } + + public ConstraintsDeserializer(Map> classMap) { + this.classMap = classMap; + } + + @Override + public List deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectNode node = DeserializationHelper.getRootObjectNode(parser); + List constraints = new ArrayList<>(); + for (String className : classMap.keySet()) { + List createdConstraints = createConstraintsOfClass(parser, node, className); + constraints.addAll(createdConstraints); + } + return constraints; + } + + private List createConstraintsOfClass(JsonParser parser, ObjectNode node, String className) throws IOException { + if (!node.has(className)) { + return Collections.emptyList(); + } + JsonNode qualifierNode = node.get(className); + if (qualifierNode.isArray()) { + return createConstraintsFromArrayNode(parser, node, className); + } else { + Constraint constraint = DeserializationHelper.createInstanceFromNode(parser, qualifierNode, classMap.get(className)); + return Collections.singletonList(constraint); + } + } + + @SuppressWarnings("unchecked") + private List createConstraintsFromArrayNode(JsonParser parser, ObjectNode node, String className) throws IOException { + ArrayNode content = (ArrayNode) node.get(className); + return (List) DeserializationHelper.createInstancesFromArrayNode(parser, content, classMap.get(className)); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/CustomJsonNodeDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/CustomJsonNodeDeserializer.java new file mode 100644 index 000000000..66c83a22b --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/CustomJsonNodeDeserializer.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.JsonNode; + +public interface CustomJsonNodeDeserializer { + public T readValue(JsonNode node, JsonParser parser) throws IOException; +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DataElementsDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DataElementsDeserializer.java new file mode 100644 index 000000000..3702e0919 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DataElementsDeserializer.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.databind.node.TextNode; + +import io.adminshell.aas.v3.model.DataElement; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class DataElementsDeserializer extends JsonDeserializer> { + + SubmodelElementDeserializer deserializer = new SubmodelElementDeserializer(); + + public DataElementsDeserializer(SubmodelElementDeserializer deserializer) { + this.deserializer = deserializer; + } + + public DataElementsDeserializer() { + } + + @Override + public List deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + TreeNode treeNode = DeserializationHelper.getRootTreeNode(parser); + if (treeNode instanceof TextNode) { + return Collections.emptyList(); + } + ObjectNode node = (ObjectNode) treeNode; + ObjectNode dataElementNode = (ObjectNode) node.get("dataElement"); + DataElement elem = createDataElementFromNode(parser, ctxt, dataElementNode); + return Collections.singletonList(elem); + } + + private DataElement createDataElementFromNode(JsonParser parser, DeserializationContext ctxt, ObjectNode dataElementNode) throws IOException, JsonProcessingException { + return (DataElement) DeserializationHelper.createInstanceFromNode(parser, dataElementNode, SubmodelElement.class); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DeserializationHelper.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DeserializationHelper.java new file mode 100644 index 000000000..ccd3d6199 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/DeserializationHelper.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +public class DeserializationHelper { + public static T createInstanceFromNode(JsonParser parser, JsonNode node, Class clazz) throws IOException { + JsonParser parserContent = parser.getCodec().getFactory().getCodec().treeAsTokens(node); + parserContent.nextToken(); + T instance = parserContent.readValueAs(clazz); + return instance; + } + + public static List createInstancesFromArrayNode(JsonParser parser, ArrayNode node, Class clazz) throws IOException { + List instances = new ArrayList<>(); + for (int i = 0; i < node.size(); i++) { + T instance = DeserializationHelper.createInstanceFromNode(parser, node.get(i), clazz); + instances.add(instance); + } + return instances; + } + + public static TreeNode getRootTreeNode(JsonParser parser) throws IOException { + return parser.getCodec().readTree(parser); + } + + public static ObjectNode getRootObjectNode(JsonParser parser) throws IOException { + return (ObjectNode) getRootTreeNode(parser); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/EmbeddedDataSpecificationsDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/EmbeddedDataSpecificationsDeserializer.java new file mode 100644 index 000000000..297ae2e54 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/EmbeddedDataSpecificationsDeserializer.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import io.adminshell.aas.v3.dataformat.core.DataSpecificationManager; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; + +public class EmbeddedDataSpecificationsDeserializer extends JsonDeserializer> { + + @Override + public List deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectNode node = DeserializationHelper.getRootObjectNode(parser); + if (node == null) { + return null; + } + if (node.has(DataSpecificationManager.PROP_DATA_SPECIFICATION_CONTENT)) { + return createEmbeddedDataSpecificationsFromContent(parser, node); + } else { + return createEmbeddedDataSpecificationsFromReference(parser, node); + } + } + + private JsonNode getReferenceNode(JsonParser parser, JsonNode node) throws JsonMappingException { + if (!node.has(DataSpecificationManager.PROP_DATA_SPECIFICATION)) { + throw new JsonMappingException(parser, String.format("data specification must contain node '%s'", DataSpecificationManager.PROP_DATA_SPECIFICATION)); + } + JsonNode nodeDataSpecification = node.get(DataSpecificationManager.PROP_DATA_SPECIFICATION); + return nodeDataSpecification; + } + + private List createEmbeddedDataSpecificationsFromContent(JsonParser parser, JsonNode node) throws IOException { + JsonNode nodeContent = node.get(DataSpecificationManager.PROP_DATA_SPECIFICATION_CONTENT); + JsonNode specificationNode = nodeContent.get("dataSpecificationIEC61360"); + DataSpecificationContent content = createDefaultDataSpecificationIEC61360FromNode(parser, specificationNode); + return Collections.singletonList(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(content).build()); + } + + private List createEmbeddedDataSpecificationsFromReference(JsonParser parser, JsonNode node) throws IOException { + JsonNode nodeDataSpecification = getReferenceNode(parser, node); + Reference reference = DeserializationHelper.createInstanceFromNode(parser, nodeDataSpecification, Reference.class); + return Collections.singletonList(new DefaultEmbeddedDataSpecification.Builder().dataSpecification(reference).build()); + } + + private DataSpecificationContent createDefaultDataSpecificationIEC61360FromNode(JsonParser parser, JsonNode nodeContent) throws IOException { + return DeserializationHelper.createInstanceFromNode(parser, nodeContent, DefaultDataSpecificationIEC61360.class); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeyDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeyDeserializer.java new file mode 100644 index 000000000..93908e0c0 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeyDeserializer.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.JsonNode; + +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.impl.DefaultKey; + +public class KeyDeserializer implements CustomJsonNodeDeserializer { + + + @Override + public Key readValue(JsonNode node, JsonParser parser) throws IOException { + JsonNode idTypeNode = node.get("idType"); + JsonNode typeNode = node.get("type"); + JsonNode valueNode = node.get(""); + KeyType idType = createKeyTypeFromNode(parser, idTypeNode); + KeyElements type = createKeyElementsFromNode(parser, typeNode); + String value = valueNode.asText(); + return new DefaultKey.Builder().idType(idType).type(type).value(value).build(); + } + + private KeyElements createKeyElementsFromNode(JsonParser parser, JsonNode typeNode) throws IOException { + return DeserializationHelper.createInstanceFromNode(parser, typeNode, KeyElements.class); + } + + private KeyType createKeyTypeFromNode(JsonParser parser, JsonNode idTypeNode) throws IOException { + return DeserializationHelper.createInstanceFromNode(parser, idTypeNode, KeyType.class); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeysDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeysDeserializer.java new file mode 100644 index 000000000..05a8888ef --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/KeysDeserializer.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import io.adminshell.aas.v3.model.Key; + +public class KeysDeserializer extends NoEntryWrapperListDeserializer { + public KeysDeserializer() { + super("key", new KeyDeserializer()); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringNodeDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringNodeDeserializer.java new file mode 100644 index 000000000..c131853d3 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringNodeDeserializer.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.JsonNode; + +import io.adminshell.aas.v3.model.LangString; + +public class LangStringNodeDeserializer implements CustomJsonNodeDeserializer { + @Override + public LangString readValue(JsonNode node, JsonParser parser) throws IOException { + String lang = node.get("lang").asText(); + String text = node.get("").asText(); + return new LangString(text, lang); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringsDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringsDeserializer.java new file mode 100644 index 000000000..090792700 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/LangStringsDeserializer.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import io.adminshell.aas.v3.model.LangString; + +public class LangStringsDeserializer extends NoEntryWrapperListDeserializer { + public LangStringsDeserializer() { + super("langString", new LangStringNodeDeserializer()); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/NoEntryWrapperListDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/NoEntryWrapperListDeserializer.java new file mode 100644 index 000000000..67dc9c926 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/NoEntryWrapperListDeserializer.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +/** + * Custom deserializer for lists without individual list entry wrappers for parametrized classes. + * + * @param deserialized class within the list + */ +public class NoEntryWrapperListDeserializer extends JsonDeserializer> { + protected final String elementName; + private CustomJsonNodeDeserializer nodeDeserializer; + + public NoEntryWrapperListDeserializer(String elementName, CustomJsonNodeDeserializer nodeDeserializer) { + this.elementName = elementName; + this.nodeDeserializer = nodeDeserializer; + } + + @Override + public List deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectNode node = DeserializationHelper.getRootObjectNode(parser); + JsonNode langStringNode = node.get(elementName); + if (langStringNode.isObject()) { + return createEntriesFromObjectNode(langStringNode, parser); + } else { + return createEntriesFromArrayNode((ArrayNode) langStringNode, parser); + } + } + + private List createEntriesFromArrayNode(ArrayNode langStringsNode, JsonParser parser) throws IOException { + List entries = new ArrayList<>(); + for (int i = 0; i < langStringsNode.size(); i++) { + JsonNode nextNode = langStringsNode.get(i); + entries.add(nodeDeserializer.readValue(nextNode, parser)); + } + return entries; + } + + private List createEntriesFromObjectNode(JsonNode langStringNode, JsonParser parser) throws IOException { + T entry = nodeDeserializer.readValue(langStringNode, parser); + return Collections.singletonList(entry); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ReferencesDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ReferencesDeserializer.java new file mode 100644 index 000000000..1ab56f771 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/ReferencesDeserializer.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import io.adminshell.aas.v3.model.Reference; + +public class ReferencesDeserializer extends JsonDeserializer> { + + @Override + public List deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + TreeNode treeNode = DeserializationHelper.getRootTreeNode(parser); + if (treeNode.isArray()) { + return createReferencesFromArray(parser, (ArrayNode) treeNode); + } else { + return createReferencesFromObjectNode(parser, (ObjectNode) treeNode); + } + } + + private List createReferencesFromObjectNode(JsonParser parser, ObjectNode node) throws IOException { + Reference reference = createReference(parser, node); + return Collections.singletonList(reference); + } + + private List createReferencesFromArray(JsonParser parser, ArrayNode arrayNode) throws IOException { + List references = new ArrayList<>(); + for (int i = 0; i < arrayNode.size(); i++) { + Reference reference = createReference(parser, (ObjectNode) arrayNode.get(i)); + references.add(reference); + } + return references; + } + + private Reference createReference(JsonParser parser, ObjectNode node) throws IOException { + return DeserializationHelper.createInstanceFromNode(parser, node, Reference.class); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementDeserializer.java new file mode 100644 index 000000000..fc32a2404 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementDeserializer.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import io.adminshell.aas.v3.dataformat.xml.SubmodelElementManager; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class SubmodelElementDeserializer extends JsonDeserializer { + + @Override + public SubmodelElement deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectNode node = DeserializationHelper.getRootObjectNode(parser); + String elemName = findSubmodelElementName(parser, node); + JsonNode nodeContent = node.get(elemName); + return (SubmodelElement) DeserializationHelper.createInstanceFromNode(parser, nodeContent, SubmodelElementManager.getClassByXmlName(elemName)); + } + + private String findSubmodelElementName(JsonParser parser, ObjectNode node) throws JsonMappingException { + for (String value : SubmodelElementManager.NAME_TO_CLASS.keySet()) { + if (node.has(value)) { + return value; + } + } + throw new JsonMappingException(parser, "Unknown element " + node); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementsDeserializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementsDeserializer.java new file mode 100644 index 000000000..55fa87b46 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/deserialization/SubmodelElementsDeserializer.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.deserialization; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.databind.node.TextNode; + +import io.adminshell.aas.v3.model.SubmodelElement; + +public class SubmodelElementsDeserializer extends JsonDeserializer> { + + private SubmodelElementDeserializer deserializer = new SubmodelElementDeserializer(); + + public SubmodelElementsDeserializer(SubmodelElementDeserializer deserializer) { + this.deserializer = deserializer; + } + + public SubmodelElementsDeserializer() { + } + + @Override + public List deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException { + TreeNode treeNode = DeserializationHelper.getRootTreeNode(parser); + if (treeNode instanceof TextNode) { + return Collections.emptyList(); + } else { + return createSubmodelElements(parser, ctxt, treeNode); + } + } + + private List createSubmodelElements(JsonParser parser, DeserializationContext ctxt, TreeNode treeNode) throws IOException, JsonProcessingException { + JsonNode nodeSubmodelElement = getSubmodelElementsNode(treeNode); + if (nodeSubmodelElement.isArray()) { + return getSubmodelElementsFromArrayNode(parser, ctxt, (ArrayNode) nodeSubmodelElement); + } else { + return getSubmodelElementsFromObjectNode(parser, ctxt, nodeSubmodelElement); + } + } + + private List getSubmodelElementsFromObjectNode(JsonParser parser, DeserializationContext ctxt, JsonNode nodeSubmodelElement) throws IOException, JsonProcessingException { + SubmodelElement elem = getSubmodelElementFromJsonNode(parser, ctxt, nodeSubmodelElement); + return Collections.singletonList(elem); + } + + private JsonNode getSubmodelElementsNode(TreeNode temp) { + ObjectNode objNode = (ObjectNode) temp; + JsonNode nodeSubmodelElement = objNode.get("submodelElement"); + return nodeSubmodelElement; + } + + private List getSubmodelElementsFromArrayNode(JsonParser parser, DeserializationContext ctxt, ArrayNode arrayNode) throws IOException, JsonProcessingException { + List elements = new ArrayList<>(); + for (int i = 0; i < arrayNode.size(); i++) { + JsonNode jsonNode = arrayNode.get(i); + SubmodelElement elem = getSubmodelElementFromJsonNode(parser, ctxt, jsonNode); + elements.add(elem); + } + return elements; + } + + private SubmodelElement getSubmodelElementFromJsonNode(JsonParser parser, DeserializationContext ctxt, JsonNode nodeSubmodelElement) throws IOException, JsonProcessingException { + JsonParser parserReference = parser.getCodec().getFactory().getCodec().treeAsTokens(nodeSubmodelElement); + SubmodelElement elem = deserializer.deserialize(parserReference, ctxt); + return elem; + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessControlMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessControlMixin.java new file mode 100644 index 000000000..1182f56a6 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessControlMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.AccessPermissionRule; + +public interface AccessControlMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.ABAC_URI, localName = "accessPermissionRule") + public List getAccessPermissionRules(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.ABAC_URI, localName = "accessPermissionRule") + public void setAccessPermissionRules(List accessPermissionRules); + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessPermissionRuleMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessPermissionRuleMixin.java new file mode 100644 index 000000000..fa4d7f6b7 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AccessPermissionRuleMixin.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.PermissionsPerObject; + +public interface AccessPermissionRuleMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.ABAC_URI, localName = "permissionsPerObject") + public List getPermissionsPerObjects(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.ABAC_URI, localName = "permissionsPerObject") + public void setPermissionsPerObjects(List permissionsPerObjects); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AdministrativeInformationMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AdministrativeInformationMixin.java new file mode 100644 index 000000000..1c5ed69c7 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AdministrativeInformationMixin.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +import io.adminshell.aas.v3.model.Reference; + +public interface AdministrativeInformationMixin { + @JsonIgnore + public List getDataSpecifications(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AnnotatedRelationshipElementMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AnnotatedRelationshipElementMixin.java new file mode 100644 index 000000000..c1b777ae0 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AnnotatedRelationshipElementMixin.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import io.adminshell.aas.v3.dataformat.xml.deserialization.DataElementsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.DataElementsSerializer; +import io.adminshell.aas.v3.model.DataElement; + +public interface AnnotatedRelationshipElementMixin { + @JsonSerialize(using = DataElementsSerializer.class) + @JsonDeserialize(using = DataElementsDeserializer.class) + public List getAnnotations(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetAdministrationShellMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetAdministrationShellMixin.java new file mode 100644 index 000000000..d8dbcb806 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetAdministrationShellMixin.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.View; + +public interface AssetAdministrationShellMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "submodelRef") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "submodelRefs") + public List getSubmodels(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "view") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "views") + public List getViews(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetInformationMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetInformationMixin.java new file mode 100644 index 000000000..149e48570 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/AssetInformationMixin.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.Reference; + +public interface AssetInformationMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "specificAssetId") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "specificAssetIds") + public List getSpecificAssetIds(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "specificAssetId") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "specificAssetIds") + public void setSpecificAssetIds(List specificAssetIds); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "submodelRef") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "billOfMaterials") + public List getBillOfMaterials(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "submodelRef") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "billOfMaterials") + public void setBillOfMaterials(List billOfMaterials); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "defaultThumbNail") + public File getDefaultThumbnail(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "defaultThumbNail") + public void setDefaultThumbnail(File defaultThumbnail); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ConceptDescriptionMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ConceptDescriptionMixin.java new file mode 100644 index 000000000..1790e9b46 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ConceptDescriptionMixin.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.ReferencesDeserializer; +import io.adminshell.aas.v3.model.Reference; + +public interface ConceptDescriptionMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "isCaseOf") + @JsonDeserialize(using = ReferencesDeserializer.class) + public List getIsCaseOfs(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/DataSpecificationIEC61360Mixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/DataSpecificationIEC61360Mixin.java new file mode 100644 index 000000000..cf22af2c7 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/DataSpecificationIEC61360Mixin.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.LangStringsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.LangStringsSerializer; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.LevelType; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.ValueList; + +@JsonPropertyOrder({"preferredName", "shortName", "unit", "unitId", "sourceOfDefinition", "symbol", "dataType", + "definition", "valueFormat", "valueList", "value", "valueId", "leyelTypes"}) +public interface DataSpecificationIEC61360Mixin { + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "preferredName") + @JsonSerialize(using = LangStringsSerializer.class) + @JsonDeserialize(using = LangStringsDeserializer.class) + public List getPreferredNames(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "shortName") + @JsonSerialize(using = LangStringsSerializer.class) + @JsonDeserialize(using = LangStringsDeserializer.class) + public List getShortNames(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "unit") + public String getUnit(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "unitId") + public Reference getUnitId(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "sourceOfDefinition") + public String getSourceOfDefinition(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "symbol") + public String getSymbol(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "dataType") + public DataTypeIEC61360 getDataType(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "definition") + @JsonSerialize(using = LangStringsSerializer.class) + @JsonDeserialize(using = LangStringsDeserializer.class) + public List getDefinitions(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "valueFormat") + public String getValueFormat(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "valueList") + public ValueList getValueList(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "value") + public String getValue(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "valueId") + public Reference getValueId(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "levelType") + public List getLevelTypes(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/EntityMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/EntityMixin.java new file mode 100644 index 000000000..13d5faaac --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/EntityMixin.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.SubmodelElementsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.SubmodelElementsSerializer; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.SubmodelElement; + +public interface EntityMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "specificAssetId") + public IdentifierKeyValuePair getExternalAssetId(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "statements") + @JsonSerialize(using = SubmodelElementsSerializer.class) + @JsonDeserialize(using = SubmodelElementsDeserializer.class) + public List getStatements(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ExtensionMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ExtensionMixin.java new file mode 100644 index 000000000..de44e4a5d --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ExtensionMixin.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +@JsonPropertyOrder({"semanticId", "name", "valueType", "value", "refersTo"}) +public interface ExtensionMixin { +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/FormulaMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/FormulaMixin.java new file mode 100644 index 000000000..a6bc2a273 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/FormulaMixin.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.Reference; + +public interface FormulaMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "reference") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "dependsOnRefs") + public List getDependsOns(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasDataSpecificationMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasDataSpecificationMixin.java new file mode 100644 index 000000000..4e9798560 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasDataSpecificationMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.EmbeddedDataSpecificationsDeserializer; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; + +public interface HasDataSpecificationMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "embeddedDataSpecification") + @JsonDeserialize(using = EmbeddedDataSpecificationsDeserializer.class) + public List getEmbeddedDataSpecifications(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "embeddedDataSpecification") + public void setEmbeddedDataSpecifications(List embeddedDataSpecifications); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasExtensionsMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasExtensionsMixin.java new file mode 100644 index 000000000..7a8d88caa --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/HasExtensionsMixin.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.Extension; + +public interface HasExtensionsMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "extension") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "extensions") + public List getExtensions(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/IdentifierMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/IdentifierMixin.java new file mode 100644 index 000000000..8f260407c --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/IdentifierMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText; + +import io.adminshell.aas.v3.model.IdentifierType; + +public interface IdentifierMixin { + @JacksonXmlText + public String getIdentifier(); + + @JacksonXmlProperty(localName = "idType", isAttribute = true) + public IdentifierType getIdType(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/KeyMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/KeyMixin.java new file mode 100644 index 000000000..479ef8f2a --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/KeyMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText; + +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; + +public interface KeyMixin { + @JacksonXmlText + public String getValue(); + + @JacksonXmlProperty(localName = "idType", isAttribute = true) + public KeyType getIdType(); + + @JacksonXmlProperty(localName = "type", isAttribute = true) + public KeyElements getType(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/MultiLanguagePropertyMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/MultiLanguagePropertyMixin.java new file mode 100644 index 000000000..388e153c9 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/MultiLanguagePropertyMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.LangStringsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.LangStringsSerializer; +import io.adminshell.aas.v3.model.LangString; + +public interface MultiLanguagePropertyMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "value") + @JsonSerialize(using = LangStringsSerializer.class) + @JsonDeserialize(using = LangStringsDeserializer.class) + public List getValues(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationMixin.java new file mode 100644 index 000000000..117262834 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.OperationVariable; + +public interface OperationMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "inputVariable") + public List getInputVariables(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "inoutputVariable") + public List getInoutputVariables(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "outputVariable") + public List getOutputVariables(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationVariableMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationVariableMixin.java new file mode 100644 index 000000000..799a9eaf6 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/OperationVariableMixin.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import io.adminshell.aas.v3.dataformat.xml.serialization.SubmodelElementSerializer; +import io.adminshell.aas.v3.model.SubmodelElement; + +public interface OperationVariableMixin { + @JsonSerialize(using = SubmodelElementSerializer.class) + public SubmodelElement getValue(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/QualifiableMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/QualifiableMixin.java new file mode 100644 index 000000000..5f967cb8b --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/QualifiableMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.ConstraintsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.ConstraintsSerializer; +import io.adminshell.aas.v3.model.Constraint; + +public interface QualifiableMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "qualifiers") + @JsonSerialize(using = ConstraintsSerializer.class) + @JsonDeserialize(using = ConstraintsDeserializer.class) + public List getQualifiers(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferableMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferableMixin.java new file mode 100644 index 000000000..08a358188 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferableMixin.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.LangStringsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.LangStringsSerializer; +import io.adminshell.aas.v3.model.LangString; + +public interface ReferableMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "description") + @JsonSerialize(using = LangStringsSerializer.class) + @JsonDeserialize(using = LangStringsDeserializer.class) + public List getDescriptions(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "description") + public void setDescriptions(List descriptions); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "displayName") + @JsonSerialize(using = LangStringsSerializer.class) + @JsonDeserialize(using = LangStringsDeserializer.class) + public List getDisplayNames(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "displayName") + public void setDisplayNames(List displayNames); + + @JsonInclude(JsonInclude.Include.ALWAYS) + public String getIdShort(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferenceMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferenceMixin.java new file mode 100644 index 000000000..a48dc5ec5 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ReferenceMixin.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.KeysDeserializer; +import io.adminshell.aas.v3.model.Key; + +public interface ReferenceMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "key") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "keys") + @JsonDeserialize(using = KeysDeserializer.class) + public List getKeys(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelElementCollectionMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelElementCollectionMixin.java new file mode 100644 index 000000000..3135f3be4 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelElementCollectionMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.Collection; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.SubmodelElementsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.SubmodelElementsSerializer; +import io.adminshell.aas.v3.model.SubmodelElement; + +public interface SubmodelElementCollectionMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "value") + @JsonSerialize(using = SubmodelElementsSerializer.class) + @JsonDeserialize(using = SubmodelElementsDeserializer.class) + public Collection getValues(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelMixin.java new file mode 100644 index 000000000..872557dde --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/SubmodelMixin.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.dataformat.xml.deserialization.SubmodelElementsDeserializer; +import io.adminshell.aas.v3.dataformat.xml.serialization.SubmodelElementsSerializer; +import io.adminshell.aas.v3.model.SubmodelElement; + +public interface SubmodelMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "submodelElements") + @JsonSerialize(using = SubmodelElementsSerializer.class) + @JsonDeserialize(using = SubmodelElementsDeserializer.class) + public List getSubmodelElements(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueListMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueListMixin.java new file mode 100644 index 000000000..fc2215b06 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueListMixin.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.ValueReferencePair; + +public interface ValueListMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "valueReferencePair") + public List getValueReferencePairTypes(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueReferencePairMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueReferencePairMixin.java new file mode 100644 index 000000000..d42145cfc --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ValueReferencePairMixin.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.Reference; + +public interface ValueReferencePairMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "valueId") + public Reference getValueId(); + + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.IEC61360_URI, localName = "value") + public String getValue(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ViewMixin.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ViewMixin.java new file mode 100644 index 000000000..31909a4ef --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/mixins/ViewMixin.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.mixins; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.Reference; + +public interface ViewMixin { + @JacksonXmlProperty(namespace = AasXmlNamespaceContext.AAS_URI, localName = "containedElementRef") + @JacksonXmlElementWrapper(namespace = AasXmlNamespaceContext.AAS_URI, localName = "containedElements") + @JsonInclude(JsonInclude.Include.ALWAYS) + public List getContainedElements(); +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java new file mode 100644 index 000000000..f2037d49c --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import javax.xml.namespace.QName; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamWriter; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Submodel; + +public class AssetAdministrationShellEnvironmentSerializer extends JsonSerializer { + + private static final String[] SCHEMA_LOCATION = {"xsi:schemaLocation", + "http://www.admin-shell.io/aas/3/0 AAS.xsd http://www.admin-shell.io/IEC61360/3/0 IEC61360.xsd http://www.admin-shell.io/aas/abac/3/0 AAS_ABAC.xsd"}; + + private static final QName AASENV_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "aasenv"); + private static final QName AASLIST_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "assetAdministrationShells"); + private static final QName AAS_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "assetAdministrationShell"); + private static final QName CONCEPTDICTIONARYLIST_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "conceptDescriptions"); + private static final QName CONCEPTDICTIONARY_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "conceptDescription"); + private static final QName SUBMODELLIST_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "submodels"); + private static final QName SUBMODEL_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "submodel"); + private static final QName ASSETLIST_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "assets"); + private static final QName ASSET_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "asset"); + + private Map namespacePrefixes; + + public AssetAdministrationShellEnvironmentSerializer(Map namespacePrefixes) { + this.namespacePrefixes = namespacePrefixes; + } + + public AssetAdministrationShellEnvironmentSerializer() { + this.namespacePrefixes = AasXmlNamespaceContext.PREFERRED_PREFIX_CONTEXT; + } + + @Override + public void serialize(AssetAdministrationShellEnvironment value, JsonGenerator gen, SerializerProvider serializers) + throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + XMLStreamWriter streamWriter = xgen.getStaxWriter(); + setPrefixes(streamWriter); + writeOpeningTag(xgen, streamWriter); + writeContent(value, xgen); + closeOpeningTag(xgen); + } + + private void setPrefixes(XMLStreamWriter streamWriter) { + try { + for (Entry namespacePrefixEntry : namespacePrefixes.entrySet()) { + streamWriter.setPrefix(namespacePrefixEntry.getKey(), namespacePrefixEntry.getValue()); + } + } catch (XMLStreamException e) { + e.printStackTrace(); + } + } + + private void writeOpeningTag(ToXmlGenerator xgen, XMLStreamWriter streamWriter) throws IOException { + xgen.setNextName(AASENV_TAGNAME); + xgen.writeStartObject(); + try { + for (Entry namespacePrefixEntry : namespacePrefixes.entrySet()) { + streamWriter.writeNamespace(namespacePrefixEntry.getKey(), namespacePrefixEntry.getValue()); + } + streamWriter.writeAttribute(SCHEMA_LOCATION[0], SCHEMA_LOCATION[1]); + } catch (XMLStreamException e) { + e.printStackTrace(); + } + } + + private void writeContent(AssetAdministrationShellEnvironment value, ToXmlGenerator xgen) throws IOException { + writeAssetAdministrationShells(xgen, value.getAssetAdministrationShells()); + writeAssets(xgen, value.getAssets()); + writeConceptDescriptions(xgen, value.getConceptDescriptions()); + writeSubmodels(xgen, value.getSubmodels()); + } + + private void writeAssets(ToXmlGenerator xgen, List assets) throws IOException { + if (assets.isEmpty()) { + return; + } + writeWrappedArray(xgen, ASSETLIST_TAGNAME, ASSET_TAGNAME, assets); + } + + private void writeAssetAdministrationShells(ToXmlGenerator xgen, List aasList) + throws IOException { + if (aasList.isEmpty()) { + return; + } + writeWrappedArray(xgen, AASLIST_TAGNAME, AAS_TAGNAME, aasList); + } + + private void writeConceptDescriptions(ToXmlGenerator xgen, List conceptDescriptions) + throws IOException { + if (conceptDescriptions.isEmpty()) { + return; + } + writeWrappedArray(xgen, CONCEPTDICTIONARYLIST_TAGNAME, CONCEPTDICTIONARY_TAGNAME, conceptDescriptions); + } + + private void writeSubmodels(ToXmlGenerator xgen, List submodels) throws IOException { + if (submodels.isEmpty()) { + return; + } + writeWrappedArray(xgen, SUBMODELLIST_TAGNAME, SUBMODEL_TAGNAME, submodels); + } + + private void writeWrappedArray(ToXmlGenerator xgen, QName wrapper, QName wrapped, List list) + throws IOException { + xgen.writeFieldName(wrapper.getLocalPart()); + xgen.writeStartArray(); + xgen.startWrappedValue(wrapper, wrapped); + for (Object aas : list) { + xgen.writeObject(aas); + } + xgen.finishWrappedValue(wrapper, wrapped); + xgen.writeEndArray(); + } + + private void closeOpeningTag(ToXmlGenerator xgen) throws IOException { + xgen.writeEndObject(); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ConstraintsSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ConstraintsSerializer.java new file mode 100644 index 000000000..51578fae1 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ConstraintsSerializer.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.Formula; +import io.adminshell.aas.v3.model.Qualifier; + +public class ConstraintsSerializer extends JsonSerializer> { + + @Override + public void serialize(List value, JsonGenerator gen, SerializerProvider serializers) + throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + xgen.writeStartObject(); + for (Constraint constraint : value) { + if (constraint instanceof Qualifier) { + xgen.writeFieldName("qualifier"); + } else if (constraint instanceof Formula) { + xgen.writeFieldName("formula"); + } + xgen.writeObject(constraint); + } + xgen.writeEndObject(); + } + + @Override + public boolean isEmpty(SerializerProvider provider, List value) { + return value == null || value.isEmpty(); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/DataElementsSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/DataElementsSerializer.java new file mode 100644 index 000000000..ca23e2966 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/DataElementsSerializer.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.model.SubmodelElement; + +public class DataElementsSerializer extends JsonSerializer> { + + SubmodelElementSerializer ser = new SubmodelElementSerializer(); + + public DataElementsSerializer(SubmodelElementSerializer ser) { + this.ser = ser; + } + + public DataElementsSerializer() { + } + + @Override + public void serialize(List value, JsonGenerator gen, SerializerProvider serializers) + throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + xgen.writeStartObject(); + for (SubmodelElement element : value) { + xgen.writeFieldName("dataElement"); + ser.serialize(element, xgen, serializers); + } + xgen.writeEndObject(); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/EmbeddedDataSpecificationSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/EmbeddedDataSpecificationSerializer.java new file mode 100644 index 000000000..711cda56a --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/EmbeddedDataSpecificationSerializer.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.Objects; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import io.adminshell.aas.v3.dataformat.core.DataSpecificationInfo; +import static io.adminshell.aas.v3.dataformat.core.DataSpecificationManager.PROP_DATA_SPECIFICATION; +import static io.adminshell.aas.v3.dataformat.core.DataSpecificationManager.PROP_DATA_SPECIFICATION_CONTENT; + +import io.adminshell.aas.v3.dataformat.core.DataSpecificationManager; +import io.adminshell.aas.v3.model.DataSpecificationContent; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.Reference; + +/** + * Custom Serializer for class DataSpecification. Adds type information in form + * of a reference. Uses DataSpecificationManager to resolve java type to + * reference. + */ +public class EmbeddedDataSpecificationSerializer extends JsonSerializer { + + private static final Logger logger = LoggerFactory.getLogger(EmbeddedDataSpecificationSerializer.class); + + @Override + public void serialize(EmbeddedDataSpecification data, JsonGenerator generator, SerializerProvider provider) + throws IOException { + if (data == null) { + return; + } + Reference reference = null; + DataSpecificationContent content = data.getDataSpecificationContent(); + if (content != null) { + DataSpecificationInfo implicitDataSpecification = DataSpecificationManager.getDataSpecification(content.getClass()); + Reference implicitType = implicitDataSpecification != null ? implicitDataSpecification.getReference() : null; + Reference explicitType = data.getDataSpecification(); + if (implicitType == null) { + logger.warn("Trying to serialize unknown implementation of DataSpecificationContent ({}). " + + "Use DataSpecificationManager.register(Reference reference, Class implementation) " + + "to register your implementation", content.getClass()); + if (explicitType == null) { + logger.warn( + "Missing type information for DataSpecificationContent! Will be serialized without type information."); + } else { + reference = explicitType; + } + } else { + reference = implicitType; + if (explicitType != null && !Objects.equals(implicitType, explicitType)) { + logger.warn("Conflicting type information for DataSpecificationContent (implicit type: {}, explicit type: {}). Explicit type will be used.", + implicitType, explicitType); + reference = explicitType; + } + } + } + if (reference != null || content != null) { + generator.writeStartObject(); + } + if (content != null) { + generator.writeFieldName(PROP_DATA_SPECIFICATION_CONTENT); + generator.writeStartObject(); + // TODO: Add field name according to template type + generator.writeObjectField("dataSpecificationIEC61360", content); + generator.writeEndObject(); + } + if (reference != null) { + generator.writeObjectField(PROP_DATA_SPECIFICATION, reference); + } + if (reference != null || content != null) { + generator.writeEndObject(); + } + } + + @Override + public void serializeWithType(EmbeddedDataSpecification data, JsonGenerator generator, SerializerProvider provider, + TypeSerializer typedSerializer) throws IOException, JsonProcessingException { + serialize(data, generator, provider); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/KeySerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/KeySerializer.java new file mode 100644 index 000000000..3ca87ac03 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/KeySerializer.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; + +import javax.xml.stream.XMLStreamException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; +import io.adminshell.aas.v3.dataformat.core.util.AasUtils; + +import io.adminshell.aas.v3.model.Key; + +public class KeySerializer extends JsonSerializer { + + @Override + public void serialize(Key key, JsonGenerator gen, SerializerProvider serializers) throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + xgen.writeObjectFieldStart("key"); + + try { + String idTypeValue = AasUtils.serializeEnumName(key.getIdType().toString()); + xgen.getStaxWriter().writeAttribute("idType", idTypeValue); + String keyTypeValue = AasUtils.serializeEnumName(key.getType().toString()); + xgen.getStaxWriter().writeAttribute("type", keyTypeValue); + } catch (XMLStreamException e) { + e.printStackTrace(); + } + xgen.setNextIsAttribute(false); + xgen.setNextIsUnwrapped(true); + xgen.writeFieldName("value"); + xgen.writeString(key.getValue()); + + xgen.writeEndObject(); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringSerializer.java new file mode 100644 index 000000000..f7189bf0f --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringSerializer.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; + +import javax.xml.stream.XMLStreamException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.model.LangString; + +public class LangStringSerializer extends JsonSerializer { + + @Override + public void serialize(LangString langString, JsonGenerator gen, SerializerProvider serializers) throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + xgen.writeObjectFieldStart("langString"); + + try { + xgen.getStaxWriter().writeAttribute("lang", langString.getLanguage()); + } catch (XMLStreamException e) { + e.printStackTrace(); + } + xgen.setNextIsAttribute(false); + xgen.setNextIsUnwrapped(true); + xgen.writeFieldName("value"); + xgen.writeString(langString.getValue()); + + xgen.writeEndObject(); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java new file mode 100644 index 000000000..524bdba9e --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import io.adminshell.aas.v3.model.LangString; + +public class LangStringsSerializer extends NoEntryWrapperListSerializer { +} \ No newline at end of file diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java new file mode 100644 index 000000000..cb7f76220 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +/** + * Custom serializer for lists without individual list entry wrappers for parametrized classes. + * + * @param serialized class within the list + */ +public class NoEntryWrapperListSerializer extends JsonSerializer> { + private String outerWrapperName; + + /** + * Sets the tag-name of the outer xml wrapper element. By default, no outer wrapper is serialized. + * + * @param outerWrapper the tag name (without namespace) + */ + public void setOuterWrapper(String outerWrapper) { + this.outerWrapperName = outerWrapper; + } + + @Override + public void serialize(List list, JsonGenerator gen, SerializerProvider serializers) + throws IOException { + writeList(list, (ToXmlGenerator) gen); + } + + private void writeList(List list, ToXmlGenerator xgen) throws IOException { + xgen.writeStartObject(); + + writeOuterWrapperStart(xgen); + writeListEntries(list, xgen); + writeOuterWrapperEnd(xgen); + + xgen.writeEndObject(); + } + + private void writeListEntries(List list, ToXmlGenerator xgen) throws IOException { + for (Object listEntry : list) { + xgen.writeObject(listEntry); + } + } + + private void writeOuterWrapperStart(ToXmlGenerator xgen) throws IOException { + if (outerWrapperName != null && !outerWrapperName.isEmpty()) { + xgen.writeObjectFieldStart(outerWrapperName); + } + } + + private void writeOuterWrapperEnd(ToXmlGenerator xgen) throws IOException { + if (outerWrapperName != null && !outerWrapperName.isEmpty()) { + xgen.writeEndObject(); + } + } + + @Override + public boolean isEmpty(SerializerProvider provider, List value) { + return value == null || value.isEmpty(); + } +} \ No newline at end of file diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ReferenceSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ReferenceSerializer.java new file mode 100644 index 000000000..05181ef67 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/ReferenceSerializer.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.Reference; + +public class ReferenceSerializer extends JsonSerializer { + private NoEntryWrapperListSerializer keyListSerializer; + + public ReferenceSerializer() { + this.keyListSerializer = new NoEntryWrapperListSerializer<>(); + this.keyListSerializer.setOuterWrapper("keys"); + } + + @Override + public void serialize(Reference reference, JsonGenerator gen, SerializerProvider serializers) throws IOException { + List keys = reference.getKeys(); + this.keyListSerializer.serialize(keys, gen, serializers); + } + +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementSerializer.java new file mode 100644 index 000000000..dc689911b --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementSerializer.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.dataformat.xml.SubmodelElementManager; +import io.adminshell.aas.v3.model.SubmodelElement; + +public class SubmodelElementSerializer extends JsonSerializer { + + @Override + public void serialize(SubmodelElement value, JsonGenerator gen, SerializerProvider serializers) throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + xgen.writeStartObject(); + String name = SubmodelElementManager.CLASS_TO_NAME.get(value.getClass()); + xgen.writeFieldName(name); + xgen.writeObject(value); + xgen.writeEndObject(); + } +} diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementsSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementsSerializer.java new file mode 100644 index 000000000..e860aae83 --- /dev/null +++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/SubmodelElementsSerializer.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml.serialization; + +import java.io.IOException; +import java.util.List; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; + +import io.adminshell.aas.v3.model.SubmodelElement; + +public class SubmodelElementsSerializer extends JsonSerializer> { + + private SubmodelElementSerializer ser = new SubmodelElementSerializer(); + + @Override + public void serialize(List value, JsonGenerator gen, SerializerProvider serializers) + throws IOException { + ToXmlGenerator xgen = (ToXmlGenerator) gen; + xgen.writeStartObject(); + for (SubmodelElement element : value) { + xgen.writeFieldName("submodelElement"); + ser.serialize(element, xgen, serializers); + } + xgen.writeEndObject(); + } +} diff --git a/dataformat-xml/src/main/resources/AAS.xsd b/dataformat-xml/src/main/resources/AAS.xsd new file mode 100644 index 000000000..6f93991c6 --- /dev/null +++ b/dataformat-xml/src/main/resources/AAS.xsd @@ -0,0 +1,576 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dataformat-xml/src/main/resources/AAS_ABAC.xsd b/dataformat-xml/src/main/resources/AAS_ABAC.xsd new file mode 100644 index 000000000..472c60d37 --- /dev/null +++ b/dataformat-xml/src/main/resources/AAS_ABAC.xsd @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dataformat-xml/src/main/resources/IEC61360.xsd b/dataformat-xml/src/main/resources/IEC61360.xsd new file mode 100644 index 000000000..081553c49 --- /dev/null +++ b/dataformat-xml/src/main/resources/IEC61360.xsd @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java new file mode 100644 index 000000000..3e9291e70 --- /dev/null +++ b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import static org.junit.Assert.assertEquals; + +import java.io.FileNotFoundException; + +import org.junit.Test; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; + +public class XMLDeserializerTest { + + @Test + public void deserializeAASSimple() throws Exception { + AssetAdministrationShellEnvironment env = new XmlDeserializer().read(XmlSerializerTest.AASSIMPLE_FILE); + assertEquals(AASSimple.ENVIRONMENT, env); + } + + @Test + public void deserializeAASFull() throws FileNotFoundException, DeserializationException { + AssetAdministrationShellEnvironment env = new XmlDeserializer().read(XmlSerializerTest.AASFULL_FILE); + assertEquals(AASFull.ENVIRONMENT, env); + } +} diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java new file mode 100644 index 000000000..4e113fccf --- /dev/null +++ b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import org.hamcrest.MatcherAssert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.SAXException; +import org.xmlunit.diff.DefaultNodeMatcher; +import org.xmlunit.diff.ElementSelectors; +import org.xmlunit.matchers.CompareMatcher; + +import com.fasterxml.jackson.core.JsonProcessingException; + +import io.adminshell.aas.v3.dataformat.SerializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; + +public class XmlSerializerTest { + public static final java.io.File AASFULL_FILE = new java.io.File("src/test/resources/test_demo_full_example.xml"); + public static final java.io.File AASSIMPLE_FILE = new java.io.File("src/test/resources/xmlExample.xml"); + public static final java.io.File AASSIMPLE_FILE_WITH_TEST_NAMESPACE = new java.io.File("src/test/resources/xmlExampleWithModifiedPrefix.xml"); + + private static final Logger logger = LoggerFactory.getLogger(XmlSerializerTest.class); + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @Test + public void testWriteToFile() throws JsonProcessingException, IOException, SerializationException { + File file = tempFolder.newFile("output.xml"); + new XmlSerializer().write(file, AASSimple.ENVIRONMENT); + assertTrue(file.exists()); + } + + @Test + public void testSerializeMinimal() throws IOException, SerializationException, SAXException { + File file = new File("src/test/resources/minimum.xml"); + AssetAdministrationShellEnvironment environment = new DefaultAssetAdministrationShellEnvironment.Builder() + .build(); + validateXmlSerializer(file, environment); + } + + @Test + public void testSerializeSimpleWithTestNamespacePrefix() throws IOException, SerializationException, SAXException { + Map nsPrefixes = new HashMap<>(AasXmlNamespaceContext.PREFERRED_PREFIX_CONTEXT); + nsPrefixes.put("test", nsPrefixes.get("aas")); + nsPrefixes.remove("aas"); + validateXmlSerializer(AASSIMPLE_FILE_WITH_TEST_NAMESPACE, AASSimple.ENVIRONMENT, new XmlSerializer(nsPrefixes)); + } + + @Test + public void testSerializeSimple() throws IOException, SerializationException, SAXException { + validateXmlSerializer(AASSIMPLE_FILE, AASSimple.ENVIRONMENT); + } + + @Test + public void testSerializeFull() throws IOException, SerializationException, SAXException { + validateXmlSerializer(AASFULL_FILE, AASFull.ENVIRONMENT); + } + + private void validateXmlSerializer(File expectedFile, AssetAdministrationShellEnvironment environment) + throws IOException, SerializationException, SAXException { + validateXmlSerializer(expectedFile, environment, new XmlSerializer()); + } + + private void validateXmlSerializer(File expectedFile, AssetAdministrationShellEnvironment environment, XmlSerializer xmlSerializer) + throws SerializationException, SAXException { + String actual = xmlSerializer.write(environment); + Set errors = new XmlSchemaValidator().validateSchema(actual); + logger.info(actual); + logErrors(expectedFile.getName(), errors); + assertTrue(errors.isEmpty()); + CompareMatcher xmlTestMatcher = CompareMatcher.isSimilarTo(expectedFile).normalizeWhitespace().ignoreComments() + .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndAllAttributes)); + MatcherAssert.assertThat(actual, xmlTestMatcher); + } + + private void logErrors(String validatedFileName, Set errors) { + if (errors.isEmpty()) + return; + logger.info("Validate file: " + validatedFileName); + for (String error : errors) { + logger.info(error); + } + } +} diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlValidationTest.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlValidationTest.java new file mode 100644 index 000000000..f7f5839a8 --- /dev/null +++ b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlValidationTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.xml; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Set; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.SAXException; + +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; + +@RunWith(JUnitParamsRunner.class) +public class XmlValidationTest { + + private static Logger logger = LoggerFactory.getLogger(XmlValidationTest.class); + + private static XmlSchemaValidator validator; + + @BeforeClass + public static void prepareValidator() throws SAXException { + validator = new XmlSchemaValidator(); + } + + @Test + @Parameters({"src/test/resources/minimum.xml", "src/test/resources/Example_AAS_ServoDCMotor - Simplified V2.0.xml"}) + // import from admin-shell.io -> is actually V3 + // -> fix name, as soon as it is fixed externally + public void validateValidXml(String file) throws IOException { + Set errors = validateXmlFile(file); + logErrors(file, errors); + assertTrue(errors.isEmpty()); + } + + @Test + @Parameters({"src/test/resources/invalidXmlExample.xml", "src/test/resources/ServoDCMotor_invalid_V2.0.xml"}) + public void validateInvalidXml(String file) throws IOException { + Set errors = validateXmlFile(file); + logErrors(file, errors); + assertEquals(1, errors.size()); + } + + private void logErrors(String validatedFileName, Set errors) { + if (errors.isEmpty()) { + return; + } + logger.info("Validate file: " + validatedFileName); + for (String error : errors) { + logger.info(error); + } + } + + private Set validateXmlFile(String file) throws IOException { + String serializedEnvironment = new String(Files.readAllBytes(Paths.get(file))); + return validator.validateSchema(serializedEnvironment); + } +} diff --git a/dataformat-xml/src/test/resources/Example_AAS_ServoDCMotor - Simplified V2.0.xml b/dataformat-xml/src/test/resources/Example_AAS_ServoDCMotor - Simplified V2.0.xml new file mode 100644 index 000000000..409a34b1c --- /dev/null +++ b/dataformat-xml/src/test/resources/Example_AAS_ServoDCMotor - Simplified V2.0.xml @@ -0,0 +1,452 @@ + + + + + + ExampleMotor + + + http://customer.com/aas/9175_7013_7091_9168 + + + + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + + + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + + + + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + + + + + + + + http://customer.com/assets/KHBVZJSQKIY + + + + Instance + + + + + + + MaxRotationSpeed + + Property + + 0 + 2 + + + 0173-1#02-BAA120#008 + + + + + RealMeasure + + + Höchste zulässige Drehzahl, mit welcher der Motor oder die Speiseinheit betrieben werden darf + + + Greatest permissible rotation speed with which the motor or feeding unit may be operated + + + + + max. Drehzahl + + + Max. rotation speed + + + + + + + + 1/min + + + + + 0173-1#05-AAA650#002 + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + + + + + Title + + Property + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + StringTranslatable + + + Sprachabhängiger Titel des Dokuments. + + + + + Titel + + + Title + + + + + Titel + + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + RotationSpeed + + Property + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + + RealMeasure + + + Aktuelle Drehzahl, mit welcher der Motor oder die Speiseinheit betrieben wird + + + Actual rotation speed with which the motor or feeding unit is operated + + + + + Aktuelle Drehzahl + + + Actual rotation speed + + + + + RotationSpeed + + + + + 1/min + + + + + 0173-1#05-AAA650#002 + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + Document + + + Entity + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + Url + + + Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann. + + + + + Dokument + + + Document + + + + + Document + + + + [ISO 15519-1:2010] + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + DigitalFile + + + Document + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + Url + + + Eine Datei, die die DocumentVersion repräsentiert. Neben der obligatorischen PDF/A Datei können weitere Dateien angegeben werden. + + + + + Digitale Datei + + + + + digitale Datei + + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + + + Documentation + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + Instance + + + + + OperatingManual + + Instance + + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + false + false + + + + + DigitalFile_PDF + + + Parameter + + Instance + + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + /aasx/OperatingManual.pdf + + + application/pdf + + + + + + + Title + + Instance + + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + + Operating Manual + + + + + + + + + + + + TechnicalData + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + Instance + + + + 0173-1#01-AFZ615#016 + + + + + + + + MaxRotationSpeed + + + Parameter + + Instance + + + + 0173-1#02-BAA120#008 + + + + + 5000 + + + integer + + + + + + + + OperationalData + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + Instance + + + + + RotationSpeed + + + Variable + + Instance + + + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + + 4370 + + + integer + + + + + + + + diff --git a/dataformat-xml/src/test/resources/ServoDCMotor_invalid_V2.0.xml b/dataformat-xml/src/test/resources/ServoDCMotor_invalid_V2.0.xml new file mode 100644 index 000000000..5165ecee6 --- /dev/null +++ b/dataformat-xml/src/test/resources/ServoDCMotor_invalid_V2.0.xml @@ -0,0 +1,486 @@ + + + + + + ExampleMotor + + CONSTANT + + http://customer.com/aas/9175_7013_7091_9168 + + + + + http://customer.com/assets/KHBVZJSQKIY + + + + + + + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + + + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + + + + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + + + + + + + + + ServoDCMotor + + + http://customer.com/assets/KHBVZJSQKIY + + + + + + + + Instance + + + + + + Documentation + + + CONSTANT + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + Instance + + + + + + OperatingManual + + Instance + + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + + + + DigitalFile_PDF + + + PARAMETER + + Instance + + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + application/pdf + + + /aasx/OperatingManual.pdf + + + + + + + Title + + Instance + + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + + Operating Manual + + + + + + false + false + + + + + + + TechnicalData + + + CONSTANT + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + Instance + + + + 0173-1#01-AFZ615#016 + + + + + + + + MaxRotationSpeed + + + PARAMETER + + Instance + + + + 0173-1#02-BAA120#008 + + + + + integer + + + 5000 + + + + + + + + + OperationalData + + + VARIABLE + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + Instance + + + + + + + + RotationSpeed + + + VARIABLE + + Instance + + + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + + + + + + + integer + + + 4370 + + + + + + + + + + + MaxRotationSpeed + + PROPERTY + + 0173-1#02-BAA120#008 + + + 2 + 0 + + + + + REAL_MEASURE + + + Höchste zulässige Drehzahl, mit welcher der Motor oder die Speiseinheit betrieben werden darf + + + Greatest permissible rotation speed with which the motor or feeding unit may be operated + + + + + max. Drehzahl + + + Max. rotation speed + + + + + + + + 1/min + + + + + 0173-1#05-AAA650#002 + + + + + + + + + + + + + Title + + PROPERTY + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + STRING_TRANSLATABLE + + + Sprachabhängiger Titel des Dokuments. + + + + + Titel + + + Title + + + + + Titel + + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + RotationSpeed + + PROPERTY + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + + + REAL_MEASURE + + + Aktuelle Drehzahl, mit welcher der Motor oder die Speiseinheit betrieben wird + + + Actual rotation speed with which the motor or feeding unit is operated + + + + + Aktuelle Drehzahl + + + Actual rotation speed + + + + + RotationSpeed + + + + + 1/min + + + + + 0173-1#05-AAA650#002 + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + Document + + + COLLECTION + + + + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + URL + + + Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann. + + + + + Dokument + + + Document + + + + + Document + + + + [ISO 15519-1:2010] + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + + + DigitalFile + + + DOCUMENT + + + http://vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + URL + + + Eine Datei, die die DocumentVersion repräsentiert. Neben der obligatorischen PDF/A Datei können weitere Dateien angegeben werden. + + + + + Digitale Datei + + + + + digitale Datei + + + + + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360 + + + + + + + diff --git a/dataformat-xml/src/test/resources/invalidXmlExample.xml b/dataformat-xml/src/test/resources/invalidXmlExample.xml new file mode 100644 index 000000000..0d33c3068 --- /dev/null +++ b/dataformat-xml/src/test/resources/invalidXmlExample.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/dataformat-xml/src/test/resources/minimum.xml b/dataformat-xml/src/test/resources/minimum.xml new file mode 100644 index 000000000..33fd6da75 --- /dev/null +++ b/dataformat-xml/src/test/resources/minimum.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/dataformat-xml/src/test/resources/test_demo_full_example.xml b/dataformat-xml/src/test/resources/test_demo_full_example.xml new file mode 100644 index 000000000..4b24d430f --- /dev/null +++ b/dataformat-xml/src/test/resources/test_demo_full_example.xml @@ -0,0 +1,1654 @@ + + + + + TestAssetAdministrationShell + + An Example Asset Administration Shell for the test application + Ein Beispiel-Verwaltungsschale für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_AssetAdministrationShell + + + https://acplt.org/TestAssetAdministrationShell2 + + + + + + https://acplt.org/Test_Submodel + + + + + http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + + + + + http://acplt.org/Submodels/Assets/TestAsset/Identification + + + + + + + https://acplt.org/Test_Asset + + + Instance + + + + http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + + + + + + + Test_AssetAdministrationShell_Mandatory + https://acplt.org/Test_AssetAdministrationShell_Mandatory + + + + https://acplt.org/Test_Submodel_Mandatory + + + + + https://acplt.org/Test_Submodel2_Mandatory + + + + + + + https://acplt.org/Test_Asset_Mandatory + + + Instance + + + + Test_AssetAdministrationShell2_Mandatory + https://acplt.org/Test_AssetAdministrationShell2_Mandatory + + + + https://acplt.org/Test_Asset_Mandatory + + + Instance + + + + TestAssetAdministrationShell + + An Example Asset Administration Shell for the test application + Ein Beispiel-Verwaltungsschale für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_AssetAdministrationShell_Missing + + + + https://acplt.org/Test_Submodel_Missing + + + + + + + https://acplt.org/Test_Asset_Missing + + + Instance + + + + ExampleView + + + + https://acplt.org/Test_Submodel_Missing + + + + + + ExampleView2 + + + + + + + + TestConceptDescription + + An example concept description for the test application + Ein Beispiel-ConceptDescription für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_ConceptDescription + + + http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription + + + + + Test_ConceptDescription_Mandatory + https://acplt.org/Test_ConceptDescription_Mandatory + + + TestConceptDescription1 + + An example concept description for the test application + Ein Beispiel-ConceptDescription für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_ConceptDescription_Missing + + + TestSpec_01 + + 0 + 0.9 + + http://acplt.org/DataSpecifciations/Example/Identification + + + + + Test Specification + TestSpecification + + RealMeasure + + Dies ist eine Data Specification für Testzwecke + This is a DataSpecification for testing purposes + + + Test Spec + TestSpec + + SpaceUnit + + + http://acplt.org/Units/SpaceUnit + + + http://acplt.org/DataSpec/ExampleDef + SU + string + + + + + http://acplt.org/ValueId/ExampleValueId + + + http://acplt.org/ValueId/ExampleValueId + + + + + http://acplt.org/ValueId/ExampleValueId2 + + + http://acplt.org/ValueId/ExampleValueId2 + + + TEST + Min + Max + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + http://acplt.org/ReferenceElements/ConceptDescriptionX + + + + + + + Identification + + An example asset identification submodel for the test application + Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung + + + 0 + 0.9 + + http://acplt.org/Submodels/Assets/TestAsset/Identification + Instance + + + http://acplt.org/SubmodelTemplates/AssetIdentification + + + + + + ManufacturerName + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + 0173-1#02-AAO677#002 + + + + + 100 + http://acplt.org/Qualifier/ExampleQualifier + int + + + 50 + http://acplt.org/Qualifier/ExampleQualifier2 + int + + + + + http://acplt.org/ValueId/ACPLT + + + http://acplt.org/ValueId/ACPLT + string + + + + + InstanceId + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber + + + + + 978-8234-234-342 + + + 978-8234-234-342 + string + + + + + + BillOfMaterial + + An example bill of material submodel for the test application + Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung + + + 0.9 + + http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + Instance + + + http://acplt.org/SubmodelTemplates/BillOfMaterial + + + + + + ExampleEntity + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber + + + CoManagedEntity + + + + ExampleProperty2 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/ValueId/ExampleValue2 + + + http://acplt.org/ValueId/ExampleValue2 + string + + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/ValueId/ExampleValueId + + + http://acplt.org/ValueId/ExampleValueId + string + + + + + + + + ExampleEntity2 + + Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation. + Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist + + + + http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber + + + + + https://acplt.org/Test_Asset2 + + + SelfManagedEntity + + + + + + + TestSubmodel + + An example submodel for the test application + Ein Beispiel-Teilmodell für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_Submodel + Instance + + + http://acplt.org/SubmodelTemplates/ExampleSubmodel + + + + + + ExampleRelationshipElement + Parameter + + Example RelationshipElement object + Beispiel RelationshipElement Element + + + + http://acplt.org/RelationshipElements/ExampleRelationshipElement + + + + + https://acplt.org/Test_Submodel + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + ExampleEntity + ExampleProperty2 + + + + + + + ExampleAnnotatedRelationshipElement + Parameter + + Example AnnotatedRelationshipElement object + Beispiel AnnotatedRelationshipElement Element + + + + http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement + + + + + https://acplt.org/Test_Submodel + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial + ExampleEntity + ExampleProperty2 + + + + + + ExampleProperty3 + Parameter + Instance + some example annotation + string + + + + + + + + ExampleOperation + Parameter + + Example Operation object + Beispiel Operation Element + + Template + + + http://acplt.org/Operations/ExampleOperation + + + + + + ExampleProperty3 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/ValueId/ExampleValueId + + + http://acplt.org/ValueId/ExampleValueId + string + + + + + + + ExampleProperty1 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/ValueId/ExampleValueId + + + http://acplt.org/ValueId/ExampleValueId + string + + + + + + + ExampleProperty2 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/ValueId/ExampleValueId + + + http://acplt.org/ValueId/ExampleValueId + string + + + + + + + + ExampleCapability + Parameter + + Example Capability object + Beispiel Capability Element + + + + http://acplt.org/Capabilities/ExampleCapability + + + + + + + ExampleBasicEvent + Parameter + + Example BasicEvent object + Beispiel BasicEvent Element + + + + http://acplt.org/Events/ExampleBasicEvent + + + + + https://acplt.org/Test_Submodel + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + + + ExampleSubmodelCollectionOrdered + Parameter + + Example SubmodelElementCollectionOrdered object + Beispiel SubmodelElementCollectionOrdered Element + + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered + + + false + true + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/ValueId/ExampleValueId + + + http://acplt.org/ValueId/ExampleValueId + string + + + + + ExampleMultiLanguageProperty + Constant + + Example MultiLanguageProperty object + Beispiel MulitLanguageProperty Element + + + + http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty + + + + + http://acplt.org/ValueId/ExampleMultiLanguageValueId + + + + Example value of a MultiLanguageProperty element + Beispielswert für ein MulitLanguageProperty-Element + + + + + + ExampleRange + Parameter + + Example Range object + Beispiel Range Element + + + + http://acplt.org/Ranges/ExampleRange + + + 100 + 0 + int + + + + + + + + ExampleSubmodelCollectionUnordered + Parameter + + Example SubmodelElementCollectionUnordered object + Beispiel SubmodelElementCollectionUnordered Element + + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered + + + false + false + + + + ExampleBlob + Parameter + + Example Blob object + Beispiel Blob Element + + + + http://acplt.org/Blobs/ExampleBlob + + + AQIDBAU= + application/pdf + + + + + ExampleFile + Parameter + + Example File object + Beispiel File Element + + + + http://acplt.org/Files/ExampleFile + + + /TestFile.pdf + application/pdf + + + + + ExampleReferenceElement + Parameter + + Example Reference Element object + Beispiel Reference Element Element + + + + http://acplt.org/ReferenceElements/ExampleReferenceElement + + + + + https://acplt.org/Test_Submodel + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + + + + + + + Test_Submodel_Mandatory + https://acplt.org/Test_Submodel_Mandatory + Template + + + + ExampleRelationshipElement + + + https://acplt.org/Test_Submodel_Mandatory + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + https://acplt.org/Test_Submodel_Mandatory + ExampleSubmodelCollectionOrdered + ExampleMultiLanguageProperty + + + + + + + ExampleAnnotatedRelationshipElement + + + https://acplt.org/Test_Submodel_Mandatory + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + https://acplt.org/Test_Submodel_Mandatory + ExampleSubmodelCollectionOrdered + ExampleMultiLanguageProperty + + + + + + + + ExampleOperation + Template + + + + + ExampleCapability + + + + + ExampleBasicEvent + + + https://acplt.org/Test_Submodel_Mandatory + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + + + ExampleSubmodelCollectionOrdered + false + true + + + + ExampleProperty + string + + + + + ExampleMultiLanguageProperty + + + + + ExampleRange + int + + + + + + + + ExampleSubmodelCollectionUnordered + false + false + + + + ExampleBlob + application/pdf + + + + + ExampleFile + application/pdf + + + + + ExampleReferenceElement + + + + + + + + ExampleSubmodelCollectionUnordered2 + false + false + + + + + + + Test_Submodel2_Mandatory + https://acplt.org/Test_Submodel2_Mandatory + Instance + + + + TestSubmodel + + An example submodel for the test application + Ein Beispiel-Teilmodell für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_Submodel_Missing + Instance + + + http://acplt.org/SubmodelTemplates/ExampleSubmodel + + + + + + ExampleRelationshipElement + Parameter + + Example RelationshipElement object + Beispiel RelationshipElement Element + + + + http://acplt.org/RelationshipElements/ExampleRelationshipElement + + + + + https://acplt.org/Test_Submodel_Missing + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + https://acplt.org/Test_Submodel_Missing + ExampleSubmodelCollectionOrdered + ExampleMultiLanguageProperty + + + + + + + ExampleAnnotatedRelationshipElement + Parameter + + Example AnnotatedRelationshipElement object + Beispiel AnnotatedRelationshipElement Element + + + + http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement + + + + + https://acplt.org/Test_Submodel_Missing + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + https://acplt.org/Test_Submodel_Missing + ExampleSubmodelCollectionOrdered + ExampleMultiLanguageProperty + + + + + + ExampleProperty + Parameter + Instance + some example annotation + string + + + + + + + + ExampleOperation + Parameter + + Example Operation object + Beispiel Operation Element + + Template + + + http://acplt.org/Operations/ExampleOperation + + + + + + ExampleProperty3 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/Qualifier/ExampleQualifier + string + + + exampleValue + string + + + + + + + ExampleProperty1 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/Qualifier/ExampleQualifier + string + + + exampleValue + string + + + + + + + ExampleProperty2 + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/Qualifier/ExampleQualifier + string + + + exampleValue + string + + + + + + + + ExampleCapability + Parameter + + Example Capability object + Beispiel Capability Element + + + + http://acplt.org/Capabilities/ExampleCapability + + + + + + + ExampleBasicEvent + Parameter + + Example BasicEvent object + Beispiel BasicEvent Element + + + + http://acplt.org/Events/ExampleBasicEvent + + + + + https://acplt.org/Test_Submodel_Missing + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + + + ExampleSubmodelCollectionOrdered + Parameter + + Example SubmodelElementCollectionOrdered object + Beispiel SubmodelElementCollectionOrdered Element + + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered + + + false + true + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + + + http://acplt.org/Properties/ExampleProperty + + + + + http://acplt.org/Qualifier/ExampleQualifier + string + + + exampleValue + string + + + + + ExampleMultiLanguageProperty + Constant + + Example MultiLanguageProperty object + Beispiel MulitLanguageProperty Element + + + + http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty + + + + Example value of a MultiLanguageProperty element + Beispielswert für ein MulitLanguageProperty-Element + + + + + + ExampleRange + Parameter + + Example Range object + Beispiel Range Element + + + + http://acplt.org/Ranges/ExampleRange + + + 100 + 0 + int + + + + + + + + ExampleSubmodelCollectionUnordered + Parameter + + Example SubmodelElementCollectionUnordered object + Beispiel SubmodelElementCollectionUnordered Element + + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered + + + false + false + + + + ExampleBlob + Parameter + + Example Blob object + Beispiel Blob Element + + + + http://acplt.org/Blobs/ExampleBlob + + + AQIDBAU= + application/pdf + + + + + ExampleFile + Parameter + + Example File object + Beispiel File Element + + + + http://acplt.org/Files/ExampleFile + + + /TestFile.pdf + application/pdf + + + + + ExampleReferenceElement + Parameter + + Example Reference Element object + Beispiel Reference Element Element + + + + http://acplt.org/ReferenceElements/ExampleReferenceElement + + + + + https://acplt.org/Test_Submodel_Missing + ExampleSubmodelCollectionOrdered + ExampleProperty + + + + + + + + + + + TestSubmodel + + An example submodel for the test application + Ein Beispiel-Teilmodell für eine Test-Anwendung + + + 0 + 0.9 + + https://acplt.org/Test_Submodel_Template + Template + + + http://acplt.org/SubmodelTemplates/ExampleSubmodel + + + + + + ExampleRelationshipElement + Parameter + + Example RelationshipElement object + Beispiel RelationshipElement Element + + Template + + + http://acplt.org/RelationshipElements/ExampleRelationshipElement + + + + + ExampleProperty + + + + + ExampleProperty + + + + + + + ExampleAnnotatedRelationshipElement + Parameter + + Example AnnotatedRelationshipElement object + Beispiel AnnotatedRelationshipElement Element + + Template + + + http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement + + + + + ExampleProperty + + + + + ExampleProperty + + + + + + + + ExampleOperation + Parameter + + Example Operation object + Beispiel Operation Element + + Template + + + http://acplt.org/Operations/ExampleOperation + + + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + Template + + + http://acplt.org/Properties/ExampleProperty + + + string + + + + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + Template + + + http://acplt.org/Properties/ExampleProperty + + + string + + + + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + Template + + + http://acplt.org/Properties/ExampleProperty + + + string + + + + + + + + ExampleCapability + Parameter + + Example Capability object + Beispiel Capability Element + + Template + + + http://acplt.org/Capabilities/ExampleCapability + + + + + + + ExampleBasicEvent + Parameter + + Example BasicEvent object + Beispiel BasicEvent Element + + Template + + + http://acplt.org/Events/ExampleBasicEvent + + + + + ExampleProperty + + + + + + + ExampleSubmodelCollectionOrdered + Parameter + + Example SubmodelElementCollectionOrdered object + Beispiel SubmodelElementCollectionOrdered Element + + Template + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered + + + false + true + + + + ExampleProperty + Constant + + Example Property object + Beispiel Property Element + + Template + + + http://acplt.org/Properties/ExampleProperty + + + string + + + + + ExampleMultiLanguageProperty + Constant + + Example MultiLanguageProperty object + Beispiel MulitLanguageProperty Element + + Template + + + http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty + + + + + + + ExampleRange + Parameter + + Example Range object + Beispiel Range Element + + Template + + + http://acplt.org/Ranges/ExampleRange + + + 100 + int + + + + + ExampleRange2 + Parameter + + Example Range object + Beispiel Range Element + + Template + + + http://acplt.org/Ranges/ExampleRange + + + 0 + int + + + + + + + + ExampleSubmodelCollectionUnordered + Parameter + + Example SubmodelElementCollectionUnordered object + Beispiel SubmodelElementCollectionUnordered Element + + Template + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered + + + false + false + + + + ExampleBlob + Parameter + + Example Blob object + Beispiel Blob Element + + Template + + + http://acplt.org/Blobs/ExampleBlob + + + application/pdf + + + + + ExampleFile + Parameter + + Example File object + Beispiel File Element + + Template + + + http://acplt.org/Files/ExampleFile + + + application/pdf + + + + + ExampleReferenceElement + Parameter + + Example Reference Element object + Beispiel Reference Element Element + + Template + + + http://acplt.org/ReferenceElements/ExampleReferenceElement + + + + + + + + + + ExampleSubmodelCollectionUnordered2 + Parameter + + Example SubmodelElementCollectionUnordered object + Beispiel SubmodelElementCollectionUnordered Element + + Template + + + http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered + + + false + false + + + + + + + \ No newline at end of file diff --git a/dataformat-xml/src/test/resources/xmlExample.xml b/dataformat-xml/src/test/resources/xmlExample.xml new file mode 100644 index 000000000..22066404d --- /dev/null +++ b/dataformat-xml/src/test/resources/xmlExample.xml @@ -0,0 +1,326 @@ + + + + + ExampleMotor + http://customer.com/aas/9175_7013_7091_9168 + + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + + + + + thumbnail + Instance + https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png + image/png + + + + http://customer.com/assets/KHBVZJSQKIY + + + Instance + + + + + http://customer.com/Systems/ERP/012 + + + EquipmentID + 538fd1b3-f99f-4a52-9c75-72e9fa921270 + + + + + http://customer.com/Systems/IoT/1 + + + DeviceID + QjYgPggjwkiHk4RrQiYSLg== + + + + + + + + ServoDCMotor + http://customer.com/assets/KHBVZJSQKIY + + + + + Title + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + Title + Titel + + + Title + Titel + + ExampleString + ExampleString + StringTranslatable + + SprachabhängigerTiteldesDokuments. + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + DigitalFile + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + DigitalFile + DigitalFile + + + DigitalFile + DigitaleDatei + + ExampleString + ExampleString + String + + A file representing the document version. In addition to the mandatory PDF file, other files can be specified. + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + MaxRotationSpeed + PROPERTY + + 2 + 2.1 + + 0173-1#02-BAA120#008 + + + + 1/min + + + 0173-1#05-AAA650#002 + + + ExampleString + RealMeasure + + HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf + Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated + + + max.Drehzahl + Max.rotationspeed + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + RotationSpeed + PROPERTY + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + 1/min + + + 0173-1#05-AAA650#002 + + + ExampleString + RealMeasure + + Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird + Actual rotationspeed with which the motor or feedingunit is operated + + + AktuelleDrehzahl + Actualrotationspeed + + + AktuelleDrehzahl + ActualRotationSpeed + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + Document + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + Document + + ExampleString + [ISO15519-1:2010] + String + + Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann. + + + Document + Dokument + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + + + TechnicalData + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + Instance + + + 0173-1#01-AFZ615#016 + + + + + + MaxRotationSpeed + Parameter + Instance + + + 0173-1#02-BAA120#008 + + + 5000 + integer + + + + + + Documentation + http://i40.customer.com/type/1/1/1A7B62B529F19152 + Instance + + + + OperatingManual + Instance + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + false + false + + + + Title + Instance + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + OperatingManual + langString + + + + + DigitalFile_PDF + Instance + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + /aasx/OperatingManual.pdf + application/pdf + + + + + + + + + OperationalData + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + Instance + + + + RotationSpeed + Variable + Instance + + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + 4370 + integer + + + + + + \ No newline at end of file diff --git a/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml b/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml new file mode 100644 index 000000000..62cb6a08d --- /dev/null +++ b/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml @@ -0,0 +1,326 @@ + + + + + ExampleMotor + http://customer.com/aas/9175_7013_7091_9168 + + + + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + + + + + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + + + + + http://i40.customer.com/type/1/1/1A7B62B529F19152 + + + + + + thumbnail + Instance + https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png + image/png + + + + http://customer.com/assets/KHBVZJSQKIY + + + Instance + + + + + http://customer.com/Systems/ERP/012 + + + EquipmentID + 538fd1b3-f99f-4a52-9c75-72e9fa921270 + + + + + http://customer.com/Systems/IoT/1 + + + DeviceID + QjYgPggjwkiHk4RrQiYSLg== + + + + + + + + ServoDCMotor + http://customer.com/assets/KHBVZJSQKIY + + + + + Title + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + + + Title + Titel + + + Title + Titel + + ExampleString + ExampleString + StringTranslatable + + SprachabhängigerTiteldesDokuments. + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + DigitalFile + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + + + DigitalFile + DigitalFile + + + DigitalFile + DigitaleDatei + + ExampleString + ExampleString + String + + A file representing the document version. In addition to the mandatory PDF file, other files can be specified. + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + MaxRotationSpeed + PROPERTY + + 2 + 2.1 + + 0173-1#02-BAA120#008 + + + + 1/min + + + 0173-1#05-AAA650#002 + + + ExampleString + RealMeasure + + HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf + Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated + + + max.Drehzahl + Max.rotationspeed + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + RotationSpeed + PROPERTY + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + + 1/min + + + 0173-1#05-AAA650#002 + + + ExampleString + RealMeasure + + Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird + Actual rotationspeed with which the motor or feedingunit is operated + + + AktuelleDrehzahl + Actualrotationspeed + + + AktuelleDrehzahl + ActualRotationSpeed + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + Document + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + + + Document + + ExampleString + [ISO15519-1:2010] + String + + Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann. + + + Document + Dokument + + + + + + http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0 + + + + + + + + TechnicalData + http://i40.customer.com/type/1/1/7A7104BDAB57E184 + Instance + + + 0173-1#01-AFZ615#016 + + + + + + MaxRotationSpeed + Parameter + Instance + + + 0173-1#02-BAA120#008 + + + 5000 + integer + + + + + + Documentation + http://i40.customer.com/type/1/1/1A7B62B529F19152 + Instance + + + + OperatingManual + Instance + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document + + + false + false + + + + Title + Instance + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title + + + OperatingManual + langString + + + + + DigitalFile_PDF + Instance + + + www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile + + + /aasx/OperatingManual.pdf + application/pdf + + + + + + + + + OperationalData + http://i40.customer.com/instance/1/1/AC69B1CB44F07935 + Instance + + + + RotationSpeed + Variable + Instance + + + http://customer.com/cd/1/1/18EBD56F6B43D895 + + + 4370 + integer + + + + + + \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..4378419e7 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,9 @@ +############### +# folder # +############### +/**/DROP/ +/**/TEMP/ +/**/packages/ +/**/bin/ +/**/obj/ +_site diff --git a/docs/articles/building.md b/docs/articles/building.md new file mode 100644 index 000000000..0f135373b --- /dev/null +++ b/docs/articles/building.md @@ -0,0 +1,28 @@ +# Building + +You can download and build the repository by yourself by following these steps: + +- Clone the GitHub repository: + +```sh + git clone https://github.com/admin-shell-io/java-serializer.git +``` + +- Use [Maven](https://maven.apache.org/) to build the project +```sh + mvn clean package +``` + +- **OR** use Maven to build and install the artifacts in your local Maven repository +```sh + mvn clean install +``` + +> [!NOTE] +> +> If the project is built locally, the artifact version is set to the `revision` variable in the `pom.xml` in the project root folder. +> ```xml +> 1.1.0 +> ${revision} +> ``` +> If you change the version of your local built, the `model.version` is also set to the updated artifact version from the [java-model](https://github.com/admin-shell-io/java-model) project. For the same version number, both artifacts are compatible. diff --git a/docs/articles/development_workflow.md b/docs/articles/development_workflow.md new file mode 100644 index 000000000..207c760e3 --- /dev/null +++ b/docs/articles/development_workflow.md @@ -0,0 +1,37 @@ +# Development Workflow + +We develop with Github using pull requests (see this [Github guide](https://guides.github.com/introduction/flow/) for a short introduction). + +**Development branch.** The development branch is always `development`. Expect changes on this branch from time to time. + +**Releases.** The releases mark the development milestones on the `main` branch with a certain feature completeness. + +## Pull Requests + +**Feature branches.** We develop using the feature branches, see this [section of the Git book](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows). We use `feature/'feature-name'` and `bugfix/'bugfix-name'` as a naming convention. + +If you are a member of the development team, create a feature branch directly within the repository. + +Otherwise, if you are a non-member contributor, fork the repository and create the feature branch in your forked repository. See this Github tuturial for more guidance. + +**Branch Prefix.** Each PullRequest must contained a list of the changed topics, for instance as a list of bulletpoints. Simply refering to the commit messages is not sufficient. + +**Reviews.** Each PullRequest is reviewed by the Maintainers of the project. In order to simplify the workflow, please assign the PullRequest directly to the Maintainer you think is most knowledgable about your changes. + +## CI Workflows +There are three workflows that will automatically handle specific events for the repository: +- Pull requests on one of the branches mentioned above will trigger CI actions that will automatically check, if all tests pass successfully +- Additionally, new commits on `main` will build the release artifacts and publish them on [Maven Central](https://mvnrepository.com/artifact/io.admin-shell.aas) +- The documentation found in /docs is automatically build with docFX and published to gh-pages, when a new release is pushed to the `main` branch + +## Commit Messages + +The commit messages should follow the guidelines from https://chris.beams.io/posts/git-commit: + +- Separate subject from body with a blank line +- Limit the subject line to 50 characters +- Capitalize the subject line +- Do not end the subject line with a period +- Use the imperative mood in the subject line +- Wrap the body at 72 characters +- Use the body to explain what and why (instead of how) diff --git a/docs/articles/intro.md b/docs/articles/intro.md new file mode 100644 index 000000000..c43b4705e --- /dev/null +++ b/docs/articles/intro.md @@ -0,0 +1,16 @@ +# Introduction + +The [AAS Java Dataformat Library](https://github.com/admin-shell-io/java-serializer/) is a collection of software modules to serialize and deserialze instances of the Asset Administration Shell from and to Java instances. De-/serialization works according to the dataformat schemas published in the document 'Details of the Asset Administration Shell', published on www.plattform-i40.de. + +The serialization library and all its modules depend on the Java implementation for the metamodel from the project [java-model](https://github.com/admin-shell-io/java-model). + +## Project Structure + +The project contains several modules: + +- `dataformat-parent` Maven parent module that contains the respective de-/serializers for the different data formats. +- `dataformat-core` Location of the general classes and interfaces that are used by more than one de-/serializer. +- `dataformat-aasx` AASX de-/serializer +- `dataformat-json` JSON de-/serializer +- `dataformat-xml` XML de-/serializer +- `dataformat-uanodeset` OPC UA I4AAS NodeSet de-/serializer \ No newline at end of file diff --git a/docs/articles/releasing.md b/docs/articles/releasing.md new file mode 100644 index 000000000..918d11fea --- /dev/null +++ b/docs/articles/releasing.md @@ -0,0 +1,5 @@ +# Versioning + +We version using **semantic versioning** (e.g., `1.0.4`). The first position indicates the major release. Different major releases canvas contain breaking changes and are not necessarily compliant. The second number indicates the minor releas or revision, which contains new features compared to an older revision. The last position is used for hotfixes or bugfixes. + +Note, that the versioning scheme of this project is not directly aligned with the release process of the metamodel! For instance, the version 1.0.3 targets the metamodel version 3.0.RC02 \ No newline at end of file diff --git a/docs/articles/toc.yml b/docs/articles/toc.yml new file mode 100644 index 000000000..26e4f9cfa --- /dev/null +++ b/docs/articles/toc.yml @@ -0,0 +1,10 @@ +- name: Introduction + href: intro.md +- name: Usage + href: usage.md +- name: Building + href: building.md +- name: Development Workflow + href: development_workflow.md +- name: Releasing + href: releasing.md diff --git a/docs/articles/usage.md b/docs/articles/usage.md new file mode 100644 index 000000000..4f1f6190c --- /dev/null +++ b/docs/articles/usage.md @@ -0,0 +1,85 @@ +# Usage + +The library and its modules are released at Maven Central. Thus, you can use the respective serializers in your Java Maven project by adding the following dependency: + +```xml + + io.admin-shell.aas + dataformat-**serializer** + **version** + +``` + +For example, uses the following dependency declaration to embed the `JSON dataformat`: + +```xml + + io.admin-shell.aas + dataformat-json + 1.1.1 + +``` + + +> [!NOTE] +> +> Maven will automatically resolve the dependencies of the library and therefore also include the model implementation from the [java-model](https://github.com/admin-shell-io/java-model) project. + +## Serialization + +The library supports serialization of an AAS environment to a `File`, `OutputStream` or `String`. See the following interface to get more details on what methods can be used to serialize an environment: + +https://github.com/admin-shell-io/java-serializer/blob/main/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Serializer.java + +Here is a small example on how to serialize a given environment to a JSON-`String`: + +```Java +AssetAdministrationShellEnvironment env = ...; +String serializedEnvironment = new JsonSerializer().write(env); +``` + +## Deserialization + +Likewise, you can deserialize an AAS environment from a `File`, `InputStream` or `String`. See the following interface to get more details on what methods can be used to deserialize an environment: + +https://github.com/admin-shell-io/java-serializer/blob/main/dataformat-core/src/main/java/io/adminshell/aas/v3/dataformat/Deserializer.java + +Here is a small example on how to deserialize a given JSON-`String` and draw some information out of the returned model: + +```Java +String serializedEnvironment = "..."; +AssetAdministrationShellEnvironment env = new JsonDeserializer().read(serializedEnvironment); +List aasList = env.getAssetAdministrationShells(); +aasList.forEach(aas -> System.out.println("Environment contains AAS: " + aas.getIdShort())); +``` + +## AASX + +In order to be able to also embed files into a serialized environment, it is possible to create an .aasx-package. The AASX module makes use of the xml-dataformat to handle the `AASEnvironment`. + +```Java +byte[] fileContent = ...; +AssetAdministrationShellEnvironment env = ...; +InMemoryFile file = new InMemoryFile(fileContent, "aasx/MyFile.pdf"); +List fileList = new ArrayList<>() +fileList.add(file); +ByteArrayOutputStream out = new ByteArrayOutputStream(); +new AASXSerializer().write(env, fileList, out); +``` + +> [!NOTE] +> +> The given filepath is relative to the .aasx package root and has to correspondent to the relative path given in the `File`-`SubmodelElement` that points to this file. + +## Constraint Validation + +According to the AAS specification in "Details of The Asset Administration Shell", there are a number of constraints a valid model has to fulfill. The java-model implementation allows the creation of models that are not valid according to these constraints. The java-dataformat library contains a validation module to test them. The following snippet shows a submodel with an invalid idShort. Therefore, this snippet will throw a `ValidationException`. + +```Java +Referable invalidReferable = new DefaultSubmodel.Builder() + .identification( + new DefaultIdentifier.Builder().identifier("submodel").idType(IdentifierType.CUSTOM).build()) + .idShort("_idShort") + .build(); +ShaclValidator.getInstance().validate(invalidReferable); +``` diff --git a/docs/docfx.json b/docs/docfx.json new file mode 100644 index 000000000..1fe4ab650 --- /dev/null +++ b/docs/docfx.json @@ -0,0 +1,39 @@ +{ + "build": { + "content": [ + { + "files": [ + "articles/**.md", + "**/*.yml", + "*.md", + "toc.yml" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ] + } + ], + "dest": "_site", + "globalMetadata": { + "_appTitle": "java-serializer Documentation", + "_appFaviconPath": "images/favicon.ico", + "_appLogoPath": "images/adminshellio-48x48.jpg", + "_enableSearch": true + }, + "globalMetadataFiles": [], + "fileMetadataFiles": [], + "template": [ + "default" + ], + "postProcessors": [], + "markdownEngineName": "markdig", + "noLangKeyword": false, + "keepFileLink": false, + "cleanupCacheHistory": false, + "disableGitFeatures": false + } +} \ No newline at end of file diff --git a/docs/images/adminshellio-48x48.jpg b/docs/images/adminshellio-48x48.jpg new file mode 100644 index 0000000000000000000000000000000000000000..820c4136d498a5a5fc9fbd203760c84278d8d0cd GIT binary patch literal 2228 zcmbW1do)-83bJ43Z-N+}YlwuyEmw2@ZHCbM(8=j>m*`+cAHocBG?^StN#Iq!L2@vN8y zsQP$%djcR32;fTwAZ7yy4@z_-0QmX>mH+_2Bsp~eELnjh<4=j_0e3(K1d_&I0?UG> zl7m3NvQRlFR61eu3i2=*90rBLmEdp%MTwyD$|_2V%F?y;5NW%#OA?AOC`?-Mze)TM zP=f*cf&E|*0+3Myfz?3b0l-M&RaQbIh5Ab%88AdvPGSkJASq~3mDmS^Wh7>0ArMJ* ziX;y})MV974!Fu`1Q4N!_+7SX1ywLpx29grz)8NDUHI8_dAOFgj;YCc0>2<%{xp%+0rM0b{@u07NU~p)7Wc2r`>8H$RGqca<*vp)kE3aO^;qnCQ z8}B~|H$@*mNx47(_+MCG$o_*%O~NH3xdRAP$_0{1l1#7~MAqbhoVsfOlo+ppuuX&Q zax186>XkRO3*>8tpPhtjnc1_E0x8;`Wd9vl`u|1t1?=BkbATckB)L4W8h`<|Pi)uq zkh>CCmj@LVwEgc-ruNh4++C&@d#!8ia~_Qbt6Dr{85E``%u-^T#DMH2L2T=d#>{ZO zIm0%VRFmJw3qv~3r5;PmE6?Ay8WRJo`X&7}7t<}AsI5QRrD-iGHAz!Z@?ldg^)Edw? z8_gnKZGg<@kRI8WF+Ot!7R|%!qBO?NFs-W(diqCcRnYL$p*GKj^ntkRi#DQZR%Ujf z;O4btq+^vW;X9}7MAUC3y4tT!M?|TU^R#*ieli=YBsS_Dba`Lqq21T=2+o4*SJC}v zXAqnLy=sC#IxKZm*G&x_6o0P?`OPAqLWElu>2nGBy<*R+d3b*n~~2eGmgl z2Csj%dU82ZW!|44niLRbT$$GAPQQ!WOQ-E2?_Hs03~659XPTwsY+HC_3+~ ztG?wmDo61J2W1vj&Oz-ajXrYr+qJ*g%EFAJ^**Ke@lPYkfmu$rRhhzj+b=o0O7AB{ zlh%9K>n|~^YQ6T{9R&<~J|au0PIN}ow9ede`+I&{M%lo5JU)*$?B0#y3@F6`i3a9Tr)m#vqrj#0AN+Y>s~ z=d9(2px?-nF}Wx{s<%gjgcD{TDf3E+`Sevl`3rlzwvC3d#)c;N@BUw__8b(*QFOV#u2+0cH9;p;sX19<^r z06t+iENl@2JK$h3AjtU`$G$m?$v0}nhJ?Ji#ufuIZyYb?3A>RG%6y9* zXXW$zsO5>|9AqTkAm6_($agy7IM<2vwq*0tUWc}b)`L4*0YMx$!e}$2p|gVKgVDgB zkCpsfgxhYSnLZ_UsLj;+61F4i(A^4f{oM0+l$TxUPS`81E4#B?AyLK|=@=Wyqb%1O zu8_Rmp9Gri#+E#^Y0z;{p8b#D^+x9H9Cep&rKV`@h>8erYsSR%b`^OjrM_Ggw`GvL zPvkE+v^CUi!1tuqh#CX!^eg;yE>9utoGfN!&?$h-T#Xz)5Zl$s4>#YN;NtK#Yi4E9+(!2LB z)kZ(2M?2}=6rLk0$74G4qd~Pg@F52^b(a89np;z^`h#v1v2cPa8D z&BdLi+_)TyXUBGJH^p=G*Occ)OTM{%GnH0Nm%a{P_1DHhnkPpJ#+r}oQ?J!}6ja0g zD5y80?v*p$E`rwFWnaUgvG1AIi3$vd6i1J&xx`YpUsAvwL~rLHT=+#m{w@#GLGVM+ nF^fEnGrAoiq&@75j)e4qmm6-lD4)|R8mD*6|0WfLngLCWr3a zhH?4S1pt7d1P6tq-rZq~KSbBH-fj`7`-rnSWHSK8sjf3LCp2Cp3f~q83R^xKMFTHJ zaCis+N52B#coG11^ys(_fOtFrV^jdhIRLB_fLmW@cwiu+3mW#x3xh zNlV+XzCxwt7uG{X^%AwVXT)HzBGa>TLq_v8S?48b`vqy+p_1pklIO`1)sd3sV7)rQVtlcjysaJEKG$$Pfua#d)7j9J)ptg4k?tcWXa<`pTRvX&DPWkPwY zsI=wO6Lsg9Q8BEimnhcf*0`pZet)ZW*PVv_Me>k4vh4*jN`Au+1@%AvDGR&T7<#vn zR?^%uVt70_w)%#2S?*)^E7jQB(sj3_U*CI%&6lpbE%nTO;+$FTlwP*{N{wf3&FY)d zr$gfv13FB0<-W=nS*pHlRo`WGU$(k0L)mxnMNfvJJ5$-Ww@QJ@E|+M>Dtm`9DMhLB z4wKb_OxY2;-DbBNEU>t#eQ8Req+eIjHMHbJp159VwjuNL^D}dE$n^9iGL>AX#{8Zq z=^gIZPyAXTuj(E!*$~)nAD*<7^=NOjcEI-OC%r@GYg-3RX4pPugsl^Z?R;bF(Wmn3 zsxH~9H@s?jX^(bpZq8t}nQb;B3|ptBlImLWHQjm`)>+`3)~=4XhN+oZ69NxST2h)c zXBt$g&o!qTlxG{&1?~M0I{Qb>)|;B%6nXn^buH%`RY@|XSgtAU8N8+G(oI?ou=S1E z`ciM|)SCv36W!wzU3!zrHZ^XwA=CC(`f;6UQv24}i&QHdpNhVHTTo1MtmO+da25pb z6`?-(oo$sL+JtV*l%UO#t27KMl}TsQSd0p?c1{+gy89$M+{x$I+)70a{J($X^N zX<6x)F76494Bs6V74cHpMpt&I+BN?8jYL0!uTMo$DZQw?xa?7)01_tr5-&nb7P<+Z zu$mFq#TGZ0rOp`FRO(srxeLioCo3x}ZAtaFnWr<`N-bisSh2w?{p!UljcEr%qcg+y zhyTR za}f07~^PY}zE<9M@a42UlT#KXi5 zgu?`fQSAApD7)3ciui0OktSpT3XjHNh0r)$#vw01tUoruo8(2r6E=F|eZ2`puP}n2 zR}2IR$T(bLVj`C7pix6jR1$e4H@olFkmGvaxyIEYLRMNttT6wFuS z-ecbNB$H!UTuuxG2qdB#5S~Jrl?!zKX7+HIP>ci7++VX8MLt=8gm8H*=!k#?-c5xQ z#BshW*}d~UosdYB0t8Ms7D3;H`v1tih20u=O`}c)$Y$lCFWN&2q1qAr9hzzDr0NsZ{^r!nW{ryOE bA37GTz@qc5K3IpK9ROv^&Y;3T>dC(VWys;& literal 0 HcmV?d00001 diff --git a/docs/images/favicon-32x32.png b/docs/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1d21954348f993ffb1198e1112d0338151c938 GIT binary patch literal 2483 zcmZ{l2{e>@AIG1Oge0Ug(rqY2m<7Wu35}T)W663GX2#4I+srj%t7I4rMVrWSxk8o_ zH*JXS6&l&EkTqG#cB9OYl=410?|I+ed(L~F^Lu{h|Nnk|-`{^Z&w0)}l1W?S)#U*I z*kXHx;0$KiddSLvZ|3bbHtMi<|E&O z*c@m9QmF6U!ogTAGI4H|sh;eFSz`MSYn6NmP;={N zQPF($)MB4cL`-yf#%&0!wq6>cKq=@de07W?)w-+Gb8b;7_SuYndcd}fr*9&!4%|Y8 zHeO}K$xBzCbNT``1$Q0)=4<9YZrq}?(cB^z&_OuTnhq#i8yn9* z807T|WSRL=x~n>%5A9McK<^ICR~w7%VY&p;2X8H$!4W@70z-Dz@wDH3Zr0B&wZy1sBxH1?QbBcDq|Y*7M*4- zL?+TVJm2Tb>RqzLW0Ng5?KSC6CE~^=+I0%+kna1%K{bM_5icY}Vb;RelYo@r@AwX9 zf*4PHtI~C4;1SeaN3?Qppx`$-v&-jrCKIjUEtQO>nc|iw3_JdYWMcMT>WzS^ATd@g zwm-yFU8u&ZO;+QVySrUe{YA0CQBp&H+w;q_)L_Y-#+E2S@O#gsFWG&GJq_Sjkg@@0 ztGR?QnD13nlbQ7T)(2e-4+IV$^q6%@NBS6vb1I9V-0JI5x~YxaS}$$Wy!}KW=b>96 zOh(^;Y_Ek*Mo2u+3U#rnT6P+@^kZK8f4Di+&=WiR(}ohNtvuBrCu6ko^+_$VigWH< z5j{6`ZZ>`{rYa_QA2up#T>9uUsY73_i?S%Osss<+K23T=zhg05eMpG?;r7J7hJM870bXsk8TylL*67}6D!mS`n zGM;g^`~dXPSiX8nQHFX4^R!9UZlt!)YvSy*^SK_HVo*9nT4L+H0T`KDO!OUBTw*g| zLiL-T7CYxWOk7I{t9l)ZGv5LH(_wS4-H4 zN}LxK{j~k~{S~#e^kvzViQ|RHkz1;nB?N<)`YT!P53MFwIvIj_U(1JHetBr}{oD$K zC-kFPr0cjzLpA@)iJ>!M|BE^M=%u+8=B{I;^w*3cm*L$O3Teutl84yMy;9MFeNOU} zx_6P86?K{n#%a%%vRuWIWtlbyJE~TrclDEdqNAk=DGTWdouA&#?D+HS`;#GUZ5%c? zDJICoHm5*k|DTV~#;TfG`k0WJD z3v=ftdbFB0B^6gA51DB^y>xWHSH>NFUBc@#362^8!ek>eQvU(q`5!UXWgg?77xc?K zs?hFZVfOw@r8TjTkB; zh_7~j{%qE~bSe0cN<=F>y<=f4t^3Y{@K4iS-D7%eSxbJ7`P=2SQ_oK`r#!PV$D7{& zHg)!ijh=#DJPkah?6OqZ`YTD@*SvCm9T$0BTxnK$#RIDLLNuJ>qqd9;3^Sq%$W+c+ z)UQ4GwUH2U6Z|Kov6WTNYjCL&*9)uj9UB_s329d7(S)Qa0EcSHQ`C6iwTU`eEMhI9 z{s?%`>>@c(12r$XX!Bq^Rbk+`@-C!q_CdGFvKDi#dhyRW#@+PWZ?&lNVS}7TLBY@Z zocm{15l)k7VHPQm`uqilA^nbLHxA*R1uZABey@?RMGXN{VcC0{`I!_(RhKRNd<%v9 zzV1ceh8yykp`*kvIy(H4Ju+hP*Ks9)_(tQl=xcA-Vte#^a-(&gr5=8ju@tjCRN%Ps zmUbTe<7xA3Ja~Q-9vw>yrGp7TAy5cI1jZ1Fa6y=1kr*t}_y7WdMIffT`w#w4K``5o z#fbX<1(}z8W5ELD^$r0XIulD{2eCuB910EWVi4w<3yQG+h+IlACx{ioG-Oa{Ja#C6 zibNS8Ba!Q2`?=@=$P(9CE}OxNpoG!^+h7WlZckydXn`=ak(rUXAqIv*AWaMrriMrq z%n6Bx`SW-jEF2yY5n;qyr@;VeBX%frSU3k70&44yF8*P`R4kUjriBI5LwH!MBZzVV zWbs-J{2$Eso>;6uoyGL$0Z0sLD-e1PWOn}G^KZtT<;U}1N4oE5%7O^=2gIHgOy@;$ z=)m_?!8sw!L-*Xs|M0PQ0Vx1!iouwnP{yXlS$SopAhPubpX01kbO2#(otkg)4wT$} zkX)T@0R}6G4sIVF9Ks7?GvN$MIE%&(;llrW!*GTl1%qOkFwo}aXgZ4KXKYS2rlHKJ hrhaB<4Aq!w1XdV<>)Yc~zYKN&Y;DMda%j>9L(o^FWsH{Q$d-F$cq2~^>K)A zhR~mF2xk>ZQ9#WM(dlP{%vefA9suy70Ra4i0f4`sUH&HkfGZFHI5PkMc+&v@T!*X< zW&TeCjFGG)81V6*E3dmW>9YskK}ys4Q%n7qNQ_$x0s!<&(qIu)kF~>Y%V^W_lBo3Bli5Eu2Th>_F=S%|F%tgd!hz(!x8H_IZTo;ozv~S9 z{0#{)$Ykr9QJ^)&rbV6UI9D(1oPJN&oE3YO`;M=%er40|akn4hc}H{H_WqfoHeFL} zJ{BRWZrXjg74EE%b@)Re>#JEz04!$oEgC>sxP9NSryIk7EY$ENG7yll?e5=rdpRZj zo(z#dhYr~Vj}dYrK!F|>hz-6?4=@f-4?K_UnO@T@`XGcu7@E(F6hnWrP#f6g~5_IiQ*^z z&Vnq{D3oyHpH99UxlXK1w4nLiM{3z2eSA(Ik4M(1uVPF56eO<5TLir7Xg66pSNHb% z-q|mCOAGxv5op3+l!-(|xS&YZdqQgc9^qStAZCQA61b|F(9O-vB4Hmd4NA0C(s!h? zoG3G@f5GJ1;7M(XB&Juuf%Mm_UtJ7OANN@*1KFk$Cme)cvh8!EdM-UccAJlK7@o$K zA<<-LUpj)Wz9i|0kt@aNK`dzZS6HP zzr-aiZMCI+RL-0&{cv-;qKgB=1=l+FSL2o$zftt{DfZsHbQ!RtfA`e_va+fFK5BzbyhjQ-qDDWlrs(b zXm|blgek?;rrPD``ZISLt~8F@y4X#WiN$x(*@lww$N?n*bjU*xnO!QQa1<7rluK|B zm~rK!8WQFs%9HV0&}qfq(?B$$v{b8t&VWWK@<9CbvG0g+CwJq^*48~%a;^+!r6nhS zn~pMjjLeo<`_KaWeu)fvJ8%9Y0U>dH&FBoIPBxwTtv*P__jBT z)Qv~<^2)L;Qb3|mBUKbPMfaPt+tl<^j=kwVe&t9P`^tn8nny~%6Gqhd-zaZ=oQF074 zS-}oASx!~0Ya02bhHX>Uc4X*6GcuWNYO|D#nt3c4tbS`Ve>@P31;JdX1Vt#2RTrj& z-U^Nm)LSBK44D3{U@B%x(MpCYEX)|aN|D6JU7~b=g1y)HHQ6>^ISGI#yK!d%8 zIsx1uTB?B`8VdyhM7|kdveP^mvv%Zm98{-kA0L?ps7dpcC@FCiNDv%b=p=ec8re)e zJy86FkX}%e;@dZ7d}sPO*W(!V8(2=M*=9By+Vml>3%j z>}CpK+m_7f%TAfDWS!VYC(X}qt7Hg;J;l?7;Ae7uKXE5e02kvC%0mRijd*!Ab&(F? z4#!cJ-I50i6U}3Rw2k3RMdjhR_yFf84(sT&7ArDcxcKeS=e_o3;Zg`^HbfaMcOYpE z2rD)MMjnESC6v&TA!Hi$s<GOpLKMgibU#dco8&zi+LAGLp3T{SXOeHDqxlg zq0ViU+fo;2DGO^3j`H}%$WW00aN!kT9H_HIJC+!-I`-u1G{9OusJ1UjhTCi~a&=AF zfqr1hNTKGdtz?ir>nMo;=}#_~iPfT0v;L|y@cew~VG2UEF96WDc2Fb{)aA5P1^iwf zEZVKMM!OQZ`?NE4DtuPg_!-7{jQPb1oT_6oMG$}UON=9bar9GL?=#w3Kfu2r(alp( zPXxg}I$2yZ&*-(y)PKXplR$IyXoj+mU`5~AHrn_r01_d_lL=9ALCoRv@LyeJM#QbX zF*l#BkEY#G<_8;>FmgAU!}7IE-M&j6r|W+Qchk1ORZ^GskB&LVU6|XQ6HVgQ-j2X( z;Nj#1v^eYW>F{ZaNGQ0>g^%>v*hh+Wwg7*eiMiQd)!DYBwIqugOR&rDEtMd%cI8+m z#}q5`8PmxGp@S&q;MghHVPdFj4a3nRsu-DB_oIIz6mTrzHN(fi_ctW46@t2l;||a5 z-Y~I3=gZW}#SG4uNnno=m~;5YF=1QkJv%0WOG{=*Ox4Yn1b?~g=3JHF(J08ZGCFBc zYhouhF0j10TzMY0;2-UN<}YR&S%}&;kV8g3u#^$RFf<2VyF|bsMonHIplhUn%fIF2 z2V^N54yMyuQ#W6PYJnLGG6Gr0Z^Fz5H_Z?N;qNtYHHncxQ5IFoX@aCq!6u~VRY}Dn zoLOmN;S}NUAO_vz2=cmyIxxKwjxOUe8ND`{6?^^B#Gx9>4Ig0Ce}{f!wjhU*MNn=;C)xXs$Bu-?o5?An)-ZRyh>9$BT~>|1 zdrs+9rEPx~%Pwo{#Kd9Go8}%a-Pn{ocTKyhueIg&F7>+uj2m8Gv`dJ+lNiSdX@R_k9D;Is4@FVS63 zuSqFBM+`12gQtni*U>BI@%HV@4Pt{^U}op2968wRD6ldCeMoZ3i8V}ejiUzK&2kRVlaHfhykS3Y9)HSa@w>vK z8_s`$yyu3lmB50-FOp5ToAzjoX_(%Rw_T{U2QPL~fRD>H2;aAjuN!|64T?-VDO2}u zV>JuYOIQ$W@pwl(&FE1eETLN^uG`H6)0SJ%qCc)`-C&m9V4^Kt-$Ec^sxR)qeW>j zuJZUq6|o&?OWs}hAvDRLO91gIIv%Wg(tuqOA6etDzfw`Sj@oxu(Xc?%;1I3(f}yTm zm-xkG2?(sSlUhy>*k&lSI3C9R$A`!+|))%|D==y0PO6fO%3Zpnr zU6CAG5Xz@}> zM^4YR8E-57+?4;rX{5o36}vhkhID9cN&4>`ihjYD(Np~lwHv|nys=njU` zcRWSGwv@D-jY&RQ!M*I4B%M=iRRR#U6&w3TL7qgO@}zUFzYQyi~AlPTw(}M?M2>pASS5>Qvik?G!$E;i@{V^?f-(V z=v4CMt9)(;$&MHm5~MtB9Twr4#S%^g^H!FcWhtq#kwj&Z4Uw2ss_mph*oYUF#cHT( zTLfeoBDXWo2~zMJa367iY4^lcLsiz5KjUkso$F}KeT}hnB%RoC-3idu#_1bBe``qh zCP|n%r?cIQ#9bkq2bRDTsx>nb1q=T>W2Uz@x9=&1=y=^to@gm&$=?A=ZMOz6}6Nx(T>$J6zBE%tXjyI(n3AK0~*T(HFBZQlA^a4ojTW*Kl#F<#gO7 zdW}#>zmEs5myMk6uDj*1HxEPfrXkO`$OVr=6_JvXmn7%oawHQo0(V>Jdr>U3X4NLX zpBK|h($Feym|H?QJ=FGbEq9c$D_oj)jtzy74j--a{F}N9``6?xXnnc35{w8 z!|4Y|I4GE5VyEonhbS}-_bm(s9O`-;zuv?1LmVw#BYwEPec7U@^yBO2-_vgO4JT)x zxxGpu%;N7IbE>715yyuvr`$twop8$U^17uEYHJFN3r(vAYsB98l0sgUbnS5i7t0Fa z{4SbS31rfTqiNn9Z1uF@GO1QZI4HR+(y-r|PfALsWCqiqgJOz694y zBjTb*oQ|k_z;Se*g`N)J$z-9$9u!#C^g6?Ruh5}E0t}{T-&2^zII_oRB75lYK!$)a z&t&5%Vx4AEyU86<>Zi+#zWBq4R#IeSE)A41PD>$(a4wv1GLS=swPFRErDOQ-V2E`P z;6KA81&Tmwzzx|sS?jXPB~Gxjv;owAU#cV;vrB3j)IiTJ2~&Wjhqa*?te?;B<8Bu6 zbzRt@`DY|tm*H!mLuZ^)(l@poHjQW%{VcO-L|iVhZ3|h4T=nI4Dh!k{gMpxxh+YY| zS)Tq*6IAVB`p6yhl7a>uJYS8QJ8z9=$sdm>h|2M0>A^%_xyb@?T9>rMW0`17451Db z4=xtmFrv^XQku{$0=q#6k*FP@*OwL&b?bk{$eTwTiT zTcEs<(zZUCP;iC8COtXQg-8%ww<`>XyqvdjLve}o=FL;BHM^*GQu_#^4B=UKB+OX- z(o-mqQGicHIvokMj8?z|rKvdEdg_1G9L`vHQUu!gx>>(O zi0Vja!|;akmBWZrW|Dk{;E8AoPHxc#G3LY~u43z~1hlD`4JAvpxuL*mt;%esR$1nh z3P@>S{h}_|vR|-TN2qR(pjSY6%D8tE2Ey+ZP(r!TipS(haAisoJUrg6P6o zp-J}G*f5zGqcSY!@^hsY1WtS6U+a~5^P3IithO<#@8f^_80pK);H`-e(lsbh=%dX^ z1g9t^N%9N|%FYxDj(P6$o21xh}Bs4u7-YeJI zKysoCX??9Su9Ie@z)^WCMzO>gqGCuN(&^4>P*JwZQrn;-UQ}?PO9=n&2-`EemQo9$ zzVhv#!ujZr0`FRA{URpz$!i|h@NY)s;9wX^svj^(Fr~IPN5U%EN@Q~2ocuWt~6G4

2wkWmf!U;pq05xPc46cqz*1bL6=vB7TK0tTVms3)_rYJI08I&FUiZ)`K*8A40Ofk zHZJ~lo5>@+TZ*WMv)*G8y;>6RtPnKX5F2|s!h8sp@@2q1U0#r-CoZ*EmJTot6ESJs zvVgdMEXlRddh4Yw&es~_(Zc-8sl_j!Rg!$j z-i}^zn0dPtOL4wUEB2kUVtfS)oQ2YJVFjlr(O_WGrFCtFAKW+ZH@P@QMQ$oK%s9fa zR|sSSeof`MQE~C~VscQRbYyr*?)2$I(Z|Gf$2zVn3aj7HmzVM%rP}X8AF>KsS3=0$VyMi*Jdi3TQz(wK?zNNIe;eH7g~zX$yhC5#LzCTLE*K0%1Nw~7iAG~h z1Gbk4fqjR-b*Nh4p#U?CoahKB(M8*>aV@C-yt=QOWFe;rQyRtJ8r7pT2nAwPCc2B~ zN5Vd08vXF?)J*rqwaqYJzalt$pWv#~9W{~hfB}B(AV2z|xIFI&Lh%yYu`-XNu_!5# z3)DyD`2Z~(oZZ-XvCckSju@4WS>WMtS``i@V(EYp&g1RYn{L2N+qyE)RKyA~x@WbM z+x?f|nuQtIYEAfX7XR`52;cK}>6_2Pd{|$pO26v!d190=s$3rx;kq-j0;M=x5o9=W z9Yr9gra0=YW6CIrhrjN6%f^&H`blnWm$h5Q_UnT_+57ERABQ^xS-5RKTmn*hxl@nbc}mHb zb$yT6OEub24b1OKe1*#=uHw&Un3A3@PYMctE;%p11jTAq5!94m@KoS(`CR-Psw>+U zIW~?u1-T>fK*tOHR!J^0Y*3+l+-{aRVX;JeqsJ_FaXn86nY_C1leKTG-3r6yl^Q%< z#wcNmf*n-?;~r^vyU+3PGL{_rUT;8H5+6Vt!wMV|o4xkS;_}tyTF??BP z$Y1EzI{3DPp@ezKySWZvu!J9jzXvE$;ZTlj?O zYPa0nOQN!>VZFWQ_6+p;9wXVq{h5pu^t|ZOcuSC5tb}yZD*Z+|%>3(&1_lCUH z?i1oGiF(WO;|9mI`fW3>>v_&Eqhz=HJ}q7U%(&-Zo|uoj!!kCOivX7%&f@`(I_7>q zc;WI1LM9@zG%tU^A0c0kbR734xyjp3XGw6}f1Msh^C_yzdzSNUIiohF0cn*|`d=VX z8pnmm`ZC*(~#V zcrZ4KZT4ZYBz_-abO}?S0bTH{16smfoSXT+c{M`|cp; z90h@$`Yo*9yTfCT(*(*3280$;!9F%r;vqsgt~z_`xbr*c_whKvz29%HTR!JVG5E=u zHw$D?TROVC-PgSnDIwzTnffo(CG_P{E^8%8ak9Qz;d}p#{Q(%aMO9k7;&|vGgz^Vr zqe6T4ae@I;HoLw5P`7uRUp&nSXEji+4&8h2JoP%A5=eXQNm#CgCP=FvPt%ZDF4o7l zKZeacy|&F-#KnF4(2g>&;D%Mwzw*6R&+_+Am0Z5LZ$C3%S0T)J9>IvkPPwgaeQigF zEXA$8zq@t!yzHlZOOYg%`{kyY7S|XgG>znM62Bh5S**jh*VeRTZpd*X`}%bAqx;s} z=X#A_{+Dqv#{0jJMSgE578WAkK+>+iVkDk#AU)o$pSFBYce#QO?0jYnB{tY`rH+ED zBE`0+A(;7LPIbq0--mTXBxCdi8j?QVLXLm4ZJKgNclp`n*mpmOF+bS@u};Xaj%YR` zav@;In$(t=9Kt+PGs#t8pMSG!8s(GJ-Jx@gRfLjK01G!zU^rn5t2Uc|bS1|#ve(muMX^mh zr=IYQR*}T?xTgB;q?+`8C${=eB(rX1AN?TfL-wF6#(ZN1iFj+fW0c1JP76=YMl14m z)dFg)eJ=MXc90qu6>FY=ty*LumWVj~mc_xMY2RjfUc%QkGb7I5oj(<*1Cf68Ftmk^BljgP$4CmiSj?UaWhoRo>^=lqEkYTS$oA$&)x#G3AKbDpSUIif6t@ko= z^;UuI#sW6qMxumfx%6H@*V%u`CEYH}h9$Rhgr-{*#;<)JGc_75RE%XcMybPGXq}g{(j(<&i9{sq|zIb1Y;_v<8Eul6VKa?@itT>OdVNTf< z`)u2Yg6_q+Q!CIDRO;S4Mo6k_Y{;?TI zSjP&*F7_eYZ*f;Z9%=SI`E@EkGL@q%CK zV?=F+nT72Sv{ho|m=jo_Vo%>4wXb||sc|owEP-CF#JR8xo3_epT2r`8HJwS;?ZN9J zH`}b`k7pXe43Da-ym3#i6-;y}zAVk#d8^{>J|Ses!tM$R>0Y4T9$(tbU07-D{c4hi zX8G~U_QxL~r%hL7hOUwV{}Zg*R?n&Mlyv!dZgDD=VJZBi2wQNtV2LQCvnm89pP>dh zf3rKG{_CFk^G0m73&)oG=?50xTnY68n(T`Xhllk$tG>`XGkd^jsrfT33(=v|#%P#+ z@7T{>{~sUbqc42D&s3ceGH;=kK&>P>fH2Z95wPoU@u=AIJ? zO=Ys&2^7)!=XnC*nz>S4Qj#7JYIAvqNp*QYeS9Dt zW~$z>uuFoq${aYoC2)c#3$YArNtw8fnLpqjci@L?%KTbXSaU1mHY4PMol1>kYbn7w1pn}@&eNMKi0aWn4LZ$_x$qJMf-b|w^ z+{a*&0vFlej>KMHvS$TE(n5)8-nwZ?kEc4#J)MgW&h4`gR!Drpk5TRWH6c|N%8uX8 z{OvzZ!n)kg_+QOA?=xqGruV&%9H3y<4u37;K5yOb|IvVbyDN;l(;)E`#uAU0PWbM*lok z!IIuPf1KNW2UEHqAI7k2?|Ve=rubxGBdkW4o4Y<_&+nUTy#3GL9T)NawBFs*;g#)T z0YYRaY+4w!_eeaYBFNxoVgT zmO~7rFxy;q8NNQ4h5qtOtt8IMy#BTvtM_f;bDn1$gA?6D<=s=Lyjh)XU~K;E@8ntq zSY;`A*kY#`#bMSm9cpQ29it6kb+PP;#3{-ni4Y5~xTn6)HN$gZcUMI(TnbD|OMC9! z_6md6a42FMw&!;acB&xjkP?Bk17v5ww#wbM=JJdQs<*Y(4XkXx`CBjdw?|Hg?5_$m zUNFL{4xYPY67o0wfc=&-xE_DmxX54EJo@L1Bk~>FZJLLKw+oSpqS+n~2bm&)f`F$_ z0sJuHgf|x_>jM7C6cu6a7chI+4$byL`g`+)T=g&=0mxl@IR`cxEjR%xtJDOzjns}=3VC&Wk zNH!|%cLla2=j?p*pYXO8!1-f$!+QZpn2~gqOP&5DY4P~wZ^So74Qyw%{y$Tn8(xp7 z14?N*BdY+ODE(5K7T)3G2L|BuTz!L;j zgeiUr-k5!ko$8UH#z@-KoA>6gJ|BO0BJ*!&d!Hb2N(B0OEl!Hv?uP+MFjGk+PQQ1m z@^FdtAiowjXkodWqo~2PKeJ=QFmrvKdP*xZjU4QJyzSKY3)Ed)Y{z1)E}Tw=|DoKS zr_8sJ3US(xyyXebJ4QUp5cK2NV;5j6ftNY6VRc**QF%2H71kX}0}?|vLJl?^Tnv~h z=<$yJI+b6lfzloeZ>!JYg=d+dzAp@9>@SZ&sDdgq4iLb8d!zJzuKrvj+!i~TcFt@1 zq1uFUZ(HcAAcPEXD?yfci|p|Azl}xy<{z|>;{x0dkInfEz(2qniSh|S{o9Lx?yStK zx{uZ#(RdX1GqEDEgYxzy@;_aU4t9}}Zr27Q@Wg6G4$--I^(2oy?s9FlO2Hj29@V(X z$DFfwOD*khe~NW5d@}d{Sd|Cu12L=2cdQO?AiX`_$4Dain3;*}mz2fOICPY{B&cBM zDqOkebaUO>4%>bNq{9V7iuOf_70iKTV;G$tHV(=&;O_tu=rITbzLLJU0Kc+sx>0-c_IA#>1=;L9rV+Q*YhCU#hE9%&9Q2*R+_+9Qs8 zbuvA4M8V1{5|KDxest&hZ;qtc2sOX>x14A=6<5Ny<2Duc6}z#w7Us7l;6hu!!WNg> zck;PQY5_PtniLhSFxiDnd3Lqqlo!Bw&3%7_6DXDLTX%(N{Io5Z7LJ0}2XU@qU!jWu zjOLW@53&yAEZLQd5`0#nVbW1FHYo38Ph zKaPd}j60^yh1x#%=I%P*J^8$u+IijK8f|buE_l}54tn}6j|%Xa{u~w9g!ln}GW&ev zPT)Qne2e#vcdEY;I8LqF2 zZUxs482%c8b(+wOIe)IWXfeoYZhfwajK|2-P_AU8oDa7p>emn|d5{$3=HBnm$sq4B z-b1|pJZSHmCZNsLX#a$QaBR8vPYnI~7!99`l8a5$j;6cKC&+kod%u5_L?UbS(72t( zw)%m1WAY-&%_E%%xk5%vI>zBG=v&wQ6}%Ci3RaGRxVG=dvHW7LN4oI-x}dOTa|RmI zUf2Ffe-OX(Gn)1UtH90-{h3P3@7?F3%$+Md1LP8!>e%mCNZ9IsD|I^S!$5hB|4#-h2UBxiV|yEWCuavkR~5$V4rO`oj9e^_UGGZ%M5CsTm5t)aQ8yrH?Ju{9YdGZ!;A6Au|H5X8;| zsur%cM!dXWdt+By zQ#%)4UZqde82~E%=w$gH%zx$N<+U)iG`Da8fOuF@0Zt*G4DNr6^S>DlOA{B1{~(K1 zjdE=H@hIH8x@6HexeoNw73GeM${ni Fe*sk#dI10c literal 0 HcmV?d00001 diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e0dff0fd1be6f8a9b152be59f9d7e2d0f17ae045 GIT binary patch literal 1150 zcmbW1+iMh89LJAEC|E4g2cP;N1;K~fr zdZmd`)w!@JT|RZ;9SJ$>U@%@z90;*US2)QXWIk z5*s-~JkUaHw3+bG_ayvhcr@9`bmAX$O+5a`ziFD7W(~twLDSOq+l=-fVkXgH$2FHGFrFQ!DF6OGivLgO;*_s>$T7zDgOFmz`xlaY(078AIgJ9seFZD(rFm&IqH zp)x5J78&mTiigv^RI1j#Sbm@+Ys^k|G3GmqA^Fux$<~y`=lraj;J|S-@v=DQ!||nJ zY`BFgwYsNOU-B%esrAgdSCg8I$33TMKd4xq_mg_!r|X1bI(&(Wq}6IQft6>)0*kX@ z`7)^rHx+EB^G8KyAw>GAkDKRY{ee$;H1Qj=(KeFf4wA8p0_m+d+R9AW!E~_A&WX5o z(<7SPLV)z*2(Dk(Gw{ngdL0V)pPO<2{yv_L4;lRH0|x)tM8EJiTHfONDMg=S4gHti z#&vl;xupQvr8vPGdlvxMMpbS9cP;`8mETA93$W6C<5X__~C5HsN=Eg8$l1 z{N20AKbs;ehz&L~^!GMyx4nz6^J7M@?_=C`jPR|)gapB!1B~7IhM4OVW4DhIxpjo- zz%laaq`iOfyR9Vdwlm>v$LIV^*4aa}ubDv4*8(}eeLsoz9C7z~67CCvR^pzY(d1jQ zYFa7lluJd~=M_1J&&kR+IzQpTdv!lv=Rt|R;&skGTUK7#5QxUw*O&i+H|<{lN0@go literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..7fd7f9d1f --- /dev/null +++ b/docs/index.md @@ -0,0 +1,6 @@ +# Devdoc for the AAS Java Serializer +This is the documentation for the contributors and developers of AAS Java Serializer. + +For the general introduction and the description of the tool, please see the Github repository: https://github.com/admin-shell-io/java-serializer. + +[Getting Started](articles/intro.md) explains how to use the library and submit contributions. \ No newline at end of file diff --git a/docs/toc.yml b/docs/toc.yml new file mode 100644 index 000000000..5f0a4d069 --- /dev/null +++ b/docs/toc.yml @@ -0,0 +1,2 @@ +- name: Getting Started + href: articles/ diff --git a/license-header.txt b/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..cf27faaf1 --- /dev/null +++ b/pom.xml @@ -0,0 +1,265 @@ + + + + + This project includes serializers to produce various data formats for objects from the Asset Administration Shell ontology, as well as means to validate these objects. + Asset Administration Shell Serializer + https://github.com/admin-shell-io/java-serializer + + + SAP SE + https://github.com/admin-shell-io/java-serializer#contributors + + + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. + https://github.com/admin-shell-io/java-serializer#contributors + + + + + scm:git:git://github.com/admin-shell-io/java-serializer.git + scm:git:git://github.com/admin-shell-io/java-serializer.git + https://github.com/admin-shell-io/java-serializer/tree/main + + + 4.0.0 + io.admin-shell.aas + dataformat-parent + ${revision} + pom + + dataformat-aasx + dataformat-aml + dataformat-core + dataformat-json + dataformat-xml + dataformat-rdf + dataformat-uanodeset + validator + + + 1 + 2 + 1 + + ${revision.major}.${revision.minor}.${revision.patch}${revision.suffix} + [${revision.major}.${revision.minor},) + + UTF-8 + UTF-8 + 0xDFCC34A6 + + 3.8.1 + 3.3.1 + 1.2.2 + 3.0.1 + 3.1.1 + 3.3.0 + 4.1 + 3.1.2 + 3.2.0 + + 4.8.109 + 1.15 + 2.6 + 1.21 + 3.12.0 + 30.1.1-jre + 5.0.1 + 2.12.3 + 2.0.1.Final + 2.3.1 + 2.1.0 + 4.1.0 + 1.5.0 + 1.0.56 + 4.13 + 1.1.1 + 2.7.8 + 4.1.2 + 1.7.31 + 1.3.2 + 4.4.1 + 2.12.1 + 2.8.2 + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${plugin.compiler.version} + + 11 + 11 + + + + org.codehaus.mojo + flatten-maven-plugin + ${plugin.flatten.version} + + true + + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + ${plugin.projectinfo.version} + + + com.mycila + license-maven-plugin + ${plugin.license.version} + + + +

license-header.txt
+ + **/src/**/*.java + + + **/target/generated/**/*.java + **/src/main/java/org/opcfoundation/ua/_2008/_02/types/*.java + + + + + + + + check + + + + + + org.apache.maven.plugins + maven-source-plugin + ${plugin.source.version} + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${plugin.javadoc.version} + + + attach-javadocs + + jar + + + + + + + + + + + MavenCentral + + + + org.apache.maven.plugins + maven-gpg-plugin + ${plugin.gpg.version} + + + sign-artifacts + verify + + sign + + + + + + + + + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + + + junit + junit + ${junit.version} + test + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + + + + + org.apache.commons + commons-compress + ${commons-compress.version} + + + + + + + github + GitHub Apache Maven Packages + https://maven.pkg.github.com/${env.GITHUB_REPOSITORY} + + + + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + diff --git a/validator/license-header.txt b/validator/license-header.txt new file mode 100644 index 000000000..b531b74a5 --- /dev/null +++ b/validator/license-header.txt @@ -0,0 +1,13 @@ +Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/validator/pom.xml b/validator/pom.xml new file mode 100644 index 000000000..3e95187ee --- /dev/null +++ b/validator/pom.xml @@ -0,0 +1,45 @@ + + + + dataformat-parent + io.admin-shell.aas + ${revision} + + 4.0.0 + validator + Asset Administration Shell Validator + + + + io.admin-shell.aas + dataformat-rdf + ${revision} + + + io.admin-shell.aas + dataformat-json + ${revision} + test + + + io.admin-shell.aas + dataformat-core + ${revision} + tests + test + + + org.apache.jena + jena-shacl + ${jena.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + test + + + \ No newline at end of file diff --git a/validator/src/main/java/io/adminshell/aas/v3/model/validator/ShaclValidator.java b/validator/src/main/java/io/adminshell/aas/v3/model/validator/ShaclValidator.java new file mode 100644 index 000000000..547aa6643 --- /dev/null +++ b/validator/src/main/java/io/adminshell/aas/v3/model/validator/ShaclValidator.java @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.stream.Collectors; + +import org.apache.jena.graph.compose.Union; +import org.apache.jena.rdf.model.Model; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.riot.RDFLanguages; +import org.apache.jena.riot.RiotException; +import org.apache.jena.shacl.Shapes; +import org.apache.jena.shacl.ValidationReport; +import org.apache.jena.shacl.validation.ReportEntry; +import org.apache.jena.util.FileUtils; +import org.slf4j.LoggerFactory; + +import io.adminshell.aas.v3.dataformat.rdf.Serializer; + + +public class ShaclValidator implements Validator{ + + private final static org.slf4j.Logger logger = LoggerFactory.getLogger(ShaclValidator.class); + private final Shapes shapes; + private final Model ontologyModel; + + private static ShaclValidator validator; + + private static final Serializer serializer = new Serializer(); + + + /** + * Function to get the validator object. Initializes if it does not exist yet. Note that initialization might take a long time and should be done prior to incoming messages + * @return ShaclValidator object to validate RDF + */ + public static ShaclValidator getInstance() { + if(validator == null) + { + validator = new ShaclValidator(); + } + return validator; + } + + /** + * Function to validate Objects against SHACL shapes. + * @param obj Object to be validated alongside the information model against the shape files + */ + @Override + public void validate(Object obj) throws ValidationException { + //Perform the validation + //The data graph is the information model plus the message, hence let's create a Union graph + try { + ValidationReport report = validateGetReport(obj); + + if (!report.conforms()) { + throw new ValidationException(report.getEntries().stream().map(ReportEntry::toString).collect(Collectors.joining("\n"))); + } + } + catch (IOException e) + { + throw new ValidationException("Validation process could not be completed.", e); + } + } + + /** + * Function to validate Objects against SHACL shapes. + * @param obj Object to be validated alongside the information model against the shape files + */ + public ValidationReport validateGetReport(Object obj) throws IOException { + String rdfSerialization; + + //Turn object into JSON-LD + rdfSerialization = serializer.serialize(obj, RDFLanguages.JSONLD, new HashMap<>()); + + ShaclValidator val = getInstance(); + //Ontology is already loaded. Now we need to parse the message. + Model messageModel = ModelFactory.createDefaultModel(); + + //Read JSON-LD String into a model + try { + messageModel.read(new ByteArrayInputStream(rdfSerialization.getBytes(StandardCharsets.UTF_8)), null, "JSONLD"); + } + catch (RiotException e) + { + throw new IOException("The message is no valid JSON-LD and could therefore not be checked for information model compliance.", e); + } + + //Perform the validation + //The data graph is the information model plus the message, hence let's create a Union graph + return org.apache.jena.shacl.ShaclValidator.get().validate(val.shapes, new Union(messageModel.getGraph(), val.ontologyModel.getGraph())); + } + + + /** + * Function to explicitly initialize the ShaclValidator object. This can be used to avoid long initialization times when a message comes in + */ + @Override + public void initialize() { + if(validator == null) + { + validator = new ShaclValidator(); + } + } + + + private ShaclValidator() { + logger.info("Initializing SHACL shapes."); + + //Initialize an empty model into which we will be loading the shapes + Model shapesModel = ModelFactory.createDefaultModel(); + + //All loaded, let's parse! + //shapes = Shapes.parse(shapesModel); + InputStream shapesInputStream = getClass().getClassLoader().getResourceAsStream("shapes.ttl"); + InputStream ontologyInputStream = getClass().getClassLoader().getResourceAsStream("ontology.ttl"); + InputStream constraintShapesInputStream = getClass().getClassLoader().getResourceAsStream("constraint_shapes.ttl"); + shapesModel.read(shapesInputStream, null, FileUtils.langTurtle); + shapesModel.read(constraintShapesInputStream, null, FileUtils.langTurtle); + shapes = Shapes.parse(shapesModel); + ontologyModel = ModelFactory.createDefaultModel(); + + logger.info("Loading ontology"); + + + //Load the input stream into the ontology model + ontologyModel.read(ontologyInputStream, null, FileUtils.langTurtle); + logger.info("Initialization of SHACL shapes complete."); + } + + + +} + diff --git a/validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidationException.java b/validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidationException.java new file mode 100644 index 000000000..687108175 --- /dev/null +++ b/validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidationException.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +public class ValidationException extends Exception { + + public ValidationException(String msg) { + super(msg); + } + + public ValidationException(String msg, Throwable err) { + super(msg, err); + } + +} diff --git a/validator/src/main/java/io/adminshell/aas/v3/model/validator/Validator.java b/validator/src/main/java/io/adminshell/aas/v3/model/validator/Validator.java new file mode 100644 index 000000000..6c7eff192 --- /dev/null +++ b/validator/src/main/java/io/adminshell/aas/v3/model/validator/Validator.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import java.io.IOException; + +public interface Validator { + + void validate(Object obj) throws ValidationException; + + void initialize(); + +} diff --git a/validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidatorUtil.java b/validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidatorUtil.java new file mode 100644 index 000000000..832510862 --- /dev/null +++ b/validator/src/main/java/io/adminshell/aas/v3/model/validator/ValidatorUtil.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + + +import org.apache.commons.io.IOUtils; + +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; + +/** + * Helper class for Serializer Tests + * + * @author sbader + * + */ +public class ValidatorUtil { + + public static String readResourceToString(String resourceName) throws IOException { + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + InputStream is = classloader.getResourceAsStream(resourceName); + StringWriter writer = new StringWriter(); + IOUtils.copy(is, writer, "UTF-8"); + return writer.toString(); + } + + public static String stripWhitespaces(String input) { + return input.replaceAll("\\s+", ""); + } + +} diff --git a/validator/src/main/resources/constraint_shapes.ttl b/validator/src/main/resources/constraint_shapes.ttl new file mode 100644 index 000000000..08e3edea3 --- /dev/null +++ b/validator/src/main/resources/constraint_shapes.ttl @@ -0,0 +1,1121 @@ +# +# Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +@prefix phys_unit: . +@prefix dash: . +@prefix dc: . +@prefix dcterms: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix vann: . +@prefix xsd: . +@prefix sh: . +@prefix aas: . +@prefix iec61360: . +@prefix iecType: . +@base . + + +# AASd-002 +aas:IdShortShape a sh:NodeShape ; + sh:targetClass aas:Referable ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(IdShortShape): idShort of Referables shall only feature letters, digits, underscore (\"_\"); starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+."^^xsd:string ; + sh:pattern "^[a-zA-Z]\\w*$"^^xsd:string ; + ] ; +. + + +# AASd-005 +aas:RevisionRequiresVersionShape + a sh:NodeShape ; + sh:targetClass aas:AdministrativeInformation ; + sh:message "(RevisionRequiresVersionShape): AASd-005 - A revision requires a version." ^^xsd:string ; + sh:or ( + [ + sh:property [ + sh:path ; + sh:minCount 0 ; + sh:maxCount 0 ; + ] + ] + [ + sh:and ( + sh:property [ + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] + sh:property [ + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] + ) + ] + ) +. + +# AASd-006 +aas:AASd-006Shape a sh:NodeShape ; + sh:targetClass aas:Qualifier ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If both, the value and the valueId of a Qualifier are present then the value needs to be identical to the value of the referenced coded value in Qualifier/valueId." ; + sh:select """ + SELECT ?qualifier ?value + WHERE { + ?qualifier ?value . + ?qualifier ?valueId . + ?valueId ?key . + ?key ?keyValue . + + FILTER (?value != ?keyValue) + } + """ ; + ] ; +. + +# AASd-007Shape +aas:AASd-007Shape a sh:NodeShape ; +sh:targetClass aas:Property; +sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If both, the Property/value and the Property/valueId are present then the value of Property/value needs to be identical to the value of the referenced coded value in Property/valueId." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?property ?value WHERE { + ?property a . + ?property ?value . + ?property ?valueId . + ?valueId ?key . + ?key ?keyValue . + + FILTER (?value != ?keyValue) + }""" ; +] . + +# AASd-008 +aas:AASd-008Shape a sh:NodeShape ; + sh:targetClass aas:Operation ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:ModelingKind ; + sh:minCount 1 ; + sh:minCount 1 ; + sh:hasValue ; + sh:message "(Operation.kind = Template):The submodel element value of an operation variable shall be of kind=Template."^^xsd:string ; + ] ; +. + +# AASd-014 +aas:SelfManagedEntityRequiresAssetIdShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:Entity ; + sh:message "(SelfManagedEntityRequiresAssetIdShape): AASd-014 - Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to “SelfManagedEntityâ€. They are not existing otherwise." ^^xsd:string ; + + sh:xone( + [ + sh:and( + [ + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1; + sh:maxCount 1; + sh:pattern "SelfManagedEntity"; + ]; + ] + [ + sh:xone( + [ + sh:property [ + sh:path ; + sh:minCount 1; + sh:maxCount 1; + ]; + ] + [ + sh:property [ + sh:path ; + sh:minCount 1; + sh:maxCount 1; + ]; + ] + ) + ] + ) + ] + [ + sh:and( + [ + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1; + sh:maxCount 1; + sh:pattern "CoManagedEntity"; + ]; + ] + [ + sh:property [ + sh:path ; + sh:minCount 0; + sh:maxCount 0; + ]; + ] + [ + sh:property [ + sh:path ; + sh:minCount 0; + sh:maxCount 0; + ]; + ] + ) + ] +) +. + +# AASd-015 +aas:AASd-015Shape a sh:NodeShape ; + sh:targetClass aas:AccessControl; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(AASd-015Shape) - The data element SubjectAttributes/subjectAttribute shall be part of the submodel that is referenced within the “selectableSubjectAttributes†attribute of “AccessControlâ€" ; + sh:select """ + SELECT ?submodelElement WHERE { + ?accessControl ?submodel . + ?submodel ?submodelElement . + ?submodelElement ?subjectAttribute . + ?subjectAttribute ?dataElement . + }""" + ] ; +. + +# AASd-020 +aas:AASd-020Shape a sh:NodeShape ; + sh:targetClass aas:Qualifier ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(AASd-020Shape) - The value of Qualifier/value shall be consistent to the data type as defined in Qualifier/valueType." ; + sh:select """ + SELECT ?this ?value ?claimedValueType WHERE { + ?this ?value . + ?this ?claimedValueType . + + # reference for the constructor functions: https://www.w3.org/TR/2013/REC-sparql11-query-20130321/#FunctionMapping + BIND(IF( (?value), true, false) AS ?isDateTime) + BIND(IF( (?value), true, false) AS ?isBoolean) + BIND(IF( (?value), true, false) AS ?isInteger) + BIND(IF( (?value), true, false) AS ?isDouble) + BIND(IF( (?value), true, false) AS ?isLong) + BIND(IF( (?value), true, false) AS ?isFloat) + BIND( isURI(?value) AS ?isUri) + BIND( isIRI(?value) AS ?isIri) + BIND(IF( (?value), true, false) AS ?isString) + + FILTER( ?claimedValueType = "integer" || ?claimedValueType = "int" || ?claimedValueType = "boolean" || ?claimedValueType = "dateTime" || ?claimedValueType = "double" || ?claimedValueType = "long" || ?claimedValueType = "float" || ?claimedValueType = "uri" || ?claimedValueType = "iri" || ?claimedValueType = "string" ) + + FILTER( IF( ?claimedValueType = "dateTime", IF(BOUND(?isDateTime), false, true), true ) ) + FILTER( IF( ?claimedValueType = "boolean", IF(BOUND(?isBoolean), false, true), true ) ) + FILTER( IF( ?claimedValueType = "long", IF(BOUND(?isLong), false, true), true ) ) + FILTER( IF( ?claimedValueType = "float", IF(BOUND(?isFloat), false, true), true ) ) + FILTER( IF( ?claimedValueType = "integer" || ?claimedValueType = "int", IF(BOUND(?isInteger), false, true), true ) ) + FILTER( IF( ?claimedValueType = "double", IF(BOUND(?isDouble), false, true), true ) ) + FILTER( IF( ?claimedValueType = "string", IF(BOUND(?isString), false, true), true ) ) + FILTER( IF( ?claimedValueType = "uri", IF(?isUri, false, true), true ) ) + FILTER( IF( ?claimedValueType = "iri", IF(?isIri, false, true), true ) ) + } + """ + ] + ]; +. + +# AASd-021 +aas:AASd-021Shape a sh:NodeShape ; + sh:targetClass aas:Qualifiable ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(AASd-021Shape) - Every Qualifiable can only have one Qualifier with the same Qualifier/type." ; + sh:select """ + SELECT ?qualifiable WHERE { + ?qualifiable ?qualifier1 . + ?qualifiable ?qualifier2 . + ?qualifier1 ?valueType1 . + ?qualifier2 ?valueType2 . + FILTER (str(?valueType1) = str(?valueType2) ) + } + """ + ] + ]; +. + +# AASd-023 +#aas:AASd-023Shape a sh:NodeShape ; + #sh:targetClass aas:AssetInformation; + #sh:sparql [ + #a sh:SPARQLConstraint ; + #sh:message "AssetInformation/globalAssetId either is a reference to an Asset object or a global reference." ; + #sh:select """ + #SELECT ?keyType + #WHERE { + #?assetInformation a . + #?assetInformation ?globalAssetId . + #?globalAssetId ?key . + #?key ?keyType . + #FILTER (?keyType != && ?keyType != ) + + #} + #""" ; +#] . + +# AASd-026 +# aas:AASd-026Shape a sh:NodeShape ; + #sh:targetClass aas:SubmodelElementCollection ; + #sh:prefixes xsd: ; + #sh:sparql [ + #a sh:SPARQLConstraint ; + #sh:message "If allowDuplicates==false then it is not allowed that the collection contains several elements with the same semantics (i.e. the same semanticId)." ; + #sh:select """ + #SELECT ?keyType + #WHERE { + #?SubmodelElementCollection a . + #?SubmodelElementCollection ?SubmodelElementCollectionIdShort . + #?SubmodelElementCollection "False"^^xsd:boolean. + + #?SubmodelElementCollection ?Value1 . + #?Value1 ?Value1SemanticId . + #?Value1SemanticId ?Value1Key . + #?Value1Key ?Value1KeyType . + #?Value1Key ?Value1KeyValue . + #?Value1Key ?Value1KeyIdType . + + #?SubmodelElementCollection ?Value2 . + #?Value2 ?Value2SemanticId . + #?Value2SemanticId ?Value2Key . + #?Value2Key ?Value2KeyType . + #?Value2Key ?Value2KeyValue . + #?Value2Key ?Value2KeyIdType . + + + #FILTER (?Value1SemanticId = ?Value2SemanticId ) + + #} + # """ ; + #] . + +# AASd-051 +aas:ConceptDescriptionAllowedCategories a sh:NodeShape ; + sh:targetClass aas:ConceptDescription ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:pattern "^VALUE|^PROPERTY|^REFERENCE|^DOCUMENT|^CAPABILITY|^RELATIONSHIP|^COLLECTION|^FUNCTION|^EVENT|^ENTITY|^APPLICATION_CLASS|^QUALIFIER|^VIEW"; + sh:message "A ConceptDescription shall have one of the following categories: VALUE, PROPERTY, REFERENCE, DOCUMENT, CAPABILITY, RELATIONSHIP, COLLECTION, FUNCTION, EVENT, ENTITY, APPLICATION_CLASS, QUALIFIER, VIEW." ^^xsd:string ; + ] ; +. + +# AASd-052a +aas:ConceptDescriptionReferencedFromPropertyAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Property ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: VALUE, PROPERTY." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "VALUE" && ?category != "PROPERTY") + } + """ ; +] . + +# AASd-053 +aas:ConceptDescriptionReferencedFromRangeAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Range ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Range submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "PROPERTY") + } + """ ; +] . + +# AASd-054 +aas:ConceptDescriptionReferencedFromReferenceElementAllowedCategories a sh:NodeShape ; + sh:targetClass aas:ReferenceElement ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a ReferenceElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: REFERENCE." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "REFERENCE") + } + """ ; +] . + +# AASd-055-RelationshipElement +aas:ConceptDescriptionReferencedFromRelationshipElementAllowedCategories a sh:NodeShape ; + sh:targetClass aas:RelationshipElement ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a RelationshipElement or an AnnotatedRelationshipElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: RELATIONSHIP." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "RELATIONSHIP") + } + """ ; +] . + +# AASd-055-AnnotatedRelationshipElement +aas:ConceptDescriptionReferencedFromAnnotatedRelationshipElementAllowedCategories a sh:NodeShape ; + sh:targetClass aas:AnnotatedRelationshipElement ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a RelationshipElement or an AnnotatedRelationshipElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: RELATIONSHIP." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "RELATIONSHIP") + } + """ ; +] . + +# AASd-056 +aas:ConceptDescriptionReferencedFromEntityAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Entity ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "ENTITY") + } + """ ; +] . + +# AASd-057-File +aas:ConceptDescriptionReferencedFromFileAllowedCategories a sh:NodeShape ; + sh:targetClass aas:File ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "The semanticId of a File or Blob submodel element shall only reference a ConceptDescription with the category DOCUMENT." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "DOCUMENT") + } + """ ; +] . + +# AASd-057-Blob +aas:ConceptDescriptionReferencedFromFileAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Blob ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "The semanticId of a File or Blob submodel element shall only reference a ConceptDescription with the category DOCUMENT." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "DOCUMENT") + } + """ ; +] . + +# AASd-058 +aas:ConceptDescriptionReferencedFromCapabilityAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Capability ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Capability submodel element references a ConceptDescription then the ConceptDescription/category shall be CAPABILITY." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "CAPABILITY") + } + """ ; +] . + + +# AASd-060 +aas:ConceptDescriptionReferencedFromSubmodelElementCollectionAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Operation ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Operation submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following values: FUNCTION." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "FUNCTION") + } + """ ; +] . + +# AASd-061 +aas:ConceptDescriptionReferencedFromEventAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Operation ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Event submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following: EVENT." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "EVENT") + } + """ ; +] . + + +# AASd-063 +aas:ConceptDescriptionReferencedFromQualifierAllowedCategories a sh:NodeShape ; + sh:targetClass aas:Qualifier ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Qualifier references a ConceptDescription then the ConceptDescription/category shall be one of following values: QUALIFIER." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "QUALIFIER") + } + """ ; +] . + +# AASd-064 +aas:ConceptDescriptionReferencedFromViewAllowedCategories a sh:NodeShape ; + sh:targetClass aas:View ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a View references a ConceptDescription then the category of the ConceptDescription shall be VIEW." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "VIEW") + } + """ ; +] . + +# AASd-065-Property +#aas:AASd-065a-PropertyShape a sh:NodeShape ; + #sh:targetClass aas:Property; + #sh:sparql [ + #a sh:SPARQLConstraint ; + #sh:message "If the semanticId of a Property references a ConceptDescription with the category VALUE then the value of the property is identical to DataSpecificationIEC61360/value and the valueId of the property is identical to DataSpecificationIEC61360/valueId." ; + + #sh:select """ + #SELECT ?propertyValue + #WHERE { + #?property a . + #?property ?propertyValue . + #?property ?propertyValueId . + + #?propertyValueId ?propertyReferenceKey . + + #?propertyReferenceKey ?propertyReferenceKeyValue . + #?propertyReferenceKey ?propertyReferenceKeyIdType . + #?propertyReferenceKey ?propertyReferenceKeyType . + + #?property ?semanticId . + #?semanticId ?semanticIdReferenceKey . + #?semanticIdReferenceKey . + + #?conceptDescription "VALUE" . + #?conceptDescription ?embeddedDataSpecification . + #?embeddedDataSpecification ?dataSpecificationContent . + #?dataSpecificationContent ?dataSpecificationIEC61360Value . + + #?dataSpecificationContent ?dataSpecificationIEC61360ValueId . + + #?dataSpecificationIEC61360ValueId ?dataSpecificationIEC61360ValueIdKey . + + #?dataSpecificationIEC61360ValueIdKey ?dataSpecificationIEC61360ValueIdKeyValue . + #?dataSpecificationIEC61360ValueIdKey ?dataSpecificationIEC61360ValueIdKeyIdType . + #?dataSpecificationIEC61360ValueIdKey ?dataSpecificationIEC61360ValueIdKeyType . + #FILTER(?propertyValue != ?dataSpecificationIEC61360Value && ?propertyValueId != ?dataSpecificationIEC61360ValueId) + #} + # """ ; +#] . + +# AASd-065-MultilanguageProperty +#aas:AASd-065b-MultiLanguagePropertyShape a sh:NodeShape ; + #sh:targetClass aas:MultiLanguageProperty; + #sh:sparql [ + #a sh:SPARQLConstraint ; + #sh:message "If the semanticId of a MultiLanguageProperty references a ConceptDescription with the category VALUE then the value of the MultiLanguageProperty is identical to DataSpecificationIEC61360/value and the valueId of the MultiLanguageProperty is identical to DataSpecificationIEC61360/valueId." ; + + #sh:select """ + #SELECT ?MultiLanguagePropertyValue + #WHERE { + #?MultiLanguageProperty a . + #?MultiLanguageProperty ?MultiLanguagePropertyValue . + #?MultiLanguageProperty ?MultiLanguagePropertyValueId . + #?MultiLanguagePropertyValueId ?MultiLanguagePropertyReferenceKey . + #?MultiLanguagePropertyReferenceKey ?MultiLanguagePropertyReferenceKeyValue . + #?MultiLanguageProperty ?semanticId . + #?semanticId ?semanticIdReferenceKey . + #?semanticIdReferenceKey . + #?conceptDescription "Value" . + #?conceptDescription ?embeddedDataSpecification . + #?embeddedDataSpecification ?dataSpecificationContent . + #?dataSpecificationContent ?dataSpecificationIEC61360Value . + #?dataSpecificationContent ?dataSpecificationIEC61360ValueId . + #?dataSpecificationIEC61360ValueId ?dataSpecificationIEC61360ValueIdKey . + #?dataSpecificationIEC61360ValueIdKey ?dataSpecificationIEC61360ValueIdKeyValue . + + #FILTER(?MultiLanguagePropertyValue != ?dataSpecificationIEC61360Value && ?MultiLanguagePropertyValueId != ?dataSpecificationIEC61360ValueIdKeyValue) + #} + #""" ; +#] . + +# AASd-066-Property +#aas:AASd-066PropertyShape a sh:NodeShape ; + #sh:targetClass aas:Property; + #sh:sparql [ + #a sh:SPARQLConstraint ; + #sh:message "If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category PROPERTY and DataSpecificationIEC61360/valueList is defined the value and valueId of the property is identical to one of the value reference pair types references in the value list, i.e. ValueReferencePairType/value or ValueReferencePairType/valueId, resp." ; + + #sh:select """ + #SELECT ?propertyValue + #WHERE { + #?property a . + #?property ?propertyValue . + #?property ?propertyValueId . + #?propertyValueId ?propertyReferenceKey . + #?propertyReferenceKey ?propertyReferenceKeyValue . + #?property ?semanticId . + #?semanticId ?semanticIdReferenceKey . + #?semanticIdReferenceKey . + #?conceptDescription "Property" . + #?conceptDescription ?embeddedDataSpecification . + #?embeddedDataSpecification ?dataSpecificationContent . + #?dataSpecificationContent ?dataSpecificationIEC61360ValueList . + #?dataSpecificationIEC61360ValueList ?valueReferencePairTypes . + #?valueReferencePairTypes ?valueReferencePairValue . + #?valueReferencePairTypes ?valueReferencePairValueId . + #?valueReferencePairValueId ?valueReferencePairValueIdKey . + #?valueReferencePairValueIdKey ?valueReferencePairValueIdKeyValue . + + #FILTER(?propertyValue != ?valueReferencePairValue && ?propertyValueId != ?valueReferencePairValueIdKeyValue) + #} + #""" ; +#] . + +# AASd-066-MultilanguageProperty +#aas:AASd-066MultiLanguagePropertyShape a sh:NodeShape ; + #sh:targetClass aas:MultiLanguageProperty; + #sh:sparql [ + #a sh:SPARQLConstraint ; + #sh:message "If the semanticId of a MultiLanguageProperty or MultiLanguageMultiLanguageProperty references a ConceptDescription with the category MultiLanguageProperty and DataSpecificationIEC61360/valueList is defined the value and valueId of the MultiLanguageProperty is identical to one of the value reference pair types references in the value list, i.e. ValueReferencePairType/value or ValueReferencePairType/valueId, resp." ; + + #sh:select """ + #SELECT ?MultiLanguagePropertyValue + #WHERE { + #?MultiLanguageProperty a . + #?MultiLanguageProperty ?MultiLanguagePropertyValue . + #?MultiLanguageProperty ?MultiLanguagePropertyValueId . + #?MultiLanguagePropertyValueId ?MultiLanguagePropertyReferenceKey . + #?MultiLanguagePropertyReferenceKey ?MultiLanguagePropertyReferenceKeyValue . + #?MultiLanguageProperty ?semanticId . + #?semanticId ?semanticIdReferenceKey . + #?semanticIdReferenceKey . + + #?conceptDescription "Property" . + #?conceptDescription ?embeddedDataSpecification . + #?embeddedDataSpecification ?dataSpecificationContent . + #?dataSpecificationContent ?dataSpecificationIEC61360ValueList . + #?dataSpecificationIEC61360ValueList ?valueReferencePairTypes . + #?valueReferencePairTypes ?valueReferencePairValue . + #?valueReferencePairTypes ?valueReferencePairValueId . + #?valueReferencePairValueId ?valueReferencePairValueIdKey . + #?valueReferencePairValueIdKey ?valueReferencePairValueIdKeyValue . + + #FILTER(?MultiLanguagePropertyValue != ?valueReferencePairValue && ?MultiLanguagePropertyValueId != ?valueReferencePairValueId) + #} + #""" ; +#] . + +# AASd-067 +aas:AASd-067Shape a sh:NodeShape ; + sh:targetClass aas:MultiLanguageProperty; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:prefixes [ + sh:declare [ + sh:prefix "iec61360" ; + sh:namespace "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/"^^xsd:anyURI ; + ] + ]; + sh:message "If the semanticId of a MultiLanguageProperty references a ConceptDescription then DataSpecificationIEC61360/dataType shall be STRING_TRANSLATABLE." ; + sh:select """ + SELECT ?dataType + WHERE { + ?MultiLanguageProperty a . + ?MultiLanguageProperty ?semanticId . + ?semanticId ?key . + ?key ?keyValue . + + ?ConceptDescription ?embeddedDataSpecification . + ?embeddedDataSpecification ?dataSpecificationContent . + ?dataSpecificationContent ?dataType . + ?ConceptDescription ?identifier . + ?identifier ?identifierValue . + + FILTER ( ?keyValue = ?identifierValue ) + FILTER (?dataType != ) + } + """ ; +] . + +# AASd-68 +aas:AASd-068Shape a sh:NodeShape ; + sh:targetClass aas:Range; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Range submodel element references a ConceptDescription then DataSpecificationIEC61360/dataType shall be a numerical one, i.e. Real* or Rational*." ; + sh:prefixes [ + sh:declare [ + sh:prefix "iec61360" ; + sh:namespace "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/"^^xsd:anyURI ; + ] + ]; + sh:select """ + SELECT ?dataType + WHERE { + ?range a . + ?range ?semanticId . + ?semanticId ?key . + # ?key . + ?key ?keyValue . + + ?ConceptDescription ?embeddedDataSpecification . + ?embeddedDataSpecification ?dataSpecificationContent . + ?dataSpecificationContent ?dataType . + ?ConceptDescription ?identifier . + ?identifier ?identifierValue . + + FILTER ( ?keyValue = ?identifierValue ) + + FILTER (?dataType NOT IN ( + , + , + , + , + + )) + + } + """ ; +] . + +# AASd-069 +aas:ConceptDescriptionReferencedFromRangeCorrectLevelType a sh:NodeShape ; + sh:targetClass aas:Range ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a Range references a ConceptDescription then DataSpecificationIEC61360/levelType shall be identical to the set {Min, Max}." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?embeddedDataSpecification . + ?embeddedDataSpecification ?dataSpecificationContent . + ?dataSpecificationContent ?levelType . + FILTER(?levelType NOT IN (, )) + } + """ ; +] . + +# AASd-072 +aas:ConceptDescriptionWithCategoryDocumentAndIEC61360CorrectDataType a sh:NodeShape ; + sh:targetClass aas:ConceptDescription; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "For a ConceptDescription with category DOCUMENT using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType shall be one of the following values: String or URL." ; + + sh:select """ + SELECT ?conceptDescription + WHERE { + ?element a . + ?conceptDescription "DOCUMENT" . + ?conceptDescription ?embeddedDataSpecification . + ?embeddedDataSpecification ?dataSpecification . + ?dataSpecification ?dataType . + FILTER(?dataType != && ?dataType != ) + } + """ ; +] . + +# AASd-074 +aas:ConceptDescriptionDefinitionInEnglishIfNotValueCategory a sh:NodeShape ; + sh:targetClass aas:ConceptDescription ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "For all ConceptDescriptions except for ConceptDescriptions of category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/definition is mandatory and shall be defined at least in English." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?dataSpecification + WHERE { + ?conceptDescription a . + MINUS { + ?conceptDescription a . + ?conceptDescription ?embeddedDataSpecificationEn . + ?embeddedDataSpecificationEn ?dataSpecificationEn . + ?dataSpecificationEn ?preferredNameEn . + FILTER(LANGMATCHES(LANG(?preferredNameEn), "en")) + } + ?conceptDescription ?category . + FILTER (?category != "VALUE") + ?conceptDescription ?embeddedDataSpecification . + ?embeddedDataSpecification ?dataSpecification . + } + """ ; +] . + + +# AASd-076 +aas:ConceptDescriptionPreferredNameInEnglish a sh:NodeShape ; + sh:targetClass aas:ConceptDescription ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "For all ConceptDescriptions using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) at least a preferred name in English shall be defined." ^^xsd:string ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?dataSpecification + WHERE { + ?conceptDescription a . + MINUS { + ?conceptDescription a . + ?conceptDescription ?embeddedDataSpecificationEn . + ?embeddedDataSpecificationEn ?dataSpecificationEn . + ?dataSpecificationEn ?preferredNameEn . + FILTER(LANGMATCHES(LANG(?preferredNameEn), "en")) + } + + ?conceptDescription ?embeddedDataSpecification . + ?embeddedDataSpecification ?dataSpecification . + } + """ ; +] . + +# AASd-077 +aas:UniqueExtensionNames a sh:NodeShape ; + sh:targetClass aas:HasExtensions ; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "The name of an extension within HasExtensions needs to be unique." ; + + sh:select """ + SELECT ?extensionName + WHERE { + ?extension1 a . + ?extension1 ?extension1Name . + + ?extension2 a . + ?extension2 ?extension2Name . + + ?hasExtensions ?extension1 . + ?hasExtensions ?extension2 . + + FILTER(?extension1Name = ?extension2Name ) + } + """ ; +] . + +# AASd-080 +aas:KeyWithGlobalReferenceTypeCorrectIdType a sh:NodeShape ; + sh:targetClass aas:Key; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "In case Key/type == GlobalReference idType shall not be any LocalKeyType (IdShort, FragmentId)." ; + + sh:select """ + SELECT ?element + WHERE { + ?element a . + ?element ?keyType . + FILTER(?keyType = ) + ?element ?keyIdType . + FILTER(?keyIdType = || ?keyIdType = ) + } + """ ; +] . + +# AASd-081 +aas:KeyWithAssetAdministrationShellTypeCorrectIdType a sh:NodeShape ; + sh:targetClass aas:Key; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "In case Key/type==AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId)." ; + + sh:select """ + SELECT ?element + WHERE { + ?element a . + ?element . + ?element ?keyIdType . + FILTER(?keyIdType = || ?keyIdType = ) + } + """ ; +] . + +# AASd-090 +aas:DataElementExcludingFileAndBlobCorrectCategory a sh:NodeShape ; + sh:targetClass aas:DataElement; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "For data elements DataElement/category shall be one of the following values: Constant, Parameter or Variable. Exception: File and Blob data elements." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?element + WHERE { + ?subclass + . + FILTER(?subclass != && ?subclass != ) + ?element a ?subclass . + ?element ?category . + FILTER(?category != "Constant" && ?category != "Parameter" && ?category != "Variable") + } + """ ; +] . + + +# AASd-092 +# Also covers part of AASd-059. Full coverage is achieved in combination with AASd-093 +aas:ConceptDescriptionReferencedFromSubmodelElementCollectionNoDuplicates a sh:NodeShape ; + sh:targetClass aas:SubmodelElementCollection; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == false references a ConceptDescription then the ConceptDescription/category shall be ENTITY." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?element + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "ENTITY") + ?element ?duplicates . + FILTER(?duplicates != "false") + } + """ ; +] . + +# AASd-093 +# Also covers part of AASd-059. Full coverage is achieved in combination with AASd-092 +aas:ConceptDescriptionReferencedFromSubmodelElementCollectionAllowedDuplicates a sh:NodeShape ; + sh:targetClass aas:SubmodelElementCollection; + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == true references a ConceptDescription then the ConceptDescription/category shall be COLLECTION." ; + sh:prefixes rdf: ; + sh:select """ + SELECT ?element + WHERE { + ?element a . + ?element ?semanticIdReference . + ?semanticIdReference ?semanticIdKey . + ?semanticIdKey ?semanticIdKeyValue . + ?conceptDescription a . + ?conceptDescription ?conceptDescriptionId . + ?conceptDescriptionId ?conceptDescriptionIdValue . + FILTER (?conceptDescriptionIdValue = ?semanticIdKeyValue) + ?conceptDescription ?category . + FILTER (?category != "COLLECTION") + ?element ?duplicates . + FILTER(?duplicates != "true") + } + """ ; +] . + +# AASd-100 +aas:ReferableShape a sh:NodeShape ; + sh:targetClass aas:Referable ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:pattern "^(?!\\s*$).+" ; + sh:message "(Referable.category):An attribute with data type \"string\" is not allowed to be empty."^^xsd:string ; + ] ; +. diff --git a/validator/src/main/resources/jsonExample.json b/validator/src/main/resources/jsonExample.json new file mode 100644 index 000000000..e5e122bf7 --- /dev/null +++ b/validator/src/main/resources/jsonExample.json @@ -0,0 +1,524 @@ +{ + "assetAdministrationShells": [ + { + "modelType": { + "name": "AssetAdministrationShell" + }, + "idShort": "ExampleMotor", + "identification": { + "idType": "Iri", + "id": "http://customer.com/aas/9175_7013_7091_9168" + }, + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": { + "keys": [ + { + "type": "Asset", + "value": "http://customer.com/assets/KHBVZJSQKIY", + "idType": "Iri" + } + ] + }, + "specificAssetIds": [ + { + "key": "EquipmentID", + "value": "538fd1b3-f99f-4a52-9c75-72e9fa921270", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/ERP/012", + "idType": "Iri" + } + ] + } + }, + { + "key": "DeviceID", + "value": "QjYgPggjwkiHk4RrQiYSLg==", + "subjectId": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://customer.com/Systems/IoT/1", + "idType": "Iri" + } + ] + } + } + ], + "thumbnail": { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "idShort": "thumbnail", + "mimeType": "image/png", + "value": "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png" + } + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "http.//i40.customer.com/type/1/1/7A7104BDAB57E184", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935", + "idType": "Iri" + } + ] + }, + { + "keys": [ + { + "type": "Submodel", + "value": "http://i40.customer.com/type/1/1/1A7B62B529F19152", + "idType": "Iri" + } + ] + } + ] + } + ], + "assets": [ + { + "modelType": { + "name": "Asset" + }, + "identification": { + "idType": "Iri", + "id": "http://customer.com/assets/KHBVZJSQKIY" + } + } + ], + "submodels": [ + { + "modelType": { + "name": "Submodel" + }, + "semanticId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#01-AFZ615#016", + "idType": "Irdi" + } + ] + }, + "kind": "Instance", + "idShort": "TechnicalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/7A7104BDAB57E184" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "0173-1#02-BAA120#008", + "idType": "Irdi" + } + ] + }, + "idShort": "MaxRotationSpeed", + "category": "Parameter", + "value": "5000", + "valueType": "integer" + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "Documentation", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/type/1/1/1A7B62B529F19152" + }, + "submodelElements": [ + { + "modelType": { + "name": "SubmodelElementCollection" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document", + "idType": "Iri" + } + ] + }, + "idShort": "OperatingManual", + "value": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title", + "idType": "Iri" + } + ] + }, + "idShort": "Title", + "value": "OperatingManual", + "valueType": "langString" + }, + { + "modelType": { + "name": "File" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile", + "idType": "Iri" + } + ] + }, + "idShort": "DigitalFile_PDF", + "mimeType": "application/pdf", + "value": "/aasx/OperatingManual.pdf" + } + ], + "ordered": false, + "allowDuplicates": false + } + ] + }, + { + "modelType": { + "name": "Submodel" + }, + "kind": "Instance", + "idShort": "OperationalData", + "identification": { + "idType": "Iri", + "id": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935" + }, + "submodelElements": [ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "http://customer.com/cd/1/1/18EBD56F6B43D895", + "idType": "Iri" + } + ] + }, + "idShort": "RotationSpeed", + "category": "Variable", + "value": "4370", + "valueType": "integer" + } + ] + } + ], + "conceptDescriptions": [ + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "Title", + "identification": { + "idType": "Iri", + "id": "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "Title" + } + ], + "shortName": [ + { + "language": "EN", + "text": "Title" + }, + { + "language": "DE", + "text": "Titel" + } + ], + "unit": "ExampleUnit", + "sourceOfDefinition": "ExampleDefinition", + "dataType": "StringTranslatable", + "definition": [ + { + "language": "EN", + "text": "Language-dependent title of the document.." + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "DigitalFile", + "identification": { + "idType": "Iri", + "id": "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + + + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "DigitalFile" + } + ], + "shortName": [ + { + "language": "EN", + "text": "DigitalFile" + }, + { + "language": "DE", + "text": "DigitaleDatei" + } + ], + "unit": "ExampleUnit", + "sourceOfDefinition": "ExampleDefinition", + "dataType": "String", + "definition": [ + { + "language": "EN", + "text": "A file that represents the Document Version. In addition to the obligatory PDF file, other files can be specified. " + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "MaxRotationSpeed", + "category": "PROPERTY", + "administration": { + "version": "2", + "revision": "2.1" + }, + "identification": { + "idType": "Irdi", + "id": "0173-1#02-BAA120#008" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [{ + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "en", + "text": "Max.rotationspeed" + } + ], + "shortName": [], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "ExampleDefinition", + "dataType": "RealMeasure", + "definition": [ + { + "language": "de", + "text": "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf" + }, + { + "language": "en", + "text": "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated" + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "RotationSpeed", + "category": "PROPERTY", + "identification": { + "idType": "Iri", + "id": "http://customer.com/cd/1/1/18EBD56F6B43D895" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "EN", + "text": "Actualrotationspeed" + } + ], + "shortName": [ + { + "language": "DE", + "text": "AktuelleDrehzahl" + }, + { + "language": "EN", + "text": "ActualRotationSpeed" + } + ], + "unit": "1/min", + "unitId": { + "keys": [ + { + "type": "GlobalReference", + "value": "0173-1#05-AAA650#002", + "idType": "Irdi" + } + ] + }, + "sourceOfDefinition": "ExampleDefinition", + "dataType": "RealMeasure", + "definition": [ + { + "language": "DE", + "text": "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird" + }, + { + "language": "EN", + "text": "Actual rotationspeed with which the motor or feedingunit is operated" + } + ] + } + } + ] + }, + { + "modelType": { + "name": "ConceptDescription" + }, + "idShort": "Document", + "identification": { + "idType": "Iri", + "id": "http://www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document" + }, + "embeddedDataSpecifications": [ + { + "dataSpecification": { + + "keys": [ + { + "type": "GlobalReference", + "value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0", + "idType": "Iri" + } + ] + + }, + "dataSpecificationContent": { + "preferredName": [{ + "language": "EN", + "text": "Document" + }], + "shortName": [ + { + "language": "EN", + "text": "Document" + }, + { + "language": "DE", + "text": "Dokument" + } + ], + "unit": "ExampleUnit", + "sourceOfDefinition": "[ISO15519-1:2010]", + "dataType": "String", + "definition": [ + { + "language": "EN", + "text": "Fixed and ordered set of information intended for human use that can be managed and exchanged as a unit between users and the system." + } + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/validator/src/main/resources/ontology.ttl b/validator/src/main/resources/ontology.ttl new file mode 100644 index 000000000..edac8a15b --- /dev/null +++ b/validator/src/main/resources/ontology.ttl @@ -0,0 +1,2147 @@ +@prefix aas: . +@prefix iec61360: . +@prefix phys_unit: . +@prefix dash: . +@prefix dc: . +@prefix dcterms: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix vann: . +@prefix xsd: . +@base . + + rdf:type owl:Ontology ; + vann:preferredNamespaceUri "https://admin-shell.io/aas/3/0/RC01/"^^xsd:anyURI ; + owl:versionInfo "3.0.RC01" ; + rdfs:comment "This ontology represents the data model for the Asset Administration Shell according to the specification 'Details of the Asset Administration Shell - Part 1 - Version 3.0.RC01'."@en ; + skos:prefLabel "aas"^^xsd:string ; + vann:preferredNamespacePrefix "aas"^^xsd:string ; + rdfs:isDefinedBy ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl +aas:AccessControl rdf:type owl:Class ; + rdfs:comment "Access Control defines the local access control policy administration point. Access Control has the major task to define the access permission rules."@en ; + rdfs:label "Access Control"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/accessPermissionRule + rdf:type owl:ObjectProperty ; + rdfs:comment "Access permission rules of the AAS describing the rights assigned to (already authenticated) subjects to access elements of the AAS."@en ; + rdfs:label "has access permission rule"^^xsd:string ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:AccessPermissionRule ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableSubjectAttributes + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a submodel defining the authenticated subjects that are configured for the AAS. They are selectable by the access permission rules to assign permissions to the subjects."@en ; + rdfs:label "has selectable subject attributes"^^xsd:string ; + skos:note "Default: reference to the submodel referenced via defaultSubjectAttributes."@en ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:Submodel ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultSubjectAttributes + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a submodel defining the default subjects attributes for the AAS that can be used to describe access permission rules."@en ; + rdfs:label "has default subject attributes"^^xsd:string ; + skos:note "The submodel is of kind=Type."@en ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:Submodel ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/selectablePermissions + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a submodel defining which permissions can be assigned to the subjects."@en ; + rdfs:label "has selectable permissions"^^xsd:string ; + skos:note "Default: reference to the submodel referenced via defaultPermissions"@en ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:Submodel ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultPermissions + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a submodel defining the default permissions for the AAS."@en ; + rdfs:label "has default permissions"^^xsd:string ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:Submodel ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/selectableEnvironmentAttributes + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a submodel defining which environment attributes can be accessed via the permission rules."@en ; + rdfs:label "has selectable environment attributes"^^xsd:string ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:Submodel ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControl/defaultEnvironmentAttributes + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a submodel defining default environment attributes, i.e. attributes that are not describing the asset itself. The submodel is of kind=Type. At the same type the values of these environment attributes need to be accessible when evaluating the access permission rules. This is realized as a policy information point."@en ; + rdfs:label "has default environment attributes"^^xsd:string ; + rdfs:domain aas:AccessControl ; + rdfs:range aas:Submodel ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints +aas:AccessControlPolicyPoints rdf:type owl:Class ; + rdfs:comment "Container for access control policy points."@en ; + rdfs:label "Access ControlPolicy Points"^^xsd:string . + +### https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyAdministrationPoint + rdf:type owl:ObjectProperty ; + rdfs:comment "The access control administration policy point of the AAS."@en ; + rdfs:label "has policy administration point"^^xsd:string ; + rdfs:domain aas:AccessControlPolicyPoints ; + rdfs:range aas:PolicyAdministrationPoint ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyDecisionPoint + rdf:type owl:ObjectProperty ; + rdfs:comment "The access control policy decision point of the AAS."@en ; + rdfs:label "has policy decision point"^^xsd:string ; + rdfs:domain aas:AccessControlPolicyPoints ; + rdfs:range aas:PolicyDecisionPoint ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyEnforcementPoint + rdf:type owl:ObjectProperty ; + rdfs:comment "The access control policy enforcement point of the AAS."@en ; + rdfs:label "has policy enforcement point"^^xsd:string ; + rdfs:domain aas:AccessControlPolicyPoints ; + rdfs:range aas:PolicyEnforcementPoints ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessControlPolicyPoints/policyInformationPoints + rdf:type owl:ObjectProperty ; + rdfs:comment "The access control policy information points of the AAS."@en ; + rdfs:label "has policy information points"^^xsd:string ; + rdfs:domain aas:AccessControlPolicyPoints ; + rdfs:range aas:PolicyInformationPoints ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule +aas:AccessPermissionRule rdf:type owl:Class ; + rdfs:subClassOf aas:Referable ; + rdfs:subClassOf aas:Qualifiable ; + rdfs:comment "Table that defines access permissions per authenticated subject for a set of objects (referable elements)."@en ; + rdfs:label "Access Permission Rule"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/permissionsPerObject + rdf:type owl:ObjectProperty ; + rdfs:comment "Set of object-permission pairs that define the permissions per object within the access permission rule."@en ; + rdfs:label "has permissions per object"^^xsd:string ; + rdfs:domain aas:AccessPermissionRule ; + rdfs:range aas:PermissionsPerObject ; +. + +### https://admin-shell.io/aas/3/0/RC01/AccessPermissionRule/targetSubjectAttributes + rdf:type owl:ObjectProperty ; + rdfs:comment "Target subject attributes that need to be fulfilled by the accessing subject to get the permissions defined by this rule."@en ; + rdfs:label "has target subject attributes"^^xsd:string ; + rdfs:domain aas:AccessPermissionRule ; + rdfs:range aas:SubjectAttributes ; +. + +### https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation +aas:AdministrativeInformation rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification ; + rdfs:comment "Every Identifiable may have administrative information. Administrative information includes for example 1) Information about the version of the element 2) Information about who created or who made the last change to the element 3) Information about the languages available in case the element contains text, for translating purposed also themmaster or default language may be definedIn the first version of the AAS metamodel only version information as defined by IEC 61360 is defined. In later versions additional attributes may be added."@en ; + rdfs:label "Administrative Information"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation/version + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf dcterms:hasVersion ; + rdfs:domain aas:AdministrativeInformation ; + rdfs:range xsd:string ; + rdfs:comment "Version of the element."@en ; + rdfs:label "has version"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AdministrativeInformation/revision + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf dcterms:hasVersion ; + rdfs:comment "Revision of the element."@en ; + skos:note "Constraint AASd-005: A revision requires a version. This means, if there is no version there is no revision neither."@en ; + rdfs:label "has revision"^^xsd:string ; + rdfs:domain aas:AdministrativeInformation ; + rdfs:range xsd:string ; + +. + +### https://admin-shell.io/aas/3/0/RC01/AnnotatedRelationshipElement +aas:AnnotatedRelationshipElement rdf:type owl:Class ; + rdfs:subClassOf aas:RelationshipElement ; + rdfs:comment "An annotated relationship element is an relationship element that can be annotated with additional data elements."@en ; + rdfs:label "Annotated Relationship Element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AnnotatedRelationshipElement/annotation + rdf:type owl:ObjectProperty ; + rdfs:comment "Annotations that hold for the relationships between the two elements."@en ; + rdfs:label "has annotation"^^xsd:string ; + rdfs:domain aas:AnnotatedRelationshipElement ; + rdfs:range aas:DataElement ; +. + +### https://admin-shell.io/aas/3/0/RC01/Asset +aas:Asset rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification , aas:Identifiable ; + skos:altLabel "Object"@en ; + skos:definition "Clearly identifiable asset for the Administration Shell"@en ; + skos:prefLabel "Asset"@en ; + rdfs:label "Asset"^^xsd:string ; + skos:definition "Eindeutig identifizierbarer Gegenstand, der aufgrund seiner Bedeutung in der Informationswelt verwaltet wird"@de ; + rdfs:comment "An Asset describes meta data of an asset that is represented by an AAS. The asset may either represent an asset type or an asset instance. The asset has a globally unique identifier plus - if needed - additional domain specific (proprietary) identifiers."@en ; + skos:note "Objects may be known in the form of a type or of an instance. An object in the planning phase is known as a type"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetInformation +aas:AssetInformation rdf:type owl:Class ; + rdfs:comment "The asset may either represent an asset type or an asset instance. The asset has a globally unique identifier plus - if needed - additional domain specific (proprietary) identifiers. However, to support the corner case of very first phase of lifecycle where a stabilised/constant global asset identifier does not already exist, the corresponding attribute 'globalAssetId' is optional."@en ; + rdfs:label "Asset Information"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetInformation/assetKind + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetInformation ; + rdfs:range aas:AssetKind ; + rdfs:label "has asset kind"^^xsd:string ; + rdfs:comment "Denotes whether the Asset of kind 'Type' or 'Instance'."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetInformation/globalAssetId + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetInformation ; + rdfs:range aas:Reference ; + rdfs:comment "Reference to either an Asset object or a global reference to the asset the AAS is representing. This attribute is required as soon as the AAS is exchanged via partners in the life cycle of the asset. In a first phase of the life cycle the asset might not yet have a global id but already an internal identifier. The internal identifier would be modelled via 'externalAssetId'."@en ; + rdfs:label "has global asset id"^^xsd:string ; + skos:note "Constraint AASd-023: AssetInformation/globalAssetId either is a reference to an Asset object or a global reference."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetInformation/specificAssetId + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetInformation ; + rdfs:range aas:IdentifierKeyValuePair ; + rdfs:comment "Additional domain-specific, typically proprietary Identifier for the asset like e.g. serial number etc."@en ; + rdfs:label "has specific asset id"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetInformation/billOfMaterial + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetInformation ; + rdfs:range aas:Reference ; + rdfs:comment "A reference to a Submodel that defines the bill of material of the asset represented by the AAS. This submodel contains a set of entities describing the material used to compose the composite I4.0 Component."@en ; + rdfs:label "has Bill of Material"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetInformation/defaultThumbnail + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetInformation ; + rdfs:range aas:File ; + rdfs:label "has default Thumbnail"^^xsd:string ; + rdfs:comment "Thumbnail of the asset represented by the asset administration shell."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell +aas:AssetAdministrationShell rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification , aas:Identifiable ; + rdfs:label "Asset Administration Shell"^^xsd:string ; + skos:altLabel "Administration Shell"@en , "Verwaltungsschale"@de ; + skos:definition "Describes the Administration Shell for Assets, Products, Components, e.g. Machines"@en ; + rdfs:comment "Describes the Administration Shell for Assets, Products, Components, e.g. Machines"@en ; + skos:prefLabel "Asset Administration Shell"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/assetInformation + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetAdministrationShell ; + rdfs:range aas:AssetInformation ; + rdfs:comment "Meta information about the asset the AAS is representing."@en ; + rdfs:label "has assetInformation"^^xsd:string ; +. + + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/derivedFrom + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf ; + rdfs:domain aas:AssetAdministrationShell ; + rdfs:range aas:Reference ; + rdfs:comment "This relation connects instances of AAS with their respective types. Refer to Asset Kind for further information of instance and type kinds."@en ; + rdfs:label "was derived from"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/security + rdf:type owl:ObjectProperty ; + rdfs:comment "Definition of the security relevant aspects of the AAS."@en ; + rdfs:label "has security"^^xsd:string ; + rdfs:domain aas:AssetAdministrationShell ; + rdfs:range aas:Security ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/submodel + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetAdministrationShell ; + # rdfs:range [ owl:unionOf (aas:Reference aas:Submodel) ] ; + rdfs:range aas:Reference ; + rdfs:comment "Points from the Admin Shell to the Submodels that describe the Admin Shell of a given Asset"@en ; + rdfs:label "has Submodel"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShell/view + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetAdministrationShell; + rdfs:range aas:View ; + rdfs:comment "Points to the differents views associated to the Administration Shell via the Submodels."@en ; + rdfs:label "has View"^^xsd:string ; + skos:prefLabel "view"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment +aas:AssetAdministrationShellEnvironment rdf:type owl:Class ; + rdfs:label "Asset Administration Shell Environment"^^xsd:string ; + rdfs:comment "A graph of Asset Administration Shells."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/assetAdministrationShells + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetAdministrationShellEnvironment ; + rdfs:range aas:AssetAdministrationShell ; + rdfs:comment "Points to the differents Administration Shells in one AssetAdministrationShellEnvironment graph."@en ; + rdfs:label "has Asset Administration Shells"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/conceptDescriptions + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetAdministrationShellEnvironment ; + rdfs:range aas:ConceptDescription; + rdfs:comment "Points to the differents Concept Descriptions in one AssetAdministrationShellEnvironment graph."@en ; + rdfs:label "has Concept Descriptions"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetAdministrationShellEnvironment/submodels + rdf:type owl:ObjectProperty ; + rdfs:domain aas:AssetAdministrationShellEnvironment ; + rdfs:range aas:Submodel; + rdfs:comment "Points to the differents Submodels in one AssetAdministrationShellEnvironment graph."@en ; + rdfs:label "has submodels"^^xsd:string ; +. + + + + +### https://admin-shell.io/aas/3/0/RC01/AssetKind +aas:AssetKind rdf:type owl:Class ; + rdfs:comment "Enumeration for denoting whether an element is a type or an instance."@en ; + rdfs:label "Asset Kind"^^xsd:string ; + owl:oneOf ( + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetKind/Instance + rdf:type aas:AssetKind ; + rdfs:comment "Concrete, clearly identifiable component of a certain type."@en ; + rdfs:label "Asset Instance"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/AssetKind/Type + rdf:type aas:AssetKind ; + rdfs:comment "hardware or software element which specifies the common attributes shared by all instances of the type."@en ; + rdfs:label "Asset Type"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/BasicEvent +aas:BasicEvent rdf:type owl:Class ; + rdfs:subClassOf aas:Event ; + rdfs:label "Basic Event"^^xsd:string ; + rdfs:comment "A basic event."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/BasicEvent/observed + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to the data or other elements that are being observed."@en ; + rdfs:label "observed by"^^xsd:string ; + rdfs:domain aas:BasicEvent ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Blob +aas:Blob rdf:type owl:Class ; + rdfs:subClassOf aas:DataElement ; + rdfs:comment "A BLOB is a data element that represents a file that is contained with its source code in the value attribute."@en ; + rdfs:label "Blob Data Element"^^xsd:string ; + skos:note "Constraint AASd-057: The semanticId of a File or Blob submodel element shall only reference a ConceptDescription with the category DOCUMENT."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Blob/mimeType + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:Blob ; + rdfs:range xsd:string ; + rdfs:comment "Mime type of the content of the BLOB. The mime type states which file extension the file has. Valid values are e.g. 'application/json', 'application/xls', 'image/jpg' The allowed values are defined as in RFC2046."@en ; + rdfs:label "has mimetype"^^xsd:string ; + rdfs:seeAlso "http://uri4uri.net/vocab.html/#MimetypeDatatype"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Blob/value + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:Blob ; + rdfs:range xsd:byte ; + rdfs:comment "The value of the BLOB instance of a blob data element."@en ; + skos:note "In contrast to the file property the file content is stored directly as value in the Blob data element."@en ; + rdfs:label "has value"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/BlobCertificate +aas:BlobCertificate rdf:type owl:Class ; + rdfs:subClassOf aas:Certificate ; + rdfs:comment "Certificate provided as BLOB."@en ; + rdfs:label "Blob Certificate"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/BlobCertificate/blobCertificate + rdf:type owl:DatatypeProperty ; + rdfs:comment "Certificate as BLOB."@en ; + rdfs:label "Blob Certificate"^^xsd:string ; + rdfs:domain aas:BlobCertificate ; + rdfs:range xsd:byte ; +. + +### https://admin-shell.io/aas/3/0/RC01/BlobCertificate/containedExtension + rdf:type owl:ObjectProperty ; + rdfs:comment "Extensions contained in the certificate."@en ; + rdfs:label "contains extension"^^xsd:string ; + rdfs:domain aas:BlobCertificate ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/BlobCertificate/lastCertificate + rdf:type owl:DatatypeProperty ; + rdfs:comment "Denotes whether this certificate is the certificated that fast added last."@en ; + rdfs:label "is last certificate"^^xsd:string ; + rdfs:domain aas:BlobCertificate ; + rdfs:range xsd:boolean ; +. + +### https://admin-shell.io/aas/3/0/RC01/Capability +aas:Capability rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:comment "A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world."@en ; + rdfs:label "Capability"^^xsd:string ; + skos:note "Constraint AASd-058: If the semanticId of a Capability submodel element references a ConceptDescription then the ConceptDescription/category shall be CAPABILITY."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Category +aas:Category rdf:type owl:Class ; + rdfs:comment "A enumeration for data elements except for files and blobs."@en ; + rdfs:label "Category"^^xsd:string ; + owl:oneOf ( + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/Category/Constant + rdf:type aas:Category ; + rdfs:comment "A constant property is a property with a value that does not change over time. In eCl@ss this kind of category has the category 'Coded Value'."@en ; + rdfs:label "Constant"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Category/Parameter + rdf:type aas:Category ; + rdfs:comment "A parameter property is a property that is once set and then typically does not change over time. This is for example the case for configuration parameters."@en ; + rdfs:label "Parameter"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Category/Variable + rdf:type aas:Category ; + rdfs:comment "A variable property is a property that is calculated during runtime, i.e. its value is a runtime value."@en ; + rdfs:label "Variable"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Certificate +aas:Certificate rdf:type owl:Class ; + dash:abstract true ; + rdfs:comment "A technical certificate proofing the identity through cryptographic measures."@en ; + rdfs:label "Certificate"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Certificate/policyAdministrationPoint + rdf:type owl:ObjectProperty ; + rdfs:comment "The access control administration policy point of the AAS."@en ; + rdfs:label "has policy administration point"^^xsd:string ; + rdfs:domain aas:Certificate ; + rdfs:range aas:PolicyAdministrationPoint ; +. +### https://admin-shell.io/aas/3/0/RC01/ConceptDescription +aas:ConceptDescription rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification , aas:Identifiable ; + rdfs:label "Concept Description"^^xsd:string ; + rdfs:comment "The semantics of a property or other elements that may have a semantic description is defined by a concept description. The description of the concept should follow a standardized schema (realized as data specification template)."@en ; + skos:note "Constraint AASd-051: A ConceptDescription shall have one of the following categories: VALUE, PROPERTY, REFERENCE, DOCUMENT, CAPABILITY, RELATIONSHIP, COLLECTION, FUNCTION, EVENT, ENTITY, APPLICATION_CLASS, QUALIFIER, VIEW. Default: PROPERTY."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ConceptDescription/isCaseOf + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf dcterms:identifier ; + rdfs:comment "Reference to an external definition the concept is compatible to or was derived from."@en ; + skos:note "Compare to is-case-of relationship in ISO 13584-32 and IEC EN 61360."@en ; + rdfs:label "is case of"^^xsd:string ; + rdfs:domain aas:ConceptDescription ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Constraint + rdf:type owl:Class ; + dash:abstract true ; + rdfs:comment "A constraint is used to further qualify an element."@en ; + rdfs:label "Constraint"^^xsd:string ; + skos:prefLabel "Constraint"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/DataElement +aas:DataElement rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + dash:abstract true ; + rdfs:comment "A data element is a submodel element that is not further composed out of other submodel elements. A data element is a submodel element that has a value. The type of value differs for different subtypes of data elements."@en ; + rdfs:label "Data Element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/DataSpecificationContent +aas:DataSpecificationContent rdf:type owl:Class ; + dash:abstract true ; + rdfs:label "Data Specification Content"^^xsd:string ; + rdfs:comment "DataSpecificationContent contains the additional attributes to be added to the element instance that references the data specification template and meta information about the template itself."@en ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360 +iec61360:DataSpecificationIEC61360 rdf:type owl:Class ; + rdfs:subClassOf aas:DataSpecificationContent ; + rdfs:label "Data Specification IEC 61360"^^xsd:string ; + rdfs:comment "Data Specification Template for defining Property Descriptions conformant to IEC 61360."@en ; + skos:note "Constraint AASd-075: For all ConceptDescriptions using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) values for the attributes not being marked as mandatory or optional in tables Table 9, Table 10, Table 11 and Table 12.depending on its category are ignored and handled as undefined."@en ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/dataType + rdf:type owl:ObjectProperty ; + rdfs:label "has datatype"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range iec61360:DataTypeIEC61360 ; + skos:note "Constraint AASd-070: For a ConceptDescription with category PROPERTY or VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined."@en ; + skos:note "Constraint AASd-071: For a ConceptDescription with category REFERENCE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is STRING by default."@en ; + skos:note "Constraint AASd-072: For a ConceptDescription with category DOCUMENT using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType shall be one of the following values: STRING or URL."@en ; + skos:note "Constraint AASd-073: For a ConceptDescription with category QUALIFIER using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined."@en ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/definition + rdf:type owl:ObjectProperty ; + rdfs:label "has definition"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range rdf:langString ; + skos:note "Constraint AASd-074: For all ConceptDescriptions except for ConceptDescriptions of category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/definition is mandatory and shall be defined at least in English."@en ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/levelType + rdf:type owl:ObjectProperty ; + rdfs:label "has level type"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range aas:LevelType ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/preferredName + rdf:type owl:ObjectProperty ; + rdfs:label "has preferred name"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range rdf:langString ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/shortName + rdf:type owl:ObjectProperty ; + rdfs:label "has short name"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range rdf:langString ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/sourceOfDefinition + rdf:type owl:DatatypeProperty ; + rdfs:label "has source of definition"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/symbol + rdf:type owl:DatatypeProperty ; + rdfs:label "has symbol"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/unit + rdf:type owl:DatatypeProperty ; + rdfs:label "has unit"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/unitId + rdf:type owl:ObjectProperty ; + rdfs:label "has unit id"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueFormat + rdf:type owl:DatatypeProperty ; + rdfs:label "has value format"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/value + rdf:type owl:DatatypeProperty ; + rdfs:label "has value"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueList + rdf:type owl:ObjectProperty ; + rdfs:label "has value list"^^xsd:string ; + rdfs:comment "The Type 'ValueList' lists all the allowed values for a concept description for which the allowed values are listed in an enumeration. The value list is a set of value reference pairs."@en ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range aas:ValueList ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataSpecificationIEC61360/valueId + rdf:type owl:ObjectProperty ; + rdfs:label "has value id"^^xsd:string ; + rdfs:domain iec61360:DataSpecificationIEC61360 ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit +phys_unit:DataSpecificationPhysicalUnit rdf:type owl:Class ; + rdfs:subClassOf aas:DataSpecificationContent ; + rdfs:label "Data Specification Physical Unit"^^xsd:string ; + rdfs:comment "Data Specification Template for Physical Units."@en ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/conversionFactor + rdf:type owl:DatatypeProperty ; + rdfs:label "has conversion factor"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/definition + rdf:type owl:ObjectProperty ; + rdfs:label "has definition"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range rdf:langString ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/dinNotation + rdf:type owl:DatatypeProperty ; + rdfs:label "has DIN notation"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/eceCode + rdf:type owl:DatatypeProperty ; + rdfs:label "has ECE code"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/eceName + rdf:type owl:DatatypeProperty ; + rdfs:label "has ECE name"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/nistName + rdf:type owl:DatatypeProperty ; + rdfs:label "has NIST name"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/siName + rdf:type owl:DatatypeProperty ; + rdfs:label "has SI name"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/siNotation + rdf:type owl:DatatypeProperty ; + rdfs:label "has SI notation"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/registrationAuthorityId + rdf:type owl:DatatypeProperty ; + rdfs:label "has registration authority"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/supplier + rdf:type owl:DatatypeProperty ; + rdfs:label "has supplier"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/unitName + rdf:type owl:DatatypeProperty ; + rdfs:label "unit has name"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/DataSpecificationPhysicalUnit/unitSymbol + rdf:type owl:DatatypeProperty ; + rdfs:label "unit has symbol"^^xsd:string ; + rdfs:domain phys_unit:DataSpecificationPhysicalUnit ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification +aas:EmbeddedDataSpecification rdf:type owl:Class ; + rdfs:comment "Link to the included description of the Data Specification."@en ; + rdfs:label "Embedded Data Specification"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecification + rdf:type owl:ObjectProperty ; + rdfs:comment "Global reference to the data specification template used by the element. Reference points to a Data Specification."@en ; + rdfs:label "has Data Specification"^^xsd:string ; + rdfs:domain aas:EmbeddedDataSpecification ; + rdfs:range aas:Reference ; + skos:note "Reference must point to a Data Specification."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/EmbeddedDataSpecification/dataSpecificationContent + rdf:type owl:ObjectProperty ; + rdfs:comment "Property links to a Data Specification Content, which contains the formalized definitions specifying this Data Specification."@en ; + rdfs:label "has Data Specification Content"^^xsd:string ; + rdfs:domain aas:EmbeddedDataSpecification ; + rdfs:range aas:DataSpecificationContent ; +. + +### https://admin-shell.io/aas/3/0/RC01/Entity +aas:Entity rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:label "Entity"^^xsd:string ; + rdfs:comment "An entity is a submodel element that is used to model entities."@en ; + skos:note "Constraint AASd-056: The semanticId of a Entity submodel element shall only reference a ConceptDescription with the category ENTITY. The ConceptDescription describes the elements assigned to the entity via Entity/statement."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Entity/globalAssetId + rdf:type owl:ObjectProperty ; + rdfs:label "has global asset id"^^xsd:string ; + rdfs:domain aas:Entity ; + rdfs:range aas:Reference ; + rdfs:comment "Reference to the asset the entity is representing."@en ; + skos:note "The asset attribute must be set if entityType is set to 'SelfManagedEntity'. It is empty otherwise."@en ; + skos:note "Constraint AASd-014: Either the attribute globalAssetId or externalAssetId of an Entity must be set if Entity/entityType is set to 'SelfManagedEntity'. They are not existing otherwise."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Entity/specificAssetId + rdf:type owl:ObjectProperty ; + rdfs:label "has specific asset id"^^xsd:string ; + rdfs:domain aas:Entity ; + rdfs:range aas:IdentifierKeyValuePair ; + rdfs:comment "Reference to an identifier key value pair representing an external identifier of the asset represented by the asset administration shell. "@en ; + skos:note "The asset attribute must be set if entityType is set to 'SelfManagedEntity'. It is empty otherwise."@en ; + skos:note "Constraint AASd-014: Either the attribute globalAssetId or externalAssetId of an Entity must be set if Entity/entityType is set to 'SelfManagedEntity'. They are not existing otherwise."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Entity/entityType + rdf:type owl:ObjectProperty ; + rdfs:label "has entity type"^^xsd:string ; + rdfs:domain aas:Entity ; + rdfs:range aas:EntityType ; + rdfs:comment "Describes whether the entity is a co-managed entity or a self-managed entity."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Entity/statement + rdf:type owl:ObjectProperty ; + rdfs:label "has statement"^^xsd:string ; + rdfs:comment "Describes statements applicable to the entity by a set of submodel elements, typically with a qualified value."@en ; + rdfs:domain aas:Entity ; + rdfs:range aas:SubmodelElement ; +. + +### https://admin-shell.io/aas/3/0/RC01/EntityType +aas:EntityType rdf:type owl:Class ; + rdfs:label "Entity Type"^^xsd:string ; + rdfs:comment "Enumeration for denoting whether an entity is a self-managed entity or a co-managed entity."@en ; + owl:oneOf ( ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/EntityType/CoManagedEntity + rdf:type aas:EntityType ; + rdfs:comment "For co-managed entities there is no separate AAS. Co-managed entities need to be part of a self-managed entity."@en ; + rdfs:label "Co-managed Entity"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/EntityType/SelfManagedEntity + rdf:type aas:EntityType ; + rdfs:comment "Self-Managed Entities have their own AAS but can be part of the bill of material of a composite self-managed entity. The asset of an I4.0 Component is a self-managed entity per definition."@en ; + rdfs:label "Self-managed Entity"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Event +aas:Event rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + dash:abstract true ; + rdfs:label "Event"^^xsd:string ; + rdfs:comment "An event."@en ; + skos:note "Constraint AASd-061: The semanticId of a Event submodel element shall only reference a ConceptDescription with the category EVENT."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/EventElement +aas:EventElement rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:label "Event Element"^^xsd:string ; + rdfs:comment "Defines the necessary information for sending or receiving events."@en ; + skos:note "non-normative, just only for discussion (as of November 2019)."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/EventMessage +aas:EventMessage rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:label "Event Message"^^xsd:string ; + rdfs:comment "Defines the necessary information of an event instance sent out or received."@en ; + skos:note "non-normative, just only for discussion (as of November 2019)."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/File +aas:File rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:subClassOf aas:DataElement ; + rdfs:comment "A File is a data element that represents a file via its path description."@en ; + rdfs:label "File Submodel Element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/File/mimeType + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:File ; + rdfs:range xsd:string ; + rdfs:comment "Mime type of the content of the File."@en ; + rdfs:label "has mimetype"^^xsd:string ; + rdfs:seeAlso "http://uri4uri.net/vocab.html/#MimetypeDatatype"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/File/value + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:File ; + rdfs:range xsd:string ; + rdfs:comment "Path and name of the referenced file (with file extension). The path can be absolute or relative."@en ; + rdfs:label "has value"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Formula +aas:Formula rdf:type owl:Class ; + rdfs:subClassOf aas:Constraint ; + dc:description "A formula is used to describe constraints by a logical expression."@en ; + rdfs:label "Formula"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Formula/dependsOn + rdf:type owl:ObjectProperty ; + rdfs:domain aas:Formula ; + rdfs:range aas:Reference ; + rdfs:comment "A formula may depend on referable or even external global elements - assumed that can be referenced and their value may be evaluated - that are used in the logical expression."@en ; + rdfs:label "depends on"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasDataSpecification +aas:HasDataSpecification rdf:type owl:Class ; + dash:abstract true ; + rdfs:comment "Element that can have be extended by using data specification templates. A data specification template defines the additional attributes an element may or shall have. The data specifications used are explicitly specified with their id."@en ; + rdfs:label "Has Data Specification"^^xsd:string ; + skos:note "Constraint AASd-050: If the DataSpecificationContent DataSpecificationIEC61360 is used for an element then the value of hasDataSpecification/dataSpecification shall contain the global reference to the Iri of the corresponding data specification template https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasDataSpecification/embeddedDataSpecification + rdf:type owl:ObjectProperty ; + rdfs:comment "Link to the included description of the Data Specification."@en ; + rdfs:label "has Embedded Data Specification"^^xsd:string ; + rdfs:domain aas:HasDataSpecification ; + rdfs:range aas:EmbeddedDataSpecification ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasKind +aas:HasKind rdf:type owl:Class ; + dash:abstract true ; + rdfs:comment "An element with a kind is an element that can either represent a type or an instance. Default for an element is that it is representing an instance."@en ; + rdfs:label "Has Kind"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasKind/kind + rdf:type owl:ObjectProperty ; + rdfs:domain aas:HasKind ; + rdfs:range aas:ModelingKind ; + rdfs:label "has kind"^^xsd:string ; + rdfs:comment "ModelingKind of the element: either type or instance."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasSemantics +aas:HasSemantics rdf:type owl:Class ; + dash:abstract true ; + rdfs:label "Has Semantics"^^xsd:string ; + rdfs:comment "Element that can have a semantic definition. Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element."@en ; + skos:note "In many cases the idShort is identical to the English short name within the semantic definition as referenced vi aits semantic id."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasSemantics/semanticId + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf rdfs:seeAlso ; + rdfs:label "has semantic ID"^^xsd:string ; + skos:altLabel "has Semantic Expression"@en ; + rdfs:comment "Points to the Expression Semantic of the Submodels"@en ; + rdfs:comment "The semantic id might refer to an external information source, which explains the formulation of the submodel (for example an PDF if a standard)."@en ; + rdfs:domain aas:HasSemantics ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Identifiable +aas:Identifiable rdf:type owl:Class ; + dash:abstract true ; + rdfs:subClassOf aas:Referable ; + rdfs:comment "An element that has a globally unique identifier."@en ; + rdfs:label "Identifiable"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Identifiable/administration + rdf:type owl:ObjectProperty ; + rdfs:comment "Administrative information of an identifiable element."@en ; + skos:note "Some of the administrative information like the version number might need to be part of the identification."@en ; + rdfs:label "has administration"^^xsd:string ; + rdfs:domain aas:Identifiable ; + rdfs:range aas:AdministrativeInformation ; +. + +### https://admin-shell.io/aas/3/0/RC01/Identifiable/identification + rdf:type owl:ObjectProperty ; + rdfs:domain aas:Identifiable ; + rdfs:range aas:Identifier ; + rdfs:label "has identification"^^xsd:string ; + rdfs:comment "The globally unique identification of the element."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifiableElements +aas:IdentifiableElements rdf:type owl:Class ; + rdfs:subClassOf aas:ReferableElements ; + rdfs:label "Identifiable Element"^^xsd:string ; + rdfs:comment "Enumeration of all identifiable elements within an asset administration shell that are not identifiable"@en ; + owl:oneOf ( + + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifiableElements/Asset + rdf:type aas:IdentifiableElements ; + rdfs:label "Asset"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifiableElements/AssetAdministrationShell + rdf:type aas:IdentifiableElements ; + rdfs:label "Asset Administration Shell"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifiableElements/ConceptDescription + rdf:type aas:IdentifiableElements ; + rdfs:label "Concept Description"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifiableElements/Submodel + rdf:type aas:IdentifiableElements ; + rdfs:label "Submodel"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Identifier +aas:Identifier rdf:type owl:Class ; + rdfs:comment "Used to uniquely identify an entity by using an identifier."@en ; + rdfs:label "Identifier"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Identifier/identifier + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:Identifier ; + rdfs:range xsd:string ; + rdfs:comment "A globally unique identifier which might not be a URI. Its type is defined in idType."@en ; + rdfs:label "has identification"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Identifier/idType + rdf:type owl:ObjectProperty ; + rdfs:comment "Type of the Identifier, e.g. Iri, Irdi etc. The supported Identifier types are defined in the enumeration 'IdentifierType'."@en ; + rdfs:domain aas:Identifier ; + rdfs:range aas:IdentifierType ; + rdfs:label "has idType"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierType +aas:IdentifierType rdf:type owl:Class ; + rdfs:subClassOf aas:KeyType ; + rdfs:label "Identifier Type"^^xsd:string ; + rdfs:comment "Enumeration of different types of Identifiers for global identification"@en ; + owl:oneOf ( + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierType/Irdi + rdf:type aas:IdentifierType ; + rdfs:label "IRDI"^^xsd:string ; + rdfs:comment "IRDI according to ISO29002-5 as an Identifier scheme for properties and classifications."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierType/Iri + rdf:type aas:IdentifierType ; + rdfs:label "IRI"^^xsd:string ; + rdfs:comment "IRI. Should only be used if unicode symbols are used that are not allowed in URI."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierType/Custom + rdf:type aas:IdentifierType ; + rdfs:label "Custom"^^xsd:string ; + rdfs:comment "Custom identifiers like GUIDs (globally unique Identifiers)"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair +aas:IdentifierKeyValuePair rdf:type owl:Class ; + rdfs:subClassOf aas:HasSemantics ; + rdfs:label "identifier key value pair"^^xsd:string ; + rdfs:comment "An IdentifierKeyValuePair describes a generic identifier as key-value pair."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/key + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:IdentifierKeyValuePair ; + rdfs:range xsd:string ; + rdfs:comment "Key of the identifier."@en ; + rdfs:label "has IdentifierKeyValuePair.key"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/value + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:IdentifierKeyValuePair ; + rdfs:range xsd:string ; + rdfs:comment "The value of the identifier with the corresponding key."@en ; + rdfs:label "has IdentifierKeyValuePair.value"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/IdentifierKeyValuePair/externalSubjectId + rdf:type owl:ObjectProperty ; + rdfs:domain aas:IdentifierKeyValuePair ; + rdfs:range aas:Reference ; + rdfs:comment "The (external) subject the key belongs to or has meaning to."@en ; + rdfs:label "has IdentifierKeyValuePair.externalSubjectId"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Key +aas:Key rdf:type owl:Class ; + rdfs:comment "A key is a reference to an element by its id."@en ; + rdfs:label "Key"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Key/idType + rdf:type owl:ObjectProperty ; + rdfs:comment "Type of the key value. In case of idType = idShort local shall be true. In case type=GlobalReference idType shall not be IdShort."@en ; + rdfs:domain aas:Key ; + rdfs:range aas:KeyType ; + rdfs:label "has key type"^^xsd:string ; + skos:note "Constraint AASd-080: In case Key/type == GlobalReference idType shall not be any LocalKeyType (IdShort, FragmentId)."@en ; + skos:note "Constraint AASd-081: In case Key/type==AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId)."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Key/type + rdf:type owl:ObjectProperty ; + rdfs:comment "Denote which kind of entity is referenced. In case type = GlobalReference then the element is a global unique id. In all other cases the key references a model element of the same or of another AAS. The name of the model element is explicitly listed."@en ; + rdfs:label "has type"^^xsd:string ; + rdfs:domain aas:Key ; + rdfs:range aas:KeyElements ; +. + +### https://admin-shell.io/aas/3/0/RC01/Key/value + rdf:type owl:DatatypeProperty ; + rdfs:comment "The key value, for example an IRDI if the idType=Irdi."@en ; + rdfs:label "has value"^^xsd:string ; + rdfs:domain aas:Key ; + rdfs:range xsd:string ; +. +### https://admin-shell.io/aas/3/0/RC01/KeyElements +aas:KeyElements rdf:type owl:Class ; + rdfs:label "Key Elements"^^xsd:string ; + rdfs:comment "Enumeration of different key value types within a key. Contains KeyElements, ReferableElements, and IdentifiableElements."@en ; + owl:oneOf ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/KeyElements/GlobalReference + rdf:type aas:KeyElements ; + rdfs:label "Gobal Reference"^^xsd:string ; + rdfs:comment "reference to an element not belonging to an asset administration shell"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/KeyElements/FragmentReference + rdf:type aas:KeyElements ; + rdfs:label "Fragement Reference"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/KeyType +aas:KeyType rdf:type owl:Class ; + rdfs:label "Key Type"^^xsd:string ; + rdfs:comment "Enumeration of different key value types within a key. Contains IdentifierType and LocalKeyType."@en ; + owl:oneOf ( + + + + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/LevelType +aas:LevelType rdf:type owl:Class ; + rdfs:label "Level Type"^^xsd:string ; + rdfs:comment "Enumeration of different level types within a DataSpecificationIEC61360. Contains Min, Max, Nom, and Typ."@en ; + owl:oneOf ( + + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/LevelType/Min + rdf:type aas:LevelType ; + rdfs:label "Min"^^xsd:string ; + rdfs:comment "Min according to IEC 61360 as an Identifier scheme for minimal levels."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/LevelType/Max + rdf:type aas:LevelType ; + rdfs:label "Max"^^xsd:string ; + rdfs:comment "Max according to IEC 61360 as an Identifier scheme for maximal levels."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/LevelType/Nom + rdf:type aas:LevelType ; + rdfs:label "Nom"^^xsd:string ; + rdfs:comment "Nom according to IEC 61360 as an Identifier scheme for nominal levels."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/LevelType/Typ + rdf:type aas:LevelType ; + rdfs:label "Typ"^^xsd:string ; + rdfs:comment "Typ according to IEC 61360 as an Identifier scheme for typical levels."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/LocalKeyType +aas:LocalKeyType rdf:type owl:Class ; + rdfs:subClassOf aas:KeyType ; + rdfs:label "Local Key Type"^^xsd:string ; + rdfs:comment "Enumeration of different key value types within a key."@en ; + owl:oneOf ( + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/LocalKeyType/IdShort + rdf:type aas:LocalKeyType ; + rdfs:label "IdShort"^^xsd:string ; + rdfs:comment "idShort of a referable element"@en ; +. +### https://admin-shell.io/aas/3/0/RC01/LocalKeyType/FragmentId + rdf:type aas:LocalKeyType ; + rdfs:label "FragementId"^^xsd:string ; + rdfs:comment "Identifier of a fragment within a file"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ModelingKind +aas:ModelingKind rdf:type owl:Class ; + rdfs:comment "Enumeration for denoting whether an element is a type or an instance."@en ; + rdfs:label "Kind"^^xsd:string ; + owl:oneOf ( + aas:Instance + aas:Template + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/ModelingKind/Instance + rdf:type aas:ModelingKind ; + rdfs:comment "Concrete, clearly identifiable component of a certain template."@en ; + skos:note "It becomes an individual entity of a template, for example a device model, by defining specific property values."@en ; + skos:note "In an object oriented view, an instance denotes an object (of a template) (class)."@en ; + rdfs:label "Instance"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ModelingKind/Template + rdf:type aas:ModelingKind ; + rdfs:comment "Software element which specifies the common attributes shared by all instances of the template."@en ; + rdfs:label "Template"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty +aas:MultiLanguageProperty rdf:type owl:Class ; + rdfs:subClassOf aas:DataElement ; + rdfs:comment "A property is a data element that has a multi language value."@en ; + rdfs:label "Multi Language Property"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty/value + rdf:type owl:ObjectProperty ; + rdfs:comment "The value of the property instance."@en ; + rdfs:label "has value"^^xsd:string ; + rdfs:domain aas:MultiLanguageProperty ; + rdfs:range rdf:langString ; + skos:note "Constraint AASd-052b: If the semanticId of a MultiLanguageProperty references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY."@en ; + skos:note "Constraint AASd-012: If both, the MultiLanguageProperty/value and the MultiLanguageProperty/valueId are present then for each string in a specific language the meaning must be the same as specified in MultiLanguageProperty/valueId."@en ; + skos:note "Constraint AASd-067: If the semanticId of a MultiLanguageProperty references a ConceptDescription then DataSpecificationIEC61360/dataType shall be STRING_TRANSLATABLE."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/MultiLanguageProperty/valueId + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to the global unqiue id of a coded value."@en ; + rdfs:label "has value Id"^^xsd:string ; + rdfs:domain aas:MultiLanguageProperty ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/ObjectAttributes +aas:ObjectAttributes rdf:type owl:Class ; + rdfs:comment "A set of data elements that describe object attributes. These attributes need to refer to a data element within an existing submodel."@en ; + rdfs:label "Object Attributes"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ObjectAttributes/objectAttribute + rdf:type owl:ObjectProperty ; + rdfs:comment "A data elements that further classifies an object."@en ; + rdfs:label "has object attribute"^^xsd:string ; + rdfs:domain aas:ObjectAttributes ; + rdfs:range aas:DataElement ; +. + +### https://admin-shell.io/aas/3/0/RC01/Operation +aas:Operation rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:comment "An operation is a submodel element with input and output variables."@en ; + rdfs:label "Operation"^^xsd:string ; + skos:note "Constraint AASd-060: The semanticId of a Operation submodel element shall only reference a ConceptDescription with the category FUNCTION."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Operation/inputVariable + rdf:type owl:ObjectProperty ; + rdfs:comment "Input parameter of the operation."@en ; + rdfs:label "has input variable"^^xsd:string ; + rdfs:domain aas:Operation ; + rdfs:range aas:OperationVariable ; +. + +### https://admin-shell.io/aas/3/0/RC01/Operation/inoutputVariable + rdf:type owl:ObjectProperty ; + rdfs:comment "Parameter that is input and output of the operation."@en ; + rdfs:label "has input/output variable"^^xsd:string ; + rdfs:domain aas:Operation ; + rdfs:range aas:OperationVariable ; +. + +### https://admin-shell.io/aas/3/0/RC01/Operation/outputVariable + rdf:type owl:ObjectProperty ; + rdfs:comment "Output parameter of the operation."@en ; + rdfs:label "has output variable"^^xsd:string ; + rdfs:domain aas:Operation ; + rdfs:range aas:OperationVariable ; +. + +### https://admin-shell.io/aas/3/0/RC01/OperationVariable +aas:OperationVariable rdf:type owl:Class ; + rdfs:comment "An operation variable is a submodel element that is used as input or output variable of an operation."@en ; + rdfs:label "Operation Variable"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/OperationVariable/value + rdf:type owl:ObjectProperty ; + rdfs:comment "Describes the needed argument for an operation via a submodel element of kind=Template."@en ; + skos:note "The submodel element value of an operation variable shall be of kind=Template."@en ; + rdfs:label "value"^^xsd:string ; + rdfs:domain aas:OperationVariable ; + rdfs:range aas:SubmodelElement ; +. + +### https://admin-shell.io/aas/3/0/RC01/Permission +aas:Permission rdf:type owl:Class ; + rdfs:comment "Description of a single permission."@en ; + rdfs:label "Permission"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Permission/kindOfPermission + rdf:type owl:ObjectProperty ; + rdfs:comment "Description of the kind of permission. Possible kind of permission also include the denial of the permission."@en ; + rdfs:label "has kind of permission"^^xsd:string ; + rdfs:domain aas:Permission ; + rdfs:range aas:PermissionKind ; +. + +### https://admin-shell.io/aas/3/0/RC01/Permission/permission + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to a property that defines the semantics of the permission."@en ; + skos:note "Constraint AASs-010: The property referenced in Permission/permission shall have the category 'CONSTANT'."@en ; + skos:note "Constraint AASs-011: The property referenced in Permission/permission shall be part of the submodel that is referenced within the 'selectablePermissions' attribute of 'AccessControl'."@en ; + rdfs:label "has permission"^^xsd:string ; + rdfs:domain aas:Permission ; + rdfs:range aas:Property ; +. +### https://admin-shell.io/aas/3/0/RC01/PermissionKind +aas:PermissionKind rdf:type owl:Class ; + rdfs:comment "Enumeration of the kind of permissions that is given to the assignment of a permission to a subject."@en ; + rdfs:label "Permission Kind"^^xsd:string ; + owl:oneOf ( + + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionKind/Allow + rdf:type aas:PermissionKind ; + rdfs:label "allow"^^xsd:string ; + rdfs:comment "Allow the permission given to the subject."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionKind/Deny + rdf:type aas:PermissionKind ; + rdfs:label "deny"^^xsd:string ; + rdfs:comment "Explicitly deny the permission given to the subject."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionKind/NotApplicable + rdf:type aas:PermissionKind ; + rdfs:label "not applicable"^^xsd:string ; + rdfs:comment "The permission is not applicable to the subject."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionKind/Undefined + rdf:type aas:PermissionKind ; + rdfs:label "undefined"^^xsd:string ; + rdfs:comment "It is undefined whether the permission is allowed, not applicable or denied to the subject."@en ; +. +### https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject +aas:PermissionsPerObject rdf:type owl:Class ; + rdfs:comment "Table that defines access permissions for a specified object. The object is any referable element in the AAS. Additionally object attributes can be defined that further specify the kind of object the permissions apply to."@en ; + rdfs:label "Permission Per Object"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/object + rdf:type owl:ObjectProperty ; + rdfs:comment "Element to which permission shall be assigned."@en ; + rdfs:label "has object"^^xsd:string ; + rdfs:domain aas:PermissionsPerObject ; + rdfs:range aas:Referable ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/permission + rdf:type owl:ObjectProperty ; + rdfs:comment "Permissions assigned to the object. The permissions hold for all subjects as specified in the access permission rule."@en ; + rdfs:label "has object permission"^^xsd:string ; + rdfs:domain aas:PermissionsPerObject ; + rdfs:range aas:Permission ; +. + +### https://admin-shell.io/aas/3/0/RC01/PermissionsPerObject/targetObjectAttributes + rdf:type owl:ObjectProperty ; + rdfs:comment "Target object attributes that need to be fulfilled so that the access permissions apply to the accessing subject."@en ; + rdfs:label "has target object attributes"^^xsd:string ; + rdfs:domain aas:PermissionsPerObject ; + rdfs:range aas:ObjectAttributes ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint +aas:PolicyAdministrationPoint rdf:type owl:Class ; + rdfs:comment "Definition of a security administration point (PDP)."@en ; + rdfs:label "Policy Administration Point"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint/localAccessControl + rdf:type owl:ObjectProperty ; + rdfs:comment "The policy administration point of access control as realized by the AAS itself."@en ; + skos:note "Constraint AASd-009: Either there is an external policy administration point endpoint defined or the AAS has its own access control."@en ; + rdfs:label "has local access control"^^xsd:string ; + rdfs:domain aas:PolicyAdministrationPoint ; + rdfs:range aas:AccessControl ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyAdministrationPoint/externalAccessControl + rdf:type owl:DatatypeProperty ; + rdfs:comment "Endpoint to an external access control defining a policy administration point to be used by the AAS."@en ; + rdfs:label "has external access control"^^xsd:string ; + rdfs:domain aas:PolicyAdministrationPoint ; + rdfs:range xsd:boolean ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyDecisionPoint +aas:PolicyDecisionPoint rdf:type owl:Class ; + rdfs:comment "Defines a security policy decision point (PDP). "@en ; + rdfs:label "Policy Decision Point"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyDecisionPoint/externalPolicyDecisionPoints + rdf:type owl:DatatypeProperty ; + rdfs:comment "If externalPolicyDecisionPoints True then Endpoints to external available decision points taking into consideration for access control for the AAS need to be configured."@en ; + rdfs:label "is external policy decision point defined"^^xsd:string ; + rdfs:domain aas:PolicyDecisionPoint ; + rdfs:range xsd:boolean ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyEnforcementPoints +aas:PolicyEnforcementPoints rdf:type owl:Class ; + rdfs:comment "Defines the security policy enforcement points (PEP)."@en ; + rdfs:label "Policy Enforcement Point"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyEnforcementPoints/externalPolicyEnforcementPoint + rdf:type owl:DatatypeProperty ; + rdfs:comment "If externalPolicyEnforcementPoint True then an Endpoint to external available enforcement point taking needs to be configured for the AAS."@en ; + rdfs:label "is external policy enforcement point defined"^^xsd:string ; + rdfs:domain aas:PolicyEnforcementPoints ; + rdfs:range xsd:boolean ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints +aas:PolicyInformationPoints rdf:type owl:Class ; + rdfs:comment "Defines the security policy information points (PIP). Serves as the retrieval source of attributes, or the data required for policy evaluation to provide the information needed by the policy decision point to make the decisions."@en ; + rdfs:label "Policy Information Points"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints/externalInformationPoints + rdf:type owl:DatatypeProperty ; + rdfs:comment "If externalInformationPoints True then at least one Endpoint to external available information needs to be configured for the AAS."@en ; + rdfs:label "has external information point"^^xsd:string ; + rdfs:domain aas:PolicyInformationPoints ; + rdfs:range xsd:boolean ; +. + +### https://admin-shell.io/aas/3/0/RC01/PolicyInformationPoints/internalInformationPoint + rdf:type owl:ObjectProperty ; + rdfs:comment "References to submodels defining information used by security access permission rules."@en ; + rdfs:label "has internal information point"^^xsd:string ; + rdfs:domain aas:PolicyInformationPoints ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Property +aas:Property rdf:type owl:Class ; + rdfs:subClassOf aas:DataElement ; + rdfs:comment "A property is a data element that has a single value."@en ; + rdfs:label "Property"^^xsd:string ; + skos:note "Constraint AASd-052a: If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: VALUE, PROPERTY."@en ; + skos:note "Constraint AASd-065: If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category VALUE then the value of the property is identical to DataSpecificationIEC61360/value and the valueId of the property is identical to DataSpecificationIEC61360/valueId."@en ; + skos:note "Constraint AASd-066: If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category PROPERTY and DataSpecificationIEC61360/valueList is defined the value and valueId of the property is identical to one of the value reference pair types references in the value list, i.e. ValueReferencePairType/value or ValueReferencePairType/valueId, resp."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Property/valueType + rdf:type owl:ObjectProperty ; + rdfs:comment "Data type pf the value."@en ; + rdfs:label "has property value type"^^xsd:string ; + rdfs:domain aas:Property ; + rdfs:range xsd:string ; +. +### https://admin-shell.io/aas/3/0/RC01/Property/value + rdf:type owl:DatatypeProperty ; + rdfs:comment "The value of the property instance."@en ; + rdfs:label "has property value"^^xsd:string ; + rdfs:domain aas:Property ; + rdfs:range rdfs:Literal ; +. +### https://admin-shell.io/aas/3/0/RC01/Property/valueId + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to the global unique id of a coded value."@en ; + rdfs:label "has property value id"^^xsd:string ; + skos:note "Constraint AASd-007: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId."@en ; + rdfs:domain aas:Property ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifiable +aas:Qualifiable rdf:type owl:Class ; + dash:abstract true ; + rdfs:comment "Additional qualification of a qualifiable element."@en ; + skos:note "Constraint AASd-021: Every qualifiable can only have one qualifier with the same Qualifier/type."@en ; + rdfs:label "Qualifiable"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifiable/qualifier + rdf:type owl:ObjectProperty ; + rdfs:comment "Additional qualification of a qualifiable element."@en ; + rdfs:label "has qualifier"^^xsd:string ; + rdfs:domain aas:Qualifiable ; + rdfs:range aas:Constraint ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifier +aas:Qualifier rdf:type owl:Class ; + rdfs:subClassOf aas:Constraint ; + rdfs:subClassOf aas:HasSemantics ; + rdfs:comment "A qualifier is a type-value pair that makes additional statements w.r.t. the value of the element."@en ; + rdfs:label "Qualifier"^^xsd:string ; + skos:note "Constraint AASd-063: The semanticId of a Qualifier shall only reference a ConceptDescription with the category QUALIFIER."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifier/type + rdf:type owl:DatatypeProperty ; + rdfs:comment "The qualifier type describes the type of the qualifier that is applied to the element."@en ; + rdfs:label "has qualifier type"^^xsd:string ; + rdfs:domain aas:Qualifier ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifier/valueType + rdf:type owl:ObjectProperty ; + rdfs:comment "Data type of the qualifier value."@en ; + rdf:label "has qualifier value type"^^xsd:string ; + rdfs:domain aas:Qualifier ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifier/value + rdf:type owl:DatatypeProperty ; + rdfs:comment "The qualifier value is the value of the qualifier."@en ; + rdf:label "has qualifier value"^^xsd:string ; + skos:note "Constraint AASd-006: if both, the value and the valueId are present then the value needs to be identical to the short name of the referenced coded value in qualifierValueId."@en ; + skos:note "Constraint AASd-020: The value of Qualifier/value shall be consistent to the data type as defined in Qualifier/valueType."@en ; + rdfs:domain aas:Qualifier ; + rdfs:range rdfs:Literal ; +. + +### https://admin-shell.io/aas/3/0/RC01/Qualifier/valueId + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to the global unqiue id of a coded value."@en ; + rdf:label "has qualifier value id"^^xsd:string ; + rdfs:domain aas:Qualifier ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Range +aas:Range rdf:type owl:Class ; + rdfs:subClassOf aas:DataElement ; + rdfs:comment "An element that is referable by its idShort. This id is not globally unique. This id is unique within the name space of the element."@en ; + rdfs:label "Range"^^xsd:string ; + skos:note "Constraint AASd-053: The semanticId of a Range submodel element shall only reference a ConceptDescription with the category PROPERTY."@en ; + skos:note "Constraint AASd-068: If the semanticId of a Range references a ConceptDescription then DataSpecificationIEC61360/dataType shall be a numerical one, i.e. REAL_* or RATIONAL_*."@en ; + skos:note "Constraint AASd-069: If the semanticId of a Range references a ConceptDescription then DataSpecificationIEC61360/levelType shall be identical to the set {Min,Max}."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Range/valueType + rdf:type owl:ObjectProperty ; + rdfs:domain aas:Range ; + rdfs:range xsd:string ; + rdfs:label "has value type of range"^^xsd:string ; + rdfs:comment "Data type of the min and max."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Range/max + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:Range ; + rdfs:range rdfs:Literal ; + rdfs:label "has maximum value"^^xsd:string ; + rdfs:comment "The maximum value of the range."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Range/min + rdf:type owl:DatatypeProperty ; + rdfs:domain aas:Range ; + rdfs:range rdfs:Literal ; + rdfs:label "has minimum value"^^xsd:string ; + rdfs:comment "The minimum value of the range."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasExtensions +aas:HasExtensions rdf:type owl:Class ; + dash:abstract true ; + rdfs:comment "Element that can be extended by proprietary extensions."@en ; + rdfs:label "HasExtensions"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/HasExtensions/extension + rdf:type owl:ObjectProperty ; + rdfs:label "has extension"^^xsd:string ; + rdfs:comment "An extension of the element."@en ; + rdfs:domain aas:HasExtensions; + rdfs:range aas:Extension; +. + +### https://admin-shell.io/aas/3/0/RC01/Extension +aas:Extension rdf:type owl:Class ; + rdfs:subClassOf aas:HasSemantics ; + rdfs:comment "Single extension of an element."@en ; + rdfs:label "Extensions"^^xsd:string ; + skos:note "Constraint AASd-077: The name of an extension within HasExtensions needs to be unique."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Extension/name + rdf:type owl:DatatypeProperty ; + rdfs:label "has extension name"^^xsd:string ; + rdfs:comment "An extension of the element."@en ; + rdfs:domain aas:Extension ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Extension/valueType + rdf:type owl:DatatypeProperty ; + rdfs:label "has extension value type"^^xsd:string ; + rdfs:comment "Type of the value of the extension."@en ; + rdfs:domain aas:Extension ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Extension/value + rdf:type owl:DatatypeProperty ; + rdfs:label "has extension value"^^xsd:string ; + rdfs:comment "Value of the extension."@en ; + rdfs:domain aas:Extension ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Extension/refersTo + rdf:type owl:ObjectProperty ; + rdfs:label "has extension reference to"^^xsd:string ; + rdfs:comment "Reference to an element the extension refers to."@en ; + rdfs:domain aas:Extension ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/Referable +aas:Referable rdf:type owl:Class ; + rdfs:subClassOf aas:HasExtensions ; + dash:abstract true ; + rdfs:comment "An element that is referable by its idShort. This id is not globally unique. This id is unique within the name space of the element."@en ; + rdfs:label "Referable"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Referable/category + rdf:type owl:DatatypeProperty ; + rdfs:label "has referable category"^^xsd:string ; + rdfs:comment "The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints."@en ; + rdfs:domain aas:Referable ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Referable/description + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf rdfs:comment ; + rdfs:label "has description"^^xsd:string ; + rdfs:domain aas:Referable ; + rdfs:range rdf:langString ; + rdfs:comment "Description or comments on the element. The description can be provided in several languages."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Referable/displayName + rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf rdfs:comment ; + rdfs:label "has display name"^^xsd:string ; + rdfs:domain aas:Referable ; + rdfs:range rdf:langString ; + rdfs:comment "Display name. Can be provided in several languages."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Referable/idShort + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf dcterms:identifier ; + rdfs:label "has short id"^^xsd:string ; + rdfs:comment "Identifying string of the element within its name space."@en ; + skos:note "Constraint AASd-002: idShort shall only feature letters, digits, underscore ('_'); starting with a small letter. I.e. [a-z][a-zA-Z0-9_]+."@en ; + skos:note "Constraint AASd-003: idShort shall be matched case-insensitive."@en ; + skos:note "Constraint AASd-022: idShort of non-identifiable referables shall be unqiue in its namespace."@en ; + skos:note "Note: In case the element is a property and the property has a semantic definition (HasSemantics) the idShort is typically identical to the short name in English. "@en ; + skos:note "Note: In case of an identifiable element idShort is optional but recommended to be defined. It can be used for unique reference in its name space and thus allows better usability and a more performant implementation. In this case it is similar to the 'BrowserPath' in OPC UA."@en ; + rdfs:domain aas:Referable ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements +aas:ReferableElements rdf:type owl:Class ; + rdfs:subClassOf aas:KeyElements ; + rdfs:label "Referable Elements"^^xsd:string ; + rdfs:comment "Enumeration of all referable elements within an asset administration shell. Contains IdentifiableElements"@en ; + owl:oneOf ( + + + + + + + + + + + + + + + + + + + + + + + + + + ) ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/AccessPermissionRule + rdf:type aas:ReferableElements ; + rdfs:label "Access Permission Rule"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/AnnotatedRelationshipElement + rdf:type aas:ReferableElements ; + rdfs:label "Annotated relationship element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/BasicEvent + rdf:type aas:ReferableElements ; + rdfs:label "Basic Event"^^xsd:string ; +. +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Blob + rdf:type aas:ReferableElements ; + rdfs:label "Blob"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Capability + rdf:type aas:ReferableElements ; + rdfs:label "Capability"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/ConceptDictionary + rdf:type aas:ReferableElements ; + rdfs:label "Concept Dictionary"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/DataElement + rdf:type aas:ReferableElements ; + rdfs:label "Data Element"^^xsd:string ; + skos:note "Data Element is abstract, i.e. if a key uses 'DataElement' the reference may be a Property, a File etc."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Entity + rdf:type aas:ReferableElements ; + rdfs:label "Entity"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Event + rdf:type aas:ReferableElements ; + rdfs:label "Event"^^xsd:string ; + skos:note "Event is abstract"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/MulitLanguageProperty + rdf:type aas:ReferableElements ; + rdfs:label "Multi-language Property"^^xsd:string ; + rdfs:comment "Property with a value that can be provided in multiple languages."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Operation + rdf:type aas:ReferableElements ; + rdfs:label "Operation"^^xsd:string ; +. +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Property + rdf:type aas:ReferableElements ; + rdfs:label "Property"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/Range + rdf:type aas:ReferableElements ; + rdfs:label "Range"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/ReferenceElement + rdf:type aas:ReferableElements ; + rdfs:label "Reference Element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/RelationshipElement + rdf:type aas:ReferableElements ; + rdfs:label "Relationship Element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/SubmodelElement + rdf:type aas:ReferableElements ; + rdfs:label "Submodel Element"^^xsd:string ; + skos:note "Submodel Element is abstract, i.e. if a key uses 'SubmodelElement' the reference may be a Property, a SubmodelElementCollection, an Operation etc."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/SubmodelElementCollection + rdf:type aas:ReferableElements ; + rdfs:label "Submodel Element Collection"^^xsd:string ; + rdfs:comment "Collection of Submodel Elements"@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferableElements/View + rdf:type aas:ReferableElements ; + rdfs:label "View"^^xsd:string ; +. +### https://admin-shell.io/aas/3/0/RC01/Reference +aas:Reference rdf:type owl:Class ; + rdfs:comment "Reference to either a model element of the same or another AAs or to an external entity. A reference is an ordered list of keys, each key referencing an element. The complete list of keys may for example be concatenated to a path that then gives unique access to an element or entity."@en ; + rdfs:label "Reference"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Reference/key + rdf:type owl:ObjectProperty ; + rdfs:comment "Unique reference in its name space."@en ; + rdfs:label "has key"^^xsd:string ; + rdfs:domain aas:Reference ; + rdfs:range aas:Key ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferenceElement +aas:ReferenceElement rdf:type owl:Class ; + rdfs:subClassOf aas:DataElement ; + rdfs:comment "A reference element is a data element that defines a logical reference to another element within the same or another AAS or a reference to an external object or entity."@en ; + rdfs:label "Reference Element"^^xsd:string ; + skos:note "Constraint AASd-054: The semanticId of a ReferenceElement shall only reference a ConceptDescription with the category REFERENCE."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/ReferenceElement/value + rdf:type owl:ObjectProperty ; + rdfs:comment "Reference to any other referable element of the same of any other AAS or a reference to an external object or entity."@en ; + rdfs:label "has reference value"^^xsd:string ; + rdfs:domain aas:ReferenceElement ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/RelationshipElement +aas:RelationshipElement rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + dc:description "A relationship element is used to define a relationship between two referable elements."@en ; + rdfs:label "Relationship Element"^^xsd:string ; + skos:note "Constraint AASd-055: The semanticId of a RelationshipElement or a AnnotatedRelationshipElement shall only reference a ConceptDescription with the category RELATIONSHIP."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/RelationshipElement/first + rdf:type owl:ObjectProperty ; + rdfs:comment "First element in the relationship taking the role of the subject."@en ; + rdfs:label "has first relationship"^^xsd:string ; + rdfs:domain aas:RelationshipElement ; + rdfs:range aas:Referable ; +. + +### https://admin-shell.io/aas/3/0/RC01/RelationshipElement/second + rdf:type owl:ObjectProperty ; + rdfs:comment "Second element in the relationship taking the role of the object."@en ; + rdfs:label "has second relationship"^^xsd:string ; + rdfs:domain aas:RelationshipElement ; + rdfs:range aas:Referable ; +. + +### https://admin-shell.io/aas/3/0/RC01/Security +aas:Security rdf:type owl:Class ; + rdfs:comment "Container for security relevant information of the AAS."@en ; + rdfs:label "Security"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/Security/accessControlPolicyPoints + rdf:type owl:ObjectProperty ; + rdfs:comment "Access control policy points of the AAS."@en ; + rdfs:label "has access control policy points"^^xsd:string ; + rdfs:domain aas:Security ; + rdfs:range aas:AccessControlPolicyPoints ; +. + +### https://admin-shell.io/aas/3/0/RC01/Security/certificate + rdf:type owl:ObjectProperty ; + rdfs:comment "Certificates of the AAS."@en ; + rdfs:label "has certificate"^^xsd:string ; + rdfs:domain aas:Security ; + rdfs:range aas:Certificate ; +. + +### https://admin-shell.io/aas/3/0/RC01/Security/requiredCertificateExtension + rdf:type owl:ObjectProperty ; + rdfs:comment "Certificate extensions as required by the AAS."@en ; + rdfs:label "has required certificate extension"^^xsd:string ; + rdfs:domain aas:Security ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubjectAttributes +aas:SubjectAttributes rdf:type owl:Class ; + rdfs:comment "A set of data elements that further classifies a specific subject."@en ; + rdfs:label "Subject Attributes"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubjectAttributes/subjectAttribute + rdf:type owl:ObjectProperty ; + rdfs:comment "A data element that further classifies a specific subject. "@en ; + skos:note "Constraint AASs-015: The data element SubjectAttributes/subjectAttribute shall be part of the submodel that is referenced within the 'selectableSubjectAttributes' attribute of 'AccessControl'."@en ; + rdfs:label "has subject attribute"^^xsd:string ; + rdfs:domain aas:SubjectAttributes ; + rdfs:range aas:DataElement ; +. + +### https://admin-shell.io/aas/3/0/RC01/Submodel +aas:Submodel rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification ; + rdfs:subClassOf aas:HasKind ; + rdfs:subClassOf aas:HasSemantics ; + rdfs:subClassOf aas:Identifiable ; + rdfs:subClassOf aas:Qualifiable ; + rdfs:comment "A Submodel defines a specific aspect of the asset represented by the AAS. A submodel is used to structure the virtual representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and thus become submodels types. Submodels can have different life-cycles."@en , + "Describe the different types of Data related to the I4.0 Asset"@en ; + rdfs:label "Submodel"^^xsd:string ; + skos:note "Constraint AASd-062: The semanticId of a Submodel shall only reference a ConceptDescription with the category APPLICATION_CLASS."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/Submodel/submodelElement + rdf:type owl:ObjectProperty ; + rdfs:domain aas:Submodel ; + rdfs:range aas:SubmodelElement ; + rdfs:comment "A submodel consists of zero or more submodel elements."@en ; + rdfs:label "has Submodel Element"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubmodelElement +aas:SubmodelElement rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification ; + rdfs:subClassOf aas:HasKind ; + rdfs:subClassOf aas:HasSemantics ; + rdfs:subClassOf aas:Qualifiable ; + rdfs:subClassOf aas:Referable ; + dash:abstract true ; + rdfs:comment "A submodel element is an element suitable for the description and differentiation of assets."@en ; + rdfs:label "Submodel Element"^^xsd:string ; + skos:note "The concept of type and instance applies to submodel elements. Properties are special submodel elements. The property types are defined in dictionaries (like the IEC Common Data Dictionary or eCl@ss), they do not have a value. The property type (kind=Type) is also called data element type in some standards. The property instances (kind=Instance) typically have a value. A property instance is also called property-value pair in certain standards."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection +aas:SubmodelElementCollection rdf:type owl:Class ; + rdfs:subClassOf aas:SubmodelElement ; + rdfs:comment "A submodel element collection is a set or list of submodel elements."@en ; + rdfs:label "Submodel Element Collection"^^xsd:string ; + skos:note "Constraint AASd-059: If the semanticId of a SubmodelElementCollection references a ConceptDescription then the category of the ConceptDescription shall be COLLECTION or ENTITY."@en ; + skos:note "Constraint AASd-092: If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == false references a ConceptDescription then the ConceptDescription/category shall be ENTITY."@en ; + skos:note "Constraint AASd-093: If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == true references a ConceptDescription then the ConceptDescription/category shall be COLLECTION."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/allowDuplicates + rdf:type owl:DatatypeProperty ; + rdfs:comment "If allowDuplicates=true then it is allowed that the collection contains the same element several times. Default = false"@en ; + rdfs:label "allow duplicates"^^xsd:string ; + rdfs:domain aas:SubmodelElementCollection ; + rdfs:range xsd:boolean ; + skos:note "Constraint AASd-026: If allowDuplicates==false then it is not allowed that the collection contains several elements with the same semantics (i.e. the same semanticId)."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/ordered + rdf:type owl:DatatypeProperty ; + rdfs:comment "If ordered=false then the elements in the property collection are not ordered. If ordered=true then the elements in the collection are ordered. Default = false"@en ; + rdfs:label "ordered"^^xsd:string ; + rdfs:domain aas:SubmodelElementCollection ; + rdfs:range xsd:boolean ; +. + +### https://admin-shell.io/aas/3/0/RC01/SubmodelElementCollection/value + rdf:type owl:ObjectProperty ; + rdfs:comment "Submodel element contained in the collection."@en ; + rdfs:label "has value"^^xsd:string ; + rdfs:domain aas:SubmodelElementCollection ; + rdfs:range aas:SubmodelElement ; +. + +### https://admin-shell.io/aas/3/0/RC01/ValueList +aas:ValueList rdf:type owl:Class ; + rdfs:comment "A set of value reference pairs."@en ; + rdfs:label "Value list"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ValueList/valueReferencePairTypes + rdf:type owl:ObjectProperty ; + rdfs:comment "A pair of a value together with its global unique id.."@en ; + rdfs:label "Value reference pair types"^^xsd:string ; + rdfs:domain aas:ValueList ; + rdfs:range aas:ValueReferencePair ; +. + +### https://admin-shell.io/aas/3/0/RC01/ValueReferencePair +aas:ValueReferencePair rdf:type owl:Class ; + rdfs:comment "A value reference pair within a value list. Each value has a global unique id defining its semantic."@en ; + rdfs:label "Value Reference Pair"^^xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ValueReferencePair/value + rdf:type owl:DatatypeProperty ; + rdfs:comment "the value of the referenced concept definition of the value in valueId."@en ; + rdfs:label "Value of value reference pair"^^xsd:string ; + rdfs:domain aas:ValueReferencePair ; + rdfs:range xsd:string ; +. + +### https://admin-shell.io/aas/3/0/RC01/ValueReferencePair/valueId + rdf:type owl:ObjectProperty ; + rdfs:comment "Global unique id of the value."@en ; + rdfs:label "Value id of value reference pair"^^xsd:string ; + rdfs:domain aas:ValueReferencePair ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/aas/3/0/RC01/View +aas:View rdf:type owl:Class ; + rdfs:subClassOf aas:HasDataSpecification , aas:Referable , aas:HasSemantics ; + rdfs:comment "A view is a collection of referable elements w.r.t. to a specific viewpoint of one or more stakeholders."@en ; + rdfs:isDefinedBy "https://www.plattform-i40.de/I40/Redaktion/DE/Downloads/Publikation/hm-2018-trilaterale-coop.html"@de ; + rdfs:label "View"^^xsd:string ; + skos:note "Constraint AASd-064: If the semanticId of a View references a ConceptDescription then the category of the ConceptDescription shall be VIEW."@en ; +. + +### https://admin-shell.io/aas/3/0/RC01/View/containedElement + rdf:type owl:ObjectProperty ; + rdfs:comment "Referable elements that are contained in the view."@en ; + rdfs:label "contains element"^^xsd:string ; + rdfs:domain aas:View ; + rdfs:range aas:Reference ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataTypeIEC61360 +iec61360:DataTypeIEC61360 rdf:type owl:Class ; + rdfs:label "Data Type IEC61360"^^xsd:string ; + rdfs:comment "Enumeration of all IEC 61360 defined data types."@en ; + owl:oneOf ( + iec61360:Date + iec61360:String + iec61360:StringTranslatable + iec61360:IntegerMeasure + iec61360:IntegerCount + iec61360:IntegerCurrency + iec61360:RealMeasure + iec61360:RealCount + iec61360:RealCurrency + iec61360:Boolean + iec61360:URL + iec61360:Rational + iec61360:RationalMeasure + iec61360:Time + iec61360:Timestamp + ) ; +. + +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/Date +iec61360:Date rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "date according to IEC61360"^^xsd:string ; + rdfs:seeAlso xsd:date ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/Boolean +iec61360:Boolean rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "boolean according to IEC61360"^^xsd:string ; + rdfs:seeAlso xsd:boolean ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/IntegerCurrency +iec61360:IntegerCurrency rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "integer currency according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/IntegerCount +iec61360:IntegerCount rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "integer count according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/IntegerMeasure +iec61360:IntegerMeasure rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "integer measure according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/RealCurrency +iec61360:RealCurrency rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "real currency according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/RealCount +iec61360:RealCount rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "real count according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/RealMeasure +iec61360:RealMeasure rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "real measure according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/String +iec61360:String rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "string according to IEC61360"^^xsd:string ; + rdfs:seeAlso xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/StringTranslatable +iec61360:StringTranslatable rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "translatable string according to IEC61360"^^xsd:string ; + rdfs:seeAlso aas:LangStringSet ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/RationalMeasure +iec61360:RationalMeasure rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "retional measure according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/Rational +iec61360:Rational rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "retional according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/Time +iec61360:Time rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "time according to IEC61360"^^xsd:string ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/Timestamp +iec61360:Timestamp rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "time stamp according to IEC61360"^^xsd:string ; + rdfs:seeAlso xsd:dateTime ; +. +### https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/URL +iec61360:URL rdf:type iec61360:DataTypeIEC61360 ; + rdfs:label "url according to IEC61360"^^xsd:string ; +. diff --git a/validator/src/main/resources/shapes.ttl b/validator/src/main/resources/shapes.ttl new file mode 100644 index 000000000..8e3a21cf1 --- /dev/null +++ b/validator/src/main/resources/shapes.ttl @@ -0,0 +1,1621 @@ +@prefix aas: . +@prefix iec61360: . +@prefix phys_unit: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix sh: . +@prefix xsd: . + +# Metadata + a owl:Ontology ; + owl:imports ; + owl:imports sh: ; + sh:declare [ + a sh:PrefixDeclaration ; + sh:namespace "https://admin-shell.io/aas/3/0/RC01/"^^xsd:anyURI ; + sh:prefix "aas"^^xsd:string ; + ] ; +. + + +aas:AccessControlShape a sh:NodeShape ; + sh:targetClass aas:AccessControl ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AccessPermissionRule ; + sh:minCount 0 ; + sh:message "(AccessControl.accessPermissionRule):A accessPermissionRule must point to a AccessPermissionRule."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AccessControl.selectableSubjectAttributes):A selectableSubjectAttributes attribute only have one reference entity pointing to a Submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(AccessControl.defaultSubjectAttributes):A defaultSubjectAttributes attribute have exactly one reference entity pointing to a Submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AccessControl.selectablePermissions):A selectablePermissions attribute only have one reference entity pointing to a Submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(AccessControl.defaultPermissions):A defaultPermissions attribute have exactly one reference entity pointing to a Submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AccessControl.selectableEnvironmentAttributes):A selectableEnvironmentAttributes attribute only have one reference entity pointing to a Submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AccessControl.defaultEnvironmentAttributes):A defaultEnvironmentAttributes attribute only have one reference entity pointing to a Submodel."^^xsd:string ; + ] ; +. + +aas:AccessControlPolicyPointsShape a sh:NodeShape ; + sh:targetClass aas:AccessControlPolicyPoints ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:PolicyAdministrationPoint ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(AccessControlPolicyPoints.policyAdministrationPoint): Exactly one policyAdministrationPoint pointing to a PolicyAdministrationPoint is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:PolicyDecisionPoint ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(AccessControlPolicyPoints.policyDecisionPoint): Exactly one policyDecisionPoint pointing to a PolicyDecisionPoint is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:PolicyEnforcementPoints ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(AccessControlPolicyPoints.policyEnforcementPoint): Exactly one policyEnforcementPoint pointing to a PolicyEnforcementPoints is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:PolicyInformationPoints ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AccessControlPolicyPoints.policyInformationPoints):Only one policyInformationPoints pointing to a PolicyInformationPoints is allowed."^^xsd:string ; + ] ; +. + + +aas:AccessPermissionRuleShape a sh:NodeShape ; + sh:targetClass aas:AccessPermissionRule ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:PermissionsPerObject ; + sh:minCount 0 ; + sh:message "(AccessPermissionRule.permissionsPerObject):A permissionsPerObject must point to a PermissionsPerObject."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:SubjectAttributes ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(AccessPermissionRule.targetSubjectAttributes): Exactly one targetSubjectAttributes pointing to a SubjectAttributes is required."^^xsd:string ; + ] ; +. + +aas:AdministrativeInformationShape a sh:NodeShape ; + sh:targetClass aas:AdministrativeInformation ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:message "(AdministrativeInformation.revision):AdministrativeInformationShape: Only one value for revision is allowed."^^xsd:string ; + sh:nodeKind sh:Literal ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:message "(AdministrativeInformation.version):Only one value for version is allowed."^^xsd:string ; + sh:nodeKind sh:Literal ; + ] ; +. + +aas:AnnotatedRelationshipElementShape a sh:NodeShape ; + sh:targetClass aas:AnnotatedRelationshipElement ; + rdfs:subClassOf aas:RelationshipElementShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:DataElement ; + sh:minCount 0 ; + sh:message "(AnnotatedRelationshipElement.annotation):An annotation attribute must point to a DataElement."^^xsd:string ; + ] ; +. + +aas:AssetShape a sh:NodeShape ; + sh:targetClass aas:Asset ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + rdfs:subClassOf aas:IdentifiableShape ; + #sh:property [ + # a sh:PropertyShape ; + # sh:path ; + # sh:class aas:Identifier ; + # sh:maxCount 1 ; + # sh:minCount 1 ; + # sh:message "(Asset.identification): The identification attribute points to exactly one Identifier entity."^^xsd:string ; + # ] ; +. + +aas:AssetInformationShape a sh:NodeShape ; + sh:targetClass aas:AssetInformation ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AssetKind ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(AssetInformation.assetKind): Exactly one assetKind attribute having an AssetKind entity is required."^^xsd:string ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AssetInformation.globalAssetId):Only one globalAssetId attribute having a reference entity is required."^^xsd:string ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:IdentifierKeyValuePair ; + sh:minCount 0 ; + sh:message "(AssetInformation.specificAssetId):A specificAssetId must point to an IdentifierKeyValuePair."^^xsd:string ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:minCount 0 ; + sh:message "(AssetInformation.billOfMaterial): A billOfMaterial attribute must have a reference entity pointing to a Submodel."^^xsd:string ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:File; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AssetInformation.defaultThumbnail):Only one defaultThumbnail attribute having a file entity is required."^^xsd:string ; + ] ; +. + +aas:IdentifierKeyValuePairShape a sh:NodeShape ; + sh:targetClass aas:IdentifierKeyValuePair ; + rdfs:subClassOf aas:HasSemanticsShape ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:message "(IdentifierKeyValuePair.key):A key has exactly one string."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:message "(IdentifierKeyValuePair.value): Exactly one value is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(IdentifierKeyValuePair.externalSubjectId): Exactly one externalSubjectId attribute having an reference entity is required."^^xsd:string ; + ] ; +. + +aas:AssetAdministrationShellShape a sh:NodeShape ; + sh:targetClass aas:AssetAdministrationShell ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + rdfs:subClassOf aas:IdentifiableShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AssetInformation ; + sh:maxCount 1 ; + sh:message "(AssetAdministrationShell.assetInformation): Exactly one assetInformation attribute having an assetInformation entity is required."^^xsd:string ; + sh:minCount 1 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(AssetAdministrationShell.derivedFrom):A derivedFrom attribute must have a reference entity pointing to a AssetAdministrationShell."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:class aas:Security ; + sh:message "(AssetAdministrationShell.security):Only one security attribute to a security entity is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 0 ; + #sh:or ( + # [ sh:class aas:Reference ; + # [ sh:class aas:Submodel ; ] + #) + sh:class aas:Reference ; + sh:message "(AssetAdministrationShell.submodel):A submodel attribute must have a Reference entity pointing to a Submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 0 ; + sh:class aas:View ; + sh:message "(AssetAdministrationShell.view):A view must point to a View"^^xsd:string ; + ] ; +. + +aas:AssetAdministrationShellEnvironmentShape a sh:NodeShape ; + sh:targetClass aas:AssetAdministrationShellEnvironment ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AssetAdministrationShell ; + sh:message "(AssetAdministrationShellEnvironment.assetAdministrationShells): At least one assetAdministrationShells attribute having an AssetAdministrationShell entity is required."^^xsd:string ; + sh:minCount 1 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Asset; + sh:message "(AssetAdministrationShellEnvironment.assets): The assets attribute points to an Asset entity."^^xsd:string ; + # sh:minCount 1 ; + # sh:maxCount 1 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:ConceptDescription ; + sh:message "(AssetAdministrationShellEnvironment.conceptDescriptions): At least one conceptDescriptions attribute having a ConceptDescription entity is required."^^xsd:string ; + sh:minCount 1 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Submodel ; + sh:message "(AssetAdministrationShellEnvironment.submodels): At least one submodels attribute having a Submodel entity is required."^^xsd:string ; + sh:minCount 1 ; + ] ; +. + +aas:BasicEventShape a sh:NodeShape ; + rdfs:subClassOf aas:EventShape ; + sh:targetClass aas:BasicEvent ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:class aas:Reference ; + sh:message "(BasicEvent.observed):A observed attribute have exactly one reference entity pointing to a Referable."^^xsd:string ; + ] ; +. + +aas:BlobShape a sh:NodeShape ; + rdfs:subClassOf aas:DataElementShape ; + sh:targetClass aas:Blob ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(Blob.mimeType): Exactly one mimeType is required"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(Blob.value):Only one value is allowed"^^xsd:string ; + ] ; +. + +aas:BlobCertificateShape a sh:NodeShape ; + rdfs:subClassOf aas:CertificateShape ; + sh:targetClass aas:BlobCertificate ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:class aas:Blob ; + sh:message "(BlobCertificate.blobCertificate): Exactly one blobCertificate pointing to a Blob is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 0 ; + sh:class aas:Reference ; + sh:message "(BlobCertificate.containedExtension):A containedExtension must point to a Reference."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:datatype xsd:boolean ; + sh:message "(BlobCertificate.lastCertificate): Exactly one lastCertificate pointing to a boolean is required."^^xsd:string ; + ] ; +. + +aas:CapabilityShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:Capability ; + . + +aas:CertificateShape a sh:NodeShape ; + sh:targetClass aas:Certificate ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(CertificateShape): An aas:Certificate is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:class aas:PolicyAdministrationPoint ; + sh:message "(Certificate.policyAdministrationPoint): Exactly one policyAdministrationPoint pointing to a PolicyAdministrationPoint is required."^^xsd:string ; + ] ; + . + +aas:ConceptDescriptionShape a sh:NodeShape ; + sh:targetClass aas:ConceptDescription ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + rdfs:subClassOf aas:IdentifiableShape ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 0 ; + sh:class aas:Reference ; + sh:message "(ConceptDescription.isCaseOf):isCaseOf must point to a reference entity."^^xsd:string ; + ] ; +. + +aas:ConstraintShape a sh:NodeShape ; + sh:targetClass aas:Constraint ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(ConstraintShape): An aas:Constraint is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; +. + +aas:DataElementShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:DataElement ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(DataElementShape): An aas:DataElement is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; +. + +aas:DataSpecificationContentShape a sh:NodeShape ; + sh:targetClass aas:DataSpecificationContent ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(DataSpecificationContentShape): An aas:DataSpecificationContent is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + . + +iec61360:DataSpecificationIEC61360Shape a sh:NodeShape ; + sh:targetClass iec61360:DataSpecificationIEC61360 ; + rdfs:subClassOf aas:DataSpecificationContentShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.dataType): Exactly one dataType is required."^^xsd:string ; + sh:minCount 1 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:message "(DataSpecificationIEC61360.definition):A definition must point to a langString."^^xsd:string ; + sh:minCount 0 ; + sh:dataType rdf:langString ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:message "(DataSpecificationIEC61360.levelType):A levelType must point to a LevelType"^^xsd:string ; + sh:minCount 0 ; + sh:class aas:LevelType ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:message "(DataSpecificationIEC61360.preferredName): A preferredName must point to a LangString"^^xsd:string ; + sh:minCount 1 ; + sh:dataType rdf:langString ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:message "(DataSpecificationIEC61360.shortName):A shortName must point to a LangString"^^xsd:string ; + sh:minCount 0 ; + sh:dataType rdf:langString ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.symbol):A symbol must have a string"^^xsd:string ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.unit):A unit must have a String"^^xsd:string ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.unitId):A unitId must have a Reference."^^xsd:string ; + sh:minCount 0 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.valueFormat):A valueFormat must have a string"^^xsd:string ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.value):A value must have a Literal"^^xsd:string ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:nodeKind sh:Literal ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.valueId):A valueId must have a Reference"^^xsd:string ; + sh:minCount 0 ; + sh:class aas:Reference ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.sourceOfDefinition):A sourceOfDefinition must have a String"^^xsd:string ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:datatype xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:message "(DataSpecificationIEC61360.valueList):A valueList must have a ValueList"^^xsd:string ; + sh:minCount 0 ; + sh:class aas:ValueList ; + sh:pattern ".+" ; + ] ; +. + +aas:DataSpecificationPhysicalUnitShape a sh:NodeShape ; + sh:targetClass phys_unit:DataSpecificationPhysicalUnit ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.unitName): Exactly one unitName which links to a string is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.unitSymbol): Exactly one unitSymbol which links to a string is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:dataType rdf:langString ; + sh:minCount 0 ; + sh:message "(DataSpecificationPhysicalUnit.definition): A unitSymbol must point to a langstring is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.siNotation):Only one siNotation which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.siName):Only one siName which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.dinNotation):Only one dinNotation which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.eceName):Only one eceName which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.eceCode):Only one eceCode which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.nistName):Only one nistName which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:message "(DataSpecificationPhysicalUnit.sourceOfDefinition):Only one sourceOfDefinition which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.conversionFactor):Only one conversionFactor which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.registrationAuthorityId):Only one registrationAuthorityId which links to a string is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:pattern ".+" ; + sh:message "(DataSpecificationPhysicalUnit.supplier):Only one supplier which links to a string is allowed."^^xsd:string ; + ] ; +. + +aas:EmbeddedDataSpecificationShape a sh:NodeShape ; + sh:targetClass aas:EmbeddedDataSpecification ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + #sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(EmbeddedDataSpecification.dataSpecification):A dataSpecification must link to exactly one Reference pointing to a Data Specification."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:DataSpecificationContent ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:message "(EmbeddedDataSpecification.dataSpecificationContent): A dataSpecificationContent must point to a DataSpecificationContent."^^xsd:string ; + ] ; +. + +aas:EntityShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:Entity ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:SubmodelElement ; + sh:minCount 0 ; + sh:message "(Entity.statement):A statement must link to a SubmodelElement."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:EntityType ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Entity.entityType): Exactly one entityType linking to a EntityType is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:message "(Entity.globalAssetId):Only one globalAssetIdasset attribute linking to a Reference is allowed."^^xsd:string ; + sh:minCount 0 ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:IdentifierKeyValuePair ; + sh:maxCount 1 ; + sh:message "(Entity.externalAssetId):Only one specificAssetId attribute linking to an IdentifierKeyValuePair is allowed."^^xsd:string ; + sh:minCount 0 ; + ] ; +. + +aas:EventShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:Event ; + skos:note "As of November 2019, Event is not mandatory. This shape serves as a stump for further definitions."@en ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(EventShape): An aas:Event is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; +. + +aas:EventElementShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:EventElement ; + skos:note "As of November 2019, EventElement is not mandatory. This shape serves as a stump for further definitions."@en ; +. + +aas:EventMessageShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:EventMessage ; + skos:note "As of November 2019, EventMessage is not mandatory. This shape serves as a stump for further definitions."@en ; +. + +aas:FileShape a sh:NodeShape ; + rdfs:subClassOf aas:DataElementShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:File ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:datatype xsd:string ; + sh:message "(File.mimeType): Exactly on mimeType is required"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:message "(File.value):Only one value is allowed"^^xsd:string ; + ] ; +. + +aas:FormulaShape a sh:NodeShape ; + sh:targetClass aas:Formula ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:minCount 0 ; + sh:message "(Formula.dependsOn):Only References are allowed for dependsOn."^^xsd:string ; + ] ; +. + +aas:HasDataSpecificationShape a sh:NodeShape ; + sh:targetClass aas:HasDataSpecification ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(HasDataSpecificationShape): An aas:HasDataSpecification is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:EmbeddedDataSpecification ; + sh:minCount 0 ; + sh:message "(HasDataSpecification.embeddedDataSpecification):Only EmbeddedDataSpecification are allowed for embeddedDataSpecification property."^^xsd:string ; + ] ; +. + +aas:HasKindShape a sh:NodeShape ; + sh:targetClass aas:HasKind ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(HasKindShape): An aas:HasKind is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:ModelingKind ; + sh:maxCount 1 ; + sh:message "(HasKind.kind):Only one value for kind is allowed."^^xsd:string ; + sh:minCount 0 ; + ] ; +. + +aas:HasSemanticsShape a sh:NodeShape ; + sh:targetClass aas:HasSemantics ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(HasSemanticsConstraintShape): An aas:HasSemantics is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:class aas:Reference ; + sh:message "(HasSemantics.semanticId):Only one value for semanticId is allowed."^^xsd:string ; + ] ; +. + +aas:IdentifiableShape a sh:NodeShape ; + sh:targetClass aas:Identifiable ; + rdfs:subClassOf aas:ReferableShape ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(IdentifiableShape): An aas:Identifiable is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AdministrativeInformation ; + sh:maxCount 1 ; + sh:message "(Identifiable.administration):Only one value for administration is allowed."^^xsd:string ; + sh:minCount 0 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Identifier ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Identifiable.identification): Exactly one Identifier is required."^^xsd:string ; + ] ; +. + +aas:IdentifierShape a sh:NodeShape ; + sh:targetClass aas:Identifier ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:IdentifierType ; + sh:description "identifier id type"^^xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Identifier.idType): Exactly one idType is required"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:description "identifier property of Identifier class"^^xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Identifier.identifier): Exactly one identifier is required"^^xsd:string ; + ] ; +. + +aas:KeyShape a sh:NodeShape ; + sh:targetClass aas:Key ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + #sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:message "(Key.value): Exactly one value is required"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:KeyType ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Key.idType): Exactly one idType is required"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:KeyElements; + sh:maxCount 1 ; + sh:message "(Key.type):Only 1 keyElement can be stated"^^xsd:string ; + sh:minCount 0 ; + ] ; +. + +aas:MultiLanguagePropertyShape a sh:NodeShape ; + sh:targetClass aas:MultiLanguageProperty ; + rdfs:subClassOf aas:DataElementShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:dataType rdf:langString ; + sh:minCount 0 ; + sh:message "(MultiLanguageProperty.value):A language string value must have a language tag"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:class aas:Reference ; + sh:message "(MultiLanguageProperty.valueId):Only one valueId attribute having a Reference is allowed"^^xsd:string ; + ] ; +. + +aas:ObjectAttributesShape a sh:NodeShape ; + sh:targetClass aas:ObjectAttributes ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:minCount 1 ; + sh:message "(ObjectAttributes.objectAttribute):A objectAttribute attribute at least have one reference entity pointing to a Submodel."^^xsd:string ; + ] ; +. + +aas:OperationShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:Operation ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:OperationVariable ; + sh:minCount 0 ; + sh:message "(Operation.inputVariable):Only OperationVariables can be accepted as inputVariable"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:OperationVariable ; + sh:minCount 0 ; + sh:message "(Operation.outputVariable):Only OperationVariables can be accepted as outputVariable"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:OperationVariable ; + sh:minCount 0 ; + sh:message "(Operation.inoutputVariable):Only OperationVariables can be accepted as inoutputVariable"^^xsd:string ; + ] ; +. + +aas:OperationVariableShape a sh:NodeShape ; + sh:targetClass aas:OperationVariable ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:SubmodelElement ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(OperationVariable.value): Exactly one OperationVariable value pointing to a SubmodelElement is required."^^xsd:string ; + ] ; +. + +aas:PermissionShape a sh:NodeShape ; + sh:targetClass aas:Permission ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(Permission.permission):A permission attribute have exactly one reference entity pointing to a Property."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:PermissionKind ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(Permission.kindOfPermission): Exactly one kindOfPermission pointing to a PermissionKind is required."^^xsd:string ; + ] ; +. + +aas:PermissionsPerObjectShape a sh:NodeShape ; + sh:targetClass aas:PermissionsPerObject ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Referable ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(PermissionsPerObject.object): Exactly one object pointing to a Referable is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:ObjectAttributes ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:message "(PermissionsPerObject.targetObjectAttributes):Only one targetObjectAttributes pointing to a ObjectAttributes is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Permission ; + sh:minCount 0 ; + sh:message "(PermissionsPerObject.permission):A permission must point to a Permission."^^xsd:string ; + ] ; +. + +aas:PolicyAdministrationPointShape a sh:NodeShape ; + sh:targetClass aas:PolicyAdministrationPoint ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AccessControl ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(PolicyAdministrationPoint.localAccessControl):Only one localAccessControl attribute having a AccessControl is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(PolicyAdministrationPoint.externalAccessControl): Exactly one externalAccessControl attribute having a boolean is required."^^xsd:string ; + ] ; +. + +aas:PolicyDecisionPointShape a sh:NodeShape ; + sh:targetClass aas:PolicyDecisionPoint ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(PolicyDecisionPoint.externalPolicyDecisionPoints): Exactly one externalPolicyDecisionPoints pointing to a xsd:boolean is required."^^xsd:string ; + ] ; +. + +aas:PolicyEnforcementPointsShape a sh:NodeShape ; + sh:targetClass aas:PolicyEnforcementPoints ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(PolicyEnforcementPoints.externalPolicyDecisionPoint): Exactly one externalPolicyDecisionPoint attribute having a boolean is required."^^xsd:string ; + ] ; +. + +aas:PolicyInformationPointsShape a sh:NodeShape ; + sh:targetClass aas:PolicyInformationPoints ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:minCount 0 ; + sh:message "(PolicyInformationPoints.internalInformationPoint):A internalInformationPoint attribute must point to a Reference pointing to a submodel."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(PolicyInformationPoints.externalInformationPoint): Exactly one externalInformationPoints attribute having a boolean is required."^^xsd:string ; + ] ; +. + +aas:PropertyShape a sh:NodeShape ; + sh:targetClass aas:Property ; + rdfs:subClassOf aas:DataElementShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:dataType xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Property.valueType):Exactly one valueType linking to a xsd:string is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:nodeKind sh:Literal ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(Property.value):Only one value is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:class aas:Reference ; + sh:message "(Property.valueId):Only one valueId is allowed"^^xsd:string ; + ] ; +. + +aas:QualifiableShape a sh:NodeShape ; + sh:targetClass aas:Qualifiable ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(QualifiableShape): An aas:Qualifiable is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Constraint ; + ] ; +. + +aas:QualifierShape a sh:NodeShape ; + sh:targetClass aas:Qualifier ; + rdfs:subClassOf aas:HasSemanticsShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:message "(Qualifier.type): Exactly one type linking to a xsd:string is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:message "(Qualifier.valueType): Exactly one valueType linking to a xsd:string is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:nodeKind sh:Literal ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(Qualifier.value):Only one value is allowed."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:class aas:Reference ; + sh:message "(Qualifier.valueId):Only one valueId having a Reference entity is allowed."^^xsd:string ; + ] ; +. + +aas:RangeShape a sh:NodeShape ; + sh:targetClass aas:Range ; + rdfs:subClassOf aas:DataElementShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:dataType xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Range.valueType):Exactly one valueType linking to a xsd:string is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:nodeKind sh:Literal ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(Range.min):A min attribute must link to a Literal."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:nodeKind sh:Literal ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(Range.max):A max attribute must link to a Literal."^^xsd:string ; + ] ; +. + +aas:HasExtensionsShape a sh:NodeShape ; + sh:targetClass aas:HasExtensions ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(HasExtensionsShape): An aas:HasExtensions is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Extension ; + sh:minCount 0 ; + sh:message "(HasExtensions.extension):A hasExtensions attribute must point to a Extension."^^xsd:string ; + ] ; +. + +aas:ExtensionShape a sh:NodeShape ; + sh:targetClass aas:Extension ; + rdfs:subClassOf aas:HasSemanticsShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:pattern ".+" ; + sh:message "(Extension.name): Exactly one name is required."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:message "(Extension.valueType):Only one value for valueType is allowed"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(Extension.value):Only one value is allowed"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(Extension.refersTo):Only one value for refersTo is allowed"^^xsd:string ; + ] ; +. + +aas:ReferableShape a sh:NodeShape ; + sh:targetClass aas:Referable ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(ReferableShape): An aas:Referable is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:pattern ".+" ; + sh:message "(Referable.category):Only one value for category is allowed"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:dataType rdf:langString ; + sh:minCount 0 ; + sh:message "(Referable.description):A description must point to a langString"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:dataType rdf:langString ; + sh:minCount 0 ; + sh:message "(Referable.displayName):A displayName must point to a langString."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Referable.idShort): Exactly one idShort is required."^^xsd:string ; + ] ; +. + +aas:ReferenceShape a sh:NodeShape ; + sh:targetClass aas:Reference ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Key ; + sh:minCount 1 ; + ] ; +. + +aas:ReferenceElementShape a sh:NodeShape ; + sh:targetClass aas:ReferenceElement ; + rdfs:subClassOf aas:DataElementShape ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:class aas:Reference ; + sh:message "(ReferenceElement.value):Only one value for value is allowed"^^xsd:string ; + ] ; +. + +aas:RelationshipElementShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:RelationshipElement ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(RelationshipElement.first):A first attribute must have exactly one reference entity pointing to a Referable"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(RelationshipElement.second):A second attribute must have exactly one reference entity pointing to a Referable"^^xsd:string ; + ] ; +. + +aas:SecurityShape a sh:NodeShape ; + sh:targetClass aas:Security ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:AccessControlPolicyPoints ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:message "(Security.accessControlPolicyPoints): Exactly one value for relationshipSecond is required"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Certificate ; + sh:message "(Security.certificate):A certificate must point to a Certificate"^^xsd:string ; + sh:minCount 0 ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:message "(Security.requiredCertificateExtension):A requiredCertificateExtension must point to a Reference."^^xsd:string ; + sh:minCount 0 ; + ] ; +. + +aas:SubjectAttributesShape a sh:NodeShape ; + sh:targetClass aas:SubjectAttributes ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:DataElement ; + sh:minCount 1 ; + sh:message "(SubjectAttributes.subjectAttribute):At least one subjectAttribute pointing to a DataElement is required."^^xsd:string ; + ] ; +. + +aas:SubmodelShape a sh:NodeShape ; + sh:targetClass aas:Submodel ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + rdfs:subClassOf aas:HasKindShape ; + rdfs:subClassOf aas:HasSemanticsShape ; + rdfs:subClassOf aas:IdentifiableShape ; + rdfs:subClassOf aas:QualifiableShape ; + sh:message "Invalid Identification Template (For Submodels with Kind = Type only Ids of Type IRDI or IRI are allowed) / (For Submodels with Kind = Instance only Ids of Type Custom or IRI are allowed)"^^xsd:string ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:SubmodelElement ; + sh:minCount 0 ; + sh:message "(Submodel.submodelElement):all submodel elements must be instances of type SubmodelElement"^^xsd:string ; + ] ; +. + +aas:SubmodelElementShape a sh:NodeShape ; + sh:targetClass aas:SubmodelElement ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + rdfs:subClassOf aas:HasKindShape ; + rdfs:subClassOf aas:HasSemanticsShape ; + rdfs:subClassOf aas:QualifiableShape ; + rdfs:subClassOf aas:ReferableShape ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message "(SubmodelElementShape): An aas:SubmodelElement is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:prefixes aas: ; + sh:select """ + SELECT ?this ?type + WHERE { + ?this ?type . + FILTER (?type = ) + } + """ ; + ] ; +. + +aas:SubmodelElementCollectionShape a sh:NodeShape ; + rdfs:subClassOf aas:SubmodelElementShape ; + sh:targetClass aas:SubmodelElementCollection ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:boolean ; + sh:defaultValue false ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(SubmodelElementCollection.allowDuplicates):Only one boolean value for allowDuplicates is allowed"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:boolean ; + sh:defaultValue false ; + sh:maxCount 1 ; + sh:minCount 0 ; + sh:message "(SubmodelElementCollection.ordered):Only one boolean value for ordered is allowed"^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:SubmodelElement ; + sh:minCount 0 ; + sh:message "(SubmodelElementCollection.value):SubmodelElementCollection can contain only SubmodelElements for value."^^xsd:string ; + ] ; +. + +aas:ValueListShape a sh:NodeShape ; + sh:targetClass aas:ValueList ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:ValueReferencePair ; + sh:minCount 1 ; + sh:message "(ValueList.valueReferencePairTypes):A valueReferencePairTypes attribute must have an entity pointing to a ValueReferencePair."^^xsd:string ; + ] ; +. + +aas:ValueReferencePairShape a sh:NodeShape ; + sh:targetClass aas:ValueReferencePair ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(ValueReferencePair.value):Only one string is allowed for value."^^xsd:string ; + ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message "(ValueReferencePair.valueId):Only one Reference is allowed for valueId."^^xsd:string ; + ] ; +. + +aas:ViewShape a sh:NodeShape ; + rdfs:subClassOf aas:HasDataSpecificationShape ; + rdfs:subClassOf aas:HasSemanticsShape ; + rdfs:subClassOf aas:ReferableShape ; + sh:targetClass aas:View ; + sh:property [ + a sh:PropertyShape ; + sh:path ; + sh:class aas:Reference ; + sh:message "(View.containedElement):A containedElement attribute must have an entity pointing to a Reference."^^xsd:string ; + ] ; +. diff --git a/validator/src/main/resources/test_demo_full_example.json b/validator/src/main/resources/test_demo_full_example.json new file mode 100644 index 000000000..d199d843e --- /dev/null +++ b/validator/src/main/resources/test_demo_full_example.json @@ -0,0 +1,2744 @@ +{ + "assetAdministrationShells":[ + { + "idShort":"TestAssetAdministrationShell", + "description":[ + { + "language":"en-us", + "text":"An Example Asset Administration Shell for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Verwaltungsschale f\u00fcr eine Test-Anwendung" + }, + { + "language":"en-us", + "text":"An example asset for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Asset f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"AssetAdministrationShell" + }, + "identification":{ + "id":"https://acplt.org/Test_AssetAdministrationShell", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "derivedFrom":{ + "keys":[ + { + "type":"AssetAdministrationShell", + "idType":"Iri", + "value":"https://acplt.org/TestAssetAdministrationShell2" + } + ] + }, + "asset":{ + "identification":[ + { + "idType":"Iri", + "id":"https://acplt.org/Test_Asset" + } + ] + }, + "assetInformation":{ + "assetKind":"Instance", + "globalAssetId":{ + "keys": [ + { + "type":"Asset", + "idType":"Iri", + "value":"https://acplt.org/Test_Asset" + } + ] + }, + "billOfMaterial": [ + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + } + ] + }, + "submodels":[ + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"https://acplt.org/Test_Submodel" + } + ] + }, + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial" + } + ] + }, + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"http://acplt.org/Submodels/Assets/TestAsset/Identification" + } + ] + } + ] + }, + { + "idShort":"ExampleIdShort", + "modelType":{ + "name":"AssetAdministrationShell" + }, + "identification":{ + "id":"https://acplt.org/Test_AssetAdministrationShell_Mandatory", + "idType":"Iri" + }, + "assetInformation":{ + "assetKind":"Instance", + "globalAssetId":{ + "keys": [ + { + "type":"Asset", + "idType":"Iri", + "value":"https://acplt.org/Test_Asset_Mandatory" + } + ] + } + }, + "submodels":[ + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"https://acplt.org/Test_Submodel_Mandatory" + } + ] + }, + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"https://acplt.org/Test_Submodel2_Mandatory" + } + ] + } + ] + }, + { + "idShort":"ExampleIdShort", + "modelType":{ + "name":"AssetAdministrationShell" + }, + "identification":{ + "id":"https://acplt.org/Test_AssetAdministrationShell2_Mandatory", + "idType":"Iri" + }, + "assetInformation":{ + "assetKind":"Instance", + "globalAssetId":{ + "keys": [ + { + "type":"Asset", + "idType":"Iri", + "value":"https://acplt.org/Test_Asset_Mandatory" + } + ] + } + } + }, + { + "idShort":"TestAssetAdministrationShell", + "description":[ + { + "language":"en-us", + "text":"An Example Asset Administration Shell for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Verwaltungsschale f\u00fcr eine Test-Anwendung" + }, + { + "language":"en-us", + "text":"An example asset for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Asset f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"AssetAdministrationShell" + }, + "identification":{ + "id":"https://acplt.org/Test_AssetAdministrationShell_Missing", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "assetInformation":{ + "assetKind":"Instance", + "globalAssetId":{ + "keys": [ + { + "type":"Asset", + "idType":"Iri", + "value":"https://acplt.org/Test_Asset_Missing" + } + ] + } + }, + "submodels":[ + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"https://acplt.org/Test_Submodel_Missing" + } + ] + } + ], + "views":[ + { + "idShort":"ExampleView", + "modelType":{ + "name":"View" + }, + "containedElements":[ + { + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"https://acplt.org/Test_Submodel_Missing" + } + ] + } + ] + }, + { + "idShort":"ExampleView2", + "modelType":{ + "name":"View" + } + } + ] + } + ], + "submodels":[ + { + "idShort":"Identification", + "description":[ + { + "language":"en-us", + "text":"An example asset identification submodel for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Identifikations-Submodel f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"http://acplt.org/Submodels/Assets/TestAsset/Identification", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "semanticId":{ + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"http://acplt.org/SubmodelTemplates/AssetIdentification" + } + ] + }, + "submodelElements":[ + { + "idShort":"ManufacturerName", + "description":[ + { + "language":"en-us", + "text":"Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language":"de", + "text":"Bezeichnung f\u00fcr eine nat\u00fcrliche oder juristische Person, die f\u00fcr die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"0173-1#02-AAO677#002" + } + ] + }, + "qualifiers":[ + { + "modelType":{ + "name":"Qualifier" + }, + "value":"100", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"100" + } + ] + }, + "valueType":"int", + "type":"http://acplt.org/Qualifier/ExampleQualifier" + }, + { + "modelType":{ + "name":"Qualifier" + }, + "value":"50", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"50" + } + ] + }, + "valueType":"int", + "type":"http://acplt.org/Qualifier/ExampleQualifier2" + } + ], + "value":"ACPLT", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"ACPLT" + } + ] + }, + "valueType":"String" + }, + { + "idShort":"InstanceId", + "description":[ + { + "language":"en-us", + "text":"Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language":"de", + "text":"Bezeichnung f\u00fcr eine nat\u00fcrliche oder juristische Person, die f\u00fcr die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "value":"978-8234-234-342", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"978-8234-234-342" + } + ] + }, + "valueType":"String" + } + ] + }, + { + "idShort":"BillOfMaterial", + "description":[ + { + "language":"en-us", + "text":"An example bill of material submodel for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-BillofMaterial-Submodel f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial", + "idType":"Iri" + }, + "administration":{ + "version":"0.9" + }, + "semanticId":{ + "keys":[ + { + "type":"Submodel", + "idType":"Iri", + "value":"http://acplt.org/SubmodelTemplates/BillOfMaterial" + } + ] + }, + "submodelElements":[ + { + "idShort":"ExampleEntity", + "description":[ + { + "language":"en-us", + "text":"Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language":"de", + "text":"Bezeichnung f\u00fcr eine nat\u00fcrliche oder juristische Person, die f\u00fcr die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ], + "modelType":{ + "name":"Entity" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "statements":[ + { + "idShort":"ExampleProperty2", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value":"exampleValue2", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue2" + } + ] + }, + "valueType":"String" + }, + { + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value":"exampleValue", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue" + } + ] + }, + "valueType":"String" + } + ], + "entityType":"CoManagedEntity" + }, + { + "idShort":"ExampleEntity2", + "description":[ + { + "language":"en-us", + "text":"Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation." + }, + { + "language":"de", + "text":"Bezeichnung f\u00fcr eine nat\u00fcrliche oder juristische Person, die f\u00fcr die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist" + } + ], + "modelType":{ + "name":"Entity" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber" + } + ] + }, + "entityType":"SelfManagedEntity", + "globalAssetId":{ + "keys": [ + { + "type":"Asset", + "idType":"Iri", + "value":"https://acplt.org/Test_Asset2" + } + ] + } + } + ] + }, + { + "idShort":"TestSubmodel", + "description":[ + { + "language":"en-us", + "text":"An example submodel for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Teilmodell f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"https://acplt.org/Test_Submodel", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelTemplates/ExampleSubmodel" + } + ] + }, + "submodelElements":[ + { + "idShort":"ExampleRelationshipElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example RelationshipElement object" + }, + { + "language":"de", + "text":"Beispiel RelationshipElement Element" + } + ], + "modelType":{ + "name":"RelationshipElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleRelationshipElement" + } + ] + }, + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty2" + } + ] + } + }, + { + "idShort":"ExampleAnnotatedRelationshipElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example AnnotatedRelationshipElement object" + }, + { + "language":"de", + "text":"Beispiel AnnotatedRelationshipElement Element" + } + ], + "modelType":{ + "name":"AnnotatedRelationshipElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + } + ] + }, + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty2" + } + ] + }, + "annotation":[ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/AnnotatedRelationshipElement/ExampleAnnotation" + } + ] + }, + "idShort": "ExampleProperty3", + "category": "Parameter", + "value": "some example annotation", + "valueType": "String" + } + ] + }, + { + "idShort":"ExampleOperation", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Operation object" + }, + { + "language":"de", + "text":"Beispiel Operation Element" + } + ], + "modelType":{ + "name":"Operation" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Operations/ExampleOperation" + } + ] + }, + "kind":"Template", + "inputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value":"exampleValue", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue" + } + ] + }, + "valueType":"String" + } + } + ], + "outputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value":"exampleValue", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue" + } + ] + }, + "valueType":"String" + } + } + ], + "inoutputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value":"exampleValue3", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue3" + } + ] + }, + "valueType":"String" + } + } + ] + }, + { + "idShort":"ExampleCapability", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Capability object" + }, + { + "language":"de", + "text":"Beispiel Capability Element" + } + ], + "modelType":{ + "name":"Capability" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Capabilities/ExampleCapability" + } + ] + } + }, + { + "idShort":"ExampleBasicEvent", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example BasicEvent object" + }, + { + "language":"de", + "text":"Beispiel BasicEvent Element" + } + ], + "modelType":{ + "name":"BasicEvent" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Events/ExampleBasicEvent" + } + ] + }, + "observed":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleSubmodelCollectionOrdered", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionOrdered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "value":[ + { + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "value":"exampleValue", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue" + } + ] + }, + "valueType":"String" + }, + { + "idShort":"ExampleMultiLanguageProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example MultiLanguageProperty object" + }, + { + "language":"de", + "text":"Beispiel MulitLanguageProperty Element" + } + ], + "modelType":{ + "name":"MultiLanguageProperty" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "value":[ + { + "language":"en-us", + "text":"Example value of a MultiLanguageProperty element" + }, + { + "language":"de", + "text":"Beispielswert f\u00fcr ein MulitLanguageProperty-Element" + } + ], + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/ValueId/ExampleMultiLanguageValueId" + } + ] + } + }, + { + "idShort":"ExampleRange", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Range object" + }, + { + "language":"de", + "text":"Beispiel Range Element" + } + ], + "modelType":{ + "name":"Range" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "valueType":"int", + "min":"0", + "max":"100" + } + ], + "ordered":true + }, + { + "idShort":"ExampleSubmodelCollectionUnordered", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionUnordered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "value":[ + { + "idShort":"ExampleBlob", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Blob object" + }, + { + "language":"de", + "text":"Beispiel Blob Element" + } + ], + "modelType":{ + "name":"Blob" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Blobs/ExampleBlob" + } + ] + }, + "mimeType":"application/pdf", + "value":"AQIDBAU=" + }, + { + "idShort":"ExampleFile", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example File object" + }, + { + "language":"de", + "text":"Beispiel File Element" + } + ], + "modelType":{ + "name":"File" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Files/ExampleFile" + } + ] + }, + "value":"/TestFile.pdf", + "mimeType":"application/pdf" + }, + { + "idShort":"ExampleReferenceElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Reference Element object" + }, + { + "language":"de", + "text":"Beispiel Reference Element Element" + } + ], + "modelType":{ + "name":"ReferenceElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/ReferenceElements/ExampleReferenceElement" + } + ] + }, + "value":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + } + ], + "ordered":false + } + ] + }, + { + "idShort":"ExampleIdShort", + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"https://acplt.org/Test_Submodel_Mandatory", + "idType":"Iri" + }, + "submodelElements":[ + { + "idShort":"ExampleRelationshipElement", + "modelType":{ + "name":"RelationshipElement" + }, + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleAnnotatedRelationshipElement", + "modelType":{ + "name":"AnnotatedRelationshipElement" + }, + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleOperation", + "modelType":{ + "name":"Operation" + }, + "kind":"Template" + }, + { + "idShort":"ExampleCapability", + "modelType":{ + "name":"Capability" + } + }, + { + "idShort":"ExampleBasicEvent", + "modelType":{ + "name":"BasicEvent" + }, + "observed":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleSubmodelCollectionOrdered", + "modelType":{ + "name":"SubmodelElementCollection" + }, + "value":[ + { + "idShort":"ExampleProperty", + "modelType":{ + "name":"Property" + }, + "value":null, + "valueType":"String" + }, + { + "idShort":"ExampleMultiLanguageProperty", + "modelType":{ + "name":"MultiLanguageProperty" + } + }, + { + "idShort":"ExampleRange", + "modelType":{ + "name":"Range" + }, + "valueType":"int", + "min":null, + "max":null + } + ], + "ordered":true + }, + { + "idShort":"ExampleSubmodelCollectionUnordered", + "modelType":{ + "name":"SubmodelElementCollection" + }, + "value":[ + { + "idShort":"ExampleBlob", + "modelType":{ + "name":"Blob" + }, + "mimeType":"application/pdf" + }, + { + "idShort":"ExampleFile", + "modelType":{ + "name":"File" + }, + "value":null, + "mimeType":"application/pdf" + }, + { + "idShort":"ExampleReferenceElement", + "modelType":{ + "name":"ReferenceElement" + } + } + ], + "ordered":false + }, + { + "idShort":"ExampleSubmodelCollectionUnordered2", + "modelType":{ + "name":"SubmodelElementCollection" + }, + "ordered":false + } + ] + }, + { + "idShort":"ExampleIdShort", + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"https://acplt.org/Test_Submodel2_Mandatory", + "idType":"Iri" + } + }, + { + "idShort":"TestSubmodel", + "description":[ + { + "language":"en-us", + "text":"An example submodel for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Teilmodell f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"https://acplt.org/Test_Submodel_Missing", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelTemplates/ExampleSubmodel" + } + ] + }, + "submodelElements":[ + { + "idShort":"ExampleRelationshipElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example RelationshipElement object" + }, + { + "language":"de", + "text":"Beispiel RelationshipElement Element" + } + ], + "modelType":{ + "name":"RelationshipElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleRelationshipElement" + } + ] + }, + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleAnnotatedRelationshipElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example AnnotatedRelationshipElement object" + }, + { + "language":"de", + "text":"Beispiel AnnotatedRelationshipElement Element" + } + ], + "modelType":{ + "name":"AnnotatedRelationshipElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + } + ] + }, + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "annotation":[ + { + "modelType": { + "name": "Property" + }, + "kind": "Instance", + "semanticId": { + "keys": [{ + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + }] + }, + "idShort": "ExampleProperty", + "category": "Parameter", + "value": "some example annotation", + "valueType": "String" + } + ] + }, + { + "idShort":"ExampleOperation", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Operation object" + }, + { + "language":"de", + "text":"Beispiel Operation Element" + } + ], + "modelType":{ + "name":"Operation" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Operations/ExampleOperation" + } + ] + }, + "kind":"Template", + "inputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "qualifiers":[ + { + "modelType":{ + "name":"Qualifier" + }, + "valueType":"String", + "type":"http://acplt.org/Qualifier/ExampleQualifier" + } + ], + "value":"exampleValue", + "valueType":"String" + } + } + ], + "outputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "qualifiers":[ + { + "modelType":{ + "name":"Qualifier" + }, + "valueType":"String", + "type":"http://acplt.org/Qualifier/ExampleQualifier" + } + ], + "value":"exampleValue", + "valueType":"String" + } + } + ], + "inoutputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "qualifiers":[ + { + "modelType":{ + "name":"Qualifier" + }, + "valueType":"String", + "type":"http://acplt.org/Qualifier/ExampleQualifier" + } + ], + "value":"exampleValue", + "valueType":"String" + } + } + ] + }, + { + "idShort":"ExampleCapability", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Capability object" + }, + { + "language":"de", + "text":"Beispiel Capability Element" + } + ], + "modelType":{ + "name":"Capability" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Capabilities/ExampleCapability" + } + ] + } + }, + { + "idShort":"ExampleBasicEvent", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example BasicEvent object" + }, + { + "language":"de", + "text":"Beispiel BasicEvent Element" + } + ], + "modelType":{ + "name":"BasicEvent" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Events/ExampleBasicEvent" + } + ] + }, + "observed":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleSubmodelCollectionOrdered", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionOrdered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "value":[ + { + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "qualifiers":[ + { + "modelType":{ + "name":"Qualifier" + }, + "valueType":"String", + "type":"http://acplt.org/Qualifier/ExampleQualifier" + } + ], + "value":"exampleValue", + "valueType":"String" + }, + { + "idShort":"ExampleMultiLanguageProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example MultiLanguageProperty object" + }, + { + "language":"de", + "text":"Beispiel MulitLanguageProperty Element" + } + ], + "modelType":{ + "name":"MultiLanguageProperty" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "value":[ + { + "language":"en-us", + "text":"Example value of a MultiLanguageProperty element" + }, + { + "language":"de", + "text":"Beispielswert f\u00fcr ein MulitLanguageProperty-Element" + } + ] + }, + { + "idShort":"ExampleRange", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Range object" + }, + { + "language":"de", + "text":"Beispiel Range Element" + } + ], + "modelType":{ + "name":"Range" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "valueType":"int", + "min":"0", + "max":"100" + } + ], + "ordered":true + }, + { + "idShort":"ExampleSubmodelCollectionUnordered", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionUnordered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "value":[ + { + "idShort":"ExampleBlob", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Blob object" + }, + { + "language":"de", + "text":"Beispiel Blob Element" + } + ], + "modelType":{ + "name":"Blob" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Blobs/ExampleBlob" + } + ] + }, + "mimeType":"application/pdf", + "value":"AQIDBAU=" + }, + { + "idShort":"ExampleFile", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example File object" + }, + { + "language":"de", + "text":"Beispiel File Element" + } + ], + "modelType":{ + "name":"File" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Files/ExampleFile" + } + ] + }, + "value":"/TestFile.pdf", + "mimeType":"application/pdf" + }, + { + "idShort":"ExampleReferenceElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Reference Element object" + }, + { + "language":"de", + "text":"Beispiel Reference Element Element" + } + ], + "modelType":{ + "name":"ReferenceElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/ReferenceElements/ExampleReferenceElement" + } + ] + }, + "value":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + } + ], + "ordered":false + } + ] + }, + { + "idShort":"TestSubmodel", + "description":[ + { + "language":"en-us", + "text":"An example submodel for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-Teilmodell f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"Submodel" + }, + "identification":{ + "id":"https://acplt.org/Test_Submodel_Template", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelTemplates/ExampleSubmodel" + } + ] + }, + "kind":"Template", + "submodelElements":[ + { + "idShort":"ExampleRelationshipElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example RelationshipElement object" + }, + { + "language":"de", + "text":"Beispiel RelationshipElement Element" + } + ], + "modelType":{ + "name":"RelationshipElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleRelationshipElement" + } + ] + }, + "kind":"Template", + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleAnnotatedRelationshipElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example AnnotatedRelationshipElement object" + }, + { + "language":"de", + "text":"Beispiel AnnotatedRelationshipElement Element" + } + ], + "modelType":{ + "name":"AnnotatedRelationshipElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement" + } + ] + }, + "kind":"Template", + "first":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + }, + "second":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleOperation", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Operation object" + }, + { + "language":"de", + "text":"Beispiel Operation Element" + } + ], + "modelType":{ + "name":"Operation" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Operations/ExampleOperation" + } + ] + }, + "kind":"Template", + "inputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "kind":"Template", + "value":null, + "valueType":"String" + } + } + ], + "outputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "kind":"Template", + "value":null, + "valueType":"String" + } + } + ], + "inoutputVariable":[ + { + "value":{ + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "kind":"Template", + "value":null, + "valueType":"String" + } + } + ] + }, + { + "idShort":"ExampleCapability", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Capability object" + }, + { + "language":"de", + "text":"Beispiel Capability Element" + } + ], + "modelType":{ + "name":"Capability" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Capabilities/ExampleCapability" + } + ] + }, + "kind":"Template" + }, + { + "idShort":"ExampleBasicEvent", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example BasicEvent object" + }, + { + "language":"de", + "text":"Beispiel BasicEvent Element" + } + ], + "modelType":{ + "name":"BasicEvent" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Events/ExampleBasicEvent" + } + ] + }, + "kind":"Template", + "observed":{ + "keys":[ + { + "type":"Property", + "idType":"IdShort", + "value":"ExampleProperty" + } + ] + } + }, + { + "idShort":"ExampleSubmodelCollectionOrdered", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionOrdered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionOrdered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered" + } + ] + }, + "kind":"Template", + "value":[ + { + "idShort":"ExampleProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example Property object" + }, + { + "language":"de", + "text":"Beispiel Property Element" + } + ], + "modelType":{ + "name":"Property" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Properties/ExampleProperty" + } + ] + }, + "kind":"Template", + "value":null, + "valueType":"String" + }, + { + "idShort":"ExampleMultiLanguageProperty", + "category":"Constant", + "description":[ + { + "language":"en-us", + "text":"Example MultiLanguageProperty object" + }, + { + "language":"de", + "text":"Beispiel MulitLanguageProperty Element" + } + ], + "modelType":{ + "name":"MultiLanguageProperty" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty" + } + ] + }, + "kind":"Template" + }, + { + "idShort":"ExampleRange", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Range object" + }, + { + "language":"de", + "text":"Beispiel Range Element" + } + ], + "modelType":{ + "name":"Range" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "kind":"Template", + "valueType":"int", + "min":null, + "max":"100" + }, + { + "idShort":"ExampleRange2", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Range object" + }, + { + "language":"de", + "text":"Beispiel Range Element" + } + ], + "modelType":{ + "name":"Range" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Ranges/ExampleRange" + } + ] + }, + "kind":"Template", + "valueType":"int", + "min":"0", + "max":null + } + ], + "ordered":true + }, + { + "idShort":"ExampleSubmodelCollectionUnordered", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionUnordered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "kind":"Template", + "value":[ + { + "idShort":"ExampleBlob", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Blob object" + }, + { + "language":"de", + "text":"Beispiel Blob Element" + } + ], + "modelType":{ + "name":"Blob" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Blobs/ExampleBlob" + } + ] + }, + "kind":"Template", + "mimeType":"application/pdf" + }, + { + "idShort":"ExampleFile", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example File object" + }, + { + "language":"de", + "text":"Beispiel File Element" + } + ], + "modelType":{ + "name":"File" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Files/ExampleFile" + } + ] + }, + "kind":"Template", + "value":null, + "mimeType":"application/pdf" + }, + { + "idShort":"ExampleReferenceElement", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example Reference Element object" + }, + { + "language":"de", + "text":"Beispiel Reference Element Element" + } + ], + "modelType":{ + "name":"ReferenceElement" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/ReferenceElements/ExampleReferenceElement" + } + ] + }, + "kind":"Template" + } + ], + "ordered":false + }, + { + "idShort":"ExampleSubmodelCollectionUnordered2", + "category":"Parameter", + "description":[ + { + "language":"en-us", + "text":"Example SubmodelElementCollectionUnordered object" + }, + { + "language":"de", + "text":"Beispiel SubmodelElementCollectionUnordered Element" + } + ], + "modelType":{ + "name":"SubmodelElementCollection" + }, + "semanticId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered" + } + ] + }, + "kind":"Template", + "ordered":false + } + ] + } + ], + "conceptDescriptions":[ + { + "idShort":"TestConceptDescription", + "description":[ + { + "language":"en-us", + "text":"An example concept description for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-ConceptDescription f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"ConceptDescription" + }, + "identification":{ + "id":"https://acplt.org/Test_ConceptDescription", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "isCaseOf":[ + { + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription" + } + ] + } + ] + }, + { + "idShort":"ExampleIdShort", + "modelType":{ + "name":"ConceptDescription" + }, + "identification":{ + "id":"https://acplt.org/Test_ConceptDescription_Mandatory", + "idType":"Iri" + } + }, + { + "idShort":"TestConceptDescription", + "description":[ + { + "language":"en-us", + "text":"An example concept description for the test application" + }, + { + "language":"de", + "text":"Ein Beispiel-ConceptDescription f\u00fcr eine Test-Anwendung" + } + ], + "modelType":{ + "name":"ConceptDescription" + }, + "identification":{ + "id":"https://acplt.org/Test_ConceptDescription_Missing", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + } + }, + { + "idShort":"TestSpec_01", + "modelType":{ + "name":"ConceptDescription" + }, + "identification":{ + "id":"http://acplt.org/DataSpecifciations/Example/Identification", + "idType":"Iri" + }, + "administration":{ + "version":"0.9", + "revision":"0" + }, + "isCaseOf":[ + { + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/ReferenceElements/ConceptDescriptionX" + } + ] + } + ], + "embeddedDataSpecifications":[ + { + "dataSpecification":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0" + } + ] + }, + "dataSpecificationContent":{ + "preferredName":[ + { + "language":"de", + "text":"Test Specification" + }, + { + "language":"en-us", + "text":"TestSpecification" + } + ], + "dataType":"RealMeasure", + "definition":[ + { + "language":"de", + "text":"Dies ist eine Data Specification f\u00fcr Testzwecke" + }, + { + "language":"en", + "text":"This is a DataSpecification for testing purposes" + } + ], + "shortName":[ + { + "language":"de", + "text":"Test Spec" + }, + { + "language":"en-us", + "text":"TestSpec" + } + ], + "unit":"SpaceUnit", + "unitId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"http://acplt.org/Units/SpaceUnit" + } + ] + }, + "sourceOfDefinition":"http://acplt.org/DataSpec/ExampleDef", + "symbol":"SU", + "valueFormat":"String", + "valueList":{ + "valueReferencePairTypes":[ + { + "value":"exampleValue", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue" + } + ] + }, + "valueType":"String" + }, + { + "value":"exampleValue2", + "valueId":{ + "keys":[ + { + "type":"GlobalReference", + "idType":"Iri", + "value":"exampleValue2" + } + ] + }, + "valueType":"String" + } + ] + }, + "value":"TEST", + "levelType":[ + "Min", + "Max" + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/validator/src/test/java/io/adminshell/aas/v3/dataformat/core/ValidateModelsTest.java b/validator/src/test/java/io/adminshell/aas/v3/dataformat/core/ValidateModelsTest.java new file mode 100644 index 000000000..cabe407f5 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/dataformat/core/ValidateModelsTest.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.core; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.validator.ShaclValidator; +import io.adminshell.aas.v3.model.validator.ValidationException; +import java.io.IOException; +import org.apache.jena.shacl.ValidationReport; +import org.apache.jena.shacl.lib.ShLib; +import static org.junit.Assert.assertTrue; +import org.junit.BeforeClass; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ValidateModelsTest { + + private static final Logger log = LoggerFactory.getLogger(ValidateModelsTest.class); + + @BeforeClass + public static void init() { + ShaclValidator.getInstance().initialize(); + } + + @Test + public void validateAASFull() throws ValidationException, IOException { + validate(AASFull.ENVIRONMENT); + } + + @Test + public void validateAASSimple() throws ValidationException, IOException { + validate(AASSimple.ENVIRONMENT); + } + + private void validate(AssetAdministrationShellEnvironment aasEnv) throws ValidationException, IOException { + ValidationReport report = ShaclValidator.getInstance().validateGetReport(aasEnv); + ShLib.printReport(report); + System.out.println("Report entry size: " + report.getEntries().size()); + assertTrue(report.conforms()); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonFullExampleTest.java b/validator/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonFullExampleTest.java new file mode 100644 index 000000000..84c6944ae --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonFullExampleTest.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.dataformat.json; + +import io.adminshell.aas.v3.dataformat.DeserializationException; +import io.adminshell.aas.v3.dataformat.core.AASFull; +import io.adminshell.aas.v3.dataformat.core.AASSimple; +import io.adminshell.aas.v3.dataformat.json.JsonSerializer; +import io.adminshell.aas.v3.model.Asset; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.validator.ShaclValidator; +import io.adminshell.aas.v3.model.validator.ValidationException; +import io.adminshell.aas.v3.model.validator.ValidatorUtil; +import org.apache.jena.shacl.ValidationReport; +import org.apache.jena.shacl.lib.ShLib; +import org.junit.BeforeClass; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.junit.Assert.assertTrue; + +public class JsonFullExampleTest { + + private static final Logger log = LoggerFactory.getLogger(JsonFullExampleTest.class); + + + + + + @Test + public void validateFullJson() throws ValidationException, IOException, DeserializationException { + String object = ValidatorUtil.readResourceToString("test_demo_full_example.json"); + + ShaclValidator.getInstance().validate(new JsonDeserializer().read(object)); + } + + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/ConstraintTestHelper.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/ConstraintTestHelper.java new file mode 100644 index 000000000..5a8acca16 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/ConstraintTestHelper.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import java.util.List; + +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.AssetKind; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.IdentifierType; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElement; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; +import io.adminshell.aas.v3.model.impl.DefaultConceptDescription; +import io.adminshell.aas.v3.model.impl.DefaultIdentifier; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; + +public class ConstraintTestHelper { + + public static ConceptDescription createConceptDescription(String idShort, String identifier, String category) { + return new DefaultConceptDescription.Builder() + .description(new LangString("TestDescription")) + .identification(new DefaultIdentifier.Builder().identifier(identifier) + .idType(IdentifierType.CUSTOM).build()) + .category(category).idShort(idShort).build(); + } + + public static Submodel createSubmodel(List elements) { + return new DefaultSubmodel.Builder() + .identification( + new DefaultIdentifier.Builder().identifier("submodel").idType(IdentifierType.CUSTOM).build()) + .idShort("smIdShort") + .submodelElements(elements) + .build(); + } + + public static ConceptDescription getIrrelevantConceptDescription() { + return ConstraintTestHelper.createConceptDescription("irrelevantIdShort", "irrelevant", "COLLECTION"); + } + + public static AssetAdministrationShell getDummyAAS() { + return new DefaultAssetAdministrationShell.Builder() + .identification(new DefaultIdentifier.Builder() + .identifier("dummyAAS") + .idType(IdentifierType.CUSTOM) + .build()) + .idShort("dummyAASIdShort") + .assetInformation(new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .build()) + .build(); + } + + public static AssetAdministrationShellEnvironment createEnvironment(Submodel sm, List conceptDescriptions) { + return new DefaultAssetAdministrationShellEnvironment.Builder() + .assetAdministrationShells(getDummyAAS()) + .submodels(sm) + .conceptDescriptions(conceptDescriptions) + .build(); + } + + public static Reference createDummyReference() { + return new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("reference") + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build(); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_002.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_002.java new file mode 100644 index 000000000..e4ae6ead1 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_002.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.AdministrativeInformation; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * idShort of Referables shall only feature letters, digits, underscore ("_"); + * starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_002 { + @Test + public void idShortWithNotAllowedCharacters() throws ValidationException { + Referable wrongReferable = ConstraintTestHelper.createSubmodel(new ArrayList<>()); + wrongReferable.setIdShort("_idShort"); + + try { + ShaclValidator.getInstance().validate(wrongReferable); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+.")); + } + + wrongReferable.setIdShort("0idShort"); + try { + ShaclValidator.getInstance().validate(wrongReferable); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+.")); + } + + wrongReferable.setIdShort(""); + try { + ShaclValidator.getInstance().validate(wrongReferable); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+.")); + } + + wrongReferable.setIdShort("%"); + try { + ShaclValidator.getInstance().validate(wrongReferable); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+.")); + } + } + + @Test + public void idShortWithAllowedCharacters() throws ValidationException { + Referable referable = ConstraintTestHelper.createSubmodel(new ArrayList<>()); + referable.setIdShort("id_Short"); + ShaclValidator.getInstance().validate(referable); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_003.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_003.java new file mode 100644 index 000000000..596e29e1f --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_003.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * idShort shall be matched case-insensitive. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_003 { + @Test + @Ignore + public void idShortMatchCaseInsensitive() throws ValidationException { + DefaultSubmodel smA = (DefaultSubmodel) ConstraintTestHelper.createSubmodel(new ArrayList<>()); + smA.setIdShort("idShort"); + + Referable smB = (DefaultSubmodel) ConstraintTestHelper.createSubmodel(new ArrayList<>()); + smB.setIdShort("IDSHORT"); + + assertTrue(smA.equals(smB)); // TODO: should be true but requires adjustments in the Java Model + + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_005.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_005.java new file mode 100644 index 000000000..14b9b2d1c --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_005.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AdministrativeInformation; +import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation; + +/** + * Tests the following constraint: + *

+ * A revision requires a version. + *

+ * + * @author schnicke, chang + * + */ +public class TestAASd_005 { + @Test + public void revisionWithoutVersion() throws ValidationException { + AdministrativeInformation admInfo = new DefaultAdministrativeInformation.Builder().revision("1").build(); + + try { + ShaclValidator.getInstance().validate(admInfo); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("A revision requires a version.")); + } + } + + @Test + public void revisionWithVersion() + throws ValidationException { + AdministrativeInformation admInfo = new DefaultAdministrativeInformation.Builder().revision("1").version("1") + .build(); + ShaclValidator.getInstance().validate(admInfo); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_006.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_006.java new file mode 100644 index 000000000..c8c541f2c --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_006.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Referable; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * If both, the value and the valueId of a Qualifier are present then the value needs to be identical to the value + * of the referenced coded value in Qualifier/valueId. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_006 { + @Test + public void missmatchingValueAndValueId() throws ValidationException { + + Reference reference = ConstraintTestHelper.createDummyReference(); + reference.getKeys().get(0).setValue("http://example.org/someRef"); + + Qualifier wrongQualifier = new DefaultQualifier.Builder() + .value("http://example.org") + .valueType("http://www.w3.org/2001/XMLSchema#string") + .valueId(reference) + .type("REFERENCE") + .build(); + + try { + ShaclValidator.getInstance().validate(wrongQualifier); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If both, the value and the valueId of a Qualifier are present then the value needs to be identical " + + "to the value of the referenced coded value in Qualifier/valueId.")); + } + + + } + + @Test + public void matchingValueAndValueId() throws ValidationException { + Reference reference = ConstraintTestHelper.createDummyReference(); + reference.getKeys().get(0).setValue("http://example.org"); + + Qualifier qualifier = new DefaultQualifier.Builder() + .value("http://example.org") + .valueType("http://www.w3.org/2001/XMLSchema#string") + .valueId(reference) + .type("REFERENCE") + .build(); + + ShaclValidator.getInstance().validate(qualifier); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_007.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_007.java new file mode 100644 index 000000000..4475ba4ec --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_007.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; +import org.junit.Test; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * If both, the Property/value and the Property/valueId are present then the value of Property/value needs to be + * identical to the value of the referenced coded value in Property/valueId. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_007 { + @Test + public void missmatchingValueAndValueId() throws ValidationException { + + Reference reference = ConstraintTestHelper.createDummyReference(); + reference.getKeys().get(0).setValue("http://example.org/someRef"); + + Property wrongProperty = new DefaultProperty.Builder() + .idShort("idShort") + .value("http://example.org") + .valueType("string") + .valueId(reference) + .build(); + + try { + ShaclValidator.getInstance().validate(wrongProperty); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If both, the Property/value and the Property/valueId are present then the value of Property/value " + + "needs to be identical to the value of the referenced coded value in Property/valueId.")); + } + + + } + + @Test + public void matchingValueAndValueId() throws ValidationException { + Reference reference = ConstraintTestHelper.createDummyReference(); + reference.getKeys().get(0).setValue("http://example.org"); + + Property property = new DefaultProperty.Builder() + .idShort("idShort") + .value("http://example.org") + .valueType("string") + .valueId(reference) + .build(); + + ShaclValidator.getInstance().validate(property); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_008.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_008.java new file mode 100644 index 000000000..f22f1f774 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_008.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Reference; +import io.adminshell.aas.v3.model.impl.DefaultOperation; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import org.junit.Test; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * The submodel element value of an operation variable shall be of kind=Template. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_008 { + @Test + public void wrongKind() throws ValidationException { + + Operation wrongOperation = new DefaultOperation.Builder() + .idShort("idShort") + .kind(ModelingKind.INSTANCE) + .build(); + + try { + ShaclValidator.getInstance().validate(wrongOperation); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "The submodel element value of an operation variable shall be of kind=Template.")); + } + + + } + + @Test + public void correctKind() throws ValidationException { + + Operation operation = new DefaultOperation.Builder() + .idShort("idShort") + .kind(ModelingKind.TEMPLATE) + .build(); + + ShaclValidator.getInstance().validate(operation); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_014.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_014.java new file mode 100644 index 000000000..9a58c21e9 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_014.java @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.IdentifierKeyValuePair; +import io.adminshell.aas.v3.model.impl.DefaultEntity; +import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair; + +/** + * Tests the following constraint: + *

+ * Either the attribute globalAssetId or specificAssetId of an Entity must + * be set if Entity/entityType is set to “SelfManagedEntityâ€. They are not + * existing otherwise. + *

+ * + * @author schnicke, kannoth + * + */ +public class TestAASd_014 { + private static final String ERRORMSG = "Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to “SelfManagedEntityâ€. They are not existing otherwise."; + + @Test + public void selfManagedEntityWithGlobalAssetIdSet() throws ValidationException { + Entity entity = createSelfManagedEntity(); + entity.setGlobalAssetId(ConstraintTestHelper.createDummyReference()); + + ShaclValidator.getInstance().validate(entity); + } + + @Test + public void selfManagedEntityWithSpecificAssetIdSet() throws ValidationException { + Entity entity = createSelfManagedEntity(); + IdentifierKeyValuePair idKeyPair = createKeyValuePair(); + entity.setSpecificAssetId(idKeyPair); + + ShaclValidator.getInstance().validate(entity); + } + + @Test + public void selfManagedEntityWithNoAssetIdSet() { + Entity entity = createSelfManagedEntity(); + + try { + ShaclValidator.getInstance().validate(entity); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void selfManagedEntitiyWithBothAssetIdsSet() { + Entity entity = createSelfManagedEntity(); + IdentifierKeyValuePair idKeyPair = createKeyValuePair(); + entity.setSpecificAssetId(idKeyPair); + entity.setGlobalAssetId(ConstraintTestHelper.createDummyReference()); + + try { + ShaclValidator.getInstance().validate(entity); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + + @Test + public void coManagedEntityWithNoAssetIdSet() throws ValidationException { + Entity entity = createCoManagedEntity(); + + ShaclValidator.getInstance().validate(entity); + } + + @Test + public void coManagedEntityWithSpecificAssetIdSet() { + Entity entity = createCoManagedEntity(); + IdentifierKeyValuePair idKeyPair = createKeyValuePair(); + entity.setSpecificAssetId(idKeyPair); + + try { + ShaclValidator.getInstance().validate(entity); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void coManagedEntityWithGlobalAssetIdSet() { + Entity entity = createCoManagedEntity(); + entity.setGlobalAssetId(ConstraintTestHelper.createDummyReference()); + + try { + ShaclValidator.getInstance().validate(entity); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void coManagedEntityWithBothAssetIdsSet() { + Entity entity = createCoManagedEntity(); + entity.setGlobalAssetId(ConstraintTestHelper.createDummyReference()); + IdentifierKeyValuePair idKeyPair = createKeyValuePair(); + entity.setSpecificAssetId(idKeyPair); + + try { + ShaclValidator.getInstance().validate(entity); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + private Entity createSelfManagedEntity() { + DefaultEntity entity = new DefaultEntity(); + entity.setIdShort("entityIdShort"); + entity.setEntityType(EntityType.SELF_MANAGED_ENTITY); + return entity; + } + + private Entity createCoManagedEntity() { + DefaultEntity entity = new DefaultEntity(); + entity.setIdShort("entityIdShort"); + entity.setEntityType(EntityType.CO_MANAGED_ENTITY); + return entity; + } + + private IdentifierKeyValuePair createKeyValuePair() { + return new DefaultIdentifierKeyValuePair.Builder() + .externalSubjectId(ConstraintTestHelper.createDummyReference()) + .value("foo").key("foo_key").build(); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_015.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_015.java new file mode 100644 index 000000000..089c48482 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_015.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.DefaultAccessControl; +import io.adminshell.aas.v3.model.impl.DefaultOperation; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultSubjectAttributes; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * The data element SubjectAttributes/subjectAttribute shall be part of the submodel that is referenced within the + * “selectableSubjectAttributes†attribute of “AccessControl†+ *

+ * + * @author bader, chang + * + */ +public class TestAASd_015 { + + + @Test + @Ignore + public void noRelation() throws ValidationException { + + DataElement dataElement = new DefaultProperty.Builder() + .idShort("property") + .build(); + + SubjectAttributes subjectAttributes = new DefaultSubjectAttributes.Builder() + .subjectAttributes(new ArrayList() {{ add(dataElement); }} ) + .build(); + + Reference reference = ConstraintTestHelper.createDummyReference(); + reference.getKeys().get(0).setValue(dataElement.getIdShort()); + reference.getKeys().get(0).setType(KeyElements.PROPERTY); + + AccessControl wrongAccessControl = new DefaultAccessControl.Builder() + .selectableSubjectAttributes( reference ) + .defaultSubjectAttributes( ConstraintTestHelper.createDummyReference() ) + .defaultPermissions( ConstraintTestHelper.createDummyReference() ) + .build(); + + try { + ShaclValidator.getInstance().validate(wrongAccessControl); + fail(); // TODO: I really have no clue what this constraint shall check... + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "The data element SubjectAttributes/subjectAttribute shall be part of the submodel that is " + + "referenced within the “selectableSubjectAttributes†attribute of “AccessControlâ€")); + } + + } + + @Test + @Ignore + public void correctRelation() throws ValidationException { + + DataElement dataElement = new DefaultProperty.Builder() + .idShort("property") + .build(); + + SubjectAttributes subjectAttributes = new DefaultSubjectAttributes.Builder() + .subjectAttributes(new ArrayList() {{ add(dataElement); }} ) + .build(); + + Reference reference = ConstraintTestHelper.createDummyReference(); + reference.getKeys().get(0).setValue(dataElement.getIdShort()); + reference.getKeys().get(0).setType(KeyElements.PROPERTY); + + AccessControl accessControl = new DefaultAccessControl.Builder() + .selectableSubjectAttributes( reference ) + .defaultSubjectAttributes( ConstraintTestHelper.createDummyReference() ) + .defaultPermissions( ConstraintTestHelper.createDummyReference() ) + .build(); + + ShaclValidator.getInstance().validate(accessControl); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_020.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_020.java new file mode 100644 index 000000000..92e8d386e --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_020.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.ModelingKind; +import io.adminshell.aas.v3.model.Operation; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.impl.DefaultOperation; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; +import org.junit.Ignore; +import org.junit.Test; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * The value of Qualifier/value shall be consistent to the data type as defined in Qualifier/valueType. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_020 { + @Test + public void wrongIntegerValue() throws ValidationException { + + Qualifier wrongQualifier = new DefaultQualifier.Builder() + .valueType("int") + .value("test") + .type("integer") + .build(); + + try { + ShaclValidator.getInstance().validate(wrongQualifier); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "The value of Qualifier/value shall be consistent to the data type as defined in Qualifier/valueType.")); + } + } + + @Test + public void wrongUriValue() throws ValidationException { + + Qualifier wrongQualifier = new DefaultQualifier.Builder() + .valueType("uri") + .value("1") + .type("integer") + .build(); + + try { + ShaclValidator.getInstance().validate(wrongQualifier); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "The value of Qualifier/value shall be consistent to the data type as defined in Qualifier/valueType.")); + } + } + + + @Test + public void correctString() throws ValidationException { + + Qualifier qualifier = new DefaultQualifier.Builder() + .valueType("string") + .value("a string") + .type("string") + .build(); + + ShaclValidator.getInstance().validate(qualifier); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_021.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_021.java new file mode 100644 index 000000000..defe257d4 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_021.java @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.Qualifiable; +import io.adminshell.aas.v3.model.Qualifier; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * The value of Qualifier/value shall be consistent to the data type as defined in Qualifier/valueType. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_021 { + @Test + @Ignore + public void twoQualifierWithSameType() throws ValidationException { + + DefaultQualifier.Builder builder = new DefaultQualifier.Builder(); + Qualifier qualifier1 = builder + .value("some Qualifier value") + .valueType("http://www.w3.org/2001/XMLSchema#string") + .type("string") + .build(); + builder = null; + + builder = new DefaultQualifier.Builder(); + Qualifier qualifier2 = builder + .value("some other Qualifier value") + .valueType("http://www.w3.org/2001/XMLSchema#string") + .type("string") + .build(); + + Qualifiable wrongQualifiable = new DefaultProperty.Builder() + .idShort("wrongQualifiable") + .valueType("string") + .value("dummy") + .qualifiers(new ArrayList() {{ add(qualifier1); add(qualifier2); }}) + .build(); + + try { + ShaclValidator.getInstance().validate(wrongQualifiable); // SPARQL Query does not fire in the shape for some reason + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "Every Qualifiable can only have one Qualifier with the same Qualifier/type.")); + } + } + + @Ignore // The model only allows strings as Qualifier/valueType --> It is not possible to check for non-strings yet. + @Test + public void twoCorrectQualifier() throws ValidationException { + + Qualifier qualifier1 = new DefaultQualifier.Builder() + .value("some Qualifier value") + .valueType("http://www.w3.org/2001/XMLSchema#string") + .type("string") + .build(); + + Qualifier qualifier2 = new DefaultQualifier.Builder() + .value("1") + .valueType("integer") + .valueType("http://www.w3.org/2001/XMLSchema#integer") + .type("string") + .build(); + + Qualifiable qualifiable = new DefaultProperty.Builder() + .idShort("correctQualifiable") + .valueType("string") + .value("dummy") + .qualifiers(new ArrayList() {{ add(qualifier1); add(qualifier2); }}) + .build(); + + ShaclValidator.getInstance().validate(qualifiable); + + } + + @Test + public void oneCorrectQualifier() throws ValidationException { + + Qualifier qualifier1 = new DefaultQualifier.Builder() + .value("some Qualifier value") + .valueType("http://www.w3.org/2001/XMLSchema#string") + .type("string") + .build(); + + Qualifiable qualifiable = new DefaultProperty.Builder() + .idShort("correctQualifiable") + .valueType("string") + .value("dummy") + .qualifiers(new ArrayList() {{ add(qualifier1); }}) + .build(); + + ShaclValidator.getInstance().validate(qualifiable); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_023.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_023.java new file mode 100644 index 000000000..1a26cd081 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_023.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.DefaultAssetInformation; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import org.junit.Ignore; +import org.junit.Test; + +import java.io.IOException; + +import static org.junit.Assert.*; + +/** + * Tests the following constraint: + *

+ * AssetInformation/globalAssetId either is a reference to an Asset object or a global reference. + *

+ * + * @author bader, chang + * + */ + +public class TestAASd_023 { + @Test + public void correctReferenceToAsset() throws ValidationException, IOException { + AssetInformation assetInformation = createAssetInformation(KeyElements.ASSET); + assertEquals(assetInformation.getGlobalAssetId().getKeys().get(0).getType(), KeyElements.ASSET); + ShaclValidator.getInstance().validate(assetInformation); + + } + + @Test + public void correctReferenceToGobalRe() throws ValidationException { + AssetInformation assetInformation = createAssetInformation(KeyElements.GLOBAL_REFERENCE); + assertEquals(assetInformation.getGlobalAssetId().getKeys().get(0).getType(), KeyElements.GLOBAL_REFERENCE); + ShaclValidator.getInstance().validate(assetInformation); + + } + + @Ignore + @Test + public void wrongReferenceToCD() throws ValidationException { + AssetInformation assetInformation = createAssetInformation(KeyElements.CONCEPT_DESCRIPTION); + assertEquals(assetInformation.getGlobalAssetId().getKeys().get(0).getType(), KeyElements.CONCEPT_DESCRIPTION); + try { + ShaclValidator.getInstance().validate(assetInformation); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("AssetInformation/globalAssetId either is a reference to an Asset object or a global reference.")); + } + } + + + private AssetInformation createAssetInformation(KeyElements keyElements) { + return new DefaultAssetInformation.Builder() + .assetKind(AssetKind.INSTANCE) + .globalAssetId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("1234") + .type(keyElements) + .build()) + + .build()) + .build(); + } + +} + + diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_026.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_026.java new file mode 100644 index 000000000..ec8173b29 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_026.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultSubmodel; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; +import org.junit.Test; + +import java.util.*; + +/** + * Tests the following constraint: + *

+ * If allowDuplicates==false then it is not allowed that the collection contains several elements with the same semantics (i.e. the same semanticId). + *

+ * + * @author bader, chang + * + */ + +public class TestAASd_026 { + + @Test + public void testAllowDuplicates() { + + // TODO @chang: please write the test. + + } + + + private SubmodelElementCollection createSubmodelElementCollection(Collection values) { + return new DefaultSubmodelElementCollection.Builder() + .idShort("idShort") + .value((SubmodelElement) values) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("the value of the semantic id") + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_051.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_051.java new file mode 100644 index 000000000..91a813a23 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_051.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.ConceptDescription; + +/** + * Tests the following constraint: + *

+ * A ConceptDescription shall have one of the following categories: VALUE, + * PROPERTY, REFERENCE, DOCUMENT, CAPABILITY, RELATIONSHIP, COLLECTION, + * FUNCTION, EVENT, ENTITY, APPLICATION_CLASS, QUALIFIER, VIEW. + *

+ * + * @author schnicke, kannoth + * + */ +public class TestAASd_051 { + @Test + public void correctCategory() throws ValidationException { + List categories = Arrays.asList("VALUE", "PROPERTY", "REFERENCE", "DOCUMENT", "CAPABILITY", + "RELATIONSHIP", "COLLECTION", "FUNCTION", "EVENT", "ENTITY", "APPLICATION_CLASS", "QUALIFIER", "VIEW"); + + for(String category : categories) { + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("idShort", "identifier", category); + ShaclValidator.getInstance().validate(cd); + } + } + + @Test + public void incorrectCategory() { + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("idShort", "identifier", "WRONG"); + try { + ShaclValidator.getInstance().validate(cd); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "A ConceptDescription shall have one of the following categories: VALUE, PROPERTY, REFERENCE, DOCUMENT, CAPABILITY, RELATIONSHIP, COLLECTION, FUNCTION, EVENT, ENTITY, APPLICATION_CLASS, QUALIFIER, VIEW.")); + } + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_052a.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_052a.java new file mode 100644 index 000000000..d019c26cc --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_052a.java @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Property references a ConceptDescription then the + * ConceptDescription/category shall be one of following values: VALUE, + * PROPERTY. + *

+ * + * @author schnicke + * + */ +public class TestAASd_052a { + @Test + public void correctCategories() throws ValidationException { + String conceptDescriptionPropertyId = "conceptDescriptionProperty"; + String conceptDescriptionValueId = "conceptDescriptionValue"; + + ConceptDescription correctPropertyCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionPropertyId, "PROPERTY"); + + ConceptDescription correctValueCD = ConstraintTestHelper.createConceptDescription("idShort2", + conceptDescriptionValueId, "VALUE"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createProperty("submodelElementIdShort1", conceptDescriptionValueId), + createProperty("submodelElementIdShort2", conceptDescriptionPropertyId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, Arrays.asList(correctValueCD, correctPropertyCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createProperty("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: VALUE, PROPERTY.")); + } + } + + private Property createProperty(String idShort, String conceptDescriptionId) { + return new DefaultProperty.Builder() + .idShort(idShort) + .valueType("string") + .value("TestValue") + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_053.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_053.java new file mode 100644 index 000000000..e9c22efa3 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_053.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Range; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultRange; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Range submodel element references a + * ConceptDescription then the ConceptDescription/category shall be one of + * following values: PROPERTY. + *

+ * + * @author schnicke + * + */ +public class TestAASd_053 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "PROPERTY"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createRange("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createRange("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Range submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY.")); + } + } + + private Range createRange(String idShort, String conceptDescriptionId) { + return new DefaultRange.Builder() + .idShort(idShort) + .valueType("integer") + .min("0") + .max("1") + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_054.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_054.java new file mode 100644 index 000000000..de65be11c --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_054.java @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.ReferenceElement; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultReferenceElement; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a ReferenceElement submodel element references a + * ConceptDescription then the ConceptDescription/category shall be one of + * following values: REFERENCE. + *

+ * + * @author schnicke + * + */ +public class TestAASd_054 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionId, "REFERENCE"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createReferenceElement("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createReferenceElement("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a ReferenceElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: REFERENCE.")); + } + } + + private ReferenceElement createReferenceElement(String idShort, String conceptDescriptionId) { + return new DefaultReferenceElement.Builder() + .idShort(idShort) + .value(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("reference") + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build()) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_055.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_055.java new file mode 100644 index 000000000..6f0d05d70 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_055.java @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.RelationshipElement; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultProperty; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a RelationshipElement or an + * AnnotatedRelationshipElement submodel element references a ConceptDescription + * then the ConceptDescription/category shall be one of following values: + * RELATIONSHIP. + *

+ * + * @author schnicke + * + */ +public class TestAASd_055 { + + private final static String ERRORMSG = "If the semanticId of a RelationshipElement or an AnnotatedRelationshipElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: RELATIONSHIP."; + + @Test + public void correctCategoryRelationshipElement() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "RELATIONSHIP"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createRelationshipElement("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategoryRelationshipElement() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createRelationshipElement("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void correctCategoryAnnotatedRelationshipElement() throws ValidationException { + String conceptDescriptionId = "conceptDescriptionProperty"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "RELATIONSHIP"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createAnnotatedRelationshipElement("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategoryAnnotatedRelationshipElement() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createAnnotatedRelationshipElement("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + private RelationshipElement createRelationshipElement(String idShort, String conceptDescriptionId) { + return new DefaultRelationshipElement.Builder() + .idShort(idShort) + .first(ConstraintTestHelper.createDummyReference()) + .second(ConstraintTestHelper.createDummyReference()) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + + private AnnotatedRelationshipElement createAnnotatedRelationshipElement(String idShort, String conceptDescriptionId) { + return new DefaultAnnotatedRelationshipElement.Builder() + .idShort(idShort) + .first(ConstraintTestHelper.createDummyReference()) + .second(ConstraintTestHelper.createDummyReference()) + .annotation(new DefaultProperty.Builder() + .idShort("annotationIdShort") + .value("annotation") + .valueType("string") + .build()) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_056.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_056.java new file mode 100644 index 000000000..9b9d48804 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_056.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Entity; +import io.adminshell.aas.v3.model.EntityType; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultEntity; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Entity submodel element references a + * ConceptDescription then the ConceptDescription/category shall be one of + * following values: ENTITY. + *

+ * + * @author schnicke + * + */ +public class TestAASd_056 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "ENTITY"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createEntity("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createEntity("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY.")); + } + } + + private Entity createEntity(String idShort, String conceptDescriptionId) { + return new DefaultEntity.Builder() + .idShort(idShort) + .entityType(EntityType.SELF_MANAGED_ENTITY) + .globalAssetId(ConstraintTestHelper.createDummyReference()) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_057.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_057.java new file mode 100644 index 000000000..ff800e27d --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_057.java @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultBlob; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * The semanticId of a File or Blob submodel element shall only reference a + * ConceptDescription with the category DOCUMENT + *

+ * + * @author schnicke + * + */ +public class TestAASd_057 { + + private final static String ERRORMSG = "The semanticId of a File or Blob submodel element shall only reference a ConceptDescription with the category DOCUMENT."; + + @Test + public void correctCategoryFile() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionId, "DOCUMENT"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createFile("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategoryFile() { + String conceptDescriptionWrong = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrong, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createFile("submodelElementIdShort", conceptDescriptionWrong))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void correctCategoryBlob() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "DOCUMENT"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createBlob("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategoryBlob() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createBlob("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + private File createFile(String idShort, String conceptDescriptionId) { + return new DefaultFile.Builder() + .idShort(idShort) + .mimeType("application/json").value("test.json") + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + + private Blob createBlob(String idShort, String conceptDescriptionId) { + return new DefaultBlob.Builder() + .idShort(idShort) + .mimeType("application/json") + .value(new byte[] { 0, 1, 2 }) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_058.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_058.java new file mode 100644 index 000000000..0e204ef65 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_058.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.Capability; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultCapability; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Capability submodel element references a + * ConceptDescription then the ConceptDescription/category shall be CAPABILITY + * + *

+ * + * @author schnicke + * + */ +public class TestAASd_058 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionId, "CAPABILITY"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createCapability("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createCapability("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Capability submodel element references a ConceptDescription then the ConceptDescription/category shall be CAPABILITY.")); + } + } + + private Capability createCapability(String idShort, String conceptDescriptionId) { + return new DefaultCapability.Builder() + .idShort(idShort) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_060.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_060.java new file mode 100644 index 000000000..d56988228 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_060.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import io.adminshell.aas.v3.model.*; +import org.junit.Test; + +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultOperation; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Operation submodel element references a + * ConceptDescription then the category of the ConceptDescription shall be one + * of the following values: FUNCTION. + *

+ * + * @author schnicke + * + */ +public class TestAASd_060 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "FUNCTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel( + Arrays.asList(createOperation("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createOperation("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Operation submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following values: FUNCTION.")); + } + } + + private Operation createOperation(String idShort, String conceptDescriptionId) { + return new DefaultOperation.Builder() + .idShort(idShort) + .kind(ModelingKind.TEMPLATE) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_063.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_063.java new file mode 100644 index 000000000..d0c547b06 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_063.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.ArrayList; +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.Constraint; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultQualifier; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Qualifier references a ConceptDescription then the + * ConceptDescription/category shall be one of following values: QUALIFIER. + *

+ * + * @author schnicke + * + */ +public class TestAASd_063 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "QUALIFIER"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(new ArrayList<>()); + sm.setQualifiers(Arrays.asList(createConstraint(conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + Submodel sm = ConstraintTestHelper + .createSubmodel(new ArrayList<>()); + sm.setQualifiers(Arrays.asList(createConstraint(conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Qualifier references a ConceptDescription then the ConceptDescription/category shall be one of following values: QUALIFIER.")); + } + } + + private Constraint createConstraint(String conceptDescriptionId) { + return new DefaultQualifier.Builder() + .valueType("ref") + .type("test") + .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().idType(KeyType.CUSTOM) + .value(conceptDescriptionId).type(KeyElements.CONCEPT_DESCRIPTION).build()).build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_064.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_064.java new file mode 100644 index 000000000..b25be695f --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_064.java @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.ArrayList; +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShell; +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.View; +import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultView; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a View references a ConceptDescription then the + * category of the ConceptDescription shall be VIEW. + *

+ * + * @author schnicke + * + */ +public class TestAASd_064 { + @Test + public void correctCategory() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = ConstraintTestHelper + .createConceptDescription("idShort1", conceptDescriptionId, "VIEW"); + + AssetAdministrationShell aas = ConstraintTestHelper.getDummyAAS(); + aas.setViews(Arrays.asList(createView(conceptDescriptionId))); + + Submodel sm = ConstraintTestHelper + .createSubmodel(new ArrayList<>()); + + AssetAdministrationShellEnvironment correctEnv = new DefaultAssetAdministrationShellEnvironment.Builder() + .submodels(sm) + .conceptDescriptions(Arrays.asList(correctCD, ConstraintTestHelper.getIrrelevantConceptDescription())) + .assetAdministrationShells(aas).build(); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategory() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionWrongId, + "COLLECTION"); + + AssetAdministrationShell aas = ConstraintTestHelper.getDummyAAS(); + aas.setViews(Arrays.asList(createView(conceptDescriptionWrongId))); + + Submodel sm = ConstraintTestHelper + .createSubmodel(new ArrayList<>()); + + AssetAdministrationShellEnvironment wrongEnv = new DefaultAssetAdministrationShellEnvironment.Builder() + .submodels(sm) + .conceptDescriptions( + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())) + .assetAdministrationShells(aas).build(); + + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a View references a ConceptDescription then the category of the ConceptDescription shall be VIEW.")); + } + } + + private View createView(String conceptDescriptionId) { + return new DefaultView.Builder() + .idShort("idShort") + .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().idType(KeyType.CUSTOM) + .value(conceptDescriptionId).type(KeyElements.CONCEPT_DESCRIPTION).build()).build()) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_067.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_067.java new file mode 100644 index 000000000..fa3df71fd --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_067.java @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.*; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a MultiLanguageProperty references a ConceptDescription then + * DataSpecificationIEC61360/dataType shall be STRING_TRANSLATABLE. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_067 { + @Test + public void wrongConceptDescriptionDatatype() throws ValidationException { + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.DATE) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Wrong Data Specification", "en")) + .definition(new LangString("A definition of a Date in English.", "en")) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept_Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference reference = ConstraintTestHelper.createDummyReference(); + Key key = reference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + MultiLanguageProperty property = new DefaultMultiLanguageProperty.Builder() + .idShort("idShort") + .semanticId(reference) + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(property);}}) + .build(); + + AssetAdministrationShellEnvironment wrongAssetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + try { + ShaclValidator.getInstance().validate(wrongAssetAdministrationShellEnvironment); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a MultiLanguageProperty references a ConceptDescription then DataSpecificationIEC61360/dataType shall be STRING_TRANSLATABLE.")); + } + + + } + + @Test + public void correctConceptDescriptionDatatype() throws ValidationException { + + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.STRING_TRANSLATABLE) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Data Specification", "en")) + .definition(new LangString("A definition of a STRING_TRANSLATABLE in English.", "en")) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept_Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference reference = ConstraintTestHelper.createDummyReference(); + Key key = reference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + MultiLanguageProperty property = new DefaultMultiLanguageProperty.Builder() + .idShort("idShort") + .semanticId(reference) + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(property);}}) + .build(); + + AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + ShaclValidator.getInstance().validate(assetAdministrationShellEnvironment); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_068.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_068.java new file mode 100644 index 000000000..a287ae64f --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_068.java @@ -0,0 +1,194 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.*; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Range submodel element references a ConceptDescription then + * DataSpecificationIEC61360/dataType shall be a numerical one, i.e. REAL_* or RATIONAL_*. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_068 { + @Test + public void wrongConceptDescriptionDatatype() throws ValidationException { + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.INTEGER_COUNT) // This should be DataTypeIEC61360.REAL_* or RATIONAL_* + .preferredName(new LangString("Wrong Data Specification", "en")) + .definition(new LangString("A definition of a Date in English.", "en")) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept_Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference reference = ConstraintTestHelper.createDummyReference(); + Key key = reference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + Range range = new DefaultRange.Builder() + .idShort("idShort") + .semanticId(reference) + .valueType("temperature") + .max("50") + .min("-30") + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(range);}}) + .build(); + + AssetAdministrationShellEnvironment wrongAssetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + try { + ShaclValidator.getInstance().validate(wrongAssetAdministrationShellEnvironment); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("If the semanticId of a Range submodel element references a " + + "ConceptDescription then DataSpecificationIEC61360/dataType shall be a numerical one, i.e. " + + "Real* or Rational*.")); + } + + + } + + @Test + public void correctRealConceptDescriptionDatatype() throws ValidationException { + + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.REAL_COUNT) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Data Specification", "en")) + .definition(new LangString("A definition of a REAL_COUNT in English.", "en")) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept_Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference reference = ConstraintTestHelper.createDummyReference(); + Key key = reference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + Range range = new DefaultRange.Builder() + .idShort("idShort") + .semanticId(reference) + .valueType("temperature") + .max("50") + .min("-30") + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(range);}}) + .build(); + + AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + ShaclValidator.getInstance().validate(assetAdministrationShellEnvironment); + + } + + + @Test + public void correctRationalConceptDescriptionDatatype() throws ValidationException { + + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.RATIONAL_MEASURE) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Data Specification", "en")) + .definition(new LangString("A definition of a RATIONAL_MEASURE in English.", "en")) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept_Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference reference = ConstraintTestHelper.createDummyReference(); + Key key = reference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + Range range = new DefaultRange.Builder() + .idShort("idShort") + .semanticId(reference) + .valueType("temperature") + .max("50") + .min("-30") + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(range);}}) + .build(); + + AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + ShaclValidator.getInstance().validate(assetAdministrationShellEnvironment); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_069.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_069.java new file mode 100644 index 000000000..0e75b958c --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_069.java @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.LevelType; +import io.adminshell.aas.v3.model.Range; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultRange; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Range references a ConceptDescription then + * DataSpecificationIEC61360/levelType shall be identical to the set {Min, Max}. + * + *

+ * + * @author schnicke + * + */ +public class TestAASd_069 { + + @Test + public void correctLevelTypes() throws ValidationException { + String conceptDescriptionId = "conceptDescription"; + + ConceptDescription correctCD = getCDWithLevelType(conceptDescriptionId); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createRange("submodelElementIdShort", conceptDescriptionId))); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + + @Test + public void wrongLevelTypes() { + String conceptDescriptionWrongId = "conceptDescriptionWrong"; + + ConceptDescription wrongCD = getCDWithWrongLevelType(conceptDescriptionWrongId); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(createRange("submodelElementIdShort", conceptDescriptionWrongId))); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a Range references a ConceptDescription then DataSpecificationIEC61360/levelType shall be identical to the set {Min, Max}.")); + } + } + + private Range createRange(String idShort, String conceptDescriptionId) { + return new DefaultRange.Builder() + .idShort(idShort) + .valueType("integer") + .min("0").max("1") + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } + + private ConceptDescription getCDWithLevelType(String conceptDescriptionId) { + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionId, + "PROPERTY"); + + DataSpecificationIEC61360 stringDataTypeDS = new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString("ds", "EN")) + .definition(new LangString("some english definition", "EN")) + .dataType(DataTypeIEC61360.REAL_MEASURE) + .levelTypes(Arrays.asList(LevelType.MIN, LevelType.MAX)) + .build(); + + EmbeddedDataSpecification stringDataTypeEDS = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(stringDataTypeDS) + .dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("foo_key") + .build()) + .build()) + .build(); + + cd.setEmbeddedDataSpecifications(Arrays.asList(stringDataTypeEDS)); + + return cd; + } + + + private ConceptDescription getCDWithWrongLevelType(String conceptDescriptionId) { + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("idShort1", conceptDescriptionId, + "PROPERTY"); + + DataSpecificationIEC61360 stringDataTypeDS = new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString("ds", "EN")) + .definition(new LangString("some english definition", "EN")) + .dataType(DataTypeIEC61360.STRING) + .levelTypes(Arrays.asList(LevelType.NOM, LevelType.MAX)) + .build(); + + EmbeddedDataSpecification stringDataTypeEDS = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(stringDataTypeDS) + .dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("foo_key") + .build()) + .build()) + .build(); + + cd.setEmbeddedDataSpecifications(Arrays.asList(stringDataTypeEDS)); + + return cd; + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_072.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_072.java new file mode 100644 index 000000000..6d6f6335f --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_072.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * For a ConceptDescription with category DOCUMENT using data specification + * template IEC61360 + * (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) + * - DataSpecificationIEC61360/dataType shall be one of the following values: + * STRING or URL. + *

+ * + * @author schnicke + * + */ +public class TestAASd_072 { + + @Test + public void correctDataTypeURL() throws ValidationException, IOException { + ConceptDescription correctURLCD = createConceptDescription(DataTypeIEC61360.URL); + + ShaclValidator.getInstance().validate(correctURLCD); + } + + @Test + public void wrongDataType() { + ConceptDescription wrongCD = createConceptDescription(DataTypeIEC61360.DATE); + + try { + ShaclValidator.getInstance().validate(wrongCD); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "For a ConceptDescription with category DOCUMENT using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType shall be one of the following values: String or URL.")); + } + } + + @Test + public void correctDataTypeString() throws ValidationException { + ConceptDescription correctStringCD = createConceptDescription(DataTypeIEC61360.STRING); + + + ShaclValidator.getInstance().validate(correctStringCD); + } + + private ConceptDescription createConceptDescription(DataTypeIEC61360 dataType) { + ConceptDescription correctURLCD = ConstraintTestHelper.createConceptDescription("idShort1", + "conceptDescriptionURL", "DOCUMENT"); + + DataSpecificationIEC61360 urlDataTypeDS = new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString("ds", "en")).definition(new LangString("some english definition", "EN")) + .dataType(dataType).build(); + + EmbeddedDataSpecification urlDataTypeEDS = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(urlDataTypeDS).dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder().idType(KeyType.CUSTOM).value("foo_key").build()).build()) + .build(); + + correctURLCD.setEmbeddedDataSpecifications(Arrays.asList(urlDataTypeEDS)); + return correctURLCD; + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_074.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_074.java new file mode 100644 index 000000000..207f4a3d2 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_074.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * For all ConceptDescriptions except for ConceptDescriptions of category + * VALUE using data specification template IEC61360 + * (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) + * - DataSpecificationIEC61360/definition is mandatory and shall be defined at + * least in English. + *

+ * + * @author schnicke + * + */ +public class TestAASd_074 { + + @Test + public void conceptDescriptionEnglishDefinition() throws ValidationException { + LangString definition = new LangString("some english definition", "EN"); + ConceptDescription cd = createConceptDescription(definition); + + ShaclValidator.getInstance().validate(cd); + } + + @Test + public void conceptDescriptionNoEnglishDefinition() { + LangString definition = new LangString("deutsch", "DE"); + ConceptDescription cd = createConceptDescription(definition); + + try { + ShaclValidator.getInstance().validate(cd); + fail(); + } catch (ValidationException e) { + System.out.println(e.getMessage()); + assertTrue(e.getMessage().endsWith( + "For all ConceptDescriptions except for ConceptDescriptions of category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/definition is mandatory and shall be defined at least in English.")); + } + } + + @Test + public void conceptDescriptionValueCategoryGermanDefinition() throws ValidationException { + LangString definition = new LangString("deutsch", "DE"); + ConceptDescription cd = createConceptDescription(definition); + cd.setCategory("VALUE"); + + ShaclValidator.getInstance().validate(cd); + } + + @Test + public void noIEC61360DataSpecification() throws ValidationException { + ConceptDescription description = ConstraintTestHelper.createConceptDescription("testIdShort", "testId", + "PROPERTY"); + + ShaclValidator.getInstance().validate(description); + } + private ConceptDescription createConceptDescription(LangString definition) { + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("idShort1", "id", + "QUALIFIER"); + + DataSpecificationIEC61360 urlDataTypeDS = new DefaultDataSpecificationIEC61360.Builder() + .preferredName(new LangString("ds", "en")) + .definition(definition) + .definition(new LangString("test", "de")) + .dataType(DataTypeIEC61360.URL) + .build(); + + EmbeddedDataSpecification urlDataTypeEDS = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(urlDataTypeDS) + .dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("foo_key") + .build()) + .build()) + .build(); + + cd.setEmbeddedDataSpecifications(Arrays.asList(urlDataTypeEDS)); + return cd; + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_076.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_076.java new file mode 100644 index 000000000..b0def69dc --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_076.java @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.DataSpecificationIEC61360; +import io.adminshell.aas.v3.model.DataTypeIEC61360; +import io.adminshell.aas.v3.model.EmbeddedDataSpecification; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.LangString; +import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360; +import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; + +/** + * Tests the following constraint: + *

+ * For all ConceptDescriptions using data specification template IEC61360 + * (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) + * at least a preferred name in English shall be defined. + *

+ * + * @author schnicke + * + */ +public class TestAASd_076 { + + @Test + public void englishPreferredName() throws ValidationException { + LangString preferredName = new LangString("english", "EN"); + ConceptDescription cd = createConceptDescription(preferredName); + + ShaclValidator.getInstance().validate(cd); + } + + @Test + public void noIEC61360DataSpecification() throws ValidationException { + ConceptDescription description = ConstraintTestHelper.createConceptDescription("testIdShort", "testId", + "PROPERTY"); + + ShaclValidator.getInstance().validate(description); + } + + + @Test + public void noEnglishPreferredName() { + LangString preferredName = new LangString("deutsch", "DE"); + ConceptDescription cd = createConceptDescription(preferredName); + + try { + ShaclValidator.getInstance().validate(cd); + fail(); + } catch (ValidationException e) { + System.out.println(e.getMessage()); + assertTrue(e.getMessage().endsWith( + "For all ConceptDescriptions using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) at least a preferred name in English shall be defined.")); + } + } + + private ConceptDescription createConceptDescription(LangString preferredName) { + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("idShort1", "id", + "QUALIFIER"); + + DataSpecificationIEC61360 urlDataTypeDS = new DefaultDataSpecificationIEC61360.Builder() + .preferredName(preferredName) + .preferredName(new LangString("test", "de")) + .definition(new LangString("definition", "en")) + .dataType(DataTypeIEC61360.URL) + .build(); + + EmbeddedDataSpecification urlDataTypeEDS = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(urlDataTypeDS) + .dataSpecification(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("foo_key") + .build()) + .build()) + .build(); + + cd.setEmbeddedDataSpecifications(Arrays.asList(urlDataTypeEDS)); + return cd; + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_077.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_077.java new file mode 100644 index 000000000..945cd2053 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_077.java @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * The name of an extension within HasExtensions needs to be unique. + *

+ * + * @author bader + * + */ +public class TestAASd_077 { + + // TODO: Add HasExtensions to Referables in the Java Model and then uncomment the lines in the tests. + + @Test + @Ignore + public void repeatingExtensionName() throws ValidationException { + + Extension extension1 = new DefaultExtension.Builder() + .name("extension") + .build(); + + Extension extension2 = new DefaultExtension.Builder() + .name("extension") + .build(); + + Referable referable = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + //.setExtensions( new ArrayList() {{add(extension1); add(extension2);}} ) + .build(); + + try { + ShaclValidator.getInstance().validate(referable); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "The name of an extension within HasExtensions needs to be unique.")); + } + + + } + + @Test + public void uniqueExtensionNames() throws ValidationException { + Extension extension1 = new DefaultExtension.Builder() + .name("extension1") + .build(); + + Extension extension2 = new DefaultExtension.Builder() + .name("extension2") + .build(); + + Referable referable = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + //.setExtensions( new ArrayList() {{add(extension1); add(extension2);}} ) + .build(); + + ShaclValidator.getInstance().validate(referable); + + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_080.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_080.java new file mode 100644 index 000000000..b9fe6cbb3 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_080.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.impl.DefaultKey; + +/** + * Tests the following constraint: + *

+ * In case Key/type == GlobalReference idType shall not be any LocalKeyType + * (IdShort, FragmentId). + *

+ * + * @author schnicke + * + */ +public class TestAASd_080 { + private static final String ERRORMSG = "In case Key/type == GlobalReference idType shall not be any LocalKeyType (IdShort, FragmentId)."; + + @Test + public void correctIdType() throws ValidationException { + Key key = createWithTypeGlobalReferenceKey(KeyType.CUSTOM); + + ShaclValidator.getInstance().validate(key); + } + + @Test + public void wrongIdTypeIdShort() { + Key key = createWithTypeGlobalReferenceKey(KeyType.ID_SHORT); + try { + ShaclValidator.getInstance().validate(key); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void wrongIdTypeFragmentId() { + Key key = createWithTypeGlobalReferenceKey(KeyType.FRAGMENT_ID); + + try { + ShaclValidator.getInstance().validate(key); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + private Key createWithTypeGlobalReferenceKey(KeyType custom) { + return new DefaultKey.Builder() + .value("value") + .type(KeyElements.GLOBAL_REFERENCE) + .idType(custom) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_081.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_081.java new file mode 100644 index 000000000..696555df5 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_081.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.Key; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.impl.DefaultKey; + +/** + * Tests the following constraint: + *

+ * In case Key/type==AssetAdministrationShell Key/idType shall not be any + * LocalKeyType (IdShort, FragmentId). + *

+ * + * @author schnicke + * + */ +public class TestAASd_081 { + private static final String ERRORMSG = "In case Key/type==AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId)."; + + @Test + public void correctIdType() throws ValidationException { + Key key = createWithTypeAssetAdministrationShellKey(KeyType.CUSTOM); + + ShaclValidator.getInstance().validate(key); + } + + @Test + public void wrongIdTypeIdShort() { + Key key = createWithTypeAssetAdministrationShellKey(KeyType.ID_SHORT); + try { + ShaclValidator.getInstance().validate(key); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + @Test + public void wrongIdTypeFragmentId() { + Key key = createWithTypeAssetAdministrationShellKey(KeyType.FRAGMENT_ID); + + try { + ShaclValidator.getInstance().validate(key); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith(ERRORMSG)); + } + } + + private Key createWithTypeAssetAdministrationShellKey(KeyType custom) { + return new DefaultKey.Builder() + .value("value") + .type(KeyElements.ASSET_ADMINISTRATION_SHELL) + .idType(custom) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_090.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_090.java new file mode 100644 index 000000000..d5ea87625 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_090.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.Blob; +import io.adminshell.aas.v3.model.File; +import io.adminshell.aas.v3.model.Property; +import io.adminshell.aas.v3.model.impl.DefaultBlob; +import io.adminshell.aas.v3.model.impl.DefaultFile; +import io.adminshell.aas.v3.model.impl.DefaultProperty; + +/** + * Tests the following constraint: + *

+ * For data elements DataElement/category shall be one of the following + * values: CONSTANT, PARAMETER or VARIABLE. Exception: File and Blob data + * elements. + *

+ * + * @author schnicke + * + */ +public class TestAASd_090 { + @Test + public void correctCategoryConstant() throws ValidationException { + ShaclValidator.getInstance().validate(createProperty("idShort1", "Constant")); + } + + @Test + public void correctCategoryParameter() throws ValidationException { + ShaclValidator.getInstance().validate(createProperty("idShort1", "Parameter")); + } + + @Test + public void correctCategoryVariable() throws ValidationException { + ShaclValidator.getInstance().validate(createProperty("idShort1", "Variable")); + } + + @Test + public void fileCategoryDoesntMatter() throws ValidationException { + ShaclValidator.getInstance().validate(createFile()); + } + + @Test + public void blobCategoryDoesntMatter() throws ValidationException { + ShaclValidator.getInstance().validate(createBlob()); + } + + @Test + public void wrongCategory() { + try { + ShaclValidator.getInstance().validate(createProperty("idShort1", "WRONG")); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "For data elements DataElement/category shall be one of the following values: Constant, Parameter or Variable. Exception: File and Blob data elements.")); + } + } + + private Property createProperty(String idShort, String category) { + return new DefaultProperty.Builder() + .idShort(idShort) + .category(category) + .value("test") + .valueType("string") + .build(); + } + + private File createFile() { + return new DefaultFile.Builder() + .idShort("idShort1") + .category("DOESNTMATTER") + .mimeType("application/json").value("test.json") + .build(); + } + + private Blob createBlob() { + return new DefaultBlob.Builder() + .idShort("idShort2") + .category("DOESNTMATTER") + .mimeType("application/json") + .value(new byte[] { 0, 1, 2 }) + .build(); + } + +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_092_059_ENTITY.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_092_059_ENTITY.java new file mode 100644 index 000000000..8989e7f89 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_092_059_ENTITY.java @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElementCollection; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a SubmodelElementCollection with + * SubmodelElementCollection/allowDuplicates == false references a + * ConceptDescription then the ConceptDescription/category shall be ENTITY. + *

+ * + * Additionally, covers part of AASd-059. Full coverage is achieved in + * combination with AASd-093 + * + * @author schnicke + * + */ +public class TestAASd_092_059_ENTITY { + @Test + public void correctCategoryNoDuplicates() throws ValidationException { + String conceptDescriptionCollectionId = "conceptDescriptionCollection"; + + ConceptDescription correctCategoryCollectionCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionCollectionId, "ENTITY"); + + SubmodelElementCollection noDuplicatesCollection = createSubmodelElementCollection("submodelElementIdShort2", + conceptDescriptionCollectionId); + noDuplicatesCollection.setAllowDuplicates(false); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList( + )); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCategoryCollectionCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategoryNoDuplicates() { + String conceptDescriptionCollectionId = "conceptDescriptionCollection"; + + ConceptDescription wrongCategoryCollectionCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionCollectionId, "COLLECTION"); + + SubmodelElementCollection noDuplicatesCollection = createSubmodelElementCollection("submodelElementIdShort2", + conceptDescriptionCollectionId); + noDuplicatesCollection.setAllowDuplicates(false); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(noDuplicatesCollection)); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCategoryCollectionCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == false references a ConceptDescription then the ConceptDescription/category shall be ENTITY.")); + } + } + + private SubmodelElementCollection createSubmodelElementCollection(String idShort, String conceptDescriptionId) { + return new DefaultSubmodelElementCollection.Builder() + .idShort(idShort) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_093_059_COLLECTION.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_093_059_COLLECTION.java new file mode 100644 index 000000000..ce202c755 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_093_059_COLLECTION.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.adminshell.aas.v3.model.validator; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Arrays; + +import org.junit.Test; + +import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment; +import io.adminshell.aas.v3.model.ConceptDescription; +import io.adminshell.aas.v3.model.KeyElements; +import io.adminshell.aas.v3.model.KeyType; +import io.adminshell.aas.v3.model.Submodel; +import io.adminshell.aas.v3.model.SubmodelElementCollection; +import io.adminshell.aas.v3.model.impl.DefaultKey; +import io.adminshell.aas.v3.model.impl.DefaultReference; +import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a SubmodelElementCollection with + * SubmodelElementCollection/allowDuplicates == true references a + * ConceptDescription then the ConceptDescription/category shall be COLLECTION. + * + *

+ * + * Additionally, covers part of AASd-059. Full coverage is achieved in + * combination with AASd-092 + * + * @author schnicke + * + */ +public class TestAASd_093_059_COLLECTION { + @Test + public void correctCategoryAllowDuplicates() throws ValidationException { + String conceptDescriptionCollectionId = "conceptDescriptionCollection"; + + ConceptDescription correctCategoryCollectionCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionCollectionId, "COLLECTION"); + + SubmodelElementCollection noDuplicatesCollection = createSubmodelElementCollection("submodelElementIdShort2", + conceptDescriptionCollectionId); + noDuplicatesCollection.setAllowDuplicates(true); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList( + )); + + AssetAdministrationShellEnvironment correctEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(correctCategoryCollectionCD, + ConstraintTestHelper.getIrrelevantConceptDescription())); + + ShaclValidator.getInstance().validate(correctEnv); + } + + @Test + public void wrongCategoryAllowDuplicates() { + String conceptDescriptionCollectionId = "conceptDescriptionCollection"; + + ConceptDescription wrongCategoryCollectionCD = ConstraintTestHelper.createConceptDescription("idShort1", + conceptDescriptionCollectionId, "ENTITY"); + + SubmodelElementCollection noDuplicatesCollection = createSubmodelElementCollection("submodelElementIdShort2", + conceptDescriptionCollectionId); + noDuplicatesCollection.setAllowDuplicates(true); + + Submodel sm = ConstraintTestHelper + .createSubmodel(Arrays.asList(noDuplicatesCollection)); + + AssetAdministrationShellEnvironment wrongEnv = ConstraintTestHelper.createEnvironment(sm, + Arrays.asList(wrongCategoryCollectionCD, ConstraintTestHelper.getIrrelevantConceptDescription())); + try { + ShaclValidator.getInstance().validate(wrongEnv); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == true references a ConceptDescription then the ConceptDescription/category shall be COLLECTION.")); + } + } + + private SubmodelElementCollection createSubmodelElementCollection(String idShort, String conceptDescriptionId) { + return new DefaultSubmodelElementCollection.Builder() + .idShort(idShort) + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value(conceptDescriptionId) + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_100.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_100.java new file mode 100644 index 000000000..11369ae4d --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_100.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.Referable; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * An attribute with data type "string" is not allowed to be empty. + *

+ * + * @author bader, chang + * + */ + +public class TestAASd_100 { + @Test + public void idShortWithNotAllowedCharacters() throws ValidationException { + Referable wrongReferable = ConstraintTestHelper.createSubmodel(new ArrayList<>()); + + + wrongReferable.setIdShort(""); + try { + ShaclValidator.getInstance().validate(wrongReferable); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith("starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9_]+.")); + } + + + } + + @Test + public void idShortWithAllowedCharacters() throws ValidationException { + Referable referable = ConstraintTestHelper.createSubmodel(new ArrayList<>()); + referable.setIdShort("id_Short"); + ShaclValidator.getInstance().validate(referable); + } +} diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_65a.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_65a.java new file mode 100644 index 000000000..a85083e8a --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_65a.java @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a Property references a ConceptDescription with the category VALUE + * then the value of the property is identical to DataSpecificationIEC61360/value and the valueId of + * the property is identical to DataSpecificationIEC61360/valueId. + *

+ * + * @author bader, chang + * + */ +public class TestAASd_65a { + + @Ignore + @Test + public void missmatchingValueAndValueId() throws ValidationException { + + Property pr = new DefaultProperty.Builder() + .idShort("idShort") + .value("the value of property") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .value("DataSpecificationIEC61360") + .idType(KeyType.CUSTOM) + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build()) + .valueType("the type of value") + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.IRI) + .value("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataTypeIEC61360") + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.STRING_TRANSLATABLE) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Data Specification", "en")) + .definition(new LangString("A definition of a STRING_TRANSLATABLE in English.", "en")) + .value("the value") + .valueId(new DefaultReference.Builder(). + key(new DefaultKey.Builder() + .value("DataSpecificationIEC61360") + .idType(KeyType.CUSTOM) + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build()) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept-Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("VALUE"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(pr);}}) + .build(); + + AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + ShaclValidator.getInstance().validate(assetAdministrationShellEnvironment); + + } + + @Ignore + @Test + public void matchingValueAndValueId() throws ValidationException { + + Property pr = new DefaultProperty.Builder() + .idShort("idShort") + .value("the value of Property value") + .valueId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .value("DataSpecificationIEC61360") + .idType(KeyType.CUSTOM) + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build()) + .valueType("the value type") + .semanticId(new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.IRI) + .value("https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/DataTypeIEC61360") + .type(KeyElements.CONCEPT_DESCRIPTION) + .build()) + .build()) + .build(); + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.STRING_TRANSLATABLE) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Data Specification", "en")) + .definition(new LangString("A definition of a STRING_TRANSLATABLE in English.", "en")) + .value("the value of Property value") + .valueId(new DefaultReference.Builder(). + key(new DefaultKey.Builder() + .value("DataSpecificationIEC61360") + .idType(KeyType.CUSTOM) + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build()) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept-Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("VALUE"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(pr);}}) + .build(); + + AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + ShaclValidator.getInstance().validate(assetAdministrationShellEnvironment); + + } +} \ No newline at end of file diff --git a/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_66a.java b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_66a.java new file mode 100644 index 000000000..f5c1121d6 --- /dev/null +++ b/validator/src/test/java/io/adminshell/aas/v3/model/validator/TestAASd_66a.java @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.adminshell.aas.v3.model.validator; + +import io.adminshell.aas.v3.model.*; +import io.adminshell.aas.v3.model.impl.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.ArrayList; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Tests the following constraint: + *

+ * If the semanticId of a MultiLanguageProperty or MultiLanguageMultiLanguageProperty references a ConceptDescription with the category MultiLanguageProperty and DataSpecificationIEC61360/valueList is defined the value and valueId of the MultiLanguageProperty is identical to one of the value reference pair types references in the value list, + * i.e. ValueReferencePairType/value or ValueReferencePairType/valueId, resp. + *

+ * + * @author bader, chang + * + */ + +public class TestAASd_66a { + + @Test + @Ignore + public void wrongValueReferencePairTypesValue() throws ValidationException { + Reference multilanguageValueIdReference = new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("This is the MultiLanguagePropertyReferenceKeyValue ") + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build(); + + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .valueList(new DefaultValueList.Builder() + .valueReferencePairTypes(new DefaultValueReferencePair.Builder() + .value("This is not identical to Multilanguage property value.") + .valueId(multilanguageValueIdReference) + .build()) + .build()) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept-Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference semanticIdReference = ConstraintTestHelper.createDummyReference(); + Key key = semanticIdReference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + MultiLanguageProperty property = new DefaultMultiLanguageProperty.Builder() + .idShort("idShort") + .value(new LangString("This is the value of MultilanguageProperty", "en")) + .valueId(multilanguageValueIdReference) + .semanticId(semanticIdReference) + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(property);}}) + .build(); + + AssetAdministrationShellEnvironment wrongAssetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + try { + ShaclValidator.getInstance().validate(wrongAssetAdministrationShellEnvironment); + fail(); + } catch (ValidationException e) { + assertTrue(e.getMessage().endsWith( + "If the semanticId of a MultiLanguageProperty or MultiLanguageMultiLanguageProperty references a ConceptDescription with the category MultiLanguageProperty and DataSpecificationIEC61360/valueList is defined the value and valueId of the MultiLanguageProperty is identical to one of the value reference pair types references in the value list, i.e. ValueReferencePairType/value or ValueReferencePairType/valueId, resp.")); + } + + } + + @Test + public void correctConceptDescriptionDatatype() throws ValidationException { + Reference reference = new DefaultReference.Builder() + .key(new DefaultKey.Builder() + .idType(KeyType.CUSTOM) + .value("1234") + .type(KeyElements.GLOBAL_REFERENCE) + .build()) + .build(); + + DataSpecificationIEC61360 ds = new DefaultDataSpecificationIEC61360.Builder() + .dataType(DataTypeIEC61360.STRING_TRANSLATABLE) // This should be DataTypeIEC61360.STRING_TRANSLATABLE + .preferredName(new LangString("Data Specification", "en")) + .definition(new LangString("A definition of a STRING_TRANSLATABLE in English.", "en")) + .valueList(new DefaultValueList.Builder() + .valueReferencePairTypes(new DefaultValueReferencePair.Builder() + .value("Multilanguage") + .valueId(reference) + .build()) + .build()) + .build(); + + EmbeddedDataSpecification embeddedDataSpecification = new DefaultEmbeddedDataSpecification.Builder() + .dataSpecificationContent(ds) + .dataSpecification( ConstraintTestHelper.createDummyReference() ) + .build(); + + ConceptDescription cd = ConstraintTestHelper.createConceptDescription("Concept_Description", "http://example.org/MultilanguageCD", "constant"); + cd.setCategory("PROPERTY"); + cd.setEmbeddedDataSpecifications(new ArrayList<>(){{ add(embeddedDataSpecification) ; }} ); + + Reference dummyReference = ConstraintTestHelper.createDummyReference(); + Key key = dummyReference.getKeys().get(0); + key.setIdType(KeyType.IRI); + key.setType(KeyElements.CONCEPT_DESCRIPTION); + key.setValue(cd.getIdentification().getIdentifier()); + + MultiLanguageProperty property = new DefaultMultiLanguageProperty.Builder() + .idShort("idShort") + .value(new LangString("Multilanguage", "en")) + .valueId(reference) + .semanticId(dummyReference) + .build(); + + Submodel submodel = new DefaultSubmodel.Builder() + .idShort("submodel_idShort") + .identification(new DefaultIdentifier.Builder().identifier("http://example.org/TestSubmodel").idType(IdentifierType.IRI).build()) + .submodelElements(new ArrayList<>() {{add(property);}}) + .build(); + + AssetAdministrationShellEnvironment assetAdministrationShellEnvironment = ConstraintTestHelper + .createEnvironment( + submodel, + new ArrayList<>() {{add(cd);}} + ); + + + ShaclValidator.getInstance().validate(assetAdministrationShellEnvironment); + + } +}